<?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>37986</bug_id>
          
          <creation_ts>2010-04-22 05:02:53 -0700</creation_ts>
          <short_desc>SVGPaintServer needs to be converted to the new RenderSVGResource* system</short_desc>
          <delta_ts>2010-04-29 10:42:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>38106</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>abarth</cc>
    
    <cc>bdakin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>jorlow</cc>
    
    <cc>krit</cc>
    
    <cc>staikos</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>215828</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-22 05:02:53 -0700</bug_when>
    <thetext>SVGPaintServer needs to be converted to the new RenderSVGResource* system.
The big patch removing SVGPaintServer, and designing it just like the other resources (clipper/filter/masker/marker) is done. It&apos;s a huge speed-up, patches following soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215836</commentid>
    <comment_count>1</comment_count>
      <attachid>54052</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-22 05:28:48 -0700</bug_when>
    <thetext>Created attachment 54052
File moves / build system changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215841</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-04-22 05:44:59 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=54052) [details]
&gt; Patch

What for a garbage ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215849</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-22 06:13:35 -0700</bug_when>
    <thetext>Hrmpf, just because SVGResourceListener.h is empty the ews has troubles, more specifically svn-apply.
I don&apos;t really get it, as I created the patch using &quot;webkit-patch post&quot;....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215855</commentid>
    <comment_count>4</comment_count>
      <attachid>54052</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-04-22 06:32:48 -0700</bug_when>
    <thetext>Comment on attachment 54052
File moves / build system changes

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215865</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-22 06:51:21 -0700</bug_when>
    <thetext>Committed r58093: &lt;http://trac.webkit.org/changeset/58093&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215873</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-22 07:42:10 -0700</bug_when>
    <thetext>Heh, forgot to tell webkit-patch not to close this bug, it&apos;s our master bug for the transition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215897</commentid>
    <comment_count>7</comment_count>
      <attachid>54052</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-22 08:53:53 -0700</bug_when>
    <thetext>Comment on attachment 54052
File moves / build system changes

Marking first patch as obsolete, it has been landed and was just a preparation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215899</commentid>
    <comment_count>8</comment_count>
      <attachid>54062</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-22 08:55:54 -0700</bug_when>
    <thetext>Created attachment 54062
LayoutTests changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215900</commentid>
    <comment_count>9</comment_count>
      <attachid>54063</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-22 08:57:18 -0700</bug_when>
    <thetext>Created attachment 54063
WebCore changes

Huuuuuge speedup, try zooming/panning around pattern/gradient tests :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215968</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-04-22 11:01:23 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=54063) [details]
&gt; WebCore changes
&gt; 
&gt; Huuuuuge speedup, try zooming/panning around pattern/gradient tests :-)

In RenderSVGresource.cpp

 41     ASSERT(svgElement &amp;&amp; svgElement-&gt;isStyled());

 two asserts please.

 I dislike the general changes on applyResource(), Can&apos;t we set FillMode or StrokeMode as a locale variable during the fillPaintingResource/strokePaintingResources calls?
 Solid-, Pattern-, GradientResources wold ask for it in applyResource. It&apos;s not quite understandable to have this in Clipper, Masker, Marker and Filter, without needing it as well. The same for postApplyResource.

 What is anyQName() in RenderSVGResourceGradient and Pattern? Can we get a better name for it?


RenderSVGResourcePattern:

 245     OwnPtr&lt;ImageBuffer&gt; tileImage = ImageBuffer::create(imageSize);

 295     OwnPtr&lt;ImageBuffer&gt; newTileImage = ImageBuffer::create(IntSize(tileWidth, tileHeight));

 Can you add check&apos;s right before creating the ImageBuffers, if both sides will be &gt;= 1?


  63     PassOwnPtr&lt;ImageBuffer&gt; createTileImage(FloatRect&amp; patternBoundaries, AffineTransform&amp; patternTransform, const SVGPatternElement*, RenderObject*) const;

Why do you pass the PatternElement, do you think it&apos;s a speed win?

 85 #if PLATFORM(SKIA)
 86     // FIXME: Move this into the GraphicsContext
 87     // WebKit implicitly expects us to reset the path.
 88     // For example in fillAndStrokePath() of RenderPath.cpp the path is 
 89     // added back to the context after filling. This is because internally it
 90     // calls CGContextFillPath() which closes the path.
 91     context-&gt;beginPath();
 92     context-&gt;platformContext()-&gt;setFillShader(0);
 93     context-&gt;platformContext()-&gt;setStrokeShader(0);
 94 #endif

 I think thats a general issue with Skia and mainly affects Patterns and Gradients. This code might be placed in GraphicsContextSkia directly.


  149         // FIXME: Why doesn&apos;t ColorStop take a Color and an offset??

You wrote this line in SVGGradientElement.cpp, but 4 lines later you just do it :-)

Realy great patch!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215976</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-04-22 11:17:41 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=54062) [details]
&gt; LayoutTests changes

The new DRT results look realy great!! Can you explain why pservers-grad-19-b
looks different? It was broken, but the new reult doesn&apos;t look better!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216317</commentid>
    <comment_count>12</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-23 00:42:16 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; Created an attachment (id=54063) [details] [details]
&gt; &gt; WebCore changes
&gt; &gt; 
&gt; &gt; Huuuuuge speedup, try zooming/panning around pattern/gradient tests :-)
&gt; 
&gt; In RenderSVGresource.cpp
&gt; 
&gt;  41     ASSERT(svgElement &amp;&amp; svgElement-&gt;isStyled());
&gt; 
&gt;  two asserts please.

Done.

&gt; 
&gt;  I dislike the general changes on applyResource(), Can&apos;t we set FillMode or
&gt; StrokeMode as a locale variable during the
&gt; fillPaintingResource/strokePaintingResources calls?
&gt;  Solid-, Pattern-, GradientResources wold ask for it in applyResource. It&apos;s not
&gt; quite understandable to have this in Clipper, Masker, Marker and Filter,
&gt; without needing it as well. The same for postApplyResource.

Remember the first version of my patch? It contains the same concept that you&apos;re demanding.
I had &quot;resourceMode()&quot; and &quot;setResourceMode()&quot; methods in RenderSVGResource. For paths everything worked well, though in text rendering the concept has a problem. Let me explain:

When rendering text SVGRootInlineBox sets up the painting resources (setupFill/setupStroke) etc, and then SVGInlineTextBox is used  to actually draw the text (drawText() on GraphicsContext). For regular text this works fine. When the rendering happens through SVGFont, paths have to be filled/stroked.
The problem is that SVGRootInlineBox sets setResourceMode(ApplyToFillMode | ApplyToTextMode) (to indicate text rendering) and SVGFont calls setResourceMode(ApplyToFillMode). The information that we&apos;re actually rendering text is lost, so we&apos;d have to preserve the resourceMode, _before_ calling applyResource, and restoring it after calling postApplyResource. I would have done that though the problem is a bit more complex, as it affects more places than just SVGFont.

The problem is completely gone when _not_ storing the resourceMode anywhere, but explicitely passing it in applyResource. So I think in the end this solution is better. I&apos;ve added ASSERTS in RenderSVGResourceClipper/Filter/Masker, to make sure no one ever passes something else then ApplyToDefaultMode there. Hope this solution is acceptable.
 
&gt;  What is anyQName() in RenderSVGResourceGradient and Pattern? Can we get a
&gt; better name for it?
anyQName() == any QualifiedName - it&apos;s defined in QualifiedName.h, I think it&apos;s a good name :-)

&gt; RenderSVGResourcePattern:
&gt; 
&gt;  245     OwnPtr&lt;ImageBuffer&gt; tileImage = ImageBuffer::create(imageSize);
&gt; 
&gt;  295     OwnPtr&lt;ImageBuffer&gt; newTileImage =
&gt; ImageBuffer::create(IntSize(tileWidth, tileHeight));
&gt; 
&gt;  Can you add check&apos;s right before creating the ImageBuffers, if both sides will
&gt; be &gt;= 1?
Ok will do that.

&gt;   63     PassOwnPtr&lt;ImageBuffer&gt; createTileImage(FloatRect&amp; patternBoundaries,
&gt; AffineTransform&amp; patternTransform, const SVGPatternElement*, RenderObject*)
&gt; const;
&gt; 
&gt; Why do you pass the PatternElement, do you think it&apos;s a speed win?
Sure, we save doing the same node() -&gt; SVGPatternElement* cast twice.
 
&gt;  85 #if PLATFORM(SKIA)
&gt;  86     // FIXME: Move this into the GraphicsContext
&gt;  87     // WebKit implicitly expects us to reset the path.
&gt;  88     // For example in fillAndStrokePath() of RenderPath.cpp the path is 
&gt;  89     // added back to the context after filling. This is because internally
&gt; it
&gt;  90     // calls CGContextFillPath() which closes the path.
&gt;  91     context-&gt;beginPath();
&gt;  92     context-&gt;platformContext()-&gt;setFillShader(0);
&gt;  93     context-&gt;platformContext()-&gt;setStrokeShader(0);
&gt;  94 #endif
&gt; 
&gt;  I think thats a general issue with Skia and mainly affects Patterns and
&gt; Gradients. This code might be placed in GraphicsContextSkia directly.
I have no clue about the Skia code, and would rather prefer this to be done by some Chromium folks. I am just preserving existing behasviour.

&gt; 
&gt; 
&gt;   149         // FIXME: Why doesn&apos;t ColorStop take a Color and an offset??
&gt; 
&gt; You wrote this line in SVGGradientElement.cpp, but 4 lines later you just do it
&gt; :-)
No. ColorStop takes an offset and four floats - see platform/graphics/Gradient.h

&gt; Realy great patch!!!

Thanks a lot, will tidy it up and write a detailed ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216319</commentid>
    <comment_count>13</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-23 00:44:33 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #8)
&gt; &gt; Created an attachment (id=54062) [details] [details]
&gt; &gt; LayoutTests changes
&gt; 
&gt; The new DRT results look realy great!! Can you explain why pservers-grad-19-b
&gt; looks different? It was broken, but the new reult doesn&apos;t look better!

Oh, pservsers-grad-19-b is a progression. The animateColor animation is now actually working (for the bottom-right rectangle). This is because we&apos;re now wrapping &lt;g display=&quot;none&quot;&gt; in RenderSVGHiddenContainers instead of not creating renderers. This also resolves the problem that SVGGradientElement::buildStop() had to do manual style resolving if a &lt;stop&gt; element renderer was not existant. This is not the case anymore.

If you wonder why it&apos;s yellow now. This is the expected _beginning_ of the animation. If you wait the 5 seconds, it will turn into solid green color, of course the layout tests don&apos;t test that, as you know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216322</commentid>
    <comment_count>14</comment_count>
      <attachid>54062</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-04-23 00:52:29 -0700</bug_when>
    <thetext>Comment on attachment 54062
LayoutTests changes

Ok great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216323</commentid>
    <comment_count>15</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-04-23 00:55:17 -0700</bug_when>
    <thetext>&gt; &gt;  85 #if PLATFORM(SKIA)
&gt; &gt;  86     // FIXME: Move this into the GraphicsContext
&gt; &gt;  87     // WebKit implicitly expects us to reset the path.
&gt; &gt;  88     // For example in fillAndStrokePath() of RenderPath.cpp the path is 
&gt; &gt;  89     // added back to the context after filling. This is because internally
&gt; &gt; it
&gt; &gt;  90     // calls CGContextFillPath() which closes the path.
&gt; &gt;  91     context-&gt;beginPath();
&gt; &gt;  92     context-&gt;platformContext()-&gt;setFillShader(0);
&gt; &gt;  93     context-&gt;platformContext()-&gt;setStrokeShader(0);
&gt; &gt;  94 #endif
&gt; &gt; 
&gt; &gt;  I think thats a general issue with Skia and mainly affects Patterns and
&gt; &gt; Gradients. This code might be placed in GraphicsContextSkia directly.
&gt; I have no clue about the Skia code, and would rather prefer this to be done by
&gt; some Chromium folks. I am just preserving existing behasviour.

OK, but make sure someone of the Skia/Chrome-guys is online to fix this issue on landing please.


&gt; 
&gt; &gt; 
&gt; &gt; 
&gt; &gt;   149         // FIXME: Why doesn&apos;t ColorStop take a Color and an offset??
&gt; &gt; 
&gt; &gt; You wrote this line in SVGGradientElement.cpp, but 4 lines later you just do it
&gt; &gt; :-)
&gt; No. ColorStop takes an offset and four floats - see
&gt; platform/graphics/Gradient.h
Ah you mean Color()? ok. I missunderstood it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216362</commentid>
    <comment_count>16</comment_count>
      <attachid>54145</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-23 03:38:10 -0700</bug_when>
    <thetext>Created attachment 54145
WebCore changes - v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216365</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-23 03:43:36 -0700</bug_when>
    <thetext>Attachment 54145 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/rendering/RenderSVGResourceGradient.cpp:30:  Alphabetical sorting problem.  [build/include_order] [4]
WebCore/rendering/RenderSVGResource.h:44:  One space before end of line comments  [whitespace/comments] [5]
WebCore/rendering/RenderSVGResource.cpp:137:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebCore/svg/SVGDocumentExtensions.h:31:  Alphabetical sorting problem.  [build/include_order] [4]
WebCore/svg/GradientAttributes.h:49:  More than one command on the same line  [whitespace/newline] [4]
WebCore/svg/PatternAttributes.h:28:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 6 in 66 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216367</commentid>
    <comment_count>18</comment_count>
      <attachid>54147</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-23 04:08:43 -0700</bug_when>
    <thetext>Created attachment 54147
WebCore changes - v3

Hopefully w/o any more style issues now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216372</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-23 04:34:10 -0700</bug_when>
    <thetext>Attachment 54145 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/1854060</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216373</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-23 04:35:49 -0700</bug_when>
    <thetext>Attachment 54145 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/1886011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216375</commentid>
    <comment_count>21</comment_count>
      <attachid>54150</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-23 04:58:50 -0700</bug_when>
    <thetext>Created attachment 54150
WebCore changes - v4

I love EWS! :-) Forgot to include a header for the Skia port, and missed to modify GNUmakefile.am... hopefully it&apos;s working now!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216378</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-23 05:26:54 -0700</bug_when>
    <thetext>Attachment 54147 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/1862043</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216380</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-23 05:31:31 -0700</bug_when>
    <thetext>Attachment 54147 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/1849063</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216381</commentid>
    <comment_count>24</comment_count>
      <attachid>54151</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-23 05:39:54 -0700</bug_when>
    <thetext>Created attachment 54151
WebCore changes - v5

Hm, must have uploaded the wrong patch :( Retrying...
Weird though that gtk doesn&apos;t build as even the patch v4, included the GNUmakefile.am changes, hm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216432</commentid>
    <comment_count>25</comment_count>
      <attachid>54151</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-04-23 09:09:12 -0700</bug_when>
    <thetext>Comment on attachment 54151
WebCore changes - v5

Looks like the other bots don&apos;t want to test this monster ;-)

Patch looks great! Good job.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216715</commentid>
    <comment_count>26</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-24 04:43:39 -0700</bug_when>
    <thetext>Committed r58212: &lt;http://trac.webkit.org/changeset/58212&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216716</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-24 05:06:32 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/58212 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216717</commentid>
    <comment_count>28</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-24 05:36:58 -0700</bug_when>
    <thetext>Landed fix for release builds in r58213.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216718</commentid>
    <comment_count>29</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-24 05:54:46 -0700</bug_when>
    <thetext>Landed linking fix in r58214.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216719</commentid>
    <comment_count>30</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-24 06:03:03 -0700</bug_when>
    <thetext>Landed new qt results in r58215.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219088</commentid>
    <comment_count>31</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-04-29 10:42:22 -0700</bug_when>
    <thetext>Committed r58524: &lt;http://trac.webkit.org/changeset/58524&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54052</attachid>
            <date>2010-04-22 05:28:48 -0700</date>
            <delta_ts>2010-04-22 08:53:53 -0700</delta_ts>
            <desc>File moves / build system changes</desc>
            <filename>bug-37986-20100422142832.patch</filename>
            <type>text/plain</type>
            <size>174917</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODA4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTEgQEAKKzIwMTAtMDQtMjIgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU1ZHUGFpbnRTZXJ2ZXIgbmVlZHMgdG8gYmUgY29udmVydGVkIHRvIHRoZSBuZXcgUmVu
ZGVyU1ZHUmVzb3VyY2UqIHN5c3RlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Mzc5ODYKKworICAgICAgICBObyBmdW5jdGlvbmFsIGNoYW5nZXMsIGp1
c3QgbW92ZSB0aGUgU1ZHUGFpbnRTZXJ2ZXIqIGNsYXNzZXMgZnJvbSBzdmcvZ3JhcGhpY3MvIHRv
IHJlbmRlcmluZy8sIHRoZSBuZXcgbG9jYXRpb24gZm9yIHRoZSBSZW5kZXJTVkdSZXNvdXJjZSog
Y2xhc3Nlcy4KKyAgICAgICAgVGhpcyBpcyBhIHByZXBhcmF0aW9uIGZvciB0aGUgcmVhbCBwYXRj
aCB3aGljaCBmb2xsb3dzIHNvb24uCisKKyAgICAgICAgKiBBbmRyb2lkLm1rOiBSZW5hbWUgZmls
ZXMgYW5kIG1vdmUgdG8gdGhlIHJpZ2h0IGxvY2F0aW9uLgorICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgorICAgICAgICAqIFdl
YkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
ajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBE
aXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2UuY3BwOiBDb3BpZWQg
ZnJvbSBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuY3BwLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcDogQ29waWVkIGZyb20gc3ZnL2dyYXBoaWNz
L1NWR1BhaW50U2VydmVyR3JhZGllbnQuY3BwLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50Lmg6IENvcGllZCBmcm9tIHN2Zy9ncmFwaGljcy9TVkdQYWludFNl
cnZlckdyYWRpZW50LmguCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGlu
ZWFyR3JhZGllbnQuY3BwOiBDb3BpZWQgZnJvbSBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJM
aW5lYXJHcmFkaWVudC5jcHAuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
TGluZWFyR3JhZGllbnQuaDogQ29waWVkIGZyb20gc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVy
TGluZWFyR3JhZGllbnQuaC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQ
YXR0ZXJuLmNwcDogQ29waWVkIGZyb20gc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyUGF0dGVy
bi5jcHAuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5oOiBD
b3BpZWQgZnJvbSBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmguCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuY3BwOiBDb3BpZWQg
ZnJvbSBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudC5jcHAuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaDogQ29waWVk
IGZyb20gc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQuaC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmNwcDogQ29waWVkIGZy
b20gc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyU29saWQuY3BwLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaDogQ29waWVkIGZyb20gc3ZnL2dyYXBo
aWNzL1NWR1BhaW50U2VydmVyU29saWQuaC4KKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHUmVuZGVy
VHJlZUFzVGV4dC5jcHA6IENoYW5nZSBpbmNsdWRlIGZpbGUgbmFtZXMuCisgICAgICAgICogc3Zn
L1NWR0ZvbnQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNw
cDogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOiBEaXR0by4KKyAg
ICAgICAgKiBzdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcDogRGl0dG8uCisgICAgICAg
ICogc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcDogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR1Bh
dHRlcm5FbGVtZW50Lmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVs
ZW1lbnQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlckdyYWRp
ZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJH
cmFkaWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZl
ckxpbmVhckdyYWRpZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZH
UGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5oOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9ncmFw
aGljcy9TVkdQYWludFNlcnZlclBhdHRlcm4uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9n
cmFwaGljcy9TVkdQYWludFNlcnZlclBhdHRlcm4uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcv
Z3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudC5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJTb2xpZC5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyU29saWQuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2VMaXN0ZW5lci5oOiBSZW1vdmVk
LgorCiAyMDEwLTA0LTIyICBHdXN0YXZvIFN2ZXJ6dXQgQmFyYmllcmkgIDxiYXJiaWVyaUBwcm9m
dXNpb24ubW9iaT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpJbmRleDogV2Vi
Q29yZS9BbmRyb2lkLm1rCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQW5kcm9pZC5tawkocmV2aXNp
b24gNTgwODMpCisrKyBXZWJDb3JlL0FuZHJvaWQubWsJKHdvcmtpbmcgY29weSkKQEAgLTYwNiwx
MCArNjA2LDE2IEBAIExPQ0FMX1NSQ19GSUxFUyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCXJl
bmRlcmluZy9SZW5kZXJTVkdJbmxpbmUuY3BwIFwKIAlyZW5kZXJpbmcvUmVuZGVyU1ZHSW5saW5l
VGV4dC5jcHAgXAogCXJlbmRlcmluZy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAgXAorCXJlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZS5jcHAgXAogCXJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZUNsaXBwZXIuY3BwIFwKIAlyZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwIFwK
KwlyZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHAgXAorCXJlbmRlcmluZy9S
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcCBcCiAJcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlTWFya2VyLmNwcCBcCiAJcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2Vy
LmNwcCBcCisJcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAgXAorCXJlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcCBcCisJcmVuZGVyaW5nL1Jl
bmRlclNWR1Jlc291cmNlU29saWRDb2xvci5jcHAgXAogCXJlbmRlcmluZy9SZW5kZXJTVkdSb290
LmNwcCBcCiAJcmVuZGVyaW5nL1JlbmRlclNWR1NoYWRvd1RyZWVSb290Q29udGFpbmVyLmNwcCBc
CiAJcmVuZGVyaW5nL1JlbmRlclNWR1RTcGFuLmNwcCBcCkBAIC04NTUsMTIgKzg2MSw2IEBAIExP
Q0FMX1NSQ19GSUxFUyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCXN2Zy9hbmltYXRpb24vU1ZH
U01JTEVsZW1lbnQuY3BwIFwKIAlcCiAJc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBcCi0Jc3Zn
L2dyYXBoaWNzL1NWR1BhaW50U2VydmVyLmNwcCBcCi0Jc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2Vy
dmVyR3JhZGllbnQuY3BwIFwKLQlzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFk
aWVudC5jcHAgXAotCXN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlclBhdHRlcm4uY3BwIFwKLQlz
dmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudC5jcHAgXAotCXN2Zy9ncmFw
aGljcy9TVkdQYWludFNlcnZlclNvbGlkLmNwcCBcCiAJc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNl
LmNwcCBcCiAJXAogCXN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFQ29udm9sdmVNYXRyaXguY3Bw
IFwKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNTgwODMpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CSh3b3JraW5nIGNvcHkpCkBAIC0zMTE5LDE1ICszMTE5LDI2IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5oIFwKIAlXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR01vZGVsT2JqZWN0LmggXAorCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jl
c291cmNlLmNwcCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2UuaCBcCiAJ
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcCBcCiAJV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmggXAogCVdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaCBcCisJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VHcmFkaWVudC5jcHAgXAorCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
R3JhZGllbnQuaCBcCisJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJH
cmFkaWVudC5jcHAgXAorCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFy
R3JhZGllbnQuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIu
Y3BwIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oIFwKIAlX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAgXAogCVdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmggXAorCVdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAgXAorCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlUGF0dGVybi5oIFwKKwlXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZVJhZGlhbEdyYWRpZW50LmNwcCBcCisJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VSYWRpYWxHcmFkaWVudC5oIFwKKwlXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZVNvbGlkQ29sb3IuY3BwIFwKKwlXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZVNvbGlkQ29sb3IuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUm9vdC5jcHAgXAog
CVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jvb3QuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHU2hhZG93VHJlZVJvb3RDb250YWluZXIuY3BwIFwKQEAgLTM0NDksMjEgKzM0NjAs
OCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlM
RWxlbWVudC5oIFwKIAlXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgXAogCVdlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmggXAotCVdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Bh
aW50U2VydmVyLmNwcCBcCiAJV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaCBc
Ci0JV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudC5jcHAgXAotCVdl
YkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyR3JhZGllbnQuaCBcCi0JV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5jcHAgXAotCVdlYkNvcmUv
c3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQuaCBcCi0JV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmNwcCBcCi0JV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmggXAotCVdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQuY3BwIFwKLQlXZWJDb3JlL3N2Zy9ncmFwaGljcy9T
VkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50LmggXAotCVdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R1BhaW50U2VydmVyU29saWQuY3BwIFwKLQlXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWludFNl
cnZlclNvbGlkLmggXAogCVdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcCBcCi0J
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2UuaCBcCi0JV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvU1ZHUmVzb3VyY2VMaXN0ZW5lci5oIFwKIAlXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJz
L1NWR0Rpc3RhbnRMaWdodFNvdXJjZS5oIFwKIAlXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJz
L1NWR0ZFQ29udm9sdmVNYXRyaXguY3BwIFwKIAlXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJz
L1NWR0ZFQ29udm9sdmVNYXRyaXguaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNTgwODMpCisrKyBXZWJD
b3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzE2OSwxNSArMzE2OSwyNiBAQAog
ICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJTVkdJbmxpbmVUZXh0LmgnLAogICAgICAgICAg
ICAgJ3JlbmRlcmluZy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAnLAogICAgICAgICAgICAgJ3Jl
bmRlcmluZy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oJywKKyAgICAgICAgICAgICdyZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2UuY3BwJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2UuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBw
ZXIuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNw
cCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgnLAor
ICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcCcsCisg
ICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCcsCisgICAg
ICAgICAgICAncmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwJywK
KyAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5o
JywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3BwJywK
ICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaCcsCiAgICAg
ICAgICAgICAncmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcCcsCiAgICAgICAg
ICAgICAncmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmgnLAorICAgICAgICAgICAg
J3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwJywKKyAgICAgICAgICAgICdy
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgnLAorICAgICAgICAgICAgJ3JlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcCcsCisgICAgICAgICAgICAn
cmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaCcsCisgICAgICAgICAg
ICAncmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5jcHAnLAorICAgICAgICAg
ICAgJ3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCcsCiAgICAgICAgICAg
ICAncmVuZGVyaW5nL1JlbmRlclNWR1Jvb3QuY3BwJywKICAgICAgICAgICAgICdyZW5kZXJpbmcv
UmVuZGVyU1ZHUm9vdC5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyU1ZHU2hhZG93
VHJlZVJvb3RDb250YWluZXIuY3BwJywKQEAgLTMzOTIsMjEgKzM0MDMsOSBAQAogICAgICAgICAg
ICAgJ3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR1Nwb3RMaWdodFNvdXJjZS5oJywKICAgICAgICAg
ICAgICdzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwJywKICAgICAgICAgICAgICdzdmcvZ3JhcGhp
Y3MvU1ZHSW1hZ2UuaCcsCi0gICAgICAgICAgICAnc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVy
LmNwcCcsCiAgICAgICAgICAgICAnc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyLmgnLAotICAg
ICAgICAgICAgJ3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlckdyYWRpZW50LmNwcCcsCi0gICAg
ICAgICAgICAnc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyR3JhZGllbnQuaCcsCi0gICAgICAg
ICAgICAnc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQuY3BwJywKLSAg
ICAgICAgICAgICdzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5oJywK
LSAgICAgICAgICAgICdzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmNwcCcsCi0g
ICAgICAgICAgICAnc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyUGF0dGVybi5oJywKLSAgICAg
ICAgICAgICdzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudC5jcHAnLAot
ICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50Lmgn
LAotICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlclNvbGlkLmNwcCcsCi0g
ICAgICAgICAgICAnc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyU29saWQuaCcsCiAgICAgICAg
ICAgICAnc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcCcsCiAgICAgICAgICAgICAnc3ZnL2dy
YXBoaWNzL1NWR1Jlc291cmNlLmgnLAotICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9TVkdSZXNv
dXJjZUxpc3RlbmVyLmgnLAogICAgICAgICAgICAgJ3N2Zy9Db2xvckRpc3RhbmNlLmNwcCcsCiAg
ICAgICAgICAgICAnc3ZnL0NvbG9yRGlzdGFuY2UuaCcsCiAgICAgICAgICAgICAnc3ZnL0VsZW1l
bnRUaW1lQ29udHJvbC5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNTgwODMpCisrKyBXZWJDb3JlL1dlYkNv
cmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMwLDkgKzE3MzAsMTQgQEAgSEVBREVSUyArPSBc
CiAgICAgcmVuZGVyaW5nL1JlbmRlclNWR01vZGVsT2JqZWN0LmggXAogICAgIHJlbmRlcmluZy9S
ZW5kZXJTVkdSZXNvdXJjZS5oIFwKICAgICByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyLmggXAotICAgIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oIFwKKyAgICBy
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaCBcIAorICAgIHJlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUdyYWRpZW50LmggXAorICAgIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50LmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtl
ci5oIFwKICAgICByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuaCBcCisgICAgcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5oIFwKKyAgICByZW5kZXJpbmcvUmVuZGVy
U1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oIFwKKyAgICByZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VTb2xpZENvbG9yLmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJTVkdSb290LmggXAogICAg
IHJlbmRlcmluZy9SZW5kZXJTVkdTaGFkb3dUcmVlUm9vdENvbnRhaW5lci5oIFwKICAgICByZW5k
ZXJpbmcvUmVuZGVyU1ZHVGV4dC5oIFwKQEAgLTE4MTQsMTIgKzE4MTksNyBAQCBIRUFERVJTICs9
IFwKICAgICBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaCBcCiAgICAgc3ZnL2dyYXBo
aWNzL2ZpbHRlcnMvU1ZHTGlnaHRTb3VyY2UuaCBcCiAgICAgc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmggXAotICAgIHN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlckdyYWRpZW50LmggXAogICAgIHN2
Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlci5oIFwKLSAgICBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRT
ZXJ2ZXJMaW5lYXJHcmFkaWVudC5oIFwKLSAgICBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJQ
YXR0ZXJuLmggXAotICAgIHN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50
LmggXAotICAgIHN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlclNvbGlkLmggXAogICAgIHN2Zy9n
cmFwaGljcy9TVkdSZXNvdXJjZS5oIFwKICAgICBzdmcvU1ZHQUVsZW1lbnQuaCBcCiAgICAgc3Zn
L1NWR0FsdEdseXBoRWxlbWVudC5oIFwKQEAgLTI2ODUsMTIgKzI2ODUsNiBAQCBjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfU1ZHPTEpIHsKICAgICAgICAgc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZH
RmlsdGVyQnVpbGRlci5jcHAgXAogICAgICAgICBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdMaWdo
dFNvdXJjZS5jcHAgXAogICAgICAgICBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIFwKLSAgICAg
ICAgc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyLmNwcCBcCi0gICAgICAgIHN2Zy9ncmFwaGlj
cy9TVkdQYWludFNlcnZlckdyYWRpZW50LmNwcCBcCi0gICAgICAgIHN2Zy9ncmFwaGljcy9TVkdQ
YWludFNlcnZlckxpbmVhckdyYWRpZW50LmNwcCBcCi0gICAgICAgIHN2Zy9ncmFwaGljcy9TVkdQ
YWludFNlcnZlclBhdHRlcm4uY3BwIFwKLSAgICAgICAgc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2Vy
dmVyUmFkaWFsR3JhZGllbnQuY3BwIFwKLSAgICAgICAgc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2Vy
dmVyU29saWQuY3BwIFwKICAgICAgICAgc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcCBcCiAg
ICAgICAgIHJlbmRlcmluZy9SZW5kZXJGb3JlaWduT2JqZWN0LmNwcCBcCiAgICAgICAgIHJlbmRl
cmluZy9SZW5kZXJQYXRoLmNwcCBcCkBAIC0yNzAyLDEwICsyNjk2LDE2IEBAIGNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9TVkc9MSkgewogICAgICAgICByZW5kZXJpbmcvUmVuZGVyU1ZHSW5saW5l
LmNwcCBcCiAgICAgICAgIHJlbmRlcmluZy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcCBcCiAgICAg
ICAgIHJlbmRlcmluZy9SZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAgXAorICAgICAgICByZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2UuY3BwIFwKICAgICAgICAgcmVuZGVyaW5nL1JlbmRlclNWR1Jl
c291cmNlQ2xpcHBlci5jcHAgXAogICAgICAgICByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXIuY3BwIFwKKyAgICAgICAgcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQu
Y3BwIFwKKyAgICAgICAgcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQu
Y3BwIFwKICAgICAgICAgcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcCBcCiAg
ICAgICAgIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAgXAorICAgICAgICBy
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcCBcCisgICAgICAgIHJlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcCBcCisgICAgICAgIHJlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwIFwKICAgICAgICAgcmVuZGVyaW5nL1Jl
bmRlclNWR1Jvb3QuY3BwIFwKICAgICAgICAgcmVuZGVyaW5nL1JlbmRlclNWR1NoYWRvd1RyZWVS
b290Q29udGFpbmVyLmNwcCBcCiAgICAgICAgIHJlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcCBc
CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDU4MDgz
KQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5
KQpAQCAtMjc5MTksNiArMjc5MTksMTAgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlclNWR1Jlc291cmNlLmNwcCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJl
bmRlcmluZ1xSZW5kZXJTVkdSZXNvdXJjZS5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTI3
OTM5LDYgKzI3OTQzLDIyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJl
bmRlcmluZ1xSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcUmVuZGVyU1ZHUmVz
b3VyY2VMaW5lYXJHcmFkaWVudC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJH
cmFkaWVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcCINCiAJCQkJPg0K
IAkJCTwvRmlsZT4NCkBAIC0yNzk1NSw2ICsyNzk3NSwzMCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcUmVuZGVyU1ZHUmVz
b3VyY2VQYXR0ZXJuLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uaCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRl
cmluZ1xSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcCINCisJCQkJPg0KKwkJCTwv
RmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xSZW5kZXJT
VkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcUmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHJlbmRlcmluZ1xSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmlu
Z1xSZW5kZXJTVkdSb290LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC00MjMxMCw1NCAr
NDIzNTQsMTAgQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQotCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXHN2Z1xncmFwaGljc1xTVkdQYWludFNlcnZlci5jcHAiDQotCQkJCQk+DQot
CQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3ZnXGdyYXBo
aWNzXFNWR1BhaW50U2VydmVyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUN
Ci0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3ZnXGdyYXBoaWNzXFNWR1BhaW50U2VydmVyR3JhZGll
bnQuY3BwIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHN2Z1xncmFwaGljc1xTVkdQYWludFNlcnZlckdyYWRpZW50LmgiDQotCQkJCQk+
DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3ZnXGdy
YXBoaWNzXFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQuY3BwIg0KLQkJCQkJPg0KLQkJCQk8
L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xncmFwaGljc1xT
VkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50LmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0J
CQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3ZnXGdyYXBoaWNzXFNWR1BhaW50U2Vy
dmVyUGF0dGVybi5jcHAiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cc3ZnXGdyYXBoaWNzXFNWR1BhaW50U2VydmVyUGF0dGVybi5oIg0K
LQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XHN2Z1xncmFwaGljc1xTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50LmNwcCINCi0JCQkJCT4N
Ci0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdmdcZ3Jh
cGhpY3NcU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudC5oIg0KLQkJCQkJPg0KLQkJCQk8L0Zp
bGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xncmFwaGljc1xTVkdQ
YWludFNlcnZlclNvbGlkLmNwcCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0K
LQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdmdcZ3JhcGhpY3NcU1ZHUGFpbnRTZXJ2ZXJTb2xpZC5o
Ig0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHN2Z1xncmFwaGljc1xTVkdSZXNvdXJjZS5jcHAiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CkBAIC00MjM2NSwxMCArNDIzNjUsNiBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xncmFw
aGljc1xTVkdSZXNvdXJjZS5oIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQot
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xncmFwaGljc1xTVkdSZXNvdXJjZUxpc3RlbmVyLmgi
DQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCiAJCQkJPEZpbHRlcg0KIAkJCQkJTmFtZT0iZmlsdGVy
cyINCiAJCQkJCT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gNTgwODMpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQAogCQkwODAwODE5NzBF
RDNCMkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwMDgxOTUwRUQzQjJERDAwQzUzQkMwIC8qIFdN
TEFuY2hvckVsZW1lbnQuaCAqLzsgfTsKIAkJMDgwNEJGNkUwRUUwOUMzQjAwMDZDMDAwIC8qIFdN
TERvRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwODA0QkY2QzBFRTA5QzNCMDAwNkMwMDAgLyogV01MRG9FbGVtZW50LmNwcCAqLzsgfTsK
IAkJMDgwNEJGNkYwRUUwOUMzQjAwMDZDMDAwIC8qIFdNTERvRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwNEJGNkQwRUUwOUMzQjAwMDZD
MDAwIC8qIFdNTERvRWxlbWVudC5oICovOyB9OworCQkwODA4MjM3MzExNzk4N0MxMDAyNDFERTgg
LyogUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MDgyMzcyMTE3OTg3QzEwMDI0MURFOCAvKiBSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lci5oICovOyB9OwogCQkwODBBRUM4MTBFRDg3MDhCMDBERjRDQ0Ug
LyogV01MSW50cmluc2ljRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDgwQUVDN0QwRUQ4NzA4QTAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2
ZW50LmNwcCAqLzsgfTsKIAkJMDgwQUVDODIwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNp
Y0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
ODBBRUM3RTBFRDg3MDhCMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnQuaCAqLzsgfTsKIAkJ
MDgwQUVDODMwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODBBRUM3RjBF
RDg3MDhCMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcCAqLzsgfTsKQEAg
LTg0LDYgKzg1LDkgQEAKIAkJMDg0RDI4MzQxMTBBN0ZDQjAwMzgyMzlBIC8qIFNWR0FuaW1hdGVk
UHJvcGVydHlUcmFpdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA4NEQyODMyMTEwQTdGQ0IwMDM4MjM5QSAvKiBTVkdBbmltYXRlZFByb3BlcnR5VHJh
aXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MDg0REJBQTEwRUQzOUQzNjAwMzhDMjI2IC8qIFdNTFZhcmlhYmxlcy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODREQkE5RDBFRDM5RDM1MDAzOEMy
MjYgLyogV01MVmFyaWFibGVzLmNwcCAqLzsgfTsKIAkJMDg0REJBQTIwRUQzOUQzNjAwMzhDMjI2
IC8qIFdNTFZhcmlhYmxlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDg0REJBOUUwRUQzOUQzNjAwMzhDMjI2IC8qIFdNTFZhcmlhYmxlcy5oICovOyB9
OworCQkwODU2M0JCNDExNzg2MTc4MDAxMkI1NzggLyogUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJu
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NTYz
QkIyMTE3ODYxNzcwMDEyQjU3OCAvKiBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwICovOyB9
OworCQkwODU2M0JCNTExNzg2MTc4MDAxMkI1NzggLyogUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJu
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODU2M0JC
MzExNzg2MTc3MDAxMkI1NzggLyogUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmggKi87IH07CisJ
CTA4NTYzQkQwMTE3ODY1RjUwMDEyQjU3OCAvKiBSZW5kZXJTVkdSZXNvdXJjZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODU2M0JDRjExNzg2NUY1
MDAxMkI1NzggLyogUmVuZGVyU1ZHUmVzb3VyY2UuY3BwICovOyB9OwogCQkwODU5MUFBNTBGMDg1
QzRFMDA5QkFDQjEgLyogSW5wdXRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwODU5MUFBNDBGMDg1QzRFMDA5QkFDQjEgLyogSW5wdXRFbGVt
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MDg1QUZEQzgwRjI5NzczNTAwNjFGMkIzIC8qIFdNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODVBRkRDNjBGMjk3
NzM1MDA2MUYyQjMgLyogV01MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDg1QUZE
QzkwRjI5NzczNTAwNjFGMkIzIC8qIFdNTEZvcm1Db250cm9sRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg1QUZEQzcwRjI5NzczNTAwNjFG
MkIzIC8qIFdNTEZvcm1Db250cm9sRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKCk7IH07IH07CkBAIC0xMzksMTAgKzE0MywyMSBAQAogCQkwOEE0ODQ3NzBFNTI3MkM1MDBD
M0ZFNzYgLyogU2NyaXB0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwOEE0ODQ3NTBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVu
dC5jcHAgKi87IH07CiAJCTA4QTQ4NDc4MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEE0ODQ3
NjBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVudC5oICovOyB9OwogCQkwOEE0OEE2RTBF
ODZDRjZEMDBFMjI1REQgLyogSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhBNDhBNkQwRTg2Q0Y2RDAw
RTIyNUREIC8qIEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcCAqLzsgfTsKKwkJMDhBN0U5
MjcxMTgwNUVEQTAwRDBCODcwIC8qIFNWR1BhaW50U2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEE3RTkyNjExODA1RURBMDBEMEI4NzAgLyog
U1ZHUGFpbnRTZXJ2ZXIuaCAqLzsgfTsKKwkJMDhBN0U5MkIxMTgwNUVGMTAwRDBCODcwIC8qIFNW
R1Jlc291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwOEE3RTkyQTExODA1RUYxMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuaCAqLzsgfTsKKwkJMDhB
N0U5MkYxMTgwNUVGRDAwRDBCODcwIC8qIFNWR1Jlc291cmNlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QTdFOTJFMTE4MDVFRkQwMEQwQjg3MCAv
KiBTVkdSZXNvdXJjZS5jcHAgKi87IH07CisJCTA4QzM0QUY1MTE3OUMwNTcwMDJENzQ1NiAvKiBS
ZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4QzM0QUYxMTE3OUMwNTYwMDJENzQ1NiAvKiBSZW5kZXJTVkdS
ZXNvdXJjZUdyYWRpZW50LmNwcCAqLzsgfTsKKwkJMDhDMzRBRjYxMTc5QzA1NzAwMkQ3NDU2IC8q
IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4QzM0QUYyMTE3OUMwNTcwMDJENzQ1NiAvKiBSZW5kZXJTVkdS
ZXNvdXJjZUdyYWRpZW50LmggKi87IH07CisJCTA4QzM0QUY3MTE3OUMwNTcwMDJENzQ1NiAvKiBS
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QzM0QUYzMTE3OUMwNTcwMDJENzQ1NiAvKiBSZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcCAqLzsgfTsKKwkJMDhDMzRBRjgxMTc5QzA1
NzAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QzM0QUY0MTE3OUMwNTcwMDJE
NzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmggKi87IH07CisJCTA4QzM0
QUZEMTE3OUMwNzIwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QzM0QUZC
MTE3OUMwNzIwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcCAq
LzsgfTsKKwkJMDhDMzRBRkUxMTc5QzA3MjAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlUmFk
aWFsR3JhZGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA4QzM0QUZDMTE3OUMwNzIwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdy
YWRpZW50LmggKi87IH07CiAJCTA4QzRDNTE4MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDhDNEM1MTQwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlRWxlbWVudC5jcHAgKi87IH07CiAJ
CTA4QzRDNTE5MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QzRDNTE1MEVGMTlBNDAwMEU0
ODQwRiAvKiBXTUxJbWFnZUVsZW1lbnQuaCAqLzsgfTsKIAkJMDhDNEM1MUEwRUYxOUE0MDAwRTQ4
NDBGIC8qIFdNTEltYWdlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4QzRDNTE2MEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUxvYWRl
ci5jcHAgKi87IH07CiAJCTA4QzRDNTFCMEVGMTlBNDAwMEU0ODQwRiAvKiBXTUxJbWFnZUxvYWRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDNEM1
MTcwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlTG9hZGVyLmggKi87IH07CisJCTA4QzZBN0FC
MTE3REZCQUIwMEZFQTFBMiAvKiBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDNkE3QTkxMTdERkJB
QjAwRkVBMUEyIC8qIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5jcHAgKi87IH07CisJCTA4
QzZBN0FDMTE3REZCQUIwMEZFQTFBMiAvKiBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QzZBN0FBMTE3
REZCQUIwMEZFQTFBMiAvKiBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCAqLzsgfTsKIAkJ
MDhDN0EyQzcxMERDNzQ2MjAwMkQzNjhCIC8qIFNWR05hbWVzLmggaW4gQ29weSBHZW5lcmF0ZWQg
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTY1ODFFOTA5RDE1
MDhEMDAwRTYxRDcgLyogU1ZHTmFtZXMuaCAqLzsgfTsKIAkJMDhDOTI1MTkwRkNDN0M0QTAwNDgw
REVDIC8qIEZpbHRlckVmZmVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwOEM5MjUxNzBGQ0M3QzRBMDA0ODBERUMgLyogRmlsdGVyRWZmZWN0LmNw
cCAqLzsgfTsKIAkJMDhDOTI1MUEwRkNDN0M0QTAwNDgwREVDIC8qIEZpbHRlckVmZmVjdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDOTI1MTgwRkND
N0M0QTAwNDgwREVDIC8qIEZpbHRlckVmZmVjdC5oICovOyB9OwpAQCAtMzczMSwyMSArMzc0Niw2
IEBACiAJCUIyNTU5OUEzMEQwMEQ4QkEwMEJCODI1QyAvKiBTVkdJbWFnZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjU1OTkwQjBEMDBEOEI5MDBC
QjgyNUMgLyogU1ZHSW1hZ2UuY3BwICovOyB9OwogCQlCMjU1OTlBNDBEMDBEOEJBMDBCQjgyNUMg
LyogU1ZHSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIyNTU5OTBDMEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdJbWFnZS5oICovOyB9OwogCQlCMjU1
OTlBNTBEMDBEOEJBMDBCQjgyNUMgLyogRW1wdHlDbGllbnRzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjU1OTkwRDBEMDBEOEI5MDBCQjgyNUMgLyog
RW1wdHlDbGllbnRzLmggKi87IH07Ci0JCUIyNTU5OUE2MEQwMEQ4QkEwMEJCODI1QyAvKiBTVkdQ
YWludFNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMjU1OTkwRTBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXIuY3BwICovOyB9
OwotCQlCMjU1OTlBNzBEMDBEOEJBMDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNTU5OTBGMEQwMEQ4Qjkw
MEJCODI1QyAvKiBTVkdQYWludFNlcnZlci5oICovOyB9OwotCQlCMjU1OTlBODBEMDBEOEJBMDBC
QjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjU1OTkxMDBEMDBEOEI5MDBCQjgyNUMgLyogU1ZH
UGFpbnRTZXJ2ZXJHcmFkaWVudC5jcHAgKi87IH07Ci0JCUIyNTU5OUE5MEQwMEQ4QkEwMEJCODI1
QyAvKiBTVkdQYWludFNlcnZlckdyYWRpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMjU1OTkxMTBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHUGFpbnRT
ZXJ2ZXJHcmFkaWVudC5oICovOyB9OwotCQlCMjU1OTlBQTBEMDBEOEJBMDBCQjgyNUMgLyogU1ZH
UGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMjU1OTkxMjBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHUGFpbnRT
ZXJ2ZXJMaW5lYXJHcmFkaWVudC5jcHAgKi87IH07Ci0JCUIyNTU5OUFCMEQwMEQ4QkEwMEJCODI1
QyAvKiBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjU1OTkxMzBEMDBEOEI5MDBCQjgyNUMgLyogU1ZH
UGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5oICovOyB9OwotCQlCMjU1OTlBQzBEMDBEOEJBMDBC
QjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNTU5OTE0MEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdQ
YWludFNlcnZlclBhdHRlcm4uY3BwICovOyB9OwotCQlCMjU1OTlBRDBEMDBEOEJBMDBCQjgyNUMg
LyogU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMjU1OTkxNTBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2
ZXJQYXR0ZXJuLmggKi87IH07Ci0JCUIyNTU5OUFFMEQwMEQ4QkEwMEJCODI1QyAvKiBTVkdQYWlu
dFNlcnZlclJhZGlhbEdyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIyNTU5OTE2MEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdQYWludFNlcnZl
clJhZGlhbEdyYWRpZW50LmNwcCAqLzsgfTsKLQkJQjI1NTk5QUYwRDAwRDhCQTAwQkI4MjVDIC8q
IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNTU5OTE3MEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdQYWlu
dFNlcnZlclJhZGlhbEdyYWRpZW50LmggKi87IH07Ci0JCUIyNTU5OUIwMEQwMEQ4QkEwMEJCODI1
QyAvKiBTVkdQYWludFNlcnZlclNvbGlkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIyNTU5OTE4MEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdQYWludFNl
cnZlclNvbGlkLmNwcCAqLzsgfTsKLQkJQjI1NTk5QjEwRDAwRDhCQTAwQkI4MjVDIC8qIFNWR1Bh
aW50U2VydmVyU29saWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIyNTU5OTE5MEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdQYWludFNlcnZlclNvbGlkLmgg
Ki87IH07Ci0JCUIyNTU5OUIyMEQwMEQ4QkEwMEJCODI1QyAvKiBTVkdSZXNvdXJjZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjU1OTkxQTBEMDBE
OEI5MDBCQjgyNUMgLyogU1ZHUmVzb3VyY2UuY3BwICovOyB9OwotCQlCMjU1OTlCMzBEMDBEOEJB
MDBCQjgyNUMgLyogU1ZHUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIyNTU5OTFCMEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdSZXNvdXJjZS5o
ICovOyB9OwotCQlCMjU1OTlCODBEMDBEOEJBMDBCQjgyNUMgLyogU1ZHUmVzb3VyY2VMaXN0ZW5l
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjI1NTk5
MjAwRDAwRDhCOTAwQkI4MjVDIC8qIFNWR1Jlc291cmNlTGlzdGVuZXIuaCAqLzsgfTsKIAkJQjI1
REZBQUYwQjJFMjkyOTAwMEU2NTEwIC8qIEpTU1ZHTWF0cml4Q3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNURGQUFFMEIyRTI5MjkwMDBF
NjUxMCAvKiBKU1NWR01hdHJpeEN1c3RvbS5jcHAgKi87IH07CiAJCUIyNjJCODA0MEQxRjMyRDAw
MDE1OEYwOSAvKiBTVkdGb250LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIyNjJCODAzMEQxRjMyRDAwMDE1OEYwOSAvKiBTVkdGb250LmNwcCAqLzsg
fTsKIAkJQjI2NTU0RUEwQjgwRDc0OTAwQTUwRUMzIC8qIFJlbmRlclNWR1RleHRQYXRoLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyNjU1NEU4MEI4
MEQ3NDkwMEE1MEVDMyAvKiBSZW5kZXJTVkdUZXh0UGF0aC5jcHAgKi87IH07CkBAIC01NDMxLDYg
KzU0MzEsNyBAQAogCQkwODAwODE5NTBFRDNCMkREMDBDNTNCQzAgLyogV01MQW5jaG9yRWxlbWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxBbmNob3JFbGVtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4MDRCRjZDMEVFMDlDM0IwMDA2QzAwMCAv
KiBXTUxEb0VsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V01MRG9FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgwNEJGNkQw
RUUwOUMzQjAwMDZDMDAwIC8qIFdNTERvRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXTUxEb0VsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MDgwODIzNzIxMTc5ODdDMTAwMjQxREU4IC8qIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4MEFFQzdEMEVEODcwOEEwMERG
NENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXTUxJbnRyaW5zaWNFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTA4MEFFQzdFMEVEODcwOEIwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxJbnRyaW5zaWNFdmVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODBBRUM3RjBFRDg3MDhCMDBERjRDQ0UgLyogV01M
SW50cmluc2ljRXZlbnRIYW5kbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC01NDY3LDYgKzU0NjgsOSBAQAogCQkwODREMjgzMjExMEE3RkNCMDAzODIzOUEg
LyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA4NERCQTlEMEVEMzlEMzUwMDM4QzIyNiAvKiBXTUxWYXJpYWJsZXMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MVmFyaWFibGVzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0REJBOUUwRUQzOUQzNjAwMzhDMjI2IC8qIFdN
TFZhcmlhYmxlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXTUxWYXJpYWJs
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDg1NjNCQjIxMTc4NjE3NzAwMTJC
NTc4IC8qIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwODU2M0JCMzExNzg2MTc3MDAxMkI1NzggLyogUmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRl
clNWR1Jlc291cmNlUGF0dGVybi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwODU2
M0JDRjExNzg2NUY1MDAxMkI1NzggLyogUmVuZGVyU1ZHUmVzb3VyY2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwODU5MUFBNDBGMDg1QzRFMDA5QkFDQjEgLyogSW5wdXRF
bGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElucHV0RWxlbWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODVBRkRDNjBGMjk3NzM1MDA2MUYyQjMg
LyogV01MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdNTEZvcm1Db250cm9sRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA4NUFGREM3MEYyOTc3MzUwMDYxRjJCMyAvKiBXTUxGb3JtQ29udHJvbEVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MRm9ybUNvbnRyb2xFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NTEwLDEwICs1NTE0LDIxIEBA
CiAJCTA4QTQ4NDc1MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdEVsZW1lbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwOEE0ODQ3NjBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRFbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4QTQ4QTZEMEU4NkNGNkQwMEUyMjVE
RCAvKiBKU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTA4QTdFOTI2MTE4MDVFREEwMEQwQjg3MCAvKiBTVkdQYWlu
dFNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYWludFNlcnZl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwOEE3RTkyQTExODA1RUYxMDBEMEI4
NzAgLyogU1ZHUmVzb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZH
UmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDhBN0U5MkUxMTgwNUVG
RDAwRDBCODcwIC8qIFNWR1Jlc291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNWR1Jlc291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MDhDMzRBRjExMTc5QzA1NjAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2VH
cmFkaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA4QzM0QUYyMTE3OUMw
NTcwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDhDMzRBRjMxMTc5QzA1NzAwMkQ3NDU2IC8qIFJlbmRlclNW
R1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTA4QzM0QUY0MTE3OUMwNTcwMDJENzQ1NiAvKiBSZW5kZXJTVkdS
ZXNvdXJjZUxpbmVhckdyYWRpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMDhDMzRBRkIxMTc5QzA3MjAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlUmFk
aWFsR3JhZGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVu
ZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTA4QzM0QUZDMTE3OUMwNzIwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZVJhZGlh
bEdyYWRpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1Jl
c291cmNlUmFkaWFsR3JhZGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhD
NEM1MTQwRUYxOUE0MDAwRTQ4NDBGIC8qIFdNTEltYWdlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxJbWFnZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwOEM0QzUxNTBFRjE5QTQwMDBFNDg0MEYgLyogV01MSW1hZ2VF
bGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEltYWdlRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEM0QzUxNjBFRjE5QTQwMDBFNDg0
MEYgLyogV01MSW1hZ2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV01MSW1hZ2VMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
OEM0QzUxNzBFRjE5QTQwMDBFNDg0MEYgLyogV01MSW1hZ2VMb2FkZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV01MSW1hZ2VMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMDhDNkE3QTkxMTdERkJBQjAwRkVBMUEyIC8qIFJlbmRlclNWR1Jlc291cmNl
U29saWRDb2xvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwOEM2QTdBQTExN0RGQkFCMDBGRUExQTIgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNWR1Jlc291cmNlU29s
aWRDb2xvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEM5MjUxNzBGQ0M3QzRB
MDA0ODBERUMgLyogRmlsdGVyRWZmZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IEZpbHRlckVmZmVjdC5jcHA7IHBhdGggPSBmaWx0ZXJzL0ZpbHRlckVmZmVjdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4QzkyNTE4MEZDQzdDNEEwMDQ4MERF
QyAvKiBGaWx0ZXJFZmZlY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRmls
dGVyRWZmZWN0Lmg7IHBhdGggPSBmaWx0ZXJzL0ZpbHRlckVmZmVjdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwOENENjFCODBFRDM5MjlDMDAyRERGNTEgLyogV01MVGFza0VsZW1l
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MVGFza0VsZW1l
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTA2NiwyMSArOTA4MSw2IEBA
CiAJCUIyNTU5OTBCMEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdJbWFnZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHSW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMjU1OTkwQzBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHSW1hZ2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0ltYWdlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyNTU5OTBEMEQwMEQ4QjkwMEJCODI1QyAvKiBFbXB0eUNsaWVudHMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVtcHR5Q2xpZW50cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMjU1OTkwRTBEMDBEOEI5MDBCQjgyNUMgLyogU1ZH
UGFpbnRTZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNW
R1BhaW50U2VydmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjI1NTk5MEYw
RDAwRDhCOTAwQkI4MjVDIC8qIFNWR1BhaW50U2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTVkdQYWludFNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlCMjU1OTkxMDBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGFpbnRTZXJ2ZXJH
cmFkaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIyNTU5OTExMEQwMEQ4
QjkwMEJCODI1QyAvKiBTVkdQYWludFNlcnZlckdyYWRpZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTVkdQYWludFNlcnZlckdyYWRpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCUIyNTU5OTEyMEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdQYWludFNlcnZl
ckxpbmVhckdyYWRpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQjI1NTk5MTMwRDAwRDhCOTAwQkI4MjVDIC8qIFNWR1BhaW50U2VydmVyTGluZWFy
R3JhZGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhaW50U2Vy
dmVyTGluZWFyR3JhZGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjI1NTk5
MTQwRDAwRDhCOTAwQkI4MjVDIC8qIFNWR1BhaW50U2VydmVyUGF0dGVybi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjI1NTk5MTUwRDAwRDhCOTAwQkI4MjVDIC8q
IFNWR1BhaW50U2VydmVyUGF0dGVybi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUIyNTU5OTE2MEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYWludFNlcnZl
clJhZGlhbEdyYWRpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjI1NTk5
MTcwRDAwRDhCOTAwQkI4MjVDIC8qIFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGll
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjI1NTk5MTgwRDAwRDhCOTAwQkI4
MjVDIC8qIFNWR1BhaW50U2VydmVyU29saWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNWR1BhaW50U2VydmVyU29saWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlCMjU1OTkxOTBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXJTb2xp
ZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGFpbnRTZXJ2ZXJTb2xp
ZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMjU1OTkxQTBEMDBEOEI5MDBCQjgy
NUMgLyogU1ZHUmVzb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNWR1Jlc291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjI1NTk5
MUIwRDAwRDhCOTAwQkI4MjVDIC8qIFNWR1Jlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTVkdSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlCMjU1OTkyMDBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHUmVzb3VyY2VMaXN0ZW5lci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUmVzb3VyY2VMaXN0ZW5lci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjVERkFBRTBCMkUyOTI5MDAwRTY1MTAgLyogSlNT
VkdNYXRyaXhDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTU1ZHTWF0cml4Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjI2
MkI4MDMwRDFGMzJEMDAwMTU4RjA5IC8qIFNWR0ZvbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0ZvbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCMjY1NTRFODBCODBENzQ5MDBBNTBFQzMgLyogUmVuZGVyU1ZHVGV4dFBhdGguY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNWR1RleHRQYXRoLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTEwLDIxICsxNDUxMCw5IEBACiAJ
CQkJQjI1NTk4OUMwRDAwRDhCODAwQkI4MjVDIC8qIGZpbHRlcnMgKi8sCiAJCQkJQjI1NTk5MEIw
RDAwRDhCOTAwQkI4MjVDIC8qIFNWR0ltYWdlLmNwcCAqLywKIAkJCQlCMjU1OTkwQzBEMDBEOEI5
MDBCQjgyNUMgLyogU1ZHSW1hZ2UuaCAqLywKLQkJCQlCMjU1OTkwRTBEMDBEOEI5MDBCQjgyNUMg
LyogU1ZHUGFpbnRTZXJ2ZXIuY3BwICovLAotCQkJCUIyNTU5OTBGMEQwMEQ4QjkwMEJCODI1QyAv
KiBTVkdQYWludFNlcnZlci5oICovLAotCQkJCUIyNTU5OTEwMEQwMEQ4QjkwMEJCODI1QyAvKiBT
VkdQYWludFNlcnZlckdyYWRpZW50LmNwcCAqLywKLQkJCQlCMjU1OTkxMTBEMDBEOEI5MDBCQjgy
NUMgLyogU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudC5oICovLAotCQkJCUIyNTU5OTEyMEQwMEQ4Qjkw
MEJCODI1QyAvKiBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50LmNwcCAqLywKLQkJCQlCMjU1
OTkxMzBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5oICov
LAotCQkJCUIyNTU5OTE0MEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdQYWludFNlcnZlclBhdHRlcm4u
Y3BwICovLAotCQkJCUIyNTU5OTE1MEQwMEQ4QjkwMEJCODI1QyAvKiBTVkdQYWludFNlcnZlclBh
dHRlcm4uaCAqLywKLQkJCQlCMjU1OTkxNjBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2
ZXJSYWRpYWxHcmFkaWVudC5jcHAgKi8sCi0JCQkJQjI1NTk5MTcwRDAwRDhCOTAwQkI4MjVDIC8q
IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQuaCAqLywKLQkJCQlCMjU1OTkxODBEMDBEOEI5
MDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXJTb2xpZC5jcHAgKi8sCi0JCQkJQjI1NTk5MTkwRDAw
RDhCOTAwQkI4MjVDIC8qIFNWR1BhaW50U2VydmVyU29saWQuaCAqLywKLQkJCQlCMjU1OTkxQTBE
MDBEOEI5MDBCQjgyNUMgLyogU1ZHUmVzb3VyY2UuY3BwICovLAotCQkJCUIyNTU5OTFCMEQwMEQ4
QjkwMEJCODI1QyAvKiBTVkdSZXNvdXJjZS5oICovLAotCQkJCUIyNTU5OTIwMEQwMEQ4QjkwMEJC
ODI1QyAvKiBTVkdSZXNvdXJjZUxpc3RlbmVyLmggKi8sCisJCQkJMDhBN0U5MjYxMTgwNUVEQTAw
RDBCODcwIC8qIFNWR1BhaW50U2VydmVyLmggKi8sCisJCQkJMDhBN0U5MkUxMTgwNUVGRDAwRDBC
ODcwIC8qIFNWR1Jlc291cmNlLmNwcCAqLywKKwkJCQkwOEE3RTkyQTExODA1RUYxMDBEMEI4NzAg
LyogU1ZHUmVzb3VyY2UuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gZ3JhcGhpY3M7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTU4MjksOCArMTU4MTcsNiBAQAogCQlGNTIzRDJGMzAy
REU0NDNCMDE4NjM1Q0EgLyogcmVuZGVyaW5nICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKLQkJCQk4NDFGREMyNDExNzhDOUJFMDBGOEFDOUIgLyogUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXIuY3BwICovLAotCQkJCTg0MUZEQzI1MTE3OEM5QkUwMEY4QUM5QiAvKiBS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oICovLAogCQkJCUJDOEM4RkFBMEREQ0QyRjIwMEI1OTJG
NCAvKiBzdHlsZSAqLywKIAkJCQlBOENGRjA0QjBBMTU0RjA5MDAwQTQyMzQgLyogQXV0b1RhYmxl
TGF5b3V0LmNwcCAqLywKIAkJCQlBOENGRjA0OTBBMTU0RjA5MDAwQTQyMzQgLyogQXV0b1RhYmxl
TGF5b3V0LmggKi8sCkBAIC0xNTk3NSwxMyArMTU5NjEsMjcgQEAKIAkJCQk4NTNDQTlEMTBBRUVD
NUU5MDAyMzcyREMgLyogUmVuZGVyU1ZHSW5saW5lVGV4dC5oICovLAogCQkJCUE4RjVDMEI3MEY5
Mjg1QUMwMDk4RTA2QiAvKiBSZW5kZXJTVkdNb2RlbE9iamVjdC5jcHAgKi8sCiAJCQkJQThGNUMw
QjYwRjkyODVBQzAwOThFMDZCIC8qIFJlbmRlclNWR01vZGVsT2JqZWN0LmggKi8sCisJCQkJMDg1
NjNCQ0YxMTc4NjVGNTAwMTJCNTc4IC8qIFJlbmRlclNWR1Jlc291cmNlLmNwcCAqLywKIAkJCQkw
ODMxOTJBNzExMkI0MzA1MDA4M0MzQjkgLyogUmVuZGVyU1ZHUmVzb3VyY2UuaCAqLywKIAkJCQk4
NEJEQTE2OTExMzU4RDJBMDBEQkY2NEMgLyogUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcCAq
LywKIAkJCQk4NEJEQTE2QTExMzU4RDJBMDBEQkY2NEMgLyogUmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyLmggKi8sCisJCQkJMDgwODIzNzIxMTc5ODdDMTAwMjQxREU4IC8qIFJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyLmggKi8sCisJCQkJODQxRkRDMjQxMTc4QzlCRTAwRjhBQzlCIC8qIFJlbmRl
clNWR1Jlc291cmNlRmlsdGVyLmNwcCAqLywKKwkJCQk4NDFGREMyNTExNzhDOUJFMDBGOEFDOUIg
LyogUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaCAqLywKKwkJCQkwOEMzNEFGMTExNzlDMDU2MDAy
RDc0NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHAgKi8sCisJCQkJMDhDMzRBRjIx
MTc5QzA1NzAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCAqLywKKwkJCQkw
OEMzNEFGMzExNzlDMDU3MDAyRDc0NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVu
dC5jcHAgKi8sCisJCQkJMDhDMzRBRjQxMTc5QzA1NzAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291
cmNlTGluZWFyR3JhZGllbnQuaCAqLywKIAkJCQk4NDk5QTUxMjExNUZCMzMwMDBGNTY2RTMgLyog
UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3BwICovLAogCQkJCTg0OTlBNTEzMTE1RkIzMzAwMEY1
NjZFMyAvKiBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oICovLAogCQkJCTA4MzE5MkE4MTEyQjQz
MDUwMDgzQzNCOSAvKiBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAgKi8sCiAJCQkJMDgzMTky
QTkxMTJCNDMwNTAwODNDM0I5IC8qIFJlbmRlclNWR1Jlc291cmNlTWFza2VyLmggKi8sCisJCQkJ
MDg1NjNCQjIxMTc4NjE3NzAwMTJCNTc4IC8qIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAg
Ki8sCisJCQkJMDg1NjNCQjMxMTc4NjE3NzAwMTJCNTc4IC8qIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybi5oICovLAorCQkJCTA4QzM0QUZCMTE3OUMwNzIwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNv
dXJjZVJhZGlhbEdyYWRpZW50LmNwcCAqLywKKwkJCQkwOEMzNEFGQzExNzlDMDcyMDAyRDc0NTYg
LyogUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oICovLAorCQkJCTA4QzZBN0E5MTE3
REZCQUIwMEZFQTFBMiAvKiBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwICovLAorCQkJ
CTA4QzZBN0FBMTE3REZCQUIwMEZFQTFBMiAvKiBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3Iu
aCAqLywKIAkJCQlBQTMxQjVCMjBDMURGRDEwMDBBRTcwODMgLyogUmVuZGVyU1ZHUm9vdC5jcHAg
Ki8sCiAJCQkJQUEzMUI1QjMwQzFERkQxMDAwQUU3MDgzIC8qIFJlbmRlclNWR1Jvb3QuaCAqLywK
IAkJCQkwOERBQjlCODExMDNEOUE1MDAzRTdBQkEgLyogUmVuZGVyU1ZHU2hhZG93VHJlZVJvb3RD
b250YWluZXIuY3BwICovLApAQCAtMTg1NTEsMTIgKzE4NTUxLDYgQEAKIAkJCQlCMjIyN0E0RTBE
MDBCRjIyMDA3MUI3ODIgLyogU1ZHTVBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
MjIyN0E1MTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHTnVtYmVyTGlzdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjIyMjdBNTQwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhaW50LmggaW4gSGVhZGVycyAq
LywKLQkJCQlCMjU1OTlBNzBEMDBEOEJBMDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXIuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUIyNTU5OUE5MEQwMEQ4QkEwMEJCODI1QyAvKiBTVkdQYWludFNlcnZl
ckdyYWRpZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlCMjU1OTlBQjBEMDBEOEJBMDBCQjgyNUMg
LyogU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQjI1
NTk5QUQwRDAwRDhCQTAwQkI4MjVDIC8qIFNWR1BhaW50U2VydmVyUGF0dGVybi5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJQjI1NTk5QUYwRDAwRDhCQTAwQkI4MjVDIC8qIFNWR1BhaW50U2VydmVyUmFk
aWFsR3JhZGllbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUIyNTU5OUIxMEQwMEQ4QkEwMEJCODI1
QyAvKiBTVkdQYWludFNlcnZlclNvbGlkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E1NzBE
MDBCRjIyMDA3MUI3ODIgLyogU1ZHUGFyc2VyVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMjIyN0E1OTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyMjI3QTVCMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRoU2VnLmggaW4gSGVh
ZGVycyAqLywKQEAgLTE4NTg1LDggKzE4NTc5LDYgQEAKIAkJCQlCQzIyNzQ3QjBFODM2NkUyMDBF
N0Y5NzUgLyogU1ZHUmVuZGVyU3R5bGVEZWZzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEY0RkI5
NDBDMTY5RTdCMDAyQUZFRDUgLyogU1ZHUmVuZGVyU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjJFQkRDOUQwQUY3N0UzNDAwQUU0QTY4IC8qIFNWR1JlbmRlclRyZWVBc1RleHQuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUIyNTU5OUIzMEQwMEQ4QkEwMEJCODI1QyAvKiBTVkdSZXNvdXJjZS5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJQjI1NTk5QjgwRDAwRDhCQTAwQkI4MjVDIC8qIFNWR1Jlc291
cmNlTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1M0NBOUU5MEFFRUM2MDgwMDIzNzJE
QyAvKiBTVkdSb290SW5saW5lQm94LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FBMzBEMDBC
RjIyMDA3MUI3ODIgLyogU1ZHU2NyaXB0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIy
MjdBQTYwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1NldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApA
QCAtMTg4NjQsMTEgKzE4ODU2LDE5IEBACiAJCQkJOUZBMzdFRTQxMTcyRkM4MDAwQzRDRDU1IC8q
IFNjcmlwdFByb2ZpbGVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5RkEzN0VGQjExNzJGREE2
MDBDNENENTUgLyogSlNTY3JpcHRQcm9maWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5RkEzN0VG
RDExNzJGREE2MDBDNENENTUgLyogSlNTY3JpcHRQcm9maWxlTm9kZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMDg1NjNCQjUxMTc4NjE3ODAwMTJCNTc4IC8qIFJlbmRlclNWR1Jlc291cmNlUGF0dGVy
bi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDgwODIzNzMxMTc5ODdDMTAwMjQxREU4IC8qIFJlbmRl
clNWR1Jlc291cmNlQ29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkwOEMzNEFGNjExNzlD
MDU3MDAyRDc0NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMDhDMzRBRjgxMTc5QzA1NzAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFy
R3JhZGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTA4QzM0QUZFMTE3OUMwNzIwMDJENzQ1NiAv
KiBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4
OTUyNTNERDExNkM0RUY1MDBDQUJGMDAgLyogRmlsZVN0cmVhbVByb3h5LmggaW4gSGVhZGVycyAq
LywKIAkJCQk4OTUyNTNERjExNkM0RjA2MDBDQUJGMDAgLyogRmlsZVRocmVhZFRhc2suaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNFRjQxOENGMTE3OTY3OEMwMDlEMTEyQyAvKiBWaWV3cG9ydEFyZ3Vt
ZW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZEMzA4MEYxMTdDRjdFNzAwQTc5MUY3IC8qIFJl
bmRlckZyYW1lQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZEMzA4RDYxMTdEMTY4NTAwQTc5
MUY3IC8qIFJlbmRlcklGcmFtZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMDhDNkE3QUMxMTdERkJB
QjAwRkVBMUEyIC8qIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMDhBN0U5MjcxMTgwNUVEQTAwRDBCODcwIC8qIFNWR1BhaW50U2VydmVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwOEE3RTkyQjExODA1RUYxMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMjA4MzUsMTIgKzIwODM1LDYgQEAKIAkJCQlBODMzQzdDQTBBMkNG
MDZCMDBENTc2NjQgLyogU1ZHTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdBNTAw
RDAwQkYyMjAwNzFCNzgyIC8qIFNWR051bWJlckxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QjIyMjdBNTMwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhaW50LmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCUIyNTU5OUE2MEQwMEQ4QkEwMEJCODI1QyAvKiBTVkdQYWludFNlcnZlci5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQlCMjU1OTlBODBEMDBEOEJBMDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXJH
cmFkaWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCMjU1OTlBQTBEMDBEOEJBMDBCQjgyNUMg
LyogU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlC
MjU1OTlBQzBEMDBEOEJBMDBCQjgyNUMgLyogU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCUIyNTU5OUFFMEQwMEQ4QkEwMEJCODI1QyAvKiBTVkdQYWludFNlcnZl
clJhZGlhbEdyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUIyNTU5OUIwMEQwMEQ4QkEw
MEJCODI1QyAvKiBTVkdQYWludFNlcnZlclNvbGlkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIy
MjI3QTU2MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXJzZXJVdGlsaXRpZXMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQjIyMjdBNTgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QTVEMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXRo
U2VnQXJjLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjA4NjYsNyArMjA4NjAsNiBAQAogCQkJCUJD
MjI3NDdBMEU4MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQThGNEZCOTYwQzE2OUU4NTAwMkFGRUQ1IC8qIFNWR1JlbmRlclN1cHBvcnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJFQkRDOUMwQUY3N0UzNDAwQUU0QTY4IC8qIFNWR1Jl
bmRlclRyZWVBc1RleHQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQjI1NTk5QjIwRDAwRDhCQTAw
QkI4MjVDIC8qIFNWR1Jlc291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg1M0NBOUU4MEFF
RUM2MDgwMDIzNzJEQyAvKiBTVkdSb290SW5saW5lQm94LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUIyMjI3QUEyMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUIyMjI3QUE1MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdTZXRFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMjExMDAsMTEgKzIxMDkzLDE4IEBACiAJCQkJOUZBMzdFRTcx
MTcyRkNGMDAwQzRDRDU1IC8qIEpTU2NyaXB0UHJvZmlsZU5vZGVDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOUZBMzdFRkExMTcyRkRBNjAwQzRDRDU1IC8qIEpTU2NyaXB0UHJvZmlsZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5RkEzN0VGQzExNzJGREE2MDBDNENENTUgLyogSlNTY3Jp
cHRQcm9maWxlTm9kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwODU2M0JCNDExNzg2MTc4MDAx
MkI1NzggLyogUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTA4NTYzQkQwMTE3ODY1RjUwMDEyQjU3OCAvKiBSZW5kZXJTVkdSZXNvdXJjZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwOEMzNEFGNTExNzlDMDU3MDAyRDc0NTYgLyogUmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwOEMzNEFGNzExNzlDMDU3MDAyRDc0
NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkwOEMzNEFGRDExNzlDMDcyMDAyRDc0NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxH
cmFkaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTUyNTNEQzExNkM0RUY1MDBDQUJGMDAg
LyogRmlsZVN0cmVhbVByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNFRjQxOENFMTE3OTY3
OEMwMDlEMTEyQyAvKiBWaWV3cG9ydEFyZ3VtZW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
RkQzMDgwRTExN0NGN0U3MDBBNzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGRDMwOEQ1MTE3RDE2ODUwMEE3OTFGNyAvKiBSZW5kZXJJRnJhbWUuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMDhDNkE3QUIxMTdERkJBQjAwRkVBMUEyIC8qIFJlbmRlclNWR1Jl
c291cmNlU29saWRDb2xvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzM4ODlBMDExNkVBOURD
MDBBREYzMTMgLyogRG9jdW1lbnRXcml0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMDhBN0U5
MkYxMTgwNUVGRDAwRDBCODcwIC8qIFNWR1Jlc291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlLmNwcAkocmV2aXNpb24gNTc4ODgp
CShmcm9tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyLmNwcDo1Nzg4OCkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDI3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFppbW1l
cm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqICAgICAgICAgICAgICAgMjAwNyBSb2IgQnVp
cyA8YnVpc0BrZGUub3JnPgorICogICAgICAgICAgICAgICAyMDA4IERpcmsgU2NodWx6ZSA8a3Jp
dEB3ZWJraXQub3JnPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUo
U1ZHKQorI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCisKKyNpbmNsdWRlICJHcmFwaGljc0Nv
bnRleHQuaCIKKyNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKKyNpbmNsdWRlICJSZW5kZXJP
YmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgIlNWR1BhaW50U2Vy
dmVyU29saWQuaCIKKyNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZH
VVJJUmVmZXJlbmNlLmgiCisKKyNpZiBQTEFURk9STShTS0lBKQorI2luY2x1ZGUgIlBsYXRmb3Jt
Q29udGV4dFNraWEuaCIKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1NWR1BhaW50
U2VydmVyOjpTVkdQYWludFNlcnZlcigpCit7Cit9CisKK1NWR1BhaW50U2VydmVyOjp+U1ZHUGFp
bnRTZXJ2ZXIoKQoreworfQorCitUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRz
LCBjb25zdCBTVkdQYWludFNlcnZlciYgcGFpbnRTZXJ2ZXIpCit7CisgICAgcmV0dXJuIHBhaW50
U2VydmVyLmV4dGVybmFsUmVwcmVzZW50YXRpb24odHMpOworfQorCitTVkdQYWludFNlcnZlciog
Z2V0UGFpbnRTZXJ2ZXJCeUlkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5n
JiBpZCwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCit7CisgICAgU1ZHUmVzb3VyY2UqIHJl
c291cmNlID0gZ2V0UmVzb3VyY2VCeUlkKGRvY3VtZW50LCBpZCwgb2JqZWN0KTsKKyAgICBpZiAo
cmVzb3VyY2UgJiYgcmVzb3VyY2UtPmlzUGFpbnRTZXJ2ZXIoKSkKKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFNWR1BhaW50U2VydmVyKj4ocmVzb3VyY2UpOworCisgICAgcmV0dXJuIDA7Cit9
CisKK1NWR1BhaW50U2VydmVyU29saWQqIFNWR1BhaW50U2VydmVyOjpzaGFyZWRTb2xpZFBhaW50
U2VydmVyKCkKK3sKKyAgICBzdGF0aWMgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCogX3NoYXJlZFNvbGlk
UGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlclNvbGlkOjpjcmVhdGUoKS5yZWxlYXNlUmVmKCk7
CisgICAgCisgICAgcmV0dXJuIF9zaGFyZWRTb2xpZFBhaW50U2VydmVyOworfQorCitTVkdQYWlu
dFNlcnZlciogU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZlcihjb25zdCBSZW5kZXJTdHls
ZSogc3R5bGUsIGNvbnN0IFJlbmRlck9iamVjdCogaXRlbSkKK3sKKyAgICBpZiAoIXN0eWxlLT5z
dmdTdHlsZSgpLT5oYXNGaWxsKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgU1ZHUGFpbnQq
IGZpbGwgPSBzdHlsZS0+c3ZnU3R5bGUoKS0+ZmlsbFBhaW50KCk7CisgICAgICAgIAorICAgIFNW
R1BhaW50U2VydmVyKiBmaWxsUGFpbnRTZXJ2ZXIgPSAwOworICAgIFNWR1BhaW50OjpTVkdQYWlu
dFR5cGUgcGFpbnRUeXBlID0gZmlsbC0+cGFpbnRUeXBlKCk7CisgICAgaWYgKHBhaW50VHlwZSA9
PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUkkgfHwKKyAgICAgICAgcGFpbnRUeXBlID09IFNW
R1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSV9SR0JDT0xPUikgeworICAgICAgICBBdG9taWNTdHJp
bmcgaWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoZmlsbC0+dXJpKCkpKTsKKyAgICAgICAg
ZmlsbFBhaW50U2VydmVyID0gZ2V0UGFpbnRTZXJ2ZXJCeUlkKGl0ZW0tPmRvY3VtZW50KCksIGlk
LCBpdGVtKTsKKworICAgICAgICBTVkdFbGVtZW50KiBzdmdFbGVtZW50ID0gc3RhdGljX2Nhc3Q8
U1ZHRWxlbWVudCo+KGl0ZW0tPm5vZGUoKSk7CisgICAgICAgIEFTU0VSVChzdmdFbGVtZW50ICYm
IHN2Z0VsZW1lbnQtPmRvY3VtZW50KCkgJiYgc3ZnRWxlbWVudC0+aXNTdHlsZWQoKSk7CisKKyAg
ICAgICAgaWYgKGl0ZW0tPmlzUmVuZGVyUGF0aCgpICYmIGZpbGxQYWludFNlcnZlcikKKyAgICAg
ICAgICAgIGZpbGxQYWludFNlcnZlci0+YWRkQ2xpZW50KHN0YXRpY19jYXN0PFNWR1N0eWxlZEVs
ZW1lbnQqPihzdmdFbGVtZW50KSk7CisgICAgICAgIGVsc2UgaWYgKCFmaWxsUGFpbnRTZXJ2ZXIg
JiYgcGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSSkKKyAgICAgICAgICAg
IHN2Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGlu
Z1Jlc291cmNlKGlkLCBzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkp
OyAKKyAgICB9CisgICAgaWYgKHBhaW50VHlwZSAhPSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9V
UkkgJiYgIWZpbGxQYWludFNlcnZlcikgeworICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBzaGFy
ZWRTb2xpZFBhaW50U2VydmVyKCk7CisgICAgICAgIFNWR1BhaW50U2VydmVyU29saWQqIGZpbGxQ
YWludFNlcnZlclNvbGlkID0gc3RhdGljX2Nhc3Q8U1ZHUGFpbnRTZXJ2ZXJTb2xpZCo+KGZpbGxQ
YWludFNlcnZlcik7CisgICAgICAgIAorICAgICAgICBDb2xvciBmaWxsQ29sb3I7CisgICAgICAg
IGlmIChwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfQ1VSUkVOVENPTE9SKQor
ICAgICAgICAgICAgZmlsbENvbG9yID0gc3R5bGUtPmNvbG9yKCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGZpbGxDb2xvciA9IGZpbGwtPmNvbG9yKCk7CisKKyAgICAgICAgaWYgKHN0eWxl
LT5pbnNpZGVMaW5rKCkgPT0gSW5zaWRlVmlzaXRlZExpbmspIHsKKyAgICAgICAgICAgIFJlbmRl
clN0eWxlKiB2aXNpdGVkU3R5bGUgPSBzdHlsZS0+Z2V0Q2FjaGVkUHNldWRvU3R5bGUoVklTSVRF
RF9MSU5LKTsKKyAgICAgICAgICAgIFNWR1BhaW50KiB2aXNpdGVkRmlsbCA9IHZpc2l0ZWRTdHls
ZS0+c3ZnU3R5bGUoKS0+ZmlsbFBhaW50KCk7CisgICAgICAgICAgICBDb2xvciB2aXNpdGVkRmls
bENvbG9yOworICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsLT5wYWludFR5cGUoKSAhPSBTVkdQ
YWludDo6U1ZHX1BBSU5UVFlQRV9VUkkpIHsKKyAgICAgICAgICAgICAgICBpZiAodmlzaXRlZEZp
bGwtPnBhaW50VHlwZSgpID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikK
KyAgICAgICAgICAgICAgICAgICAgdmlzaXRlZEZpbGxDb2xvciA9IHZpc2l0ZWRTdHlsZS0+Y29s
b3IoKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRG
aWxsQ29sb3IgPSB2aXNpdGVkRmlsbC0+Y29sb3IoKTsKKyAgICAgICAgICAgICAgICBpZiAodmlz
aXRlZEZpbGxDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvciA9
IENvbG9yKHZpc2l0ZWRGaWxsQ29sb3IucmVkKCksIHZpc2l0ZWRGaWxsQ29sb3IuZ3JlZW4oKSwg
dmlzaXRlZEZpbGxDb2xvci5ibHVlKCksIGZpbGxDb2xvci5hbHBoYSgpKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorCisgICAgICAgIGZpbGxQYWludFNlcnZlclNvbGlkLT5zZXRDb2xvcihm
aWxsQ29sb3IpOworICAgICAgICAKKyAgICAgICAgLy8gRklYTUU6IElkZWFsbHkgaW52YWxpZCBj
b2xvcnMgd291bGQgbmV2ZXIgZ2V0IHNldCBvbiB0aGUgUmVuZGVyU3R5bGUgYW5kIHRoaXMgY291
bGQgdHVybiBpbnRvIGFuIEFTU0VSVAorICAgICAgICBpZiAoIWZpbGxQYWludFNlcnZlclNvbGlk
LT5jb2xvcigpLmlzVmFsaWQoKSkKKyAgICAgICAgICAgIGZpbGxQYWludFNlcnZlciA9IDA7Cisg
ICAgfQorICAgIGlmICghZmlsbFBhaW50U2VydmVyKSB7CisgICAgICAgIC8vIGRlZmF1bHQgdmFs
dWUgKGJsYWNrKSwgc2VlIGJ1ZyAxMTAxNworICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBzaGFy
ZWRTb2xpZFBhaW50U2VydmVyKCk7CisgICAgICAgIHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVy
U29saWQqPihmaWxsUGFpbnRTZXJ2ZXIpLT5zZXRDb2xvcihDb2xvcjo6YmxhY2spOworICAgIH0K
KyAgICByZXR1cm4gZmlsbFBhaW50U2VydmVyOworfQorCitTVkdQYWludFNlcnZlciogU1ZHUGFp
bnRTZXJ2ZXI6OnN0cm9rZVBhaW50U2VydmVyKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgUmVuZGVyT2JqZWN0KiBpdGVtKQoreworICAgIGlmICghc3R5bGUtPnN2Z1N0eWxlKCktPmhh
c1N0cm9rZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIFNWR1BhaW50KiBzdHJva2UgPSBz
dHlsZS0+c3ZnU3R5bGUoKS0+c3Ryb2tlUGFpbnQoKTsKKworICAgIFNWR1BhaW50U2VydmVyKiBz
dHJva2VQYWludFNlcnZlciA9IDA7CisgICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5
cGUgPSBzdHJva2UtPnBhaW50VHlwZSgpOworICAgIGlmICgocGFpbnRUeXBlID09IFNWR1BhaW50
OjpTVkdfUEFJTlRUWVBFX1VSSQorICAgICAgICB8fCBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNW
R19QQUlOVFRZUEVfVVJJX1JHQkNPTE9SKQorICAgICAgICAmJiBpdGVtLT5vYmplY3RCb3VuZGlu
Z0JveCgpLndpZHRoKCkgIT0gMAorICAgICAgICAmJiBpdGVtLT5vYmplY3RCb3VuZGluZ0JveCgp
LmhlaWdodCgpICE9IDApIHsKKyAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5j
ZTo6Z2V0VGFyZ2V0KHN0cm9rZS0+dXJpKCkpKTsKKyAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXIg
PSBnZXRQYWludFNlcnZlckJ5SWQoaXRlbS0+ZG9jdW1lbnQoKSwgaWQsIGl0ZW0pOworCisgICAg
ICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaXRl
bS0+bm9kZSgpKTsKKyAgICAgICAgQVNTRVJUKHN2Z0VsZW1lbnQgJiYgc3ZnRWxlbWVudC0+ZG9j
dW1lbnQoKSAmJiBzdmdFbGVtZW50LT5pc1N0eWxlZCgpKTsKKyAKKyAgICAgICAgaWYgKGl0ZW0t
PmlzUmVuZGVyUGF0aCgpICYmIHN0cm9rZVBhaW50U2VydmVyKQorICAgICAgICAgICAgc3Ryb2tl
UGFpbnRTZXJ2ZXItPmFkZENsaWVudChzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3Zn
RWxlbWVudCkpOworICAgICAgICBlbHNlIGlmICghc3Ryb2tlUGFpbnRTZXJ2ZXIgJiYgcGFpbnRU
eXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSSkKKyAgICAgICAgICAgIHN2Z0VsZW1l
bnQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNl
KGlkLCBzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOyAKKyAgICB9
CisgICAgaWYgKHBhaW50VHlwZSAhPSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUkkgJiYgIXN0
cm9rZVBhaW50U2VydmVyKSB7CisgICAgICAgIHN0cm9rZVBhaW50U2VydmVyID0gc2hhcmVkU29s
aWRQYWludFNlcnZlcigpOworICAgICAgICBTVkdQYWludFNlcnZlclNvbGlkKiBzdHJva2VQYWlu
dFNlcnZlclNvbGlkID0gc3RhdGljX2Nhc3Q8U1ZHUGFpbnRTZXJ2ZXJTb2xpZCo+KHN0cm9rZVBh
aW50U2VydmVyKTsKKyAgICAgICAgCisgICAgICAgIENvbG9yIHN0cm9rZUNvbG9yOworICAgICAg
ICBpZiAocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikK
KyAgICAgICAgICAgIHN0cm9rZUNvbG9yID0gc3R5bGUtPmNvbG9yKCk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHN0cm9rZUNvbG9yID0gc3Ryb2tlLT5jb2xvcigpOworCisgICAgICAgIGlm
IChzdHlsZS0+aW5zaWRlTGluaygpID09IEluc2lkZVZpc2l0ZWRMaW5rKSB7CisgICAgICAgICAg
ICBSZW5kZXJTdHlsZSogdmlzaXRlZFN0eWxlID0gc3R5bGUtPmdldENhY2hlZFBzZXVkb1N0eWxl
KFZJU0lURURfTElOSyk7CisgICAgICAgICAgICBTVkdQYWludCogdmlzaXRlZFN0cm9rZSA9IHZp
c2l0ZWRTdHlsZS0+c3ZnU3R5bGUoKS0+c3Ryb2tlUGFpbnQoKTsKKyAgICAgICAgICAgIENvbG9y
IHZpc2l0ZWRTdHJva2VDb2xvcjsKKyAgICAgICAgICAgIGlmICh2aXNpdGVkU3Ryb2tlLT5wYWlu
dFR5cGUoKSAhPSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUkkpIHsKKyAgICAgICAgICAgICAg
ICBpZiAodmlzaXRlZFN0cm9rZS0+cGFpbnRUeXBlKCkgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZ
UEVfQ1VSUkVOVENPTE9SKQorICAgICAgICAgICAgICAgICAgICB2aXNpdGVkU3Ryb2tlQ29sb3Ig
PSB2aXNpdGVkU3R5bGUtPmNvbG9yKCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgICAgICB2aXNpdGVkU3Ryb2tlQ29sb3IgPSB2aXNpdGVkU3Ryb2tlLT5jb2xvcigpOwor
ICAgICAgICAgICAgICAgIGlmICh2aXNpdGVkU3Ryb2tlQ29sb3IuaXNWYWxpZCgpKQorICAgICAg
ICAgICAgICAgICAgICBzdHJva2VDb2xvciA9IENvbG9yKHZpc2l0ZWRTdHJva2VDb2xvci5yZWQo
KSwgdmlzaXRlZFN0cm9rZUNvbG9yLmdyZWVuKCksIHZpc2l0ZWRTdHJva2VDb2xvci5ibHVlKCks
IHN0cm9rZUNvbG9yLmFscGhhKCkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAg
ICAgc3Ryb2tlUGFpbnRTZXJ2ZXJTb2xpZC0+c2V0Q29sb3Ioc3Ryb2tlQ29sb3IpOworCisgICAg
ICAgIC8vIEZJWE1FOiBJZGVhbGx5IGludmFsaWQgY29sb3JzIHdvdWxkIG5ldmVyIGdldCBzZXQg
b24gdGhlIFJlbmRlclN0eWxlIGFuZCB0aGlzIGNvdWxkIHR1cm4gaW50byBhbiBBU1NFUlQKKyAg
ICAgICAgaWYgKCFzdHJva2VQYWludFNlcnZlclNvbGlkLT5jb2xvcigpLmlzVmFsaWQoKSkKKyAg
ICAgICAgICAgIHN0cm9rZVBhaW50U2VydmVyID0gMDsKKyAgICB9CisgICAgaWYgKCFzdHJva2VQ
YWludFNlcnZlcikgeworICAgICAgICAvLyBkZWZhdWx0IHZhbHVlIChibGFjayksIHNlZSBidWcg
MTEwMTcKKyAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xpZFBhaW50U2VydmVy
KCk7CisgICAgICAgIHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihzdHJva2VQYWlu
dFNlcnZlciktPnNldENvbG9yKENvbG9yOjpibGFjayk7CisgICAgfQorCisgICAgcmV0dXJuIHN0
cm9rZVBhaW50U2VydmVyOworfQorCit2b2lkIGFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJl
bmRlck9iamVjdCogb2JqZWN0KQoreworICAgIGNvbnRleHQtPnNldFN0cm9rZVRoaWNrbmVzcyhT
VkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+c3ZnU3R5
bGUoKS0+c3Ryb2tlV2lkdGgoKSwgMS4wZikpOworICAgIGNvbnRleHQtPnNldExpbmVDYXAoc3R5
bGUtPnN2Z1N0eWxlKCktPmNhcFN0eWxlKCkpOworICAgIGNvbnRleHQtPnNldExpbmVKb2luKHN0
eWxlLT5zdmdTdHlsZSgpLT5qb2luU3R5bGUoKSk7CisgICAgaWYgKHN0eWxlLT5zdmdTdHlsZSgp
LT5qb2luU3R5bGUoKSA9PSBNaXRlckpvaW4pCisgICAgICAgIGNvbnRleHQtPnNldE1pdGVyTGlt
aXQoc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZU1pdGVyTGltaXQoKSk7CisKKyAgICBjb25zdCBE
YXNoQXJyYXkmIGRhc2hlcyA9IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShvYmplY3QtPnN0
eWxlKCksIG9iamVjdC0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxl
KCkpOworICAgIGZsb2F0IGRhc2hPZmZzZXQgPSBTVkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZl
VG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+c3ZnU3R5bGUoKS0+c3Ryb2tlRGFzaE9mZnNldCgpLCAw
LjBmKTsKKyAgICBjb250ZXh0LT5zZXRMaW5lRGFzaChkYXNoZXMsIGRhc2hPZmZzZXQpOworfQor
Citib29sIFNWR1BhaW50U2VydmVyOjpzZXR1cChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBj
b25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgU1ZHUGFpbnRUYXJnZXRUeXBlIHR5cGUsIGJvb2wg
aXNQYWludGluZ1RleHQpIGNvbnN0Cit7CisgICAgcmV0dXJuIHNldHVwKGNvbnRleHQsIG9iamVj
dCwgb2JqZWN0ID8gb2JqZWN0LT5zdHlsZSgpIDogMCwgdHlwZSwgaXNQYWludGluZ1RleHQpOwor
fQorCit2b2lkIFNWR1BhaW50U2VydmVyOjpkcmF3KEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQs
IGNvbnN0IFJlbmRlck9iamVjdCogcGF0aCwgU1ZHUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0
Cit7CisgICAgaWYgKCFzZXR1cChjb250ZXh0LCBwYXRoLCB0eXBlKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgcmVuZGVyUGF0aChjb250ZXh0LCBwYXRoLCB0eXBlKTsKKyAgICB0ZWFyZG93bihj
b250ZXh0LCBwYXRoLCB0eXBlKTsKK30KKwordm9pZCBTVkdQYWludFNlcnZlcjo6cmVuZGVyUGF0
aChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBjb25zdCBSZW5kZXJPYmplY3QqIHBhdGgsIFNW
R1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdAoreworICAgIGNvbnN0IFNWR1JlbmRlclN0eWxl
KiBzdHlsZSA9IHBhdGggPyBwYXRoLT5zdHlsZSgpLT5zdmdTdHlsZSgpIDogMDsKKworICAgIGlm
ICgodHlwZSAmIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSkgJiYgKCFzdHlsZSB8fCBzdHlsZS0+aGFz
RmlsbCgpKSkKKyAgICAgICAgY29udGV4dC0+ZmlsbFBhdGgoKTsKKworICAgIGlmICgodHlwZSAm
IEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlKSAmJiAoIXN0eWxlIHx8IHN0eWxlLT5oYXNTdHJva2Uo
KSkpCisgICAgICAgIGNvbnRleHQtPnN0cm9rZVBhdGgoKTsKK30KKworI2lmIFBMQVRGT1JNKFNL
SUEpCit2b2lkIFNWR1BhaW50U2VydmVyOjp0ZWFyZG93bihHcmFwaGljc0NvbnRleHQqJiBjb250
ZXh0LCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wpIGNvbnN0
Cit7CisgICAgLy8gRklYTUU6IE1vdmUgdGhpcyBpbnRvIHRoZSBHcmFwaGljc0NvbnRleHQKKyAg
ICAvLyBXZWJLaXQgaW1wbGljaXRseSBleHBlY3RzIHVzIHRvIHJlc2V0IHRoZSBwYXRoLgorICAg
IC8vIEZvciBleGFtcGxlIGluIGZpbGxBbmRTdHJva2VQYXRoKCkgb2YgUmVuZGVyUGF0aC5jcHAg
dGhlIHBhdGggaXMgCisgICAgLy8gYWRkZWQgYmFjayB0byB0aGUgY29udGV4dCBhZnRlciBmaWxs
aW5nLiBUaGlzIGlzIGJlY2F1c2UgaW50ZXJuYWxseSBpdAorICAgIC8vIGNhbGxzIENHQ29udGV4
dEZpbGxQYXRoKCkgd2hpY2ggY2xvc2VzIHRoZSBwYXRoLgorICAgIGNvbnRleHQtPmJlZ2luUGF0
aCgpOworICAgIGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5zZXRGaWxsU2hhZGVyKDApOwor
ICAgIGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5zZXRTdHJva2VTaGFkZXIoMCk7Cit9Cisj
ZWxzZQordm9pZCBTVkdQYWludFNlcnZlcjo6dGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYsIGNv
bnN0IFJlbmRlck9iamVjdCosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCkgY29uc3QKK3sKK30K
KyNlbmRpZgorCitEYXNoQXJyYXkgZGFzaEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKGNvbnN0IFJl
bmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSkKK3sKKyAgICBEYXNoQXJy
YXkgYXJyYXk7CisgICAgCisgICAgQ1NTVmFsdWVMaXN0KiBkYXNoZXMgPSBzdHlsZS0+c3ZnU3R5
bGUoKS0+c3Ryb2tlRGFzaEFycmF5KCk7CisgICAgaWYgKGRhc2hlcykgeworICAgICAgICBDU1NQ
cmltaXRpdmVWYWx1ZSogZGFzaCA9IDA7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbGVuID0gZGFz
aGVzLT5sZW5ndGgoKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBsb25nIGkgPSAwOyBpIDwgbGVu
OyBpKyspIHsKKyAgICAgICAgICAgIGRhc2ggPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1
ZSo+KGRhc2hlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjayhpKSk7CisgICAgICAgICAgICBpZiAo
IWRhc2gpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGFycmF5LmFw
cGVuZCgoZmxvYXQpIGRhc2gtPmNvbXB1dGVMZW5ndGhGbG9hdChjb25zdF9jYXN0PFJlbmRlclN0
eWxlKj4oc3R5bGUpLCByb290U3R5bGUpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVy
biBhcnJheTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDU3ODg4KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMyw4ICszMyw4IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAi
Tm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAi
UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIK
LSNpbmNsdWRlICJTVkdQYWludFNlcnZlclNvbGlkLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxl
bWVudC5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgogCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAkocmV2aXNpb24gNTc4
ODgpCShmcm9tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyR3JhZGllbnQuY3Bw
OjU3ODg4KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiAgICAgICAg
ICAgICAgIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAqICAgICAgICAgICAg
ICAgMjAwOCBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQYWludFNlcnZlckdy
YWRpZW50LmgiCisKKyNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24uaCIKKyNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgorI2luY2x1ZGUgIlJlbmRl
ck9iamVjdC5oIgorI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlICJTVkdHcmFkaWVu
dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50LmgiCisj
aW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudC5oIgorI2luY2x1ZGUgIlNWR1Jl
bmRlclN1cHBvcnQuaCIKKyNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCisKK3VzaW5n
IG5hbWVzcGFjZSBzdGQ7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIFRleHRTdHJl
YW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIEdyYWRpZW50U3ByZWFkTWV0aG9kIG0pCit7
CisgICAgc3dpdGNoIChtKSB7CisgICAgICAgIGNhc2UgU3ByZWFkTWV0aG9kUGFkOgorICAgICAg
ICAgICAgdHMgPDwgIlBBRCI7IGJyZWFrOworICAgICAgICBjYXNlIFNwcmVhZE1ldGhvZFJlcGVh
dDoKKyAgICAgICAgICAgIHRzIDw8ICJSRVBFQVQiOyBicmVhazsKKyAgICAgICAgY2FzZSBTcHJl
YWRNZXRob2RSZWZsZWN0OgorICAgICAgICAgICAgdHMgPDwgIlJFRkxFQ1QiOyBicmVhazsKKyAg
ICB9CisKKyAgICByZXR1cm4gdHM7Cit9CisKK3N0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8
KFRleHRTdHJlYW0mIHRzLCBjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYgbCkKK3sKKyAg
ICB0cyA8PCAiWyI7CisgICAgZm9yIChWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPjo6Y29uc3RfaXRl
cmF0b3IgaXQgPSBsLmJlZ2luKCk7IGl0ICE9IGwuZW5kKCk7ICsraXQpIHsKKyAgICAgICAgdHMg
PDwgIigiIDw8IGl0LT5maXJzdCA8PCAiLCIgPDwgaXQtPnNlY29uZCA8PCAiKSI7CisgICAgICAg
IGlmIChpdCArIDEgIT0gbC5lbmQoKSkKKyAgICAgICAgICAgIHRzIDw8ICIsICI7CisgICAgfQor
ICAgIHRzIDw8ICJdIjsKKyAgICByZXR1cm4gdHM7Cit9CisKK1NWR1BhaW50U2VydmVyR3JhZGll
bnQ6OlNWR1BhaW50U2VydmVyR3JhZGllbnQoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBvd25l
cikKKyAgICA6IG1fYm91bmRpbmdCb3hNb2RlKHRydWUpCisgICAgLCBtX293bmVyRWxlbWVudChv
d25lcikKKyNpZiBQTEFURk9STShDRykKKyAgICAsIG1fc2F2ZWRDb250ZXh0KDApCisgICAgLCBt
X2ltYWdlQnVmZmVyKDApCisjZW5kaWYKK3sKKyAgICBBU1NFUlQob3duZXIpOworfQorCitTVkdQ
YWludFNlcnZlckdyYWRpZW50Ojp+U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudCgpCit7Cit9CisKK0dy
YWRpZW50KiBTVkdQYWludFNlcnZlckdyYWRpZW50OjpncmFkaWVudCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fZ3JhZGllbnQuZ2V0KCk7Cit9CisKK3ZvaWQgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVu
dDo6c2V0R3JhZGllbnQoUGFzc1JlZlB0cjxHcmFkaWVudD4gZ3JhZGllbnQpCit7CisgICAgbV9n
cmFkaWVudCA9IGdyYWRpZW50OworfQorCitib29sIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OmJv
dW5kaW5nQm94TW9kZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYm91bmRpbmdCb3hNb2RlOwor
fQorCit2b2lkIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldEJvdW5kaW5nQm94TW9kZShib29s
IG1vZGUpCit7CisgICAgbV9ib3VuZGluZ0JveE1vZGUgPSBtb2RlOworfQorCitBZmZpbmVUcmFu
c2Zvcm0gU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6Z3JhZGllbnRUcmFuc2Zvcm0oKSBjb25zdAor
eworICAgIHJldHVybiBtX2dyYWRpZW50VHJhbnNmb3JtOworfQorCit2b2lkIFNWR1BhaW50U2Vy
dmVyR3JhZGllbnQ6OnNldEdyYWRpZW50VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYg
dHJhbnNmb3JtKQoreworICAgIG1fZ3JhZGllbnRUcmFuc2Zvcm0gPSB0cmFuc2Zvcm07Cit9CisK
KyNpZiBQTEFURk9STShDRykKK3N0YXRpYyBpbmxpbmUgQWZmaW5lVHJhbnNmb3JtIGFic29sdXRl
VHJhbnNmb3JtRm9yUmVuZGVyZXIoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCit7CisgICAg
QWZmaW5lVHJhbnNmb3JtIGFic29sdXRlVHJhbnNmb3JtOworCisgICAgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBjdXJyZW50T2JqZWN0ID0gb2JqZWN0OworICAgIHdoaWxlIChjdXJyZW50T2JqZWN0KSB7
CisgICAgICAgIGFic29sdXRlVHJhbnNmb3JtID0gY3VycmVudE9iamVjdC0+bG9jYWxUb1BhcmVu
dFRyYW5zZm9ybSgpICogYWJzb2x1dGVUcmFuc2Zvcm07CisgICAgICAgIGN1cnJlbnRPYmplY3Qg
PSBjdXJyZW50T2JqZWN0LT5wYXJlbnQoKTsKKyAgICB9CisKKyAgICByZXR1cm4gYWJzb2x1dGVU
cmFuc2Zvcm07Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBjcmVhdGVNYXNrQW5kU3dhcENvbnRl
eHRGb3JUZXh0R3JhZGllbnQoCisgICAgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgR3JhcGhp
Y3NDb250ZXh0KiYgc2F2ZWRDb250ZXh0LAorICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4mIGltYWdl
QnVmZmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sKKyAgICBjb25zdCBSZW5kZXJP
YmplY3QqIHRleHRSb290QmxvY2sgPSBmaW5kVGV4dFJvb3RPYmplY3Qob2JqZWN0KTsKKworICAg
IEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBhYnNvbHV0ZVRyYW5zZm9ybUZvclJlbmRlcmVy
KHRleHRSb290QmxvY2spOworICAgIEZsb2F0UmVjdCBtYXNrQWJzb2x1dGVCb3VuZGluZ0JveCA9
IHRyYW5zZm9ybS5tYXBSZWN0KHRleHRSb290QmxvY2stPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzKCkpOworCisgICAgSW50UmVjdCBtYXNrSW1hZ2VSZWN0ID0gZW5jbG9zaW5nSW50UmVj
dChtYXNrQWJzb2x1dGVCb3VuZGluZ0JveCk7CisgICAgaWYgKG1hc2tJbWFnZVJlY3QuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBBbGxvY2F0ZSBhbiBpbWFnZSBi
dWZmZXIgYXMgYmlnIGFzIHRoZSBhYnNvbHV0ZSB1bmNsaXBwZWQgc2l6ZSBvZiB0aGUgb2JqZWN0
CisgICAgT3duUHRyPEltYWdlQnVmZmVyPiBtYXNrSW1hZ2UgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRl
KG1hc2tJbWFnZVJlY3Quc2l6ZSgpKTsKKyAgICBpZiAoIW1hc2tJbWFnZSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgR3JhcGhpY3NDb250ZXh0KiBtYXNrSW1hZ2VDb250ZXh0ID0gbWFz
a0ltYWdlLT5jb250ZXh0KCk7CisKKyAgICAvLyBUcmFuc2Zvcm0gdGhlIG1hc2sgaW1hZ2UgY29v
cmRpbmF0ZSBzeXN0ZW0gdG8gYWJzb2x1dGUgc2NyZWVuIGNvb3JkaW5hdGVzCisgICAgbWFza0lt
YWdlQ29udGV4dC0+dHJhbnNsYXRlKC1tYXNrQWJzb2x1dGVCb3VuZGluZ0JveC54KCksIC1tYXNr
QWJzb2x1dGVCb3VuZGluZ0JveC55KCkpOworICAgIG1hc2tJbWFnZUNvbnRleHQtPmNvbmNhdENU
TSh0cmFuc2Zvcm0pOworCisgICAgaW1hZ2VCdWZmZXIuc2V0KG1hc2tJbWFnZS5yZWxlYXNlKCkp
OworICAgIHNhdmVkQ29udGV4dCA9IGNvbnRleHQ7CisgICAgY29udGV4dCA9IG1hc2tJbWFnZUNv
bnRleHQ7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIGlubGluZSBBZmZpbmVUcmFu
c2Zvcm0gY2xpcFRvVGV4dE1hc2soR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAorICAgIE93blB0
cjxJbWFnZUJ1ZmZlcj4mIGltYWdlQnVmZmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwK
KyAgICBjb25zdCBTVkdQYWludFNlcnZlckdyYWRpZW50KiBncmFkaWVudFNlcnZlcikKK3sKKyAg
ICBjb25zdCBSZW5kZXJPYmplY3QqIHRleHRSb290QmxvY2sgPSBmaW5kVGV4dFJvb3RPYmplY3Qo
b2JqZWN0KTsKKyAgICBjb250ZXh0LT5jbGlwVG9JbWFnZUJ1ZmZlcih0ZXh0Um9vdEJsb2NrLT5y
ZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLCBpbWFnZUJ1ZmZlci5nZXQoKSk7CisKKyAg
ICBBZmZpbmVUcmFuc2Zvcm0gbWF0cml4OworICAgIGlmIChncmFkaWVudFNlcnZlci0+Ym91bmRp
bmdCb3hNb2RlKCkpIHsKKyAgICAgICAgRmxvYXRSZWN0IG1hc2tCb3VuZGluZ0JveCA9IHRleHRS
b290QmxvY2stPm9iamVjdEJvdW5kaW5nQm94KCk7CisgICAgICAgIG1hdHJpeC50cmFuc2xhdGUo
bWFza0JvdW5kaW5nQm94LngoKSwgbWFza0JvdW5kaW5nQm94LnkoKSk7CisgICAgICAgIG1hdHJp
eC5zY2FsZU5vblVuaWZvcm0obWFza0JvdW5kaW5nQm94LndpZHRoKCksIG1hc2tCb3VuZGluZ0Jv
eC5oZWlnaHQoKSk7CisgICAgfQorICAgIG1hdHJpeC5tdWx0aXBseShncmFkaWVudFNlcnZlci0+
Z3JhZGllbnRUcmFuc2Zvcm0oKSk7CisgICAgcmV0dXJuIG1hdHJpeDsKK30KKyNlbmRpZgorCiti
b29sIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldHVwKEdyYXBoaWNzQ29udGV4dComIGNvbnRl
eHQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBSZW5kZXJTdHlsZSpzdHlsZSwg
U1ZHUGFpbnRUYXJnZXRUeXBlIHR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0Cit7Cisg
ICAgbV9vd25lckVsZW1lbnQtPmJ1aWxkR3JhZGllbnQoKTsKKworICAgIGNvbnN0IFNWR1JlbmRl
clN0eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5zdmdTdHlsZSgpOworICAgIGJvb2wgaXNGaWxsZWQg
PSAodHlwZSAmIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSkgJiYgc3ZnU3R5bGUtPmhhc0ZpbGwoKTsK
KyAgICBib29sIGlzU3Ryb2tlZCA9ICh0eXBlICYgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUpICYm
IHN2Z1N0eWxlLT5oYXNTdHJva2UoKTsKKworICAgIEFTU0VSVCgoaXNGaWxsZWQgJiYgIWlzU3Ry
b2tlZCkgfHwgKCFpc0ZpbGxlZCAmJiBpc1N0cm9rZWQpKTsKKworICAgIGNvbnRleHQtPnNhdmUo
KTsKKworICAgIGlmIChpc1BhaW50aW5nVGV4dCkgeworI2lmIFBMQVRGT1JNKENHKQorICAgICAg
ICBpZiAoIWNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4dEZvclRleHRHcmFkaWVudChjb250ZXh0LCBt
X3NhdmVkQ29udGV4dCwgbV9pbWFnZUJ1ZmZlciwgb2JqZWN0KSkgeworICAgICAgICAgICAgY29u
dGV4dC0+cmVzdG9yZSgpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9Cisj
ZW5kaWYKKyAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKGlzRmlsbGVkID8gY1Rl
eHRGaWxsIDogY1RleHRTdHJva2UpOworICAgIH0KKworICAgIGlmIChpc0ZpbGxlZCkgeworICAg
ICAgICBjb250ZXh0LT5zZXRBbHBoYShzdmdTdHlsZS0+ZmlsbE9wYWNpdHkoKSk7CisgICAgICAg
IGNvbnRleHQtPnNldEZpbGxHcmFkaWVudChtX2dyYWRpZW50KTsKKyAgICAgICAgY29udGV4dC0+
c2V0RmlsbFJ1bGUoc3ZnU3R5bGUtPmZpbGxSdWxlKCkpOworICAgIH0KKyAgICBpZiAoaXNTdHJv
a2VkKSB7CisgICAgICAgIGNvbnRleHQtPnNldEFscGhhKHN2Z1N0eWxlLT5zdHJva2VPcGFjaXR5
KCkpOworICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VHcmFkaWVudChtX2dyYWRpZW50KTsKKyAg
ICAgICAgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChjb250ZXh0LCBzdHlsZSwgb2JqZWN0KTsK
KyAgICB9CisKKyAgICBBZmZpbmVUcmFuc2Zvcm0gbWF0cml4OworICAgIC8vIENHIHBsYXRmb3Jt
cyB3aWxsIGhhbmRsZSB0aGUgZ3JhZGllbnQgc3BhY2UgdHJhbnNmb3JtIGZvciB0ZXh0IGluCisg
ICAgLy8gdGVhcmRvd24sIHNvIHdlIGRvbid0IGFwcGx5IGl0IGhlcmUuICBGb3Igbm9uLUNHIHBs
YXRmb3Jtcywgd2UKKyAgICAvLyB3YW50IHRoZSB0ZXh0IGJvdW5kaW5nIGJveCBhcHBsaWVkIHRv
IHRoZSBncmFkaWVudCBzcGFjZSB0cmFuc2Zvcm0gbm93LAorICAgIC8vIHNvIHRoZSBncmFkaWVu
dCBzaGFkZXIgY2FuIHVzZSBpdC4KKyNpZiBQTEFURk9STShDRykKKyAgICBpZiAoYm91bmRpbmdC
b3hNb2RlKCkgJiYgIWlzUGFpbnRpbmdUZXh0KSB7CisjZWxzZQorICAgIGlmIChib3VuZGluZ0Jv
eE1vZGUoKSkgeworI2VuZGlmCisgICAgICAgIEZsb2F0UmVjdCBiYm94ID0gb2JqZWN0LT5vYmpl
Y3RCb3VuZGluZ0JveCgpOworICAgICAgICBtYXRyaXgudHJhbnNsYXRlKGJib3gueCgpLCBiYm94
LnkoKSk7CisgICAgICAgIG1hdHJpeC5zY2FsZU5vblVuaWZvcm0oYmJveC53aWR0aCgpLCBiYm94
LmhlaWdodCgpKTsKKyAgICB9CisgICAgbWF0cml4Lm11bHRpcGx5KGdyYWRpZW50VHJhbnNmb3Jt
KCkpOworICAgIG1fZ3JhZGllbnQtPnNldEdyYWRpZW50U3BhY2VUcmFuc2Zvcm0obWF0cml4KTsK
KworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnRl
YXJkb3duKEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIGNvbnN0IFJlbmRlck9iamVjdCogb2Jq
ZWN0LCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0Cit7Cisj
aWYgUExBVEZPUk0oQ0cpCisgICAgLy8gcmVuZGVyUGF0aCgpIGlzIG5vdCB1c2VkIHdoZW4gcGFp
bnRpbmcgdGV4dCwgc28gd2UgcGFpbnQgdGhlIGdyYWRpZW50IGR1cmluZyB0ZWFyZG93bigpCisg
ICAgaWYgKGlzUGFpbnRpbmdUZXh0ICYmIG1fc2F2ZWRDb250ZXh0KSB7CisgICAgICAgIC8vIFJl
c3RvcmUgb24tc2NyZWVuIGRyYXdpbmcgY29udGV4dAorICAgICAgICBjb250ZXh0ID0gbV9zYXZl
ZENvbnRleHQ7CisgICAgICAgIG1fc2F2ZWRDb250ZXh0ID0gMDsKKworICAgICAgICBBZmZpbmVU
cmFuc2Zvcm0gbWF0cml4ID0gY2xpcFRvVGV4dE1hc2soY29udGV4dCwgbV9pbWFnZUJ1ZmZlciwg
b2JqZWN0LCB0aGlzKTsKKyAgICAgICAgbV9ncmFkaWVudC0+c2V0R3JhZGllbnRTcGFjZVRyYW5z
Zm9ybShtYXRyaXgpOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsR3JhZGllbnQobV9ncmFkaWVu
dCk7CisgICAgICAgIAorICAgICAgICBjb25zdCBSZW5kZXJPYmplY3QqIHRleHRSb290QmxvY2sg
PSBmaW5kVGV4dFJvb3RPYmplY3Qob2JqZWN0KTsKKyAgICAgICAgY29udGV4dC0+ZmlsbFJlY3Qo
dGV4dFJvb3RCbG9jay0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisKKyAgICAg
ICAgbV9pbWFnZUJ1ZmZlci5jbGVhcigpOworICAgIH0KKyNlbmRpZgorICAgIGNvbnRleHQtPnJl
c3RvcmUoKTsKK30KKworVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6ZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKK3sKKyAgICAvLyBHcmFkaWVu
dHMvcGF0dGVybnMgYXJlbid0IHNldHVwLCB1bnRpbCB0aGV5IGFyZSB1c2VkIGZvciBwYWludGlu
Zy4gV29yayBhcm91bmQgdGhhdCBmYWN0LgorICAgIG1fb3duZXJFbGVtZW50LT5idWlsZEdyYWRp
ZW50KCk7CisKKyAgICAvLyBhYnN0cmFjdCwgZG9uJ3Qgc3RyZWFtIHR5cGUKKyAgICB0cyAgPDwg
IltzdG9wcz0iIDw8IGdyYWRpZW50U3RvcHMoKSA8PCAiXSI7CisgICAgaWYgKG1fZ3JhZGllbnQt
PnNwcmVhZE1ldGhvZCgpICE9IFNwcmVhZE1ldGhvZFBhZCkKKyAgICAgICAgdHMgPDwgIlttZXRo
b2Q9IiA8PCBtX2dyYWRpZW50LT5zcHJlYWRNZXRob2QoKSA8PCAiXSI7CisgICAgaWYgKCFib3Vu
ZGluZ0JveE1vZGUoKSkKKyAgICAgICAgdHMgPDwgIiBbYm91bmRpbmcgYm94IG1vZGU9IiA8PCBi
b3VuZGluZ0JveE1vZGUoKSA8PCAiXSI7CisgICAgaWYgKCFncmFkaWVudFRyYW5zZm9ybSgpLmlz
SWRlbnRpdHkoKSkKKyAgICAgICAgdHMgPDwgIiBbdHJhbnNmb3JtPSIgPDwgZ3JhZGllbnRUcmFu
c2Zvcm0oKSA8PCAiXSI7CisKKyAgICByZXR1cm4gdHM7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZUdyYWRpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdS
ZXNvdXJjZUdyYWRpZW50LmNwcAkocmV2aXNpb24gNTc4ODgpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTYg
KzI4LDE2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1
ZGUgIlNWR1BhaW50U2VydmVyR3JhZGllbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJj
ZUdyYWRpZW50LmgiCiAKICNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24uaCIKICNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIlJl
bmRlck9iamVjdC5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQu
aCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNWR0dyYWRpZW50RWxlbWVudC5oIgotI2luY2x1
ZGUgIlNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQuaCIKLSNpbmNsdWRlICJTVkdQYWludFNl
cnZlclJhZGlhbEdyYWRpZW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9ydC5oIgogI2lu
Y2x1ZGUgIlNWR1JlbmRlclRyZWVBc1RleHQuaCIKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaAkocmV2aXNpb24gNTc4ODgpCShmcm9tIFdl
YkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyR3JhZGllbnQuaDo1Nzg4OCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDk4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogICAgICAgICAgICAgICAyMDA4IEVyaWMg
U2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgU1ZHUGFpbnRTZXJ2ZXJH
cmFkaWVudF9oCisjZGVmaW5lIFNWR1BhaW50U2VydmVyR3JhZGllbnRfaAorCisjaWYgRU5BQkxF
KFNWRykKKworI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIkNvbG9yLmgi
CisjaW5jbHVkZSAiR3JhZGllbnQuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNp
bmNsdWRlICJTVkdQYWludFNlcnZlci5oIgorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNs
YXNzIEltYWdlQnVmZmVyOworICAgIGNsYXNzIFNWR0dyYWRpZW50RWxlbWVudDsKKworICAgIHR5
cGVkZWYgc3RkOjpwYWlyPGZsb2F0LCBDb2xvcj4gU1ZHR3JhZGllbnRTdG9wOworCisgICAgY2xh
c3MgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudCA6IHB1YmxpYyBTVkdQYWludFNlcnZlciB7CisgICAg
cHVibGljOgorICAgICAgICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlckdyYWRpZW50KCk7CisKKyAg
ICAgICAgdm9pZCBzZXRHcmFkaWVudChQYXNzUmVmUHRyPEdyYWRpZW50Pik7CisgICAgICAgIEdy
YWRpZW50KiBncmFkaWVudCgpIGNvbnN0OworCisgICAgICAgIC8vIEdyYWRpZW50IHN0YXJ0IGFu
ZCBlbmQgcG9pbnRzIGFyZSBwZXJjZW50YWdlcyB3aGVuIHVzZWQgaW4gYm91bmRpbmdCb3ggbW9k
ZS4KKyAgICAgICAgLy8gRm9yIGluc3RhbmNlIHN0YXJ0IHBvaW50IHdpdGggdmFsdWUgKDAsMCkg
aXMgdG9wLWxlZnQgYW5kIGVuZCBwb2ludCB3aXRoCisgICAgICAgIC8vIHZhbHVlICgxMDAsIDEw
MCkgaXMgYm90dG9tLXJpZ2h0LiBCb3VuZGluZ0JveCBtb2RlIGlzIGVuYWJsZWQgYnkgZGVmYXVs
dC4KKyAgICAgICAgYm9vbCBib3VuZGluZ0JveE1vZGUoKSBjb25zdDsKKyAgICAgICAgdm9pZCBz
ZXRCb3VuZGluZ0JveE1vZGUoYm9vbCBtb2RlID0gdHJ1ZSk7CisKKyAgICAgICAgQWZmaW5lVHJh
bnNmb3JtIGdyYWRpZW50VHJhbnNmb3JtKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0R3JhZGll
bnRUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CisKKyAgICAgICAgdm9pZCBzZXRH
cmFkaWVudFN0b3BzKGNvbnN0IFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+JiBzdG9wcykgeyBtX3N0
b3BzID0gc3RvcHM7IH0KKyAgICAgICAgY29uc3QgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIGdy
YWRpZW50U3RvcHMoKSBjb25zdCB7IHJldHVybiBtX3N0b3BzOyB9CisKKyAgICAgICAgdmlydHVh
bCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsK
KworICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0dXAoR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJl
bmRlck9iamVjdCosIGNvbnN0IFJlbmRlclN0eWxlKiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29s
IGlzUGFpbnRpbmdUZXh0KSBjb25zdDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHRlYXJkb3duKEdy
YXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdldFR5cGUs
IGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0OworCisgICAgcHJvdGVjdGVkOgorICAgICAgICBT
VkdQYWludFNlcnZlckdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpOwor
ICAgICAgICAKKyAgICBwcml2YXRlOgorICAgICAgICBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiBt
X3N0b3BzOworICAgICAgICBSZWZQdHI8R3JhZGllbnQ+IG1fZ3JhZGllbnQ7CisgICAgICAgIGJv
b2wgbV9ib3VuZGluZ0JveE1vZGU7CisgICAgICAgIEFmZmluZVRyYW5zZm9ybSBtX2dyYWRpZW50
VHJhbnNmb3JtOworICAgICAgICBjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG1fb3duZXJFbGVt
ZW50OworCisjaWYgUExBVEZPUk0oQ0cpCisgICAgcHVibGljOgorICAgICAgICBtdXRhYmxlIEdy
YXBoaWNzQ29udGV4dCogbV9zYXZlZENvbnRleHQ7CisgICAgICAgIG11dGFibGUgT3duUHRyPElt
YWdlQnVmZmVyPiBtX2ltYWdlQnVmZmVyOworI2VuZGlmCisgICAgfTsKKworICAgIGlubGluZSBT
VkdHcmFkaWVudFN0b3AgbWFrZUdyYWRpZW50U3RvcChmbG9hdCBvZmZzZXQsIGNvbnN0IENvbG9y
JiBjb2xvcikKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihvZmZzZXQsIGNv
bG9yKTsKKyAgICB9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisKKyNlbmRp
ZiAvLyBTVkdQYWludFNlcnZlckdyYWRpZW50X2gKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNWR1Jlc291cmNlR3JhZGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgJKHJldmlzaW9uIDU3ODg4KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCw4ICsyNCw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi0jaWZuZGVmIFNWR1BhaW50
U2VydmVyR3JhZGllbnRfaAotI2RlZmluZSBTVkdQYWludFNlcnZlckdyYWRpZW50X2gKKyNpZm5k
ZWYgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudF9oCisjZGVmaW5lIFJlbmRlclNWR1Jlc291cmNl
R3JhZGllbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKIApAQCAtNDAsNTkgKzQwLDU5IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVyOwotICAgIGNsYXNzIFNW
R0dyYWRpZW50RWxlbWVudDsKK2NsYXNzIEltYWdlQnVmZmVyOworY2xhc3MgU1ZHR3JhZGllbnRF
bGVtZW50OwogCi0gICAgdHlwZWRlZiBzdGQ6OnBhaXI8ZmxvYXQsIENvbG9yPiBTVkdHcmFkaWVu
dFN0b3A7Cit0eXBlZGVmIHN0ZDo6cGFpcjxmbG9hdCwgQ29sb3I+IFNWR0dyYWRpZW50U3RvcDsK
IAotICAgIGNsYXNzIFNWR1BhaW50U2VydmVyR3JhZGllbnQgOiBwdWJsaWMgU1ZHUGFpbnRTZXJ2
ZXIgewotICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVu
dCgpOwotCi0gICAgICAgIHZvaWQgc2V0R3JhZGllbnQoUGFzc1JlZlB0cjxHcmFkaWVudD4pOwot
ICAgICAgICBHcmFkaWVudCogZ3JhZGllbnQoKSBjb25zdDsKLQotICAgICAgICAvLyBHcmFkaWVu
dCBzdGFydCBhbmQgZW5kIHBvaW50cyBhcmUgcGVyY2VudGFnZXMgd2hlbiB1c2VkIGluIGJvdW5k
aW5nQm94IG1vZGUuCi0gICAgICAgIC8vIEZvciBpbnN0YW5jZSBzdGFydCBwb2ludCB3aXRoIHZh
bHVlICgwLDApIGlzIHRvcC1sZWZ0IGFuZCBlbmQgcG9pbnQgd2l0aAotICAgICAgICAvLyB2YWx1
ZSAoMTAwLCAxMDApIGlzIGJvdHRvbS1yaWdodC4gQm91bmRpbmdCb3ggbW9kZSBpcyBlbmFibGVk
IGJ5IGRlZmF1bHQuCi0gICAgICAgIGJvb2wgYm91bmRpbmdCb3hNb2RlKCkgY29uc3Q7Ci0gICAg
ICAgIHZvaWQgc2V0Qm91bmRpbmdCb3hNb2RlKGJvb2wgbW9kZSA9IHRydWUpOwotCi0gICAgICAg
IEFmZmluZVRyYW5zZm9ybSBncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0OwotICAgICAgICB2b2lk
IHNldEdyYWRpZW50VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOwotCi0gICAgICAg
IHZvaWQgc2V0R3JhZGllbnRTdG9wcyhjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYgc3Rv
cHMpIHsgbV9zdG9wcyA9IHN0b3BzOyB9Ci0gICAgICAgIGNvbnN0IFZlY3RvcjxTVkdHcmFkaWVu
dFN0b3A+JiBncmFkaWVudFN0b3BzKCkgY29uc3QgeyByZXR1cm4gbV9zdG9wczsgfQotCi0gICAg
ICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFt
JikgY29uc3Q7Ci0KLSAgICAgICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dCom
LCBjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFyZ2V0
VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB0
ZWFyZG93bihHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRU
YXJnZXRUeXBlLCBib29sIGlzUGFpbnRpbmdUZXh0KSBjb25zdDsKLQotICAgIHByb3RlY3RlZDoK
LSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudChjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQq
IG93bmVyKTsKLSAgICAgICAgCi0gICAgcHJpdmF0ZToKLSAgICAgICAgVmVjdG9yPFNWR0dyYWRp
ZW50U3RvcD4gbV9zdG9wczsKLSAgICAgICAgUmVmUHRyPEdyYWRpZW50PiBtX2dyYWRpZW50Owot
ICAgICAgICBib29sIG1fYm91bmRpbmdCb3hNb2RlOwotICAgICAgICBBZmZpbmVUcmFuc2Zvcm0g
bV9ncmFkaWVudFRyYW5zZm9ybTsKLSAgICAgICAgY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBt
X293bmVyRWxlbWVudDsKK2NsYXNzIFNWR1BhaW50U2VydmVyR3JhZGllbnQgOiBwdWJsaWMgU1ZH
UGFpbnRTZXJ2ZXIgeworcHVibGljOgorICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyR3JhZGll
bnQoKTsKKworICAgIHZvaWQgc2V0R3JhZGllbnQoUGFzc1JlZlB0cjxHcmFkaWVudD4pOworICAg
IEdyYWRpZW50KiBncmFkaWVudCgpIGNvbnN0OworCisgICAgLy8gR3JhZGllbnQgc3RhcnQgYW5k
IGVuZCBwb2ludHMgYXJlIHBlcmNlbnRhZ2VzIHdoZW4gdXNlZCBpbiBib3VuZGluZ0JveCBtb2Rl
LgorICAgIC8vIEZvciBpbnN0YW5jZSBzdGFydCBwb2ludCB3aXRoIHZhbHVlICgwLDApIGlzIHRv
cC1sZWZ0IGFuZCBlbmQgcG9pbnQgd2l0aAorICAgIC8vIHZhbHVlICgxMDAsIDEwMCkgaXMgYm90
dG9tLXJpZ2h0LiBCb3VuZGluZ0JveCBtb2RlIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KKyAgICBi
b29sIGJvdW5kaW5nQm94TW9kZSgpIGNvbnN0OworICAgIHZvaWQgc2V0Qm91bmRpbmdCb3hNb2Rl
KGJvb2wgbW9kZSA9IHRydWUpOworCisgICAgQWZmaW5lVHJhbnNmb3JtIGdyYWRpZW50VHJhbnNm
b3JtKCkgY29uc3Q7CisgICAgdm9pZCBzZXRHcmFkaWVudFRyYW5zZm9ybShjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mKTsKKworICAgIHZvaWQgc2V0R3JhZGllbnRTdG9wcyhjb25zdCBWZWN0b3I8U1ZH
R3JhZGllbnRTdG9wPiYgc3RvcHMpIHsgbV9zdG9wcyA9IHN0b3BzOyB9CisgICAgY29uc3QgVmVj
dG9yPFNWR0dyYWRpZW50U3RvcD4mIGdyYWRpZW50U3RvcHMoKSBjb25zdCB7IHJldHVybiBtX3N0
b3BzOyB9CisKKyAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24o
VGV4dFN0cmVhbSYpIGNvbnN0OworCisgICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29u
dGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50
VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lk
IHRlYXJkb3duKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWlu
dFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0OworCitwcm90ZWN0ZWQ6Cisg
ICAgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudChjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVy
KTsKKyAgICAKK3ByaXZhdGU6CisgICAgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gbV9zdG9wczsK
KyAgICBSZWZQdHI8R3JhZGllbnQ+IG1fZ3JhZGllbnQ7CisgICAgYm9vbCBtX2JvdW5kaW5nQm94
TW9kZTsKKyAgICBBZmZpbmVUcmFuc2Zvcm0gbV9ncmFkaWVudFRyYW5zZm9ybTsKKyAgICBjb25z
dCBTVkdHcmFkaWVudEVsZW1lbnQqIG1fb3duZXJFbGVtZW50OwogCiAjaWYgUExBVEZPUk0oQ0cp
Ci0gICAgcHVibGljOgotICAgICAgICBtdXRhYmxlIEdyYXBoaWNzQ29udGV4dCogbV9zYXZlZENv
bnRleHQ7Ci0gICAgICAgIG11dGFibGUgT3duUHRyPEltYWdlQnVmZmVyPiBtX2ltYWdlQnVmZmVy
OworcHVibGljOgorICAgIG11dGFibGUgR3JhcGhpY3NDb250ZXh0KiBtX3NhdmVkQ29udGV4dDsK
KyAgICBtdXRhYmxlIE93blB0cjxJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZlcjsKICNlbmRpZgot
ICAgIH07Cit9OwogCi0gICAgaW5saW5lIFNWR0dyYWRpZW50U3RvcCBtYWtlR3JhZGllbnRTdG9w
KGZsb2F0IG9mZnNldCwgY29uc3QgQ29sb3ImIGNvbG9yKQotICAgIHsKLSAgICAgICAgcmV0dXJu
IHN0ZDo6bWFrZV9wYWlyKG9mZnNldCwgY29sb3IpOwotICAgIH0KK2lubGluZSBTVkdHcmFkaWVu
dFN0b3AgbWFrZUdyYWRpZW50U3RvcChmbG9hdCBvZmZzZXQsIGNvbnN0IENvbG9yJiBjb2xvcikK
K3sKKyAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIob2Zmc2V0LCBjb2xvcik7Cit9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCiAKLSNlbmRpZiAvLyBTVkdQYWludFNlcnZlckdy
YWRpZW50X2gKKyNlbmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50X2gKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGll
bnQuY3BwCShyZXZpc2lvbiA1Nzg4OCkJKGZyb20gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFp
bnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5jcHA6NTc4ODgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8
emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBF
TkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQuaCIKKyNp
bmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVu
dChjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKQorICAgIDogU1ZHUGFpbnRTZXJ2ZXJH
cmFkaWVudChvd25lcikKK3sgCit9CisKK1NWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ6On5T
VkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50KCkKK3sKK30KKworRmxvYXRQb2ludCBTVkdQYWlu
dFNlcnZlckxpbmVhckdyYWRpZW50OjpncmFkaWVudFN0YXJ0KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9zdGFydDsKK30KKwordm9pZCBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50OjpzZXRH
cmFkaWVudFN0YXJ0KGNvbnN0IEZsb2F0UG9pbnQmIHN0YXJ0KQoreworICAgIG1fc3RhcnQgPSBz
dGFydDsKK30KKworRmxvYXRQb2ludCBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50OjpncmFk
aWVudEVuZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZW5kOworfQorCit2b2lkIFNWR1BhaW50
U2VydmVyTGluZWFyR3JhZGllbnQ6OnNldEdyYWRpZW50RW5kKGNvbnN0IEZsb2F0UG9pbnQmIGVu
ZCkKK3sKKyAgICBtX2VuZCA9IGVuZDsKK30KKworVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJM
aW5lYXJHcmFkaWVudDo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29u
c3QKK3sKKyAgICB0cyA8PCAiW3R5cGU9TElORUFSLUdSQURJRU5UXSAiOworICAgIFNWR1BhaW50
U2VydmVyR3JhZGllbnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24odHMpOworICAgIHRzICA8PCAi
IFtzdGFydD0iIDw8IGdyYWRpZW50U3RhcnQoKSA8PCAiXSIKKyAgICAgICAgPDwgIiBbZW5kPSIg
PDwgZ3JhZGllbnRFbmQoKSA8PCAiXSI7CisgICAgcmV0dXJuIHRzOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAJKHJldmlzaW9uIDU3ODg4KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAog
I2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5o
IgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuaCIKKwogI2luY2x1
ZGUgIlNWR1JlbmRlclRyZWVBc1RleHQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGll
bnQuaAkocmV2aXNpb24gNTc4ODgpCShmcm9tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50
U2VydmVyTGluZWFyR3JhZGllbnQuaDo1Nzg4OCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVy
bWFubkBrZGUub3JnPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGll
bnRfaAorI2RlZmluZSBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50X2gKKworI2lmIEVOQUJM
RShTVkcpCisKKyNpbmNsdWRlICJGbG9hdFBvaW50LmgiCisjaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2
ZXJHcmFkaWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyAgICBjbGFzcyBTVkdQYWlu
dFNlcnZlckxpbmVhckdyYWRpZW50IDogcHVibGljIFNWR1BhaW50U2VydmVyR3JhZGllbnQgewor
ICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJMaW5l
YXJHcmFkaWVudD4gY3JlYXRlKGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50KG93bmVyKSk7IH0K
KyAgICAgICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudCgpOworCisgICAg
ICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBMaW5l
YXJHcmFkaWVudFBhaW50U2VydmVyOyB9CisKKyAgICAgICAgRmxvYXRQb2ludCBncmFkaWVudFN0
YXJ0KCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0R3JhZGllbnRTdGFydChjb25zdCBGbG9hdFBv
aW50Jik7CisKKyAgICAgICAgRmxvYXRQb2ludCBncmFkaWVudEVuZCgpIGNvbnN0OworICAgICAg
ICB2b2lkIHNldEdyYWRpZW50RW5kKGNvbnN0IEZsb2F0UG9pbnQmKTsKKworICAgICAgICB2aXJ0
dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0
OworCisgICAgcHJpdmF0ZToKKyAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudChj
b25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKTsKKworICAgICAgICBGbG9hdFBvaW50IG1f
c3RhcnQ7CisgICAgICAgIEZsb2F0UG9pbnQgbV9lbmQ7CisgICAgfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYKKworI2VuZGlmIC8vIFNWR1BhaW50U2VydmVyTGluZWFyR3Jh
ZGllbnRfaApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJH
cmFkaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlTGluZWFyR3JhZGllbnQuaAkocmV2aXNpb24gNTc4ODgpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIz
LDQwICsyMyw0MCBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAotI2lmbmRlZiBTVkdQYWludFNl
cnZlckxpbmVhckdyYWRpZW50X2gKLSNkZWZpbmUgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVu
dF9oCisjaWZuZGVmIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnRfaAorI2RlZmluZSBS
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCiAKICNp
bmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudC5o
IgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudCA6IHB1Ymxp
YyBTVkdQYWludFNlcnZlckdyYWRpZW50IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ+IGNyZWF0ZShjb25zdCBTVkdH
cmFkaWVudEVsZW1lbnQqIG93bmVyKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGFpbnRTZXJ2
ZXJMaW5lYXJHcmFkaWVudChvd25lcikpOyB9Ci0gICAgICAgIHZpcnR1YWwgflNWR1BhaW50U2Vy
dmVyTGluZWFyR3JhZGllbnQoKTsKK2NsYXNzIFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQg
OiBwdWJsaWMgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudD4gY3JlYXRlKGNvbnN0IFNWR0dy
YWRpZW50RWxlbWVudCogb3duZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZl
ckxpbmVhckdyYWRpZW50KG93bmVyKSk7IH0KKyAgICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlckxp
bmVhckdyYWRpZW50KCk7CiAKLSAgICAgICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5cGUgdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIExpbmVhckdyYWRpZW50UGFpbnRTZXJ2ZXI7IH0KKyAgICB2aXJ0
dWFsIFNWR1BhaW50U2VydmVyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gTGluZWFyR3JhZGll
bnRQYWludFNlcnZlcjsgfQogCi0gICAgICAgIEZsb2F0UG9pbnQgZ3JhZGllbnRTdGFydCgpIGNv
bnN0OwotICAgICAgICB2b2lkIHNldEdyYWRpZW50U3RhcnQoY29uc3QgRmxvYXRQb2ludCYpOwor
ICAgIEZsb2F0UG9pbnQgZ3JhZGllbnRTdGFydCgpIGNvbnN0OworICAgIHZvaWQgc2V0R3JhZGll
bnRTdGFydChjb25zdCBGbG9hdFBvaW50Jik7CiAKLSAgICAgICAgRmxvYXRQb2ludCBncmFkaWVu
dEVuZCgpIGNvbnN0OwotICAgICAgICB2b2lkIHNldEdyYWRpZW50RW5kKGNvbnN0IEZsb2F0UG9p
bnQmKTsKKyAgICBGbG9hdFBvaW50IGdyYWRpZW50RW5kKCkgY29uc3Q7CisgICAgdm9pZCBzZXRH
cmFkaWVudEVuZChjb25zdCBGbG9hdFBvaW50Jik7CiAKLSAgICAgICAgdmlydHVhbCBUZXh0U3Ry
ZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKKyAgICB2aXJ0
dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0
OwogCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudChj
b25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKTsKK3ByaXZhdGU6CisgICAgU1ZHUGFpbnRT
ZXJ2ZXJMaW5lYXJHcmFkaWVudChjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKTsKIAot
ICAgICAgICBGbG9hdFBvaW50IG1fc3RhcnQ7Ci0gICAgICAgIEZsb2F0UG9pbnQgbV9lbmQ7Ci0g
ICAgfTsKKyAgICBGbG9hdFBvaW50IG1fc3RhcnQ7CisgICAgRmxvYXRQb2ludCBtX2VuZDsKK307
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCiAKLSNlbmRpZiAvLyBTVkdQYWlu
dFNlcnZlckxpbmVhckdyYWRpZW50X2gKKyNlbmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50X2gKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0
dGVybi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VQYXR0ZXJuLmNwcAkocmV2aXNpb24gNTc4ODgpCShmcm9tIFdlYkNvcmUvc3ZnL2dyYXBoaWNz
L1NWR1BhaW50U2VydmVyUGF0dGVybi5jcHA6NTc4ODgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTgz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVy
bWFubkBrZGUub3JnPgorICogICAgICAgICAgICAgICAyMDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3
ZWJraXQub3JnPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoU1ZH
KQorI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyUGF0dGVybi5oIgorCisjaW5jbHVkZSAiQWZmaW5l
VHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSW1h
Z2UuaCIKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgorI2luY2x1ZGUgIlBhdHRlcm4uaCIKKyNp
bmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJTVkdQYXR0ZXJuRWxlbWVudC5oIgor
I2luY2x1ZGUgIlNWR1JlbmRlclRyZWVBc1RleHQuaCIKKwordXNpbmcgbmFtZXNwYWNlIHN0ZDsK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTVkdQYWludFNlcnZlclBhdHRlcm46OlNWR1BhaW50
U2VydmVyUGF0dGVybihjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogb3duZXIpCisgICAgOiBtX293
bmVyRWxlbWVudChvd25lcikKKyAgICAsIG1fcGF0dGVybigwKQoreworICAgIEFTU0VSVChvd25l
cik7Cit9CisKK1NWR1BhaW50U2VydmVyUGF0dGVybjo6flNWR1BhaW50U2VydmVyUGF0dGVybigp
Cit7Cit9CisKK0Zsb2F0UmVjdCBTVkdQYWludFNlcnZlclBhdHRlcm46OnBhdHRlcm5Cb3VuZGFy
aWVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wYXR0ZXJuQm91bmRhcmllczsKK30KKwordm9p
ZCBTVkdQYWludFNlcnZlclBhdHRlcm46OnNldFBhdHRlcm5Cb3VuZGFyaWVzKGNvbnN0IEZsb2F0
UmVjdCYgcmVjdCkKK3sKKyAgICBtX3BhdHRlcm5Cb3VuZGFyaWVzID0gcmVjdDsKK30KKworSW1h
Z2VCdWZmZXIqIFNWR1BhaW50U2VydmVyUGF0dGVybjo6dGlsZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fdGlsZS5nZXQoKTsKK30KKwordm9pZCBTVkdQYWludFNlcnZlclBhdHRlcm46OnNldFRp
bGUoUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gdGlsZSkKK3sKKyAgICBtX3RpbGUgPSB0aWxlOwor
fQorCitBZmZpbmVUcmFuc2Zvcm0gU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpwYXR0ZXJuVHJhbnNm
b3JtKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wYXR0ZXJuVHJhbnNmb3JtOworfQorCit2b2lk
IFNWR1BhaW50U2VydmVyUGF0dGVybjo6c2V0UGF0dGVyblRyYW5zZm9ybShjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mIHRyYW5zZm9ybSkKK3sKKyAgICBtX3BhdHRlcm5UcmFuc2Zvcm0gPSB0cmFuc2Zv
cm07Cit9CisKK1RleHRTdHJlYW0mIFNWR1BhaW50U2VydmVyUGF0dGVybjo6ZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKK3sKKyAgICAvLyBHcmFkaWVudHMvcGF0
dGVybnMgYXJlbid0IHNldHVwLCB1bnRpbCB0aGV5IGFyZSB1c2VkIGZvciBwYWludGluZy4gV29y
ayBhcm91bmQgdGhhdCBmYWN0LgorICAgIG1fb3duZXJFbGVtZW50LT5idWlsZFBhdHRlcm4oRmxv
YXRSZWN0KDAuMGYsIDAuMGYsIDEuMGYsIDEuMGYpKTsKKworICAgIHRzIDw8ICJbdHlwZT1QQVRU
RVJOXSIKKyAgICAgICAgPDwgIiBbYmJveD0iIDw8IHBhdHRlcm5Cb3VuZGFyaWVzKCkgPDwgIl0i
OworICAgIGlmICghcGF0dGVyblRyYW5zZm9ybSgpLmlzSWRlbnRpdHkoKSkKKyAgICAgICAgdHMg
PDwgIiBbcGF0dGVybiB0cmFuc2Zvcm09IiA8PCBwYXR0ZXJuVHJhbnNmb3JtKCkgPDwgIl0iOwor
ICAgIHJldHVybiB0czsKK30KKworYm9vbCBTVkdQYWludFNlcnZlclBhdHRlcm46OnNldHVwKEdy
YXBoaWNzQ29udGV4dComIGNvbnRleHQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25z
dCBSZW5kZXJTdHlsZSogc3R5bGUsIFNWR1BhaW50VGFyZ2V0VHlwZSB0eXBlLCBib29sIGlzUGFp
bnRpbmdUZXh0KSBjb25zdAoreworICAgIEZsb2F0UmVjdCB0YXJnZXRSZWN0ID0gb2JqZWN0LT5v
YmplY3RCb3VuZGluZ0JveCgpOworCisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxl
ID0gc3R5bGUtPnN2Z1N0eWxlKCk7CisgICAgYm9vbCBpc0ZpbGxlZCA9ICh0eXBlICYgQXBwbHlU
b0ZpbGxUYXJnZXRUeXBlKSAmJiBzdmdTdHlsZS0+aGFzRmlsbCgpOworICAgIGJvb2wgaXNTdHJv
a2VkID0gKHR5cGUgJiBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSkgJiYgc3ZnU3R5bGUtPmhhc1N0
cm9rZSgpOworCisgICAgQVNTRVJUKChpc0ZpbGxlZCAmJiAhaXNTdHJva2VkKSB8fCAoIWlzRmls
bGVkICYmIGlzU3Ryb2tlZCkpOworCisgICAgbV9vd25lckVsZW1lbnQtPmJ1aWxkUGF0dGVybih0
YXJnZXRSZWN0KTsKKyAgICBpZiAoIXRpbGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgY29udGV4dC0+c2F2ZSgpOworCisgICAgQVNTRVJUKCFtX3BhdHRlcm4pOworCisgICAgSW50
UmVjdCB0aWxlUmVjdCA9IHRpbGUoKS0+aW1hZ2UoKS0+cmVjdCgpOworICAgIGlmICh0aWxlUmVj
dC53aWR0aCgpID4gcGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpIHx8IHRpbGVSZWN0LmhlaWdo
dCgpID4gcGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSkgeworICAgICAgICAvLyBEcmF3IHRo
ZSBmaXJzdCBjZWxsIG9mIHRoZSBwYXR0ZXJuIG1hbnVhbGx5IHRvIHN1cHBvcnQgb3ZlcmZsb3c9
InZpc2libGUiIG9uIGFsbCBwbGF0Zm9ybXMuCisgICAgICAgIGludCB0aWxlV2lkdGggPSBzdGF0
aWNfY2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVzKCkud2lkdGgoKSArIDAuNWYpOworICAgICAg
ICBpbnQgdGlsZUhlaWdodCA9IHN0YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJpZXMoKS5o
ZWlnaHQoKSArIDAuNWYpOworICAgICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGVJbWFnZSA9
IEltYWdlQnVmZmVyOjpjcmVhdGUoSW50U2l6ZSh0aWxlV2lkdGgsIHRpbGVIZWlnaHQpKTsKKyAg
CisgICAgICAgIEdyYXBoaWNzQ29udGV4dCogdGlsZUltYWdlQ29udGV4dCA9IHRpbGVJbWFnZS0+
Y29udGV4dCgpOworCisgICAgICAgIGludCBudW1ZID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZih0
aWxlUmVjdC5oZWlnaHQoKSAvIHRpbGVIZWlnaHQpKSArIDE7CisgICAgICAgIGludCBudW1YID0g
c3RhdGljX2Nhc3Q8aW50PihjZWlsZih0aWxlUmVjdC53aWR0aCgpIC8gdGlsZVdpZHRoKSkgKyAx
OworCisgICAgICAgIHRpbGVJbWFnZUNvbnRleHQtPnNhdmUoKTsKKyAgICAgICAgdGlsZUltYWdl
Q29udGV4dC0+dHJhbnNsYXRlKC1wYXR0ZXJuQm91bmRhcmllcygpLndpZHRoKCkgKiBudW1YLCAt
cGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSAqIG51bVkpOworICAgICAgICBmb3IgKGludCBp
ID0gbnVtWTsgaSA+IDA7IGktLSkgeworICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4dC0+dHJh
bnNsYXRlKDAsIHBhdHRlcm5Cb3VuZGFyaWVzKCkuaGVpZ2h0KCkpOworICAgICAgICAgICAgZm9y
IChpbnQgaiA9IG51bVg7IGogPiAwOyBqLS0pIHsKKyAgICAgICAgICAgICAgICB0aWxlSW1hZ2VD
b250ZXh0LT50cmFuc2xhdGUocGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpLCAwKTsKKyAgICAg
ICAgICAgICAgICB0aWxlSW1hZ2VDb250ZXh0LT5kcmF3SW1hZ2UodGlsZSgpLT5pbWFnZSgpLCBz
dHlsZS0+Y29sb3JTcGFjZSgpLCB0aWxlUmVjdCwgdGlsZVJlY3QpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKC1wYXR0ZXJuQm91bmRhcmll
cygpLndpZHRoKCkgKiBudW1YLCAwKTsKKyAgICAgICAgfQorICAgICAgICB0aWxlSW1hZ2VDb250
ZXh0LT5yZXN0b3JlKCk7CisKKyAgICAgICAgbV9wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRp
bGVJbWFnZS0+aW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7CisgICAgfQorICAgIGVsc2UKKyAgICAgICAg
bV9wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGUoKS0+aW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7
CisKKyAgICBpZiAoaXNGaWxsZWQpIHsKKyAgICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3ZnU3R5
bGUtPmZpbGxPcGFjaXR5KCkpOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsUGF0dGVybihtX3Bh
dHRlcm4pOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsUnVsZShzdmdTdHlsZS0+ZmlsbFJ1bGUo
KSk7CisgICAgfQorICAgIGlmIChpc1N0cm9rZWQpIHsKKyAgICAgICAgY29udGV4dC0+c2V0QWxw
aGEoc3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSk7CisgICAgICAgIGNvbnRleHQtPnNldFN0cm9r
ZVBhdHRlcm4obV9wYXR0ZXJuKTsKKyAgICAgICAgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChj
b250ZXh0LCBzdHlsZSwgb2JqZWN0KTsKKyAgICB9CisKKyAgICBBZmZpbmVUcmFuc2Zvcm0gbWF0
cml4OworICAgIG1hdHJpeC50cmFuc2xhdGUocGF0dGVybkJvdW5kYXJpZXMoKS54KCksIHBhdHRl
cm5Cb3VuZGFyaWVzKCkueSgpKTsKKyAgICBtYXRyaXgubXVsdGlwbHkocGF0dGVyblRyYW5zZm9y
bSgpKTsKKyAgICBtX3BhdHRlcm4tPnNldFBhdHRlcm5TcGFjZVRyYW5zZm9ybShtYXRyaXgpOwor
CisgICAgaWYgKGlzUGFpbnRpbmdUZXh0KSB7CisgICAgICAgIGNvbnRleHQtPnNldFRleHREcmF3
aW5nTW9kZShpc0ZpbGxlZCA/IGNUZXh0RmlsbCA6IGNUZXh0U3Ryb2tlKTsKKyNpZiBQTEFURk9S
TShDRykKKyAgICAgICAgaWYgKGlzRmlsbGVkKQorICAgICAgICAgICAgY29udGV4dC0+YXBwbHlG
aWxsUGF0dGVybigpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb250ZXh0LT5hcHBseVN0
cm9rZVBhdHRlcm4oKTsKKyNlbmRpZgorICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCit2
b2lkIFNWR1BhaW50U2VydmVyUGF0dGVybjo6dGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYgY29u
dGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sKSBjb25z
dAoreworICAgIG1fcGF0dGVybiA9IDA7CisKKyAgICBjb250ZXh0LT5yZXN0b3JlKCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAJKHJldmlzaW9uIDU3ODg4KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaWYgRU5BQkxF
KFNWRykKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlclBhdHRlcm4uaCIKKyNpbmNsdWRlICJSZW5k
ZXJTVkdSZXNvdXJjZVBhdHRlcm4uaCIKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgJKHJldmlzaW9uIDU3ODg4KQkoZnJvbSBXZWJDb3Jl
L3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlclBhdHRlcm4uaDo1Nzg4OCkKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5oCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5u
IDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgU1ZHUGFpbnRTZXJ2ZXJQYXR0
ZXJuX2gKKyNkZWZpbmUgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuX2gKKworI2lmIEVOQUJMRShTVkcp
CisKKyNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
KyNpbmNsdWRlICJQYXR0ZXJuLmgiCisjaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIKKworI2lu
Y2x1ZGUgPG1lbW9yeT4KKworI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyAgICBjbGFzcyBHcmFwaGlj
c0NvbnRleHQ7CisgICAgY2xhc3MgSW1hZ2VCdWZmZXI7CisgICAgY2xhc3MgU1ZHUGF0dGVybkVs
ZW1lbnQ7CisKKyAgICBjbGFzcyBTVkdQYWludFNlcnZlclBhdHRlcm4gOiBwdWJsaWMgU1ZHUGFp
bnRTZXJ2ZXIgeworICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGFp
bnRTZXJ2ZXJQYXR0ZXJuPiBjcmVhdGUoY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIG93bmVyKSB7
IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKG93bmVyKSk7IH0KKwor
ICAgICAgICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlclBhdHRlcm4oKTsKKworICAgICAgICB2aXJ0
dWFsIFNWR1BhaW50U2VydmVyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gUGF0dGVyblBhaW50
U2VydmVyOyB9CisKKyAgICAgICAgLy8gUGF0dGVybiBib3VuZGFyaWVzCisgICAgICAgIHZvaWQg
c2V0UGF0dGVybkJvdW5kYXJpZXMoY29uc3QgRmxvYXRSZWN0Jik7CisgICAgICAgIEZsb2F0UmVj
dCBwYXR0ZXJuQm91bmRhcmllcygpIGNvbnN0OworCisgICAgICAgIEltYWdlQnVmZmVyKiB0aWxl
KCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0VGlsZShQYXNzT3duUHRyPEltYWdlQnVmZmVyPik7
CisKKyAgICAgICAgQWZmaW5lVHJhbnNmb3JtIHBhdHRlcm5UcmFuc2Zvcm0oKSBjb25zdDsKKyAg
ICAgICAgdm9pZCBzZXRQYXR0ZXJuVHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOwor
CisgICAgICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0
U3RyZWFtJikgY29uc3Q7CisKKyAgICAgICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29u
dGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50
VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwg
dm9pZCB0ZWFyZG93bihHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZH
UGFpbnRUYXJnZXRUeXBlLCBib29sIGlzUGFpbnRpbmdUZXh0KSBjb25zdDsKKworICAgIHByaXZh
dGU6CisgICAgICAgIFNWR1BhaW50U2VydmVyUGF0dGVybihjb25zdCBTVkdQYXR0ZXJuRWxlbWVu
dCopOworICAgICAgICAKKyAgICAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBtX3RpbGU7CisgICAg
ICAgIGNvbnN0IFNWR1BhdHRlcm5FbGVtZW50KiBtX293bmVyRWxlbWVudDsKKyAgICAgICAgQWZm
aW5lVHJhbnNmb3JtIG1fcGF0dGVyblRyYW5zZm9ybTsKKyAgICAgICAgRmxvYXRSZWN0IG1fcGF0
dGVybkJvdW5kYXJpZXM7CisKKyAgICAgICAgbXV0YWJsZSBSZWZQdHI8UGF0dGVybj4gbV9wYXR0
ZXJuOworICAgIH07CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisKKyNlbmRp
ZiAvLyBTVkdQYWludFNlcnZlclBhdHRlcm5faApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgJKHJldmlzaW9uIDU3ODg4KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgJKHdvcmtpbmcgY29weSkKQEAgLTIz
LDggKzIzLDggQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgU1ZHUGFpbnRTZXJ2
ZXJQYXR0ZXJuX2gKLSNkZWZpbmUgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuX2gKKyNpZm5kZWYgUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuX2gKKyNkZWZpbmUgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJu
X2gKIAogI2lmIEVOQUJMRShTVkcpCiAKQEAgLTQwLDQ2ICs0MCw0NiBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQ7Ci0gICAgY2xhc3MgSW1hZ2VC
dWZmZXI7Ci0gICAgY2xhc3MgU1ZHUGF0dGVybkVsZW1lbnQ7CitjbGFzcyBHcmFwaGljc0NvbnRl
eHQ7CitjbGFzcyBJbWFnZUJ1ZmZlcjsKK2NsYXNzIFNWR1BhdHRlcm5FbGVtZW50OwogCi0gICAg
Y2xhc3MgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuIDogcHVibGljIFNWR1BhaW50U2VydmVyIHsKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhaW50U2VydmVyUGF0dGVy
bj4gY3JlYXRlKGNvbnN0IFNWR1BhdHRlcm5FbGVtZW50KiBvd25lcikgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IFNWR1BhaW50U2VydmVyUGF0dGVybihvd25lcikpOyB9CitjbGFzcyBTVkdQYWludFNl
cnZlclBhdHRlcm4gOiBwdWJsaWMgU1ZHUGFpbnRTZXJ2ZXIgeworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNWR1BhaW50U2VydmVyUGF0dGVybj4gY3JlYXRlKGNvbnN0IFNWR1BhdHRl
cm5FbGVtZW50KiBvd25lcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhaW50U2VydmVyUGF0
dGVybihvd25lcikpOyB9CiAKLSAgICAgICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJu
KCk7CisgICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKCk7CiAKLSAgICAgICAgdmly
dHVhbCBTVkdQYWludFNlcnZlclR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBhdHRlcm5QYWlu
dFNlcnZlcjsgfQorICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7
IHJldHVybiBQYXR0ZXJuUGFpbnRTZXJ2ZXI7IH0KIAotICAgICAgICAvLyBQYXR0ZXJuIGJvdW5k
YXJpZXMKLSAgICAgICAgdm9pZCBzZXRQYXR0ZXJuQm91bmRhcmllcyhjb25zdCBGbG9hdFJlY3Qm
KTsKLSAgICAgICAgRmxvYXRSZWN0IHBhdHRlcm5Cb3VuZGFyaWVzKCkgY29uc3Q7CisgICAgLy8g
UGF0dGVybiBib3VuZGFyaWVzCisgICAgdm9pZCBzZXRQYXR0ZXJuQm91bmRhcmllcyhjb25zdCBG
bG9hdFJlY3QmKTsKKyAgICBGbG9hdFJlY3QgcGF0dGVybkJvdW5kYXJpZXMoKSBjb25zdDsKIAot
ICAgICAgICBJbWFnZUJ1ZmZlciogdGlsZSgpIGNvbnN0OwotICAgICAgICB2b2lkIHNldFRpbGUo
UGFzc093blB0cjxJbWFnZUJ1ZmZlcj4pOworICAgIEltYWdlQnVmZmVyKiB0aWxlKCkgY29uc3Q7
CisgICAgdm9pZCBzZXRUaWxlKFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+KTsKIAotICAgICAgICBB
ZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5zZm9ybSgpIGNvbnN0OwotICAgICAgICB2b2lkIHNl
dFBhdHRlcm5UcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CisgICAgQWZmaW5lVHJh
bnNmb3JtIHBhdHRlcm5UcmFuc2Zvcm0oKSBjb25zdDsKKyAgICB2b2lkIHNldFBhdHRlcm5UcmFu
c2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CiAKLSAgICAgICAgdmlydHVhbCBUZXh0U3Ry
ZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKKyAgICB2aXJ0
dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0
OwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBzZXR1cChHcmFwaGljc0NvbnRleHQqJiwgY29uc3Qg
UmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyU3R5bGUqLCBTVkdQYWludFRhcmdldFR5cGUsIGJv
b2wgaXNQYWludGluZ1RleHQpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIHZvaWQgdGVhcmRvd24o
R3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIFNWR1BhaW50VGFyZ2V0VHlw
ZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHNldHVwKEdy
YXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSos
IFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7CisgICAgdmly
dHVhbCB2b2lkIHRlYXJkb3duKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3Qq
LCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0OwogCi0gICAg
cHJpdmF0ZToKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKGNvbnN0IFNWR1BhdHRlcm5F
bGVtZW50Kik7Ci0gICAgICAgIAotICAgICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IG1fdGlsZTsK
LSAgICAgICAgY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIG1fb3duZXJFbGVtZW50OwotICAgICAg
ICBBZmZpbmVUcmFuc2Zvcm0gbV9wYXR0ZXJuVHJhbnNmb3JtOwotICAgICAgICBGbG9hdFJlY3Qg
bV9wYXR0ZXJuQm91bmRhcmllczsKK3ByaXZhdGU6CisgICAgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJu
KGNvbnN0IFNWR1BhdHRlcm5FbGVtZW50Kik7CisgICAgCisgICAgT3duUHRyPEltYWdlQnVmZmVy
PiBtX3RpbGU7CisgICAgY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIG1fb3duZXJFbGVtZW50Owor
ICAgIEFmZmluZVRyYW5zZm9ybSBtX3BhdHRlcm5UcmFuc2Zvcm07CisgICAgRmxvYXRSZWN0IG1f
cGF0dGVybkJvdW5kYXJpZXM7CiAKLSAgICAgICAgbXV0YWJsZSBSZWZQdHI8UGF0dGVybj4gbV9w
YXR0ZXJuOwotICAgIH07CisgICAgbXV0YWJsZSBSZWZQdHI8UGF0dGVybj4gbV9wYXR0ZXJuOwor
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKIAotI2VuZGlmIC8vIFNWR1Bh
aW50U2VydmVyUGF0dGVybl9oCisjZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuX2gK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFk
aWFsR3JhZGllbnQuY3BwCShyZXZpc2lvbiA1Nzg4OCkJKGZyb20gV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudC5jcHA6NTc4ODgpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGll
bnQuaCIKKyNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6U1ZHUGFpbnRTZXJ2ZXJSYWRp
YWxHcmFkaWVudChjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKQorICAgIDogU1ZHUGFp
bnRTZXJ2ZXJHcmFkaWVudChvd25lcikKKyAgICAsIG1fcmFkaXVzKDAuMGYpCit7Cit9CisKK1NW
R1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6On5TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50
KCkKK3sKK30KKworCitGbG9hdFBvaW50IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6Omdy
YWRpZW50Q2VudGVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jZW50ZXI7Cit9CisKK3ZvaWQg
U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6c2V0R3JhZGllbnRDZW50ZXIoY29uc3QgRmxv
YXRQb2ludCYgY2VudGVyKQoreworICAgIG1fY2VudGVyID0gY2VudGVyOworfQorCitGbG9hdFBv
aW50IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OmdyYWRpZW50Rm9jYWwoKSBjb25zdAor
eworICAgIHJldHVybiBtX2ZvY2FsOworfQorCit2b2lkIFNWR1BhaW50U2VydmVyUmFkaWFsR3Jh
ZGllbnQ6OnNldEdyYWRpZW50Rm9jYWwoY29uc3QgRmxvYXRQb2ludCYgZm9jYWwpCit7CisgICAg
bV9mb2NhbCA9IGZvY2FsOworfQorCitmbG9hdCBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50
OjpncmFkaWVudFJhZGl1cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcmFkaXVzOworfQorCit2
b2lkIFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OnNldEdyYWRpZW50UmFkaXVzKGZsb2F0
IHJhZGl1cykKK3sKKyAgICBtX3JhZGl1cyA9IHJhZGl1czsKK30KKworVGV4dFN0cmVhbSYgU1ZH
UGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3Ry
ZWFtJiB0cykgY29uc3QKK3sKKyAgICB0cyA8PCAiW3R5cGU9UkFESUFMLUdSQURJRU5UXSAiOwor
ICAgIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24odHMpOwor
ICAgIHRzIDw8ICIgW2NlbnRlcj0iIDw8IGdyYWRpZW50Q2VudGVyKCkgPDwgIl0iCisgICAgICAg
IDw8ICIgW2ZvY2FsPSIgPDwgZ3JhZGllbnRGb2NhbCgpIDw8ICJdIgorICAgICAgICA8PCAiIFty
YWRpdXM9IiA8PCBncmFkaWVudFJhZGl1cygpIDw8ICJdIjsKKyAgICByZXR1cm4gdHM7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcAkocmV2aXNp
b24gNTc4ODgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdy
YWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsOCBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlclJhZGlh
bEdyYWRpZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5o
IgorCiAjaW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRp
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VS
YWRpYWxHcmFkaWVudC5oCShyZXZpc2lvbiA1Nzg4OCkJKGZyb20gV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudC5oOjU3ODg4KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJt
YW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgU1ZHUGFpbnRTZXJ2ZXJS
YWRpYWxHcmFkaWVudF9oCisjZGVmaW5lIFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnRfaAor
CisjaWYgRU5BQkxFKFNWRykKKworI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKKyNpbmNsdWRlICJT
VkdQYWludFNlcnZlckdyYWRpZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNs
YXNzIFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQgOiBwdWJsaWMgU1ZHUGFpbnRTZXJ2ZXJH
cmFkaWVudCB7CisgICAgcHVibGljOgorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWlu
dFNlcnZlclJhZGlhbEdyYWRpZW50PiBjcmVhdGUoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBv
d25lcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQo
b3duZXIpKTsgfQorICAgICAgICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50
KCk7CisKKyAgICAgICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIFJhZGlhbEdyYWRpZW50UGFpbnRTZXJ2ZXI7IH0KKworICAgICAgICBGbG9hdFBvaW50
IGdyYWRpZW50Q2VudGVyKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0R3JhZGllbnRDZW50ZXIo
Y29uc3QgRmxvYXRQb2ludCYpOworCisgICAgICAgIEZsb2F0UG9pbnQgZ3JhZGllbnRGb2NhbCgp
IGNvbnN0OworICAgICAgICB2b2lkIHNldEdyYWRpZW50Rm9jYWwoY29uc3QgRmxvYXRQb2ludCYp
OworCisgICAgICAgIGZsb2F0IGdyYWRpZW50UmFkaXVzKCkgY29uc3Q7CisgICAgICAgIHZvaWQg
c2V0R3JhZGllbnRSYWRpdXMoZmxvYXQpOworCisgICAgICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYg
ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7CisKKyAgICBwcml2YXRl
OgorICAgICAgICBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50
RWxlbWVudCogb3duZXIpOworCisgICAgICAgIGZsb2F0IG1fcmFkaXVzOworICAgICAgICBGbG9h
dFBvaW50IG1fY2VudGVyOworICAgICAgICBGbG9hdFBvaW50IG1fZm9jYWw7CisgICAgfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKworI2VuZGlmIC8vIFNWR1BhaW50U2Vy
dmVyUmFkaWFsR3JhZGllbnRfaApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VSYWRpYWxHcmFkaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaAkocmV2aXNpb24gNTc4ODgpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIzLDQ0ICsyMyw0NCBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAotI2lmbmRl
ZiBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50X2gKLSNkZWZpbmUgU1ZHUGFpbnRTZXJ2ZXJS
YWRpYWxHcmFkaWVudF9oCisjaWZuZGVmIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnRf
aAorI2RlZmluZSBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50X2gKIAogI2lmIEVOQUJM
RShTVkcpCiAKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2
ZXJHcmFkaWVudC5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFk
aWVudCA6IHB1YmxpYyBTVkdQYWludFNlcnZlckdyYWRpZW50IHsKLSAgICBwdWJsaWM6Ci0gICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ+IGNyZWF0
ZShjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKSB7IHJldHVybiBhZG9wdFJlZihuZXcg
U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudChvd25lcikpOyB9Ci0gICAgICAgIHZpcnR1YWwg
flNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQoKTsKK2NsYXNzIFNWR1BhaW50U2VydmVyUmFk
aWFsR3JhZGllbnQgOiBwdWJsaWMgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudCB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudD4gY3JlYXRl
KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
VkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50KG93bmVyKSk7IH0KKyAgICB2aXJ0dWFsIH5TVkdQ
YWludFNlcnZlclJhZGlhbEdyYWRpZW50KCk7CiAKLSAgICAgICAgdmlydHVhbCBTVkdQYWludFNl
cnZlclR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIFJhZGlhbEdyYWRpZW50UGFpbnRTZXJ2ZXI7
IH0KKyAgICB2aXJ0dWFsIFNWR1BhaW50U2VydmVyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4g
UmFkaWFsR3JhZGllbnRQYWludFNlcnZlcjsgfQogCi0gICAgICAgIEZsb2F0UG9pbnQgZ3JhZGll
bnRDZW50ZXIoKSBjb25zdDsKLSAgICAgICAgdm9pZCBzZXRHcmFkaWVudENlbnRlcihjb25zdCBG
bG9hdFBvaW50Jik7CisgICAgRmxvYXRQb2ludCBncmFkaWVudENlbnRlcigpIGNvbnN0OworICAg
IHZvaWQgc2V0R3JhZGllbnRDZW50ZXIoY29uc3QgRmxvYXRQb2ludCYpOwogCi0gICAgICAgIEZs
b2F0UG9pbnQgZ3JhZGllbnRGb2NhbCgpIGNvbnN0OwotICAgICAgICB2b2lkIHNldEdyYWRpZW50
Rm9jYWwoY29uc3QgRmxvYXRQb2ludCYpOworICAgIEZsb2F0UG9pbnQgZ3JhZGllbnRGb2NhbCgp
IGNvbnN0OworICAgIHZvaWQgc2V0R3JhZGllbnRGb2NhbChjb25zdCBGbG9hdFBvaW50Jik7CiAK
LSAgICAgICAgZmxvYXQgZ3JhZGllbnRSYWRpdXMoKSBjb25zdDsKLSAgICAgICAgdm9pZCBzZXRH
cmFkaWVudFJhZGl1cyhmbG9hdCk7CisgICAgZmxvYXQgZ3JhZGllbnRSYWRpdXMoKSBjb25zdDsK
KyAgICB2b2lkIHNldEdyYWRpZW50UmFkaXVzKGZsb2F0KTsKIAotICAgICAgICB2aXJ0dWFsIFRl
eHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OworICAg
IHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikg
Y29uc3Q7CiAKLSAgICBwcml2YXRlOgotICAgICAgICBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRp
ZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpOworcHJpdmF0ZToKKyAgICBTVkdQ
YWludFNlcnZlclJhZGlhbEdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIp
OwogCi0gICAgICAgIGZsb2F0IG1fcmFkaXVzOwotICAgICAgICBGbG9hdFBvaW50IG1fY2VudGVy
OwotICAgICAgICBGbG9hdFBvaW50IG1fZm9jYWw7Ci0gICAgfTsKKyAgICBmbG9hdCBtX3JhZGl1
czsKKyAgICBGbG9hdFBvaW50IG1fY2VudGVyOworICAgIEZsb2F0UG9pbnQgbV9mb2NhbDsKK307
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCiAKLSNlbmRpZiAvLyBTVkdQYWlu
dFNlcnZlclJhZGlhbEdyYWRpZW50X2gKKyNlbmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZVJhZGlh
bEdyYWRpZW50X2gKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlU29s
aWRDb2xvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VTb2xpZENvbG9yLmNwcAkocmV2aXNpb24gNTc4ODgpCShmcm9tIFdlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR1BhaW50U2VydmVyU29saWQuY3BwOjU3ODg4KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDkzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8
emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IERpcmsgU2NodWx6ZSA8
a3JpdEB3ZWJraXQub3JnPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFC
TEUoU1ZHKQorI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyU29saWQuaCIKKworI2luY2x1ZGUgIkdy
YXBoaWNzQ29udGV4dC5oIgorI2luY2x1ZGUgIlJlbmRlclBhdGguaCIKKyNpbmNsdWRlICJTVkdS
ZW5kZXJUcmVlQXNUZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU1ZHUGFpbnRTZXJ2
ZXJTb2xpZDo6U1ZHUGFpbnRTZXJ2ZXJTb2xpZCgpCit7Cit9CisKK1NWR1BhaW50U2VydmVyU29s
aWQ6On5TVkdQYWludFNlcnZlclNvbGlkKCkKK3sKK30KKworQ29sb3IgU1ZHUGFpbnRTZXJ2ZXJT
b2xpZDo6Y29sb3IoKSBjb25zdAoreworICAgIHJldHVybiBtX2NvbG9yOworfQorCit2b2lkIFNW
R1BhaW50U2VydmVyU29saWQ6OnNldENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKK3sKKyAgICBt
X2NvbG9yID0gY29sb3I7Cit9CisKK1RleHRTdHJlYW0mIFNWR1BhaW50U2VydmVyU29saWQ6OmV4
dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Cit7CisgICAgdHMgPDwg
Ilt0eXBlPVNPTElEXSIKKyAgICAgICAgPDwgIiBbY29sb3I9Ijw8IGNvbG9yKCkgPDwgIl0iOwor
ICAgIHJldHVybiB0czsKK30KKworYm9vbCBTVkdQYWludFNlcnZlclNvbGlkOjpzZXR1cChHcmFw
aGljc0NvbnRleHQqJiBjb250ZXh0LCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3Qg
UmVuZGVyU3R5bGUqIHN0eWxlLCBTVkdQYWludFRhcmdldFR5cGUgdHlwZSwgYm9vbCBpc1BhaW50
aW5nVGV4dCkgY29uc3QKK3sKKyAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBz
dHlsZSA/IHN0eWxlLT5zdmdTdHlsZSgpIDogMDsKKyAgICBDb2xvclNwYWNlIGNvbG9yU3BhY2Ug
PSBzdHlsZSA/IHN0eWxlLT5jb2xvclNwYWNlKCkgOiBEZXZpY2VDb2xvclNwYWNlOworCisgICAg
aWYgKCh0eXBlICYgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlKSAmJiAoIXN0eWxlIHx8IHN2Z1N0eWxl
LT5oYXNGaWxsKCkpKSB7CisgICAgICAgIGNvbnRleHQtPnNldEFscGhhKHN0eWxlID8gc3ZnU3R5
bGUtPmZpbGxPcGFjaXR5KCkgOiAxKTsKKyAgICAgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKGNv
bG9yKCkucmdiKCksIGNvbG9yU3BhY2UpOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsUnVsZShz
dHlsZSA/IHN2Z1N0eWxlLT5maWxsUnVsZSgpIDogUlVMRV9OT05aRVJPKTsKKworICAgICAgICBp
ZiAoaXNQYWludGluZ1RleHQpCisgICAgICAgICAgICBjb250ZXh0LT5zZXRUZXh0RHJhd2luZ01v
ZGUoY1RleHRGaWxsKTsKKyAgICB9CisKKyAgICBpZiAoKHR5cGUgJiBBcHBseVRvU3Ryb2tlVGFy
Z2V0VHlwZSkgJiYgKCFzdHlsZSB8fCBzdmdTdHlsZS0+aGFzU3Ryb2tlKCkpKSB7CisgICAgICAg
IGNvbnRleHQtPnNldEFscGhhKHN0eWxlID8gc3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSA6IDEp
OworICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcihjb2xvcigpLnJnYigpLCBjb2xvclNw
YWNlKTsKKworICAgICAgICBpZiAoc3R5bGUpCisgICAgICAgICAgICBhcHBseVN0cm9rZVN0eWxl
VG9Db250ZXh0KGNvbnRleHQsIHN0eWxlLCBvYmplY3QpOworCisgICAgICAgIGlmIChpc1BhaW50
aW5nVGV4dCkKKyAgICAgICAgICAgIGNvbnRleHQtPnNldFRleHREcmF3aW5nTW9kZShjVGV4dFN0
cm9rZSk7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZVNvbGlkQ29sb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlU29saWRDb2xvci5jcHAJKHJldmlzaW9uIDU3ODg4KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjcsNyArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaWYgRU5BQkxFKFNWRykKLSNp
bmNsdWRlICJTVkdQYWludFNlcnZlclNvbGlkLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3Vy
Y2VTb2xpZENvbG9yLmgiCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRl
ICJSZW5kZXJQYXRoLmgiCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZVNvbGlkQ29sb3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdS
ZXNvdXJjZVNvbGlkQ29sb3IuaAkocmV2aXNpb24gNTc4ODgpCShmcm9tIFdlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR1BhaW50U2VydmVyU29saWQuaDo1Nzg4OCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1t
ZXJtYW5uQGtkZS5vcmc+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgU1ZHUGFpbnRTZXJ2ZXJTb2xpZF9oCisj
ZGVmaW5lIFNWR1BhaW50U2VydmVyU29saWRfaAorCisjaWYgRU5BQkxFKFNWRykKKworI2luY2x1
ZGUgIkNvbG9yLmgiCisjaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCisgICAgY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCA6IHB1YmxpYyBTVkdQYWlu
dFNlcnZlciB7CisgICAgcHVibGljOgorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWlu
dFNlcnZlclNvbGlkPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGFpbnRTZXJ2
ZXJTb2xpZCk7IH0KKyAgICAgICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJTb2xpZCgpOworCisg
ICAgICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBT
b2xpZFBhaW50U2VydmVyOyB9CisKKyAgICAgICAgQ29sb3IgY29sb3IoKSBjb25zdDsKKyAgICAg
ICAgdm9pZCBzZXRDb2xvcihjb25zdCBDb2xvciYpOworCisgICAgICAgIHZpcnR1YWwgVGV4dFN0
cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7CisKKyAgICAg
ICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmpl
Y3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50
aW5nVGV4dCkgY29uc3Q7CisKKyAgICBwcml2YXRlOgorICAgICAgICBTVkdQYWludFNlcnZlclNv
bGlkKCk7CisKKyAgICAgICAgQ29sb3IgbV9jb2xvcjsKKyAgICB9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZgorCisjZW5kaWYgLy8gU1ZHUGFpbnRTZXJ2ZXJTb2xpZF9oCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3Iu
aAkocmV2aXNpb24gNTc4ODgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZVNvbGlkQ29sb3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsOCArMjMsOCBAQAogICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCiAgKi8KIAotI2lmbmRlZiBTVkdQYWludFNlcnZlclNvbGlkX2gKLSNkZWZpbmUgU1ZH
UGFpbnRTZXJ2ZXJTb2xpZF9oCisjaWZuZGVmIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcl9o
CisjZGVmaW5lIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcl9oCiAKICNpZiBFTkFCTEUoU1ZH
KQogCkBAIC0zMywyOCArMzMsMjggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xh
c3MgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCA6IHB1YmxpYyBTVkdQYWludFNlcnZlciB7Ci0gICAgcHVi
bGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWludFNlcnZlclNvbGlkPiBjcmVh
dGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCk7IH0KLSAgICAg
ICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJTb2xpZCgpOworY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJT
b2xpZCA6IHB1YmxpYyBTVkdQYWludFNlcnZlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJTb2xpZD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3
IFNWR1BhaW50U2VydmVyU29saWQpOyB9CisgICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJTb2xp
ZCgpOwogCi0gICAgICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7
IHJldHVybiBTb2xpZFBhaW50U2VydmVyOyB9CisgICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5
cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIFNvbGlkUGFpbnRTZXJ2ZXI7IH0KIAotICAgICAgICBD
b2xvciBjb2xvcigpIGNvbnN0OwotICAgICAgICB2b2lkIHNldENvbG9yKGNvbnN0IENvbG9yJik7
CisgICAgQ29sb3IgY29sb3IoKSBjb25zdDsKKyAgICB2b2lkIHNldENvbG9yKGNvbnN0IENvbG9y
Jik7CiAKLSAgICAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9u
KFRleHRTdHJlYW0mKSBjb25zdDsKKyAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVw
cmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBz
ZXR1cChHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVy
U3R5bGUqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0Owor
ICAgIHZpcnR1YWwgYm9vbCBzZXR1cChHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2Jq
ZWN0KiwgY29uc3QgUmVuZGVyU3R5bGUqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWlu
dGluZ1RleHQpIGNvbnN0OwogCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJT
b2xpZCgpOworcHJpdmF0ZToKKyAgICBTVkdQYWludFNlcnZlclNvbGlkKCk7CiAKLSAgICAgICAg
Q29sb3IgbV9jb2xvcjsKLSAgICB9OworICAgIENvbG9yIG1fY29sb3I7Cit9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgogCi0jZW5kaWYgLy8gU1ZHUGFpbnRTZXJ2ZXJTb2xp
ZF9oCisjZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yX2gKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCShyZXZpc2lvbiA1ODA4MykKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MiwxNiArNDIsMTYgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdJbmxpbmVUZXh0LmgiCiAj
aW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJT
VkdSZXNvdXJjZU1hc2tlci5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlUGF0dGVybi5o
IgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5oIgogI2luY2x1ZGUgIlJl
bmRlclNWR1Jvb3QuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdUZXh0LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVHJlZUFzVGV4dC5oIgogI2luY2x1ZGUgIlNWR0NoYXJhY3RlckxheW91dEluZm8uaCIKICNp
bmNsdWRlICJTVkdJbmxpbmVUZXh0Qm94LmgiCi0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXJHcmFk
aWVudC5oIgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyUGF0dGVybi5oIgotI2luY2x1ZGUgIlNW
R1BhaW50U2VydmVyU29saWQuaCIKICNpbmNsdWRlICJTVkdSb290SW5saW5lQm94LmgiCiAjaW5j
bHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgPG1hdGguaD4KSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZvbnQuY3Bw
CShyZXZpc2lvbiA1ODA4MykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCiAjaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5j
bHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmgiCiAjaW5jbHVkZSAiU2ltcGxlRm9u
dERhdGEuaCIKICNpbmNsdWRlICJTVkdBbHRHbHlwaEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdG
b250RGF0YS5oIgpAQCAtMzUsOCArMzYsNiBAQAogI2luY2x1ZGUgIlNWR0ZvbnRFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU1ZHRm9udEZhY2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHTWlzc2luZ0ds
eXBoRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCi0jaW5jbHVkZSAiU1ZH
UGFpbnRTZXJ2ZXJTb2xpZC5oIgogI2luY2x1ZGUgIlhNTE5hbWVzLmgiCiAKIHVzaW5nIG5hbWVz
cGFjZSBXVEY6OlVuaWNvZGU7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAJKHJl
dmlzaW9uIDU4MDgzKQorKysgV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjcsOSArMjcsOSBAQAogI2luY2x1ZGUgIk1hcHBlZEF0dHJpYnV0ZS5o
IgogI2luY2x1ZGUgIlJlbmRlclBhdGguaCIKICNpbmNsdWRlICJSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmgiCisj
aW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oIgogI2luY2x1ZGUgIlNW
R05hbWVzLmgiCi0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5oIgotI2lu
Y2x1ZGUgIlNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQuaCIKICNpbmNsdWRlICJTVkdTdG9w
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKICNpbmNsdWRlICJTVkdU
cmFuc2Zvcm1hYmxlLmgiCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAkocmV2aXNpb24g
NTgwODMpCisrKyBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjMsNyArMjMsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJP
YmplY3QuaCIKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlckdyYWRpZW50LmgiCisjaW5jbHVkZSAi
UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHVHJhbnNmb3JtTGlzdC5oIgpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiA1ODA4MykKKysrIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRp
ZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDkgKzI5LDkgQEAKICNpbmNsdWRl
ICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmgiCiAj
aW5jbHVkZSAiTWFwcGVkQXR0cmlidXRlLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudC5oIgogI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgogI2luY2x1ZGUgIlNWR05h
bWVzLmgiCi0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5oIgogI2luY2x1
ZGUgIlNWR1RyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKICNpbmNs
dWRlICJTVkdVbml0VHlwZXMuaCIKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDU4MDgzKQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw5ICszMSw5IEBACiAjaW5jbHVkZSAiTWFwcGVkQXR0cmlidXRlLmgi
CiAjaW5jbHVkZSAiUGF0dGVybkF0dHJpYnV0ZXMuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdDb250
YWluZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uaCIKICNpbmNsdWRl
ICJTVkdMZW5ndGguaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUgIlNWR1BhaW50
U2VydmVyUGF0dGVybi5oIgogI2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKICNpbmNsdWRl
ICJTVkdTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1l
bnQuaCIKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAkocmV2aXNpb24gNTgwODMpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMCAr
MjMsMTAgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisj
aW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0ZpdFRvVmlld0JveC5oIgogI2lu
Y2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyUGF0dGVybi5o
IgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgog
I2luY2x1ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1JhZGlh
bEdyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmNwcAkocmV2aXNpb24gNTgwODMpCisrKyBXZWJDb3JlL3N2Zy9TVkdS
YWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw5ICszMCw5IEBA
CiAjaW5jbHVkZSAiTWFwcGVkQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiUmFkaWFsR3JhZGllbnRB
dHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVy
U1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oIgogI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgogI2lu
Y2x1ZGUgIlNWR05hbWVzLmgiCi0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVu
dC5oIgogI2luY2x1ZGUgIlNWR1N0b3BFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3Jt
LmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgpJbmRleDogV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBo
aWNzL1NWR1BhaW50U2VydmVyLmNwcAkocmV2aXNpb24gNTgwODMpCisrKyBXZWJDb3JlL3N2Zy9n
cmFwaGljcy9TVkdQYWludFNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMjc3ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJt
YW5uQGtkZS5vcmc+Ci0gKiAgICAgICAgICAgICAgIDIwMDcgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9y
Zz4KLSAqICAgICAgICAgICAgICAgMjAwOCBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVU
RVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRl
ICJTVkdQYWludFNlcnZlci5oIgotCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5j
bHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCi0jaW5j
bHVkZSAiUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlclNvbGlkLmgiCi0j
aW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5o
IgotCi0jaWYgUExBVEZPUk0oU0tJQSkKLSNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRTa2lhLmgi
Ci0jZW5kaWYKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1TVkdQYWludFNlcnZlcjo6U1ZHUGFp
bnRTZXJ2ZXIoKQotewotfQotCi1TVkdQYWludFNlcnZlcjo6flNWR1BhaW50U2VydmVyKCkKLXsK
LX0KLQotVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgU1ZHUGFp
bnRTZXJ2ZXImIHBhaW50U2VydmVyKQotewotICAgIHJldHVybiBwYWludFNlcnZlci5leHRlcm5h
bFJlcHJlc2VudGF0aW9uKHRzKTsKLX0KLQotU1ZHUGFpbnRTZXJ2ZXIqIGdldFBhaW50U2VydmVy
QnlJZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIGNvbnN0IFJl
bmRlck9iamVjdCogb2JqZWN0KQotewotICAgIFNWR1Jlc291cmNlKiByZXNvdXJjZSA9IGdldFJl
c291cmNlQnlJZChkb2N1bWVudCwgaWQsIG9iamVjdCk7Ci0gICAgaWYgKHJlc291cmNlICYmIHJl
c291cmNlLT5pc1BhaW50U2VydmVyKCkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTVkdQ
YWludFNlcnZlcio+KHJlc291cmNlKTsKLQotICAgIHJldHVybiAwOwotfQotCi1TVkdQYWludFNl
cnZlclNvbGlkKiBTVkdQYWludFNlcnZlcjo6c2hhcmVkU29saWRQYWludFNlcnZlcigpCi17Ci0g
ICAgc3RhdGljIFNWR1BhaW50U2VydmVyU29saWQqIF9zaGFyZWRTb2xpZFBhaW50U2VydmVyID0g
U1ZHUGFpbnRTZXJ2ZXJTb2xpZDo6Y3JlYXRlKCkucmVsZWFzZVJlZigpOwotICAgIAotICAgIHJl
dHVybiBfc2hhcmVkU29saWRQYWludFNlcnZlcjsKLX0KLQotU1ZHUGFpbnRTZXJ2ZXIqIFNWR1Bh
aW50U2VydmVyOjpmaWxsUGFpbnRTZXJ2ZXIoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25z
dCBSZW5kZXJPYmplY3QqIGl0ZW0pCi17Ci0gICAgaWYgKCFzdHlsZS0+c3ZnU3R5bGUoKS0+aGFz
RmlsbCgpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIFNWR1BhaW50KiBmaWxsID0gc3R5bGUt
PnN2Z1N0eWxlKCktPmZpbGxQYWludCgpOwotICAgICAgICAKLSAgICBTVkdQYWludFNlcnZlciog
ZmlsbFBhaW50U2VydmVyID0gMDsKLSAgICBTVkdQYWludDo6U1ZHUGFpbnRUeXBlIHBhaW50VHlw
ZSA9IGZpbGwtPnBhaW50VHlwZSgpOwotICAgIGlmIChwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNW
R19QQUlOVFRZUEVfVVJJIHx8Ci0gICAgICAgIHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BB
SU5UVFlQRV9VUklfUkdCQ09MT1IpIHsKLSAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJl
ZmVyZW5jZTo6Z2V0VGFyZ2V0KGZpbGwtPnVyaSgpKSk7Ci0gICAgICAgIGZpbGxQYWludFNlcnZl
ciA9IGdldFBhaW50U2VydmVyQnlJZChpdGVtLT5kb2N1bWVudCgpLCBpZCwgaXRlbSk7Ci0KLSAg
ICAgICAgU1ZHRWxlbWVudCogc3ZnRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihp
dGVtLT5ub2RlKCkpOwotICAgICAgICBBU1NFUlQoc3ZnRWxlbWVudCAmJiBzdmdFbGVtZW50LT5k
b2N1bWVudCgpICYmIHN2Z0VsZW1lbnQtPmlzU3R5bGVkKCkpOwotCi0gICAgICAgIGlmIChpdGVt
LT5pc1JlbmRlclBhdGgoKSAmJiBmaWxsUGFpbnRTZXJ2ZXIpCi0gICAgICAgICAgICBmaWxsUGFp
bnRTZXJ2ZXItPmFkZENsaWVudChzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxl
bWVudCkpOwotICAgICAgICBlbHNlIGlmICghZmlsbFBhaW50U2VydmVyICYmIHBhaW50VHlwZSA9
PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUkkpCi0gICAgICAgICAgICBzdmdFbGVtZW50LT5k
b2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNvdXJjZShpZCwg
c3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsgCi0gICAgfQotICAg
IGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmICFmaWxsUGFp
bnRTZXJ2ZXIpIHsKLSAgICAgICAgZmlsbFBhaW50U2VydmVyID0gc2hhcmVkU29saWRQYWludFNl
cnZlcigpOwotICAgICAgICBTVkdQYWludFNlcnZlclNvbGlkKiBmaWxsUGFpbnRTZXJ2ZXJTb2xp
ZCA9IHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihmaWxsUGFpbnRTZXJ2ZXIpOwot
ICAgICAgICAKLSAgICAgICAgQ29sb3IgZmlsbENvbG9yOwotICAgICAgICBpZiAocGFpbnRUeXBl
ID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKLSAgICAgICAgICAgIGZp
bGxDb2xvciA9IHN0eWxlLT5jb2xvcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBmaWxs
Q29sb3IgPSBmaWxsLT5jb2xvcigpOwotCi0gICAgICAgIGlmIChzdHlsZS0+aW5zaWRlTGluaygp
ID09IEluc2lkZVZpc2l0ZWRMaW5rKSB7Ci0gICAgICAgICAgICBSZW5kZXJTdHlsZSogdmlzaXRl
ZFN0eWxlID0gc3R5bGUtPmdldENhY2hlZFBzZXVkb1N0eWxlKFZJU0lURURfTElOSyk7Ci0gICAg
ICAgICAgICBTVkdQYWludCogdmlzaXRlZEZpbGwgPSB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCkt
PmZpbGxQYWludCgpOwotICAgICAgICAgICAgQ29sb3IgdmlzaXRlZEZpbGxDb2xvcjsKLSAgICAg
ICAgICAgIGlmICh2aXNpdGVkRmlsbC0+cGFpbnRUeXBlKCkgIT0gU1ZHUGFpbnQ6OlNWR19QQUlO
VFRZUEVfVVJJKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsLT5wYWludFR5cGUo
KSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9DVVJSRU5UQ09MT1IpCi0gICAgICAgICAgICAg
ICAgICAgIHZpc2l0ZWRGaWxsQ29sb3IgPSB2aXNpdGVkU3R5bGUtPmNvbG9yKCk7Ci0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB2aXNpdGVkRmlsbENvbG9yID0gdmlz
aXRlZEZpbGwtPmNvbG9yKCk7Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsQ29sb3Iu
aXNWYWxpZCgpKQotICAgICAgICAgICAgICAgICAgICBmaWxsQ29sb3IgPSBDb2xvcih2aXNpdGVk
RmlsbENvbG9yLnJlZCgpLCB2aXNpdGVkRmlsbENvbG9yLmdyZWVuKCksIHZpc2l0ZWRGaWxsQ29s
b3IuYmx1ZSgpLCBmaWxsQ29sb3IuYWxwaGEoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LQotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXJTb2xpZC0+c2V0Q29sb3IoZmlsbENvbG9yKTsKLSAg
ICAgICAgCi0gICAgICAgIC8vIEZJWE1FOiBJZGVhbGx5IGludmFsaWQgY29sb3JzIHdvdWxkIG5l
dmVyIGdldCBzZXQgb24gdGhlIFJlbmRlclN0eWxlIGFuZCB0aGlzIGNvdWxkIHR1cm4gaW50byBh
biBBU1NFUlQKLSAgICAgICAgaWYgKCFmaWxsUGFpbnRTZXJ2ZXJTb2xpZC0+Y29sb3IoKS5pc1Zh
bGlkKCkpCi0gICAgICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSAwOwotICAgIH0KLSAgICBpZiAo
IWZpbGxQYWludFNlcnZlcikgewotICAgICAgICAvLyBkZWZhdWx0IHZhbHVlIChibGFjayksIHNl
ZSBidWcgMTEwMTcKLSAgICAgICAgZmlsbFBhaW50U2VydmVyID0gc2hhcmVkU29saWRQYWludFNl
cnZlcigpOwotICAgICAgICBzdGF0aWNfY2FzdDxTVkdQYWludFNlcnZlclNvbGlkKj4oZmlsbFBh
aW50U2VydmVyKS0+c2V0Q29sb3IoQ29sb3I6OmJsYWNrKTsKLSAgICB9Ci0gICAgcmV0dXJuIGZp
bGxQYWludFNlcnZlcjsKLX0KLQotU1ZHUGFpbnRTZXJ2ZXIqIFNWR1BhaW50U2VydmVyOjpzdHJv
a2VQYWludFNlcnZlcihjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlck9iamVj
dCogaXRlbSkKLXsKLSAgICBpZiAoIXN0eWxlLT5zdmdTdHlsZSgpLT5oYXNTdHJva2UoKSkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KLSAgICBTVkdQYWludCogc3Ryb2tlID0gc3R5bGUtPnN2Z1N0eWxl
KCktPnN0cm9rZVBhaW50KCk7Ci0KLSAgICBTVkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2
ZXIgPSAwOwotICAgIFNWR1BhaW50OjpTVkdQYWludFR5cGUgcGFpbnRUeXBlID0gc3Ryb2tlLT5w
YWludFR5cGUoKTsKLSAgICBpZiAoKHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQ
RV9VUkkKLSAgICAgICAgfHwgcGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VS
SV9SR0JDT0xPUikKLSAgICAgICAgJiYgaXRlbS0+b2JqZWN0Qm91bmRpbmdCb3goKS53aWR0aCgp
ICE9IDAKLSAgICAgICAgJiYgaXRlbS0+b2JqZWN0Qm91bmRpbmdCb3goKS5oZWlnaHQoKSAhPSAw
KSB7Ci0gICAgICAgIEF0b21pY1N0cmluZyBpZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChz
dHJva2UtPnVyaSgpKSk7Ci0gICAgICAgIHN0cm9rZVBhaW50U2VydmVyID0gZ2V0UGFpbnRTZXJ2
ZXJCeUlkKGl0ZW0tPmRvY3VtZW50KCksIGlkLCBpdGVtKTsKLQotICAgICAgICBTVkdFbGVtZW50
KiBzdmdFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KGl0ZW0tPm5vZGUoKSk7Ci0g
ICAgICAgIEFTU0VSVChzdmdFbGVtZW50ICYmIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCkgJiYgc3Zn
RWxlbWVudC0+aXNTdHlsZWQoKSk7Ci0gCi0gICAgICAgIGlmIChpdGVtLT5pc1JlbmRlclBhdGgo
KSAmJiBzdHJva2VQYWludFNlcnZlcikKLSAgICAgICAgICAgIHN0cm9rZVBhaW50U2VydmVyLT5h
ZGRDbGllbnQoc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsKLSAg
ICAgICAgZWxzZSBpZiAoIXN0cm9rZVBhaW50U2VydmVyICYmIHBhaW50VHlwZSA9PSBTVkdQYWlu
dDo6U1ZHX1BBSU5UVFlQRV9VUkkpCi0gICAgICAgICAgICBzdmdFbGVtZW50LT5kb2N1bWVudCgp
LT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNvdXJjZShpZCwgc3RhdGljX2Nh
c3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsgCi0gICAgfQotICAgIGlmIChwYWlu
dFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmICFzdHJva2VQYWludFNlcnZl
cikgewotICAgICAgICBzdHJva2VQYWludFNlcnZlciA9IHNoYXJlZFNvbGlkUGFpbnRTZXJ2ZXIo
KTsKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCogc3Ryb2tlUGFpbnRTZXJ2ZXJTb2xpZCA9
IHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihzdHJva2VQYWludFNlcnZlcik7Ci0g
ICAgICAgIAotICAgICAgICBDb2xvciBzdHJva2VDb2xvcjsKLSAgICAgICAgaWYgKHBhaW50VHlw
ZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9DVVJSRU5UQ09MT1IpCi0gICAgICAgICAgICBz
dHJva2VDb2xvciA9IHN0eWxlLT5jb2xvcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBz
dHJva2VDb2xvciA9IHN0cm9rZS0+Y29sb3IoKTsKLQotICAgICAgICBpZiAoc3R5bGUtPmluc2lk
ZUxpbmsoKSA9PSBJbnNpZGVWaXNpdGVkTGluaykgewotICAgICAgICAgICAgUmVuZGVyU3R5bGUq
IHZpc2l0ZWRTdHlsZSA9IHN0eWxlLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTksp
OwotICAgICAgICAgICAgU1ZHUGFpbnQqIHZpc2l0ZWRTdHJva2UgPSB2aXNpdGVkU3R5bGUtPnN2
Z1N0eWxlKCktPnN0cm9rZVBhaW50KCk7Ci0gICAgICAgICAgICBDb2xvciB2aXNpdGVkU3Ryb2tl
Q29sb3I7Ci0gICAgICAgICAgICBpZiAodmlzaXRlZFN0cm9rZS0+cGFpbnRUeXBlKCkgIT0gU1ZH
UGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRT
dHJva2UtPnBhaW50VHlwZSgpID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xP
UikKLSAgICAgICAgICAgICAgICAgICAgdmlzaXRlZFN0cm9rZUNvbG9yID0gdmlzaXRlZFN0eWxl
LT5jb2xvcigpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdmlz
aXRlZFN0cm9rZUNvbG9yID0gdmlzaXRlZFN0cm9rZS0+Y29sb3IoKTsKLSAgICAgICAgICAgICAg
ICBpZiAodmlzaXRlZFN0cm9rZUNvbG9yLmlzVmFsaWQoKSkKLSAgICAgICAgICAgICAgICAgICAg
c3Ryb2tlQ29sb3IgPSBDb2xvcih2aXNpdGVkU3Ryb2tlQ29sb3IucmVkKCksIHZpc2l0ZWRTdHJv
a2VDb2xvci5ncmVlbigpLCB2aXNpdGVkU3Ryb2tlQ29sb3IuYmx1ZSgpLCBzdHJva2VDb2xvci5h
bHBoYSgpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIHN0cm9rZVBhaW50
U2VydmVyU29saWQtPnNldENvbG9yKHN0cm9rZUNvbG9yKTsKLQotICAgICAgICAvLyBGSVhNRTog
SWRlYWxseSBpbnZhbGlkIGNvbG9ycyB3b3VsZCBuZXZlciBnZXQgc2V0IG9uIHRoZSBSZW5kZXJT
dHlsZSBhbmQgdGhpcyBjb3VsZCB0dXJuIGludG8gYW4gQVNTRVJUCi0gICAgICAgIGlmICghc3Ry
b2tlUGFpbnRTZXJ2ZXJTb2xpZC0+Y29sb3IoKS5pc1ZhbGlkKCkpCi0gICAgICAgICAgICBzdHJv
a2VQYWludFNlcnZlciA9IDA7Ci0gICAgfQotICAgIGlmICghc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsK
LSAgICAgICAgLy8gZGVmYXVsdCB2YWx1ZSAoYmxhY2spLCBzZWUgYnVnIDExMDE3Ci0gICAgICAg
IHN0cm9rZVBhaW50U2VydmVyID0gc2hhcmVkU29saWRQYWludFNlcnZlcigpOwotICAgICAgICBz
dGF0aWNfY2FzdDxTVkdQYWludFNlcnZlclNvbGlkKj4oc3Ryb2tlUGFpbnRTZXJ2ZXIpLT5zZXRD
b2xvcihDb2xvcjo6YmxhY2spOwotICAgIH0KLQotICAgIHJldHVybiBzdHJva2VQYWludFNlcnZl
cjsKLX0KLQotdm9pZCBhcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KEdyYXBoaWNzQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5kZXJPYmplY3QqIG9i
amVjdCkKLXsKLSAgICBjb250ZXh0LT5zZXRTdHJva2VUaGlja25lc3MoU1ZHUmVuZGVyU3R5bGU6
OmNzc1ByaW1pdGl2ZVRvTGVuZ3RoKG9iamVjdCwgc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVdp
ZHRoKCksIDEuMGYpKTsKLSAgICBjb250ZXh0LT5zZXRMaW5lQ2FwKHN0eWxlLT5zdmdTdHlsZSgp
LT5jYXBTdHlsZSgpKTsKLSAgICBjb250ZXh0LT5zZXRMaW5lSm9pbihzdHlsZS0+c3ZnU3R5bGUo
KS0+am9pblN0eWxlKCkpOwotICAgIGlmIChzdHlsZS0+c3ZnU3R5bGUoKS0+am9pblN0eWxlKCkg
PT0gTWl0ZXJKb2luKQotICAgICAgICBjb250ZXh0LT5zZXRNaXRlckxpbWl0KHN0eWxlLT5zdmdT
dHlsZSgpLT5zdHJva2VNaXRlckxpbWl0KCkpOwotCi0gICAgY29uc3QgRGFzaEFycmF5JiBkYXNo
ZXMgPSBkYXNoQXJyYXlGcm9tUmVuZGVyaW5nU3R5bGUob2JqZWN0LT5zdHlsZSgpLCBvYmplY3Qt
PmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpKTsKLSAgICBmbG9h
dCBkYXNoT2Zmc2V0ID0gU1ZHUmVuZGVyU3R5bGU6OmNzc1ByaW1pdGl2ZVRvTGVuZ3RoKG9iamVj
dCwgc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZURhc2hPZmZzZXQoKSwgMC4wZik7Ci0gICAgY29u
dGV4dC0+c2V0TGluZURhc2goZGFzaGVzLCBkYXNoT2Zmc2V0KTsKLX0KLQotYm9vbCBTVkdQYWlu
dFNlcnZlcjo6c2V0dXAoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBvYmplY3QsIFNWR1BhaW50VGFyZ2V0VHlwZSB0eXBlLCBib29sIGlzUGFpbnRpbmdUZXh0
KSBjb25zdAotewotICAgIHJldHVybiBzZXR1cChjb250ZXh0LCBvYmplY3QsIG9iamVjdCA/IG9i
amVjdC0+c3R5bGUoKSA6IDAsIHR5cGUsIGlzUGFpbnRpbmdUZXh0KTsKLX0KLQotdm9pZCBTVkdQ
YWludFNlcnZlcjo6ZHJhdyhHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBjb25zdCBSZW5kZXJP
YmplY3QqIHBhdGgsIFNWR1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdAotewotICAgIGlmICgh
c2V0dXAoY29udGV4dCwgcGF0aCwgdHlwZSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHJlbmRl
clBhdGgoY29udGV4dCwgcGF0aCwgdHlwZSk7Ci0gICAgdGVhcmRvd24oY29udGV4dCwgcGF0aCwg
dHlwZSk7Ci19Ci0KLXZvaWQgU1ZHUGFpbnRTZXJ2ZXI6OnJlbmRlclBhdGgoR3JhcGhpY3NDb250
ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBwYXRoLCBTVkdQYWludFRhcmdldFR5
cGUgdHlwZSkgY29uc3QKLXsKLSAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3R5bGUgPSBwYXRo
ID8gcGF0aC0+c3R5bGUoKS0+c3ZnU3R5bGUoKSA6IDA7Ci0KLSAgICBpZiAoKHR5cGUgJiBBcHBs
eVRvRmlsbFRhcmdldFR5cGUpICYmICghc3R5bGUgfHwgc3R5bGUtPmhhc0ZpbGwoKSkpCi0gICAg
ICAgIGNvbnRleHQtPmZpbGxQYXRoKCk7Ci0KLSAgICBpZiAoKHR5cGUgJiBBcHBseVRvU3Ryb2tl
VGFyZ2V0VHlwZSkgJiYgKCFzdHlsZSB8fCBzdHlsZS0+aGFzU3Ryb2tlKCkpKQotICAgICAgICBj
b250ZXh0LT5zdHJva2VQYXRoKCk7Ci19Ci0KLSNpZiBQTEFURk9STShTS0lBKQotdm9pZCBTVkdQ
YWludFNlcnZlcjo6dGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVu
ZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sKSBjb25zdAotewotICAgIC8vIEZJ
WE1FOiBNb3ZlIHRoaXMgaW50byB0aGUgR3JhcGhpY3NDb250ZXh0Ci0gICAgLy8gV2ViS2l0IGlt
cGxpY2l0bHkgZXhwZWN0cyB1cyB0byByZXNldCB0aGUgcGF0aC4KLSAgICAvLyBGb3IgZXhhbXBs
ZSBpbiBmaWxsQW5kU3Ryb2tlUGF0aCgpIG9mIFJlbmRlclBhdGguY3BwIHRoZSBwYXRoIGlzIAot
ICAgIC8vIGFkZGVkIGJhY2sgdG8gdGhlIGNvbnRleHQgYWZ0ZXIgZmlsbGluZy4gVGhpcyBpcyBi
ZWNhdXNlIGludGVybmFsbHkgaXQKLSAgICAvLyBjYWxscyBDR0NvbnRleHRGaWxsUGF0aCgpIHdo
aWNoIGNsb3NlcyB0aGUgcGF0aC4KLSAgICBjb250ZXh0LT5iZWdpblBhdGgoKTsKLSAgICBjb250
ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+c2V0RmlsbFNoYWRlcigwKTsKLSAgICBjb250ZXh0LT5w
bGF0Zm9ybUNvbnRleHQoKS0+c2V0U3Ryb2tlU2hhZGVyKDApOwotfQotI2Vsc2UKLXZvaWQgU1ZH
UGFpbnRTZXJ2ZXI6OnRlYXJkb3duKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmpl
Y3QqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wpIGNvbnN0Ci17Ci19Ci0jZW5kaWYKLQotRGFz
aEFycmF5IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShjb25zdCBSZW5kZXJTdHlsZSogc3R5
bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUpCi17Ci0gICAgRGFzaEFycmF5IGFycmF5OwotICAg
IAotICAgIENTU1ZhbHVlTGlzdCogZGFzaGVzID0gc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZURh
c2hBcnJheSgpOwotICAgIGlmIChkYXNoZXMpIHsKLSAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUq
IGRhc2ggPSAwOwotICAgICAgICB1bnNpZ25lZCBsb25nIGxlbiA9IGRhc2hlcy0+bGVuZ3RoKCk7
Ci0gICAgICAgIGZvciAodW5zaWduZWQgbG9uZyBpID0gMDsgaSA8IGxlbjsgaSsrKSB7Ci0gICAg
ICAgICAgICBkYXNoID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihkYXNoZXMtPml0
ZW1XaXRob3V0Qm91bmRzQ2hlY2soaSkpOwotICAgICAgICAgICAgaWYgKCFkYXNoKQotICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICBhcnJheS5hcHBlbmQoKGZsb2F0KSBk
YXNoLT5jb21wdXRlTGVuZ3RoRmxvYXQoY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KHN0eWxlKSwg
cm9vdFN0eWxlKSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gYXJyYXk7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFw
aGljcy9TVkdQYWludFNlcnZlckdyYWRpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlckdyYWRpZW50LmNwcAkocmV2aXNpb24gNTgwODMpCisr
KyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlckdyYWRpZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwyNzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtv
bGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqICAgICAgICAgICAgICAgMjAw
OCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgotICogICAgICAgICAgICAgICAyMDA4IERp
cmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgi
Ci0KLSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyR3JhZGllbnQuaCIK
LQotI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4
dC5oIgotI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0Lmgi
Ci0jaW5jbHVkZSAiUmVuZGVyVmlldy5oIgotI2luY2x1ZGUgIlNWR0dyYWRpZW50RWxlbWVudC5o
IgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQuaCIKLSNpbmNsdWRlICJT
VkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50LmgiCi0jaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9y
dC5oIgotI2luY2x1ZGUgIlNWR1JlbmRlclRyZWVBc1RleHQuaCIKLQotdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChUZXh0U3RyZWFtJiB0cywgR3JhZGllbnRTcHJlYWRNZXRob2QgbSkKLXsKLSAgICBzd2l0
Y2ggKG0pIHsKLSAgICAgICAgY2FzZSBTcHJlYWRNZXRob2RQYWQ6Ci0gICAgICAgICAgICB0cyA8
PCAiUEFEIjsgYnJlYWs7Ci0gICAgICAgIGNhc2UgU3ByZWFkTWV0aG9kUmVwZWF0OgotICAgICAg
ICAgICAgdHMgPDwgIlJFUEVBVCI7IGJyZWFrOwotICAgICAgICBjYXNlIFNwcmVhZE1ldGhvZFJl
ZmxlY3Q6Ci0gICAgICAgICAgICB0cyA8PCAiUkVGTEVDVCI7IGJyZWFrOwotICAgIH0KLQotICAg
IHJldHVybiB0czsKLX0KLQotc3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVh
bSYgdHMsIGNvbnN0IFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+JiBsKQotewotICAgIHRzIDw8ICJb
IjsKLSAgICBmb3IgKFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+Ojpjb25zdF9pdGVyYXRvciBpdCA9
IGwuYmVnaW4oKTsgaXQgIT0gbC5lbmQoKTsgKytpdCkgewotICAgICAgICB0cyA8PCAiKCIgPDwg
aXQtPmZpcnN0IDw8ICIsIiA8PCBpdC0+c2Vjb25kIDw8ICIpIjsKLSAgICAgICAgaWYgKGl0ICsg
MSAhPSBsLmVuZCgpKQotICAgICAgICAgICAgdHMgPDwgIiwgIjsKLSAgICB9Ci0gICAgdHMgPDwg
Il0iOwotICAgIHJldHVybiB0czsKLX0KLQotU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6U1ZHUGFp
bnRTZXJ2ZXJHcmFkaWVudChjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKQotICAgIDog
bV9ib3VuZGluZ0JveE1vZGUodHJ1ZSkKLSAgICAsIG1fb3duZXJFbGVtZW50KG93bmVyKQotI2lm
IFBMQVRGT1JNKENHKQotICAgICwgbV9zYXZlZENvbnRleHQoMCkKLSAgICAsIG1faW1hZ2VCdWZm
ZXIoMCkKLSNlbmRpZgotewotICAgIEFTU0VSVChvd25lcik7Ci19Ci0KLVNWR1BhaW50U2VydmVy
R3JhZGllbnQ6On5TVkdQYWludFNlcnZlckdyYWRpZW50KCkKLXsKLX0KLQotR3JhZGllbnQqIFNW
R1BhaW50U2VydmVyR3JhZGllbnQ6OmdyYWRpZW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9n
cmFkaWVudC5nZXQoKTsKLX0KLQotdm9pZCBTVkdQYWludFNlcnZlckdyYWRpZW50OjpzZXRHcmFk
aWVudChQYXNzUmVmUHRyPEdyYWRpZW50PiBncmFkaWVudCkKLXsKLSAgICBtX2dyYWRpZW50ID0g
Z3JhZGllbnQ7Ci19Ci0KLWJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6Ym91bmRpbmdCb3hN
b2RlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9ib3VuZGluZ0JveE1vZGU7Ci19Ci0KLXZvaWQg
U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0Qm91bmRpbmdCb3hNb2RlKGJvb2wgbW9kZSkKLXsK
LSAgICBtX2JvdW5kaW5nQm94TW9kZSA9IG1vZGU7Ci19Ci0KLUFmZmluZVRyYW5zZm9ybSBTVkdQ
YWludFNlcnZlckdyYWRpZW50OjpncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fZ3JhZGllbnRUcmFuc2Zvcm07Ci19Ci0KLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVu
dDo6c2V0R3JhZGllbnRUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0p
Ci17Ci0gICAgbV9ncmFkaWVudFRyYW5zZm9ybSA9IHRyYW5zZm9ybTsKLX0KLQotI2lmIFBMQVRG
T1JNKENHKQotc3RhdGljIGlubGluZSBBZmZpbmVUcmFuc2Zvcm0gYWJzb2x1dGVUcmFuc2Zvcm1G
b3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBBZmZpbmVUcmFu
c2Zvcm0gYWJzb2x1dGVUcmFuc2Zvcm07Ci0KLSAgICBjb25zdCBSZW5kZXJPYmplY3QqIGN1cnJl
bnRPYmplY3QgPSBvYmplY3Q7Ci0gICAgd2hpbGUgKGN1cnJlbnRPYmplY3QpIHsKLSAgICAgICAg
YWJzb2x1dGVUcmFuc2Zvcm0gPSBjdXJyZW50T2JqZWN0LT5sb2NhbFRvUGFyZW50VHJhbnNmb3Jt
KCkgKiBhYnNvbHV0ZVRyYW5zZm9ybTsKLSAgICAgICAgY3VycmVudE9iamVjdCA9IGN1cnJlbnRP
YmplY3QtPnBhcmVudCgpOwotICAgIH0KLQotICAgIHJldHVybiBhYnNvbHV0ZVRyYW5zZm9ybTsK
LX0KLQotc3RhdGljIGlubGluZSBib29sIGNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4dEZvclRleHRH
cmFkaWVudCgKLSAgICBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBHcmFwaGljc0NvbnRleHQq
JiBzYXZlZENvbnRleHQsCi0gICAgT3duUHRyPEltYWdlQnVmZmVyPiYgaW1hZ2VCdWZmZXIsIGNv
bnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIGNvbnN0IFJlbmRlck9iamVjdCogdGV4
dFJvb3RCbG9jayA9IGZpbmRUZXh0Um9vdE9iamVjdChvYmplY3QpOwotCi0gICAgQWZmaW5lVHJh
bnNmb3JtIHRyYW5zZm9ybSA9IGFic29sdXRlVHJhbnNmb3JtRm9yUmVuZGVyZXIodGV4dFJvb3RC
bG9jayk7Ci0gICAgRmxvYXRSZWN0IG1hc2tBYnNvbHV0ZUJvdW5kaW5nQm94ID0gdHJhbnNmb3Jt
Lm1hcFJlY3QodGV4dFJvb3RCbG9jay0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7
Ci0KLSAgICBJbnRSZWN0IG1hc2tJbWFnZVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KG1hc2tBYnNv
bHV0ZUJvdW5kaW5nQm94KTsKLSAgICBpZiAobWFza0ltYWdlUmVjdC5pc0VtcHR5KCkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIC8vIEFsbG9jYXRlIGFuIGltYWdlIGJ1ZmZlciBhcyBi
aWcgYXMgdGhlIGFic29sdXRlIHVuY2xpcHBlZCBzaXplIG9mIHRoZSBvYmplY3QKLSAgICBPd25Q
dHI8SW1hZ2VCdWZmZXI+IG1hc2tJbWFnZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUobWFza0ltYWdl
UmVjdC5zaXplKCkpOwotICAgIGlmICghbWFza0ltYWdlKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBHcmFwaGljc0NvbnRleHQqIG1hc2tJbWFnZUNvbnRleHQgPSBtYXNrSW1hZ2UtPmNv
bnRleHQoKTsKLQotICAgIC8vIFRyYW5zZm9ybSB0aGUgbWFzayBpbWFnZSBjb29yZGluYXRlIHN5
c3RlbSB0byBhYnNvbHV0ZSBzY3JlZW4gY29vcmRpbmF0ZXMKLSAgICBtYXNrSW1hZ2VDb250ZXh0
LT50cmFuc2xhdGUoLW1hc2tBYnNvbHV0ZUJvdW5kaW5nQm94LngoKSwgLW1hc2tBYnNvbHV0ZUJv
dW5kaW5nQm94LnkoKSk7Ci0gICAgbWFza0ltYWdlQ29udGV4dC0+Y29uY2F0Q1RNKHRyYW5zZm9y
bSk7Ci0KLSAgICBpbWFnZUJ1ZmZlci5zZXQobWFza0ltYWdlLnJlbGVhc2UoKSk7Ci0gICAgc2F2
ZWRDb250ZXh0ID0gY29udGV4dDsKLSAgICBjb250ZXh0ID0gbWFza0ltYWdlQ29udGV4dDsKLQot
ICAgIHJldHVybiB0cnVlOwotfQotCi1zdGF0aWMgaW5saW5lIEFmZmluZVRyYW5zZm9ybSBjbGlw
VG9UZXh0TWFzayhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsCi0gICAgT3duUHRyPEltYWdlQnVm
ZmVyPiYgaW1hZ2VCdWZmZXIsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LAotICAgIGNvbnN0
IFNWR1BhaW50U2VydmVyR3JhZGllbnQqIGdyYWRpZW50U2VydmVyKQotewotICAgIGNvbnN0IFJl
bmRlck9iamVjdCogdGV4dFJvb3RCbG9jayA9IGZpbmRUZXh0Um9vdE9iamVjdChvYmplY3QpOwot
ICAgIGNvbnRleHQtPmNsaXBUb0ltYWdlQnVmZmVyKHRleHRSb290QmxvY2stPnJlcGFpbnRSZWN0
SW5Mb2NhbENvb3JkaW5hdGVzKCksIGltYWdlQnVmZmVyLmdldCgpKTsKLQotICAgIEFmZmluZVRy
YW5zZm9ybSBtYXRyaXg7Ci0gICAgaWYgKGdyYWRpZW50U2VydmVyLT5ib3VuZGluZ0JveE1vZGUo
KSkgewotICAgICAgICBGbG9hdFJlY3QgbWFza0JvdW5kaW5nQm94ID0gdGV4dFJvb3RCbG9jay0+
b2JqZWN0Qm91bmRpbmdCb3goKTsKLSAgICAgICAgbWF0cml4LnRyYW5zbGF0ZShtYXNrQm91bmRp
bmdCb3gueCgpLCBtYXNrQm91bmRpbmdCb3gueSgpKTsKLSAgICAgICAgbWF0cml4LnNjYWxlTm9u
VW5pZm9ybShtYXNrQm91bmRpbmdCb3gud2lkdGgoKSwgbWFza0JvdW5kaW5nQm94LmhlaWdodCgp
KTsKLSAgICB9Ci0gICAgbWF0cml4Lm11bHRpcGx5KGdyYWRpZW50U2VydmVyLT5ncmFkaWVudFRy
YW5zZm9ybSgpKTsKLSAgICByZXR1cm4gbWF0cml4OwotfQotI2VuZGlmCi0KLWJvb2wgU1ZHUGFp
bnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXAoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3Qg
UmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFJlbmRlclN0eWxlKnN0eWxlLCBTVkdQYWludFRh
cmdldFR5cGUgdHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3QKLXsKLSAgICBtX293bmVy
RWxlbWVudC0+YnVpbGRHcmFkaWVudCgpOwotCi0gICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2
Z1N0eWxlID0gc3R5bGUtPnN2Z1N0eWxlKCk7Ci0gICAgYm9vbCBpc0ZpbGxlZCA9ICh0eXBlICYg
QXBwbHlUb0ZpbGxUYXJnZXRUeXBlKSAmJiBzdmdTdHlsZS0+aGFzRmlsbCgpOwotICAgIGJvb2wg
aXNTdHJva2VkID0gKHR5cGUgJiBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSkgJiYgc3ZnU3R5bGUt
Pmhhc1N0cm9rZSgpOwotCi0gICAgQVNTRVJUKChpc0ZpbGxlZCAmJiAhaXNTdHJva2VkKSB8fCAo
IWlzRmlsbGVkICYmIGlzU3Ryb2tlZCkpOwotCi0gICAgY29udGV4dC0+c2F2ZSgpOwotCi0gICAg
aWYgKGlzUGFpbnRpbmdUZXh0KSB7Ci0jaWYgUExBVEZPUk0oQ0cpCi0gICAgICAgIGlmICghY3Jl
YXRlTWFza0FuZFN3YXBDb250ZXh0Rm9yVGV4dEdyYWRpZW50KGNvbnRleHQsIG1fc2F2ZWRDb250
ZXh0LCBtX2ltYWdlQnVmZmVyLCBvYmplY3QpKSB7Ci0gICAgICAgICAgICBjb250ZXh0LT5yZXN0
b3JlKCk7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSNlbmRpZgotICAg
ICAgICBjb250ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUoaXNGaWxsZWQgPyBjVGV4dEZpbGwgOiBj
VGV4dFN0cm9rZSk7Ci0gICAgfQotCi0gICAgaWYgKGlzRmlsbGVkKSB7Ci0gICAgICAgIGNvbnRl
eHQtPnNldEFscGhhKHN2Z1N0eWxlLT5maWxsT3BhY2l0eSgpKTsKLSAgICAgICAgY29udGV4dC0+
c2V0RmlsbEdyYWRpZW50KG1fZ3JhZGllbnQpOwotICAgICAgICBjb250ZXh0LT5zZXRGaWxsUnVs
ZShzdmdTdHlsZS0+ZmlsbFJ1bGUoKSk7Ci0gICAgfQotICAgIGlmIChpc1N0cm9rZWQpIHsKLSAg
ICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSk7Ci0gICAg
ICAgIGNvbnRleHQtPnNldFN0cm9rZUdyYWRpZW50KG1fZ3JhZGllbnQpOwotICAgICAgICBhcHBs
eVN0cm9rZVN0eWxlVG9Db250ZXh0KGNvbnRleHQsIHN0eWxlLCBvYmplY3QpOwotICAgIH0KLQot
ICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7Ci0gICAgLy8gQ0cgcGxhdGZvcm1zIHdpbGwgaGFu
ZGxlIHRoZSBncmFkaWVudCBzcGFjZSB0cmFuc2Zvcm0gZm9yIHRleHQgaW4KLSAgICAvLyB0ZWFy
ZG93biwgc28gd2UgZG9uJ3QgYXBwbHkgaXQgaGVyZS4gIEZvciBub24tQ0cgcGxhdGZvcm1zLCB3
ZQotICAgIC8vIHdhbnQgdGhlIHRleHQgYm91bmRpbmcgYm94IGFwcGxpZWQgdG8gdGhlIGdyYWRp
ZW50IHNwYWNlIHRyYW5zZm9ybSBub3csCi0gICAgLy8gc28gdGhlIGdyYWRpZW50IHNoYWRlciBj
YW4gdXNlIGl0LgotI2lmIFBMQVRGT1JNKENHKQotICAgIGlmIChib3VuZGluZ0JveE1vZGUoKSAm
JiAhaXNQYWludGluZ1RleHQpIHsKLSNlbHNlCi0gICAgaWYgKGJvdW5kaW5nQm94TW9kZSgpKSB7
Ci0jZW5kaWYKLSAgICAgICAgRmxvYXRSZWN0IGJib3ggPSBvYmplY3QtPm9iamVjdEJvdW5kaW5n
Qm94KCk7Ci0gICAgICAgIG1hdHJpeC50cmFuc2xhdGUoYmJveC54KCksIGJib3gueSgpKTsKLSAg
ICAgICAgbWF0cml4LnNjYWxlTm9uVW5pZm9ybShiYm94LndpZHRoKCksIGJib3guaGVpZ2h0KCkp
OwotICAgIH0KLSAgICBtYXRyaXgubXVsdGlwbHkoZ3JhZGllbnRUcmFuc2Zvcm0oKSk7Ci0gICAg
bV9ncmFkaWVudC0+c2V0R3JhZGllbnRTcGFjZVRyYW5zZm9ybShtYXRyaXgpOwotCi0gICAgcmV0
dXJuIHRydWU7Ci19Ci0KLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6dGVhcmRvd24oR3Jh
cGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIFNWR1Bh
aW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3QKLXsKLSNpZiBQTEFURk9S
TShDRykKLSAgICAvLyByZW5kZXJQYXRoKCkgaXMgbm90IHVzZWQgd2hlbiBwYWludGluZyB0ZXh0
LCBzbyB3ZSBwYWludCB0aGUgZ3JhZGllbnQgZHVyaW5nIHRlYXJkb3duKCkKLSAgICBpZiAoaXNQ
YWludGluZ1RleHQgJiYgbV9zYXZlZENvbnRleHQpIHsKLSAgICAgICAgLy8gUmVzdG9yZSBvbi1z
Y3JlZW4gZHJhd2luZyBjb250ZXh0Ci0gICAgICAgIGNvbnRleHQgPSBtX3NhdmVkQ29udGV4dDsK
LSAgICAgICAgbV9zYXZlZENvbnRleHQgPSAwOwotCi0gICAgICAgIEFmZmluZVRyYW5zZm9ybSBt
YXRyaXggPSBjbGlwVG9UZXh0TWFzayhjb250ZXh0LCBtX2ltYWdlQnVmZmVyLCBvYmplY3QsIHRo
aXMpOwotICAgICAgICBtX2dyYWRpZW50LT5zZXRHcmFkaWVudFNwYWNlVHJhbnNmb3JtKG1hdHJp
eCk7Ci0gICAgICAgIGNvbnRleHQtPnNldEZpbGxHcmFkaWVudChtX2dyYWRpZW50KTsKLSAgICAg
ICAgCi0gICAgICAgIGNvbnN0IFJlbmRlck9iamVjdCogdGV4dFJvb3RCbG9jayA9IGZpbmRUZXh0
Um9vdE9iamVjdChvYmplY3QpOwotICAgICAgICBjb250ZXh0LT5maWxsUmVjdCh0ZXh0Um9vdEJs
b2NrLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKLQotICAgICAgICBtX2ltYWdl
QnVmZmVyLmNsZWFyKCk7Ci0gICAgfQotI2VuZGlmCi0gICAgY29udGV4dC0+cmVzdG9yZSgpOwot
fQotCi1UZXh0U3RyZWFtJiBTVkdQYWludFNlcnZlckdyYWRpZW50OjpleHRlcm5hbFJlcHJlc2Vu
dGF0aW9uKFRleHRTdHJlYW0mIHRzKSBjb25zdAotewotICAgIC8vIEdyYWRpZW50cy9wYXR0ZXJu
cyBhcmVuJ3Qgc2V0dXAsIHVudGlsIHRoZXkgYXJlIHVzZWQgZm9yIHBhaW50aW5nLiBXb3JrIGFy
b3VuZCB0aGF0IGZhY3QuCi0gICAgbV9vd25lckVsZW1lbnQtPmJ1aWxkR3JhZGllbnQoKTsKLQot
ICAgIC8vIGFic3RyYWN0LCBkb24ndCBzdHJlYW0gdHlwZQotICAgIHRzICA8PCAiW3N0b3BzPSIg
PDwgZ3JhZGllbnRTdG9wcygpIDw8ICJdIjsKLSAgICBpZiAobV9ncmFkaWVudC0+c3ByZWFkTWV0
aG9kKCkgIT0gU3ByZWFkTWV0aG9kUGFkKQotICAgICAgICB0cyA8PCAiW21ldGhvZD0iIDw8IG1f
Z3JhZGllbnQtPnNwcmVhZE1ldGhvZCgpIDw8ICJdIjsKLSAgICBpZiAoIWJvdW5kaW5nQm94TW9k
ZSgpKQotICAgICAgICB0cyA8PCAiIFtib3VuZGluZyBib3ggbW9kZT0iIDw8IGJvdW5kaW5nQm94
TW9kZSgpIDw8ICJdIjsKLSAgICBpZiAoIWdyYWRpZW50VHJhbnNmb3JtKCkuaXNJZGVudGl0eSgp
KQotICAgICAgICB0cyA8PCAiIFt0cmFuc2Zvcm09IiA8PCBncmFkaWVudFRyYW5zZm9ybSgpIDw8
ICJdIjsKLQotICAgIHJldHVybiB0czsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyR3JhZGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlckdyYWRp
ZW50LmgJKHJldmlzaW9uIDU4MDgzKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRT
ZXJ2ZXJHcmFkaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDk4ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+
Ci0gKiAgICAgICAgICAgICAgIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVS
LCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIs
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0g
Ki8KLQotI2lmbmRlZiBTVkdQYWludFNlcnZlckdyYWRpZW50X2gKLSNkZWZpbmUgU1ZHUGFpbnRT
ZXJ2ZXJHcmFkaWVudF9oCi0KLSNpZiBFTkFCTEUoU1ZHKQotCi0jaW5jbHVkZSAiQWZmaW5lVHJh
bnNmb3JtLmgiCi0jaW5jbHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlICJHcmFkaWVudC5oIgotI2lu
Y2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCi0K
LSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi0gICAgY2xhc3MgSW1hZ2VCdWZmZXI7Ci0gICAgY2xhc3Mg
U1ZHR3JhZGllbnRFbGVtZW50OwotCi0gICAgdHlwZWRlZiBzdGQ6OnBhaXI8ZmxvYXQsIENvbG9y
PiBTVkdHcmFkaWVudFN0b3A7Ci0KLSAgICBjbGFzcyBTVkdQYWludFNlcnZlckdyYWRpZW50IDog
cHVibGljIFNWR1BhaW50U2VydmVyIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgflNW
R1BhaW50U2VydmVyR3JhZGllbnQoKTsKLQotICAgICAgICB2b2lkIHNldEdyYWRpZW50KFBhc3NS
ZWZQdHI8R3JhZGllbnQ+KTsKLSAgICAgICAgR3JhZGllbnQqIGdyYWRpZW50KCkgY29uc3Q7Ci0K
LSAgICAgICAgLy8gR3JhZGllbnQgc3RhcnQgYW5kIGVuZCBwb2ludHMgYXJlIHBlcmNlbnRhZ2Vz
IHdoZW4gdXNlZCBpbiBib3VuZGluZ0JveCBtb2RlLgotICAgICAgICAvLyBGb3IgaW5zdGFuY2Ug
c3RhcnQgcG9pbnQgd2l0aCB2YWx1ZSAoMCwwKSBpcyB0b3AtbGVmdCBhbmQgZW5kIHBvaW50IHdp
dGgKLSAgICAgICAgLy8gdmFsdWUgKDEwMCwgMTAwKSBpcyBib3R0b20tcmlnaHQuIEJvdW5kaW5n
Qm94IG1vZGUgaXMgZW5hYmxlZCBieSBkZWZhdWx0LgotICAgICAgICBib29sIGJvdW5kaW5nQm94
TW9kZSgpIGNvbnN0OwotICAgICAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9kZShib29sIG1vZGUg
PSB0cnVlKTsKLQotICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gZ3JhZGllbnRUcmFuc2Zvcm0oKSBj
b25zdDsKLSAgICAgICAgdm9pZCBzZXRHcmFkaWVudFRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFu
c2Zvcm0mKTsKLQotICAgICAgICB2b2lkIHNldEdyYWRpZW50U3RvcHMoY29uc3QgVmVjdG9yPFNW
R0dyYWRpZW50U3RvcD4mIHN0b3BzKSB7IG1fc3RvcHMgPSBzdG9wczsgfQotICAgICAgICBjb25z
dCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYgZ3JhZGllbnRTdG9wcygpIGNvbnN0IHsgcmV0dXJu
IG1fc3RvcHM7IH0KLQotICAgICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVz
ZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgYm9vbCBzZXR1
cChHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyU3R5
bGUqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0OwotICAg
ICAgICB2aXJ0dWFsIHZvaWQgdGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRl
ck9iamVjdCosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7
Ci0KLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIFNWR1BhaW50U2VydmVyR3JhZGllbnQoY29uc3Qg
U1ZHR3JhZGllbnRFbGVtZW50KiBvd25lcik7Ci0gICAgICAgIAotICAgIHByaXZhdGU6Ci0gICAg
ICAgIFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+IG1fc3RvcHM7Ci0gICAgICAgIFJlZlB0cjxHcmFk
aWVudD4gbV9ncmFkaWVudDsKLSAgICAgICAgYm9vbCBtX2JvdW5kaW5nQm94TW9kZTsKLSAgICAg
ICAgQWZmaW5lVHJhbnNmb3JtIG1fZ3JhZGllbnRUcmFuc2Zvcm07Ci0gICAgICAgIGNvbnN0IFNW
R0dyYWRpZW50RWxlbWVudCogbV9vd25lckVsZW1lbnQ7Ci0KLSNpZiBQTEFURk9STShDRykKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIG11dGFibGUgR3JhcGhpY3NDb250ZXh0KiBtX3NhdmVkQ29udGV4
dDsKLSAgICAgICAgbXV0YWJsZSBPd25QdHI8SW1hZ2VCdWZmZXI+IG1faW1hZ2VCdWZmZXI7Ci0j
ZW5kaWYKLSAgICB9OwotCi0gICAgaW5saW5lIFNWR0dyYWRpZW50U3RvcCBtYWtlR3JhZGllbnRT
dG9wKGZsb2F0IG9mZnNldCwgY29uc3QgQ29sb3ImIGNvbG9yKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bWFrZV9wYWlyKG9mZnNldCwgY29sb3IpOwotICAgIH0KLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYKLQotI2VuZGlmIC8vIFNWR1BhaW50U2VydmVyR3JhZGllbnRf
aApJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJM
aW5lYXJHcmFkaWVudC5jcHAJKHJldmlzaW9uIDU4MDgzKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEs
NzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4g
PHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYg
RU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50LmgiCi0j
aW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LVNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ6OlNWR1BhaW50U2VydmVyTGluZWFyR3JhZGll
bnQoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBvd25lcikKLSAgICA6IFNWR1BhaW50U2VydmVy
R3JhZGllbnQob3duZXIpCi17IAotfQotCi1TVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50Ojp+
U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudCgpCi17Ci19Ci0KLUZsb2F0UG9pbnQgU1ZHUGFp
bnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6Z3JhZGllbnRTdGFydCgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fc3RhcnQ7Ci19Ci0KLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6c2V0
R3JhZGllbnRTdGFydChjb25zdCBGbG9hdFBvaW50JiBzdGFydCkKLXsKLSAgICBtX3N0YXJ0ID0g
c3RhcnQ7Ci19Ci0KLUZsb2F0UG9pbnQgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6Z3Jh
ZGllbnRFbmQoKSBjb25zdAotewotICAgIHJldHVybiBtX2VuZDsKLX0KLQotdm9pZCBTVkdQYWlu
dFNlcnZlckxpbmVhckdyYWRpZW50OjpzZXRHcmFkaWVudEVuZChjb25zdCBGbG9hdFBvaW50JiBl
bmQpCi17Ci0gICAgbV9lbmQgPSBlbmQ7Ci19Ci0KLVRleHRTdHJlYW0mIFNWR1BhaW50U2VydmVy
TGluZWFyR3JhZGllbnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNv
bnN0Ci17Ci0gICAgdHMgPDwgIlt0eXBlPUxJTkVBUi1HUkFESUVOVF0gIjsKLSAgICBTVkdQYWlu
dFNlcnZlckdyYWRpZW50OjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKHRzKTsKLSAgICB0cyAgPDwg
IiBbc3RhcnQ9IiA8PCBncmFkaWVudFN0YXJ0KCkgPDwgIl0iCi0gICAgICAgIDw8ICIgW2VuZD0i
IDw8IGdyYWRpZW50RW5kKCkgPDwgIl0iOwotICAgIHJldHVybiB0czsKLX0KLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Bh
aW50U2VydmVyTGluZWFyR3JhZGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFw
aGljcy9TVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50LmgJKHJldmlzaW9uIDU4MDgzKQorKysg
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlr
b2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Ci0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgU1ZH
UGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudF9oCi0jZGVmaW5lIFNWR1BhaW50U2VydmVyTGluZWFy
R3JhZGllbnRfaAotCi0jaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIK
LSNpbmNsdWRlICJTVkdQYWludFNlcnZlckdyYWRpZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotICAgIGNsYXNzIFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQgOiBwdWJsaWMgU1ZH
UGFpbnRTZXJ2ZXJHcmFkaWVudCB7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50PiBjcmVhdGUoY29uc3QgU1ZHR3JhZGll
bnRFbGVtZW50KiBvd25lcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhaW50U2VydmVyTGlu
ZWFyR3JhZGllbnQob3duZXIpKTsgfQotICAgICAgICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlckxp
bmVhckdyYWRpZW50KCk7Ci0KLSAgICAgICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5cGUgdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIExpbmVhckdyYWRpZW50UGFpbnRTZXJ2ZXI7IH0KLQotICAgICAg
ICBGbG9hdFBvaW50IGdyYWRpZW50U3RhcnQoKSBjb25zdDsKLSAgICAgICAgdm9pZCBzZXRHcmFk
aWVudFN0YXJ0KGNvbnN0IEZsb2F0UG9pbnQmKTsKLQotICAgICAgICBGbG9hdFBvaW50IGdyYWRp
ZW50RW5kKCkgY29uc3Q7Ci0gICAgICAgIHZvaWQgc2V0R3JhZGllbnRFbmQoY29uc3QgRmxvYXRQ
b2ludCYpOwotCi0gICAgICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRh
dGlvbihUZXh0U3RyZWFtJikgY29uc3Q7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTVkdQYWlu
dFNlcnZlckxpbmVhckdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpOwot
Ci0gICAgICAgIEZsb2F0UG9pbnQgbV9zdGFydDsKLSAgICAgICAgRmxvYXRQb2ludCBtX2VuZDsK
LSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgotCi0jZW5kaWYgLy8g
U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudF9oCkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdQYWludFNlcnZlclBhdHRlcm4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR1BhaW50U2VydmVyUGF0dGVybi5jcHAJKHJldmlzaW9uIDU4MDgzKQorKysgV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSwxODMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFpp
bW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqICAgICAgICAgICAgICAgMjAwOCBEaXJr
IFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
Ci0jaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlclBhdHRlcm4uaCIKLQot
I2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5o
IgotI2luY2x1ZGUgIkltYWdlLmgiCi0jaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRl
ICJQYXR0ZXJuLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiU1ZHUGF0
dGVybkVsZW1lbnQuaCIKLSNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCi0KLXVzaW5n
IG5hbWVzcGFjZSBzdGQ7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotU1ZHUGFpbnRTZXJ2ZXJQ
YXR0ZXJuOjpTVkdQYWludFNlcnZlclBhdHRlcm4oY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIG93
bmVyKQotICAgIDogbV9vd25lckVsZW1lbnQob3duZXIpCi0gICAgLCBtX3BhdHRlcm4oMCkKLXsK
LSAgICBBU1NFUlQob3duZXIpOwotfQotCi1TVkdQYWludFNlcnZlclBhdHRlcm46On5TVkdQYWlu
dFNlcnZlclBhdHRlcm4oKQotewotfQotCi1GbG9hdFJlY3QgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJu
OjpwYXR0ZXJuQm91bmRhcmllcygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcGF0dGVybkJvdW5k
YXJpZXM7Ci19Ci0KLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpzZXRQYXR0ZXJuQm91bmRh
cmllcyhjb25zdCBGbG9hdFJlY3QmIHJlY3QpCi17Ci0gICAgbV9wYXR0ZXJuQm91bmRhcmllcyA9
IHJlY3Q7Ci19Ci0KLUltYWdlQnVmZmVyKiBTVkdQYWludFNlcnZlclBhdHRlcm46OnRpbGUoKSBj
b25zdAotewotICAgIHJldHVybiBtX3RpbGUuZ2V0KCk7Ci19Ci0KLXZvaWQgU1ZHUGFpbnRTZXJ2
ZXJQYXR0ZXJuOjpzZXRUaWxlKFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGUpCi17Ci0gICAg
bV90aWxlID0gdGlsZTsKLX0KLQotQWZmaW5lVHJhbnNmb3JtIFNWR1BhaW50U2VydmVyUGF0dGVy
bjo6cGF0dGVyblRyYW5zZm9ybSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcGF0dGVyblRyYW5z
Zm9ybTsKLX0KLQotdm9pZCBTVkdQYWludFNlcnZlclBhdHRlcm46OnNldFBhdHRlcm5UcmFuc2Zv
cm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCi17Ci0gICAgbV9wYXR0ZXJuVHJh
bnNmb3JtID0gdHJhbnNmb3JtOwotfQotCi1UZXh0U3RyZWFtJiBTVkdQYWludFNlcnZlclBhdHRl
cm46OmV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Ci17Ci0gICAg
Ly8gR3JhZGllbnRzL3BhdHRlcm5zIGFyZW4ndCBzZXR1cCwgdW50aWwgdGhleSBhcmUgdXNlZCBm
b3IgcGFpbnRpbmcuIFdvcmsgYXJvdW5kIHRoYXQgZmFjdC4KLSAgICBtX293bmVyRWxlbWVudC0+
YnVpbGRQYXR0ZXJuKEZsb2F0UmVjdCgwLjBmLCAwLjBmLCAxLjBmLCAxLjBmKSk7Ci0KLSAgICB0
cyA8PCAiW3R5cGU9UEFUVEVSTl0iCi0gICAgICAgIDw8ICIgW2Jib3g9IiA8PCBwYXR0ZXJuQm91
bmRhcmllcygpIDw8ICJdIjsKLSAgICBpZiAoIXBhdHRlcm5UcmFuc2Zvcm0oKS5pc0lkZW50aXR5
KCkpCi0gICAgICAgIHRzIDw8ICIgW3BhdHRlcm4gdHJhbnNmb3JtPSIgPDwgcGF0dGVyblRyYW5z
Zm9ybSgpIDw8ICJdIjsKLSAgICByZXR1cm4gdHM7Ci19Ci0KLWJvb2wgU1ZHUGFpbnRTZXJ2ZXJQ
YXR0ZXJuOjpzZXR1cChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBjb25zdCBSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBTVkdQYWludFRhcmdldFR5cGUg
dHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3QKLXsKLSAgICBGbG9hdFJlY3QgdGFyZ2V0
UmVjdCA9IG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKTsKLQotICAgIGNvbnN0IFNWR1JlbmRl
clN0eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5zdmdTdHlsZSgpOwotICAgIGJvb2wgaXNGaWxsZWQg
PSAodHlwZSAmIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSkgJiYgc3ZnU3R5bGUtPmhhc0ZpbGwoKTsK
LSAgICBib29sIGlzU3Ryb2tlZCA9ICh0eXBlICYgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUpICYm
IHN2Z1N0eWxlLT5oYXNTdHJva2UoKTsKLQotICAgIEFTU0VSVCgoaXNGaWxsZWQgJiYgIWlzU3Ry
b2tlZCkgfHwgKCFpc0ZpbGxlZCAmJiBpc1N0cm9rZWQpKTsKLQotICAgIG1fb3duZXJFbGVtZW50
LT5idWlsZFBhdHRlcm4odGFyZ2V0UmVjdCk7Ci0gICAgaWYgKCF0aWxlKCkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIGNvbnRleHQtPnNhdmUoKTsKLQotICAgIEFTU0VSVCghbV9wYXR0
ZXJuKTsKLQotICAgIEludFJlY3QgdGlsZVJlY3QgPSB0aWxlKCktPmltYWdlKCktPnJlY3QoKTsK
LSAgICBpZiAodGlsZVJlY3Qud2lkdGgoKSA+IHBhdHRlcm5Cb3VuZGFyaWVzKCkud2lkdGgoKSB8
fCB0aWxlUmVjdC5oZWlnaHQoKSA+IHBhdHRlcm5Cb3VuZGFyaWVzKCkuaGVpZ2h0KCkpIHsKLSAg
ICAgICAgLy8gRHJhdyB0aGUgZmlyc3QgY2VsbCBvZiB0aGUgcGF0dGVybiBtYW51YWxseSB0byBz
dXBwb3J0IG92ZXJmbG93PSJ2aXNpYmxlIiBvbiBhbGwgcGxhdGZvcm1zLgotICAgICAgICBpbnQg
dGlsZVdpZHRoID0gc3RhdGljX2Nhc3Q8aW50PihwYXR0ZXJuQm91bmRhcmllcygpLndpZHRoKCkg
KyAwLjVmKTsKLSAgICAgICAgaW50IHRpbGVIZWlnaHQgPSBzdGF0aWNfY2FzdDxpbnQ+KHBhdHRl
cm5Cb3VuZGFyaWVzKCkuaGVpZ2h0KCkgKyAwLjVmKTsKLSAgICAgICAgT3duUHRyPEltYWdlQnVm
ZmVyPiB0aWxlSW1hZ2UgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKEludFNpemUodGlsZVdpZHRoLCB0
aWxlSGVpZ2h0KSk7Ci0gIAotICAgICAgICBHcmFwaGljc0NvbnRleHQqIHRpbGVJbWFnZUNvbnRl
eHQgPSB0aWxlSW1hZ2UtPmNvbnRleHQoKTsKLQotICAgICAgICBpbnQgbnVtWSA9IHN0YXRpY19j
YXN0PGludD4oY2VpbGYodGlsZVJlY3QuaGVpZ2h0KCkgLyB0aWxlSGVpZ2h0KSkgKyAxOwotICAg
ICAgICBpbnQgbnVtWCA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYodGlsZVJlY3Qud2lkdGgoKSAv
IHRpbGVXaWR0aCkpICsgMTsKLQotICAgICAgICB0aWxlSW1hZ2VDb250ZXh0LT5zYXZlKCk7Ci0g
ICAgICAgIHRpbGVJbWFnZUNvbnRleHQtPnRyYW5zbGF0ZSgtcGF0dGVybkJvdW5kYXJpZXMoKS53
aWR0aCgpICogbnVtWCwgLXBhdHRlcm5Cb3VuZGFyaWVzKCkuaGVpZ2h0KCkgKiBudW1ZKTsKLSAg
ICAgICAgZm9yIChpbnQgaSA9IG51bVk7IGkgPiAwOyBpLS0pIHsKLSAgICAgICAgICAgIHRpbGVJ
bWFnZUNvbnRleHQtPnRyYW5zbGF0ZSgwLCBwYXR0ZXJuQm91bmRhcmllcygpLmhlaWdodCgpKTsK
LSAgICAgICAgICAgIGZvciAoaW50IGogPSBudW1YOyBqID4gMDsgai0tKSB7Ci0gICAgICAgICAg
ICAgICAgdGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzKCkud2lk
dGgoKSwgMCk7Ci0gICAgICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4dC0+ZHJhd0ltYWdlKHRp
bGUoKS0+aW1hZ2UoKSwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgdGlsZVJlY3QsIHRpbGVSZWN0KTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRpbGVJbWFnZUNvbnRleHQtPnRyYW5zbGF0ZSgt
cGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpICogbnVtWCwgMCk7Ci0gICAgICAgIH0KLSAgICAg
ICAgdGlsZUltYWdlQ29udGV4dC0+cmVzdG9yZSgpOwotCi0gICAgICAgIG1fcGF0dGVybiA9IFBh
dHRlcm46OmNyZWF0ZSh0aWxlSW1hZ2UtPmltYWdlKCksIHRydWUsIHRydWUpOwotICAgIH0KLSAg
ICBlbHNlCi0gICAgICAgIG1fcGF0dGVybiA9IFBhdHRlcm46OmNyZWF0ZSh0aWxlKCktPmltYWdl
KCksIHRydWUsIHRydWUpOwotCi0gICAgaWYgKGlzRmlsbGVkKSB7Ci0gICAgICAgIGNvbnRleHQt
PnNldEFscGhhKHN2Z1N0eWxlLT5maWxsT3BhY2l0eSgpKTsKLSAgICAgICAgY29udGV4dC0+c2V0
RmlsbFBhdHRlcm4obV9wYXR0ZXJuKTsKLSAgICAgICAgY29udGV4dC0+c2V0RmlsbFJ1bGUoc3Zn
U3R5bGUtPmZpbGxSdWxlKCkpOwotICAgIH0KLSAgICBpZiAoaXNTdHJva2VkKSB7Ci0gICAgICAg
IGNvbnRleHQtPnNldEFscGhhKHN2Z1N0eWxlLT5zdHJva2VPcGFjaXR5KCkpOwotICAgICAgICBj
b250ZXh0LT5zZXRTdHJva2VQYXR0ZXJuKG1fcGF0dGVybik7Ci0gICAgICAgIGFwcGx5U3Ryb2tl
U3R5bGVUb0NvbnRleHQoY29udGV4dCwgc3R5bGUsIG9iamVjdCk7Ci0gICAgfQotCi0gICAgQWZm
aW5lVHJhbnNmb3JtIG1hdHJpeDsKLSAgICBtYXRyaXgudHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFy
aWVzKCkueCgpLCBwYXR0ZXJuQm91bmRhcmllcygpLnkoKSk7Ci0gICAgbWF0cml4Lm11bHRpcGx5
KHBhdHRlcm5UcmFuc2Zvcm0oKSk7Ci0gICAgbV9wYXR0ZXJuLT5zZXRQYXR0ZXJuU3BhY2VUcmFu
c2Zvcm0obWF0cml4KTsKLQotICAgIGlmIChpc1BhaW50aW5nVGV4dCkgewotICAgICAgICBjb250
ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUoaXNGaWxsZWQgPyBjVGV4dEZpbGwgOiBjVGV4dFN0cm9r
ZSk7Ci0jaWYgUExBVEZPUk0oQ0cpCi0gICAgICAgIGlmIChpc0ZpbGxlZCkKLSAgICAgICAgICAg
IGNvbnRleHQtPmFwcGx5RmlsbFBhdHRlcm4oKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
Y29udGV4dC0+YXBwbHlTdHJva2VQYXR0ZXJuKCk7Ci0jZW5kaWYKLSAgICB9Ci0KLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQotdm9pZCBTVkdQYWludFNlcnZlclBhdHRlcm46OnRlYXJkb3duKEdyYXBo
aWNzQ29udGV4dComIGNvbnRleHQsIGNvbnN0IFJlbmRlck9iamVjdCosIFNWR1BhaW50VGFyZ2V0
VHlwZSwgYm9vbCkgY29uc3QKLXsKLSAgICBtX3BhdHRlcm4gPSAwOwotCi0gICAgY29udGV4dC0+
cmVzdG9yZSgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpJbmRleDog
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmgJKHJldmlzaW9u
IDU4MDgzKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEsODUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
NiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRl
ZiBTVkdQYWludFNlcnZlclBhdHRlcm5faAotI2RlZmluZSBTVkdQYWludFNlcnZlclBhdHRlcm5f
aAotCi0jaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgotI2lu
Y2x1ZGUgIkZsb2F0UmVjdC5oIgotI2luY2x1ZGUgIlBhdHRlcm4uaCIKLSNpbmNsdWRlICJTVkdQ
YWludFNlcnZlci5oIgotCi0jaW5jbHVkZSA8bWVtb3J5PgotCi0jaW5jbHVkZSA8d3RmL093blB0
ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKLSAgICBjbGFzcyBJbWFnZUJ1ZmZlcjsKLSAg
ICBjbGFzcyBTVkdQYXR0ZXJuRWxlbWVudDsKLQotICAgIGNsYXNzIFNWR1BhaW50U2VydmVyUGF0
dGVybiA6IHB1YmxpYyBTVkdQYWludFNlcnZlciB7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxTVkdQYWludFNlcnZlclBhdHRlcm4+IGNyZWF0ZShjb25zdCBTVkdQYXR0
ZXJuRWxlbWVudCogb3duZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZlclBh
dHRlcm4ob3duZXIpKTsgfQotCi0gICAgICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyUGF0dGVy
bigpOwotCi0gICAgICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7
IHJldHVybiBQYXR0ZXJuUGFpbnRTZXJ2ZXI7IH0KLQotICAgICAgICAvLyBQYXR0ZXJuIGJvdW5k
YXJpZXMKLSAgICAgICAgdm9pZCBzZXRQYXR0ZXJuQm91bmRhcmllcyhjb25zdCBGbG9hdFJlY3Qm
KTsKLSAgICAgICAgRmxvYXRSZWN0IHBhdHRlcm5Cb3VuZGFyaWVzKCkgY29uc3Q7Ci0KLSAgICAg
ICAgSW1hZ2VCdWZmZXIqIHRpbGUoKSBjb25zdDsKLSAgICAgICAgdm9pZCBzZXRUaWxlKFBhc3NP
d25QdHI8SW1hZ2VCdWZmZXI+KTsKLQotICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRy
YW5zZm9ybSgpIGNvbnN0OwotICAgICAgICB2b2lkIHNldFBhdHRlcm5UcmFuc2Zvcm0oY29uc3Qg
QWZmaW5lVHJhbnNmb3JtJik7Ci0KLSAgICAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5h
bFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKLQotICAgICAgICB2aXJ0dWFsIGJv
b2wgc2V0dXAoR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIGNvbnN0IFJl
bmRlclN0eWxlKiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sIGlzUGFpbnRpbmdUZXh0KSBjb25z
dDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHRlYXJkb3duKEdyYXBoaWNzQ29udGV4dComLCBjb25z
dCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQp
IGNvbnN0OwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKGNv
bnN0IFNWR1BhdHRlcm5FbGVtZW50Kik7Ci0gICAgICAgIAotICAgICAgICBPd25QdHI8SW1hZ2VC
dWZmZXI+IG1fdGlsZTsKLSAgICAgICAgY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIG1fb3duZXJF
bGVtZW50OwotICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gbV9wYXR0ZXJuVHJhbnNmb3JtOwotICAg
ICAgICBGbG9hdFJlY3QgbV9wYXR0ZXJuQm91bmRhcmllczsKLQotICAgICAgICBtdXRhYmxlIFJl
ZlB0cjxQYXR0ZXJuPiBtX3BhdHRlcm47Ci0gICAgfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYKLQotI2VuZGlmIC8vIFNWR1BhaW50U2VydmVyUGF0dGVybl9oCkluZGV4OiBX
ZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlclJhZGlhbEdyYWRp
ZW50LmNwcAkocmV2aXNpb24gNTgwODMpCisrKyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWlu
dFNlcnZlclJhZGlhbEdyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw4NyArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFu
bkBrZGUub3JnPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoU1ZH
KQotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQuaCIKLSNpbmNsdWRlICJT
VkdSZW5kZXJUcmVlQXNUZXh0LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotU1ZHUGFpbnRT
ZXJ2ZXJSYWRpYWxHcmFkaWVudDo6U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudChjb25zdCBT
VkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKQotICAgIDogU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudChv
d25lcikKLSAgICAsIG1fcmFkaXVzKDAuMGYpCi17Ci19Ci0KLVNWR1BhaW50U2VydmVyUmFkaWFs
R3JhZGllbnQ6On5TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50KCkKLXsKLX0KLQotCi1GbG9h
dFBvaW50IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OmdyYWRpZW50Q2VudGVyKCkgY29u
c3QKLXsKLSAgICByZXR1cm4gbV9jZW50ZXI7Ci19Ci0KLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRp
YWxHcmFkaWVudDo6c2V0R3JhZGllbnRDZW50ZXIoY29uc3QgRmxvYXRQb2ludCYgY2VudGVyKQot
ewotICAgIG1fY2VudGVyID0gY2VudGVyOwotfQotCi1GbG9hdFBvaW50IFNWR1BhaW50U2VydmVy
UmFkaWFsR3JhZGllbnQ6OmdyYWRpZW50Rm9jYWwoKSBjb25zdAotewotICAgIHJldHVybiBtX2Zv
Y2FsOwotfQotCi12b2lkIFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OnNldEdyYWRpZW50
Rm9jYWwoY29uc3QgRmxvYXRQb2ludCYgZm9jYWwpCi17Ci0gICAgbV9mb2NhbCA9IGZvY2FsOwot
fQotCi1mbG9hdCBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpncmFkaWVudFJhZGl1cygp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcmFkaXVzOwotfQotCi12b2lkIFNWR1BhaW50U2VydmVy
UmFkaWFsR3JhZGllbnQ6OnNldEdyYWRpZW50UmFkaXVzKGZsb2F0IHJhZGl1cykKLXsKLSAgICBt
X3JhZGl1cyA9IHJhZGl1czsKLX0KLQotVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxH
cmFkaWVudDo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKLXsK
LSAgICB0cyA8PCAiW3R5cGU9UkFESUFMLUdSQURJRU5UXSAiOwotICAgIFNWR1BhaW50U2VydmVy
R3JhZGllbnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24odHMpOwotICAgIHRzIDw8ICIgW2NlbnRl
cj0iIDw8IGdyYWRpZW50Q2VudGVyKCkgPDwgIl0iCi0gICAgICAgIDw8ICIgW2ZvY2FsPSIgPDwg
Z3JhZGllbnRGb2NhbCgpIDw8ICJdIgotICAgICAgICA8PCAiIFtyYWRpdXM9IiA8PCBncmFkaWVu
dFJhZGl1cygpIDw8ICJdIjsKLSAgICByZXR1cm4gdHM7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmCkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZl
clJhZGlhbEdyYWRpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
UGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudC5oCShyZXZpc2lvbiA1ODA4MykKKysrIFdlYkNvcmUv
c3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMSw2NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIFNWR1BhaW50U2Vy
dmVyUmFkaWFsR3JhZGllbnRfaAotI2RlZmluZSBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50
X2gKLQotI2lmIEVOQUJMRShTVkcpCi0KLSNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVk
ZSAiU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLSAg
ICBjbGFzcyBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50IDogcHVibGljIFNWR1BhaW50U2Vy
dmVyR3JhZGllbnQgewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZH
UGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudD4gY3JlYXRlKGNvbnN0IFNWR0dyYWRpZW50RWxlbWVu
dCogb3duZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRp
ZW50KG93bmVyKSk7IH0KLSAgICAgICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFk
aWVudCgpOwotCi0gICAgICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25z
dCB7IHJldHVybiBSYWRpYWxHcmFkaWVudFBhaW50U2VydmVyOyB9Ci0KLSAgICAgICAgRmxvYXRQ
b2ludCBncmFkaWVudENlbnRlcigpIGNvbnN0OwotICAgICAgICB2b2lkIHNldEdyYWRpZW50Q2Vu
dGVyKGNvbnN0IEZsb2F0UG9pbnQmKTsKLQotICAgICAgICBGbG9hdFBvaW50IGdyYWRpZW50Rm9j
YWwoKSBjb25zdDsKLSAgICAgICAgdm9pZCBzZXRHcmFkaWVudEZvY2FsKGNvbnN0IEZsb2F0UG9p
bnQmKTsKLQotICAgICAgICBmbG9hdCBncmFkaWVudFJhZGl1cygpIGNvbnN0OwotICAgICAgICB2
b2lkIHNldEdyYWRpZW50UmFkaXVzKGZsb2F0KTsKLQotICAgICAgICB2aXJ0dWFsIFRleHRTdHJl
YW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OwotCi0gICAgcHJp
dmF0ZToKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudChjb25zdCBTVkdHcmFk
aWVudEVsZW1lbnQqIG93bmVyKTsKLQotICAgICAgICBmbG9hdCBtX3JhZGl1czsKLSAgICAgICAg
RmxvYXRQb2ludCBtX2NlbnRlcjsKLSAgICAgICAgRmxvYXRQb2ludCBtX2ZvY2FsOwotICAgIH07
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCi0KLSNlbmRpZiAvLyBTVkdQYWlu
dFNlcnZlclJhZGlhbEdyYWRpZW50X2gKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Bh
aW50U2VydmVyU29saWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R1BhaW50U2VydmVyU29saWQuY3BwCShyZXZpc2lvbiA1ODA4MykKKysrIFdlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR1BhaW50U2VydmVyU29saWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDkzICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1t
ZXJtYW5uQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDggRGlyayBTY2h1bHplIDxrcml0
QHdlYmtpdC5vcmc+Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShT
VkcpCi0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXJTb2xpZC5oIgotCi0jaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiUmVuZGVyUGF0aC5oIgotI2luY2x1ZGUgIlNWR1JlbmRl
clRyZWVBc1RleHQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1TVkdQYWludFNlcnZlclNv
bGlkOjpTVkdQYWludFNlcnZlclNvbGlkKCkKLXsKLX0KLQotU1ZHUGFpbnRTZXJ2ZXJTb2xpZDo6
flNWR1BhaW50U2VydmVyU29saWQoKQotewotfQotCi1Db2xvciBTVkdQYWludFNlcnZlclNvbGlk
Ojpjb2xvcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fY29sb3I7Ci19Ci0KLXZvaWQgU1ZHUGFp
bnRTZXJ2ZXJTb2xpZDo6c2V0Q29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQotewotICAgIG1fY29s
b3IgPSBjb2xvcjsKLX0KLQotVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJTb2xpZDo6ZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKLXsKLSAgICB0cyA8PCAiW3R5
cGU9U09MSURdIgotICAgICAgICA8PCAiIFtjb2xvcj0iPDwgY29sb3IoKSA8PCAiXSI7Ci0gICAg
cmV0dXJuIHRzOwotfQotCi1ib29sIFNWR1BhaW50U2VydmVyU29saWQ6OnNldHVwKEdyYXBoaWNz
Q29udGV4dComIGNvbnRleHQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBSZW5k
ZXJTdHlsZSogc3R5bGUsIFNWR1BhaW50VGFyZ2V0VHlwZSB0eXBlLCBib29sIGlzUGFpbnRpbmdU
ZXh0KSBjb25zdAotewotICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IHN0eWxl
ID8gc3R5bGUtPnN2Z1N0eWxlKCkgOiAwOwotICAgIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9IHN0
eWxlID8gc3R5bGUtPmNvbG9yU3BhY2UoKSA6IERldmljZUNvbG9yU3BhY2U7Ci0KLSAgICBpZiAo
KHR5cGUgJiBBcHBseVRvRmlsbFRhcmdldFR5cGUpICYmICghc3R5bGUgfHwgc3ZnU3R5bGUtPmhh
c0ZpbGwoKSkpIHsKLSAgICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3R5bGUgPyBzdmdTdHlsZS0+
ZmlsbE9wYWNpdHkoKSA6IDEpOwotICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoY29sb3Io
KS5yZ2IoKSwgY29sb3JTcGFjZSk7Ci0gICAgICAgIGNvbnRleHQtPnNldEZpbGxSdWxlKHN0eWxl
ID8gc3ZnU3R5bGUtPmZpbGxSdWxlKCkgOiBSVUxFX05PTlpFUk8pOwotCi0gICAgICAgIGlmIChp
c1BhaW50aW5nVGV4dCkKLSAgICAgICAgICAgIGNvbnRleHQtPnNldFRleHREcmF3aW5nTW9kZShj
VGV4dEZpbGwpOwotICAgIH0KLQotICAgIGlmICgodHlwZSAmIEFwcGx5VG9TdHJva2VUYXJnZXRU
eXBlKSAmJiAoIXN0eWxlIHx8IHN2Z1N0eWxlLT5oYXNTdHJva2UoKSkpIHsKLSAgICAgICAgY29u
dGV4dC0+c2V0QWxwaGEoc3R5bGUgPyBzdmdTdHlsZS0+c3Ryb2tlT3BhY2l0eSgpIDogMSk7Ci0g
ICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKGNvbG9yKCkucmdiKCksIGNvbG9yU3BhY2Up
OwotCi0gICAgICAgIGlmIChzdHlsZSkKLSAgICAgICAgICAgIGFwcGx5U3Ryb2tlU3R5bGVUb0Nv
bnRleHQoY29udGV4dCwgc3R5bGUsIG9iamVjdCk7Ci0KLSAgICAgICAgaWYgKGlzUGFpbnRpbmdU
ZXh0KQotICAgICAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKGNUZXh0U3Ryb2tl
KTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyU29s
aWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlclNv
bGlkLmgJKHJldmlzaW9uIDU4MDgzKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRT
ZXJ2ZXJTb2xpZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Ci0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAot
ICovCi0KLSNpZm5kZWYgU1ZHUGFpbnRTZXJ2ZXJTb2xpZF9oCi0jZGVmaW5lIFNWR1BhaW50U2Vy
dmVyU29saWRfaAotCi0jaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUgIkNvbG9yLmgiCi0jaW5j
bHVkZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0gICAgY2xh
c3MgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCA6IHB1YmxpYyBTVkdQYWludFNlcnZlciB7Ci0gICAgcHVi
bGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWludFNlcnZlclNvbGlkPiBjcmVh
dGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCk7IH0KLSAgICAg
ICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJTb2xpZCgpOwotCi0gICAgICAgIHZpcnR1YWwgU1ZH
UGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBTb2xpZFBhaW50U2VydmVyOyB9
Ci0KLSAgICAgICAgQ29sb3IgY29sb3IoKSBjb25zdDsKLSAgICAgICAgdm9pZCBzZXRDb2xvcihj
b25zdCBDb2xvciYpOwotCi0gICAgICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7Ci0KLSAgICAgICAgdmlydHVhbCBib29sIHNl
dHVwKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJT
dHlsZSosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7Ci0K
LSAgICBwcml2YXRlOgotICAgICAgICBTVkdQYWludFNlcnZlclNvbGlkKCk7Ci0KLSAgICAgICAg
Q29sb3IgbV9jb2xvcjsKLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZgotCi0jZW5kaWYgLy8gU1ZHUGFpbnRTZXJ2ZXJTb2xpZF9oCkluZGV4OiBXZWJDb3JlL3N2Zy9n
cmFwaGljcy9TVkdSZXNvdXJjZUxpc3RlbmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo=
</data>
<flag name="review"
          id="37916"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54062</attachid>
            <date>2010-04-22 08:55:54 -0700</date>
            <delta_ts>2010-04-23 00:52:28 -0700</delta_ts>
            <desc>LayoutTests changes</desc>
            <filename>LayoutTests.diff</filename>
            <type>text/plain</type>
            <size>1036623</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU4MDk3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTI5IEBACisyMDEwLTA0LTIyICBOaWtvbGFzIFppbW1lcm1h
bm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNWR1BhaW50U2VydmVyIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0
byB0aGUgbmV3IFJlbmRlclNWR1Jlc291cmNlKiBzeXN0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3OTg2CisKKyAgICAgICAgUmViYXNlbGluZSBT
VkcgdGVzdHMsIGFmdGVyIHRoZSBSZW5kZXJTVkdSZXNvdXJjZSB0cmFuc2l0aW9uLiBFdmVyeSBs
YXlvdXQgdGVzdAorICAgICAgICB1c2luZyBncmFkaWVudC9wYXR0ZXJucyB3aWxsIG5lZWQgdG8g
YmUgdXBkYXRlZCAoc29ycnkgQ2hyb21pdW0gZ3V5cyA6LSkKKworICAgICAgICAqIHBsYXRmb3Jt
L21hYy9zdmcvVzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVtLTMxLXQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVtLTc4LXQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvY29sb3It
cHJvcC0wMS1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1T
VkctMS4xL2Nvb3Jkcy11bml0cy0wMS1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtY29sb3ItMDEtYi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWNvbXB0cmFuLTAx
LWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEv
bWFza2luZy1tYXNrLTAxLWItZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9XM0MtU1ZHLTEuMS9tYXNraW5nLW1hc2stMDEtYi1leHBlY3RlZC5wbmc6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9tYXNraW5nLW1hc2stMDEtYi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wYWludGlu
Zy1yZW5kZXItMDEtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9X
M0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTAxLWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wMi1iLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQt
MDMtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEu
MS9wc2VydmVycy1ncmFkLTA0LWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wNS1iLWV4cGVjdGVkLmNoZWNrc3VtOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wNS1i
LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3Bz
ZXJ2ZXJzLWdyYWQtMDUtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2
Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTA2LWItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wNy1iLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdy
YWQtMDgtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS9wc2VydmVycy1ncmFkLTA5LWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0xMC1iLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTEtYi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2Vy
dmVycy1ncmFkLTEyLWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcv
VzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0xMy1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTQtYi1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFk
LTE1LWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0x
LjEvcHNlcnZlcnMtZ3JhZC0xNi1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTctYi1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTE4LWItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZl
cnMtZ3JhZC0xOS1iLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9z
dmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0xOS1iLWV4cGVjdGVkLnBuZzoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTktYi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1w
YXR0ZXJuLTAxLWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzND
LVNWRy0xLjEvc3RydWN0LWdyb3VwLTAzLXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvc3RydWN0LXVzZS0wNS1iLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3N0eWxpbmctaW5oZXJpdC0wMS1i
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL2ZpbHRlcnMv
ZmVUaWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL21h
c2tpbmcvbWFza1JlZ2lvbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9z
dmcvYmF0aWsvcGFpbnRzL2dyYWRpZW50TGltaXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9zdmcvYmF0aWsvcGFpbnRzL3BhdHRlcm5QcmVzZXJ2ZUFzcGVjdFJhdGlvQS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay9wYWludHMvcGF0
dGVyblJlZ2lvbkEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvYmF0
aWsvcGFpbnRzL3BhdHRlcm5SZWdpb25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdDMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGll
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jYXJ0by5uZXQvY29s
b3VycGlja2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2NhcnRv
Lm5ldC90YWJncm91cC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9j
c3MvY2lyY2xlLWluLW1hc2std2l0aC1zaGFkb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9zdmcvY3NzL21hc2std2l0aC1zaGFkb3ctZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2RlZXAtZHluYW1pYy11cGRhdGVzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9kb21pbmFudC1iYXNlbGlu
ZS1oYW5naW5nLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcv
Y3VzdG9tL2RvbWluYW50LWJhc2VsaW5lLWhhbmdpbmctZXhwZWN0ZWQucG5nOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2RvbWluYW50LWJhc2VsaW5lLWhhbmdpbmctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJh
bnNmZXItRGlzY3JldGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcv
Y3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItR2FtbWEtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItTGluZWFyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRy
YW5zZmVyLVRhYmxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1
c3RvbS9maWxsLWZhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
c3ZnL2N1c3RvbS9ncmFkaWVudC1hZGQtc3RvcHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRpZW50LWF0dHItdXBkYXRlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9ncmFkaWVudC1jeWNsZS1kZXRlY3Rp
b24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRp
ZW50LWRlZXAtcmVmZXJlbmNpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9zdmcvY3VzdG9tL2dyYWRpZW50LXJvdGF0ZWQtYmJveC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGllbnQtc3RvcC1jb3JuZXItY2FzZXMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRpZW50LXN0
b3Atc3R5bGUtY2hhbmdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS9ncmFkaWVudC1zdHJva2Utd2lkdGgtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGllbnQtc3Ryb2tlLXdpZHRoLWV4cGVjdGVk
LnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9ncmFkaWVudC1zdHJva2Ut
d2lkdGgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dy
YWRpZW50LXVzZXJTcGFjZU9uVXNlLXdpdGgtcGVyY2VudGFnZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JheXNjYWxlLWdyYWRpZW50LW1hc2stZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyb3VwLW9wYWNp
dHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2lubGlu
ZS1zdmctaW4teGh0bWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcv
Y3VzdG9tL2ludmFsaWQtY3NzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
c3ZnL2N1c3RvbS9qcy1sYXRlLWdyYWRpZW50LWFuZC1vYmplY3QtY3JlYXRpb24tZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLWxhdGUtZ3JhZGllbnQt
Y3JlYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9t
L2pzLWxhdGUtcGF0dGVybi1hbmQtb2JqZWN0LWNyZWF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy1sYXRlLXBhdHRlcm4tY3JlYXRpb24tZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1n
cmFkaWVudC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1
c3RvbS9qcy11cGRhdGUtZ3JhZGllbnQtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1ncmFkaWVudC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXBhdHRlcm4tY2hpbGQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1wYXR0
ZXJuLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11
cGRhdGUtc3RvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vbGFyZ2UtYm91bmRpbmctYm94LXBlcmNlbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wYXR0ZXJuLWN5Y2xlLWRldGVjdGlvbi1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcGF0dGVybi1kZWVwLXJlZmVy
ZW5jaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9w
YXR0ZXJuLWV4Y2Vzc2l2ZS1tYWxsb2MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL3BhdHRlcm4taW4tZGVmcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcGF0dGVybi1yb3RhdGUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdHRlcm4tc2l6ZS1iaWdnZXItdGhhbi10
YXJnZXQtc2l6ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vcGF0dGVybi1za2V3LXRyYW5zZm9ybWVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wYXR0ZXJuLXdpdGgtdHJhbnNmb3JtYXRpb24tZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdHRlcm4teS1vZmZzZXQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3Jlc291cmNl
LWNsaWVudC1yZW1vdmFsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS9zdHJva2UtZmFsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL3N0cm9rZWQtcGF0dGVybi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC1ncmFkaWVudC1uby1jb250ZW50LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS91c2Utb24tc3ltYm9sLWlu
c2lkZS1wYXR0ZXJuLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1
c3RvbS91c2UtcmVjYWxjU3R5bGUtY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9zdmcvZmlsdGVycy9iaWctc2l6ZWQtZmlsdGVyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmVEaXNwbGFjZW1lbnRNYXAtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9mZVRpbGUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDAzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL3BlcmYvMDA1LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL3BlcmYvMDA2LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL3RleHQvc2VsZWN0aW9uLWJhY2tn
cm91bmQtY29sb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvdGV4
dC9zZWxlY3Rpb24tc3R5bGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
c3ZnL3RleHQvdGV4dC1ncmFkaWVudC1wb3NpdGlvbmluZy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy90cmFuc2Zvcm1zL3RleHQtd2l0aC1wYXR0ZXJuLWluc2lkZS10
cmFuc2Zvcm1lZC1odG1sLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L3RyYW5zZm9ybXMvdGV4dC13aXRoLXBhdHRlcm4td2l0aC1zdmctdHJhbnNmb3JtLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2dyYWRpZW50LXdpdGgtMWQtYm91bmRpbmdib3gt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9jdXN0b20vcmFkaWFsLWdyYWRpZW50LXdpdGgt
b3V0c3RhbmRpbmctZm9jYWxQb2ludC1leHBlY3RlZC50eHQ6CisKIDIwMTAtMDQtMjIgIFpoZW55
YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvYW5pbWF0
ZS1lbGVtLTMxLXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvYW5pbWF0ZS1lbGVtLTMxLXQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0x
LjEvYW5pbWF0ZS1lbGVtLTMxLXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC03LDkg
KzcsMTcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMTAsMTApIHNpemUgMzcweDE3NSBbdHJhbnNmb3JtPXttPSgoMS41MCwwLjAw
KSgwLjAwLDEuNTApKSB0PSgwLjAwLDAuMDApfV0KICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0g
YXQgKDEwLDEwKSBzaXplIDcweDcwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF0gW3N0cm9rZSB3aWR0aD01LjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4MDAw
ODBdfV0gW2RhdGE9Ik01MC4wMCwzMC4wMCBMNDkuOTYsMzEuMjYgTDQ5Ljg0LDMyLjUxIEw0OS42
NSwzMy43NSBMNDkuMzcsMzQuOTcgTDQ5LjAyLDM2LjE4IEw0OC42MCwzNy4zNiBMNDguMTAsMzgu
NTIgTDQ3LjUzLDM5LjY0IEw0Ni44OSw0MC43MiBMNDYuMTgsNDEuNzYgTDQ1LjQxLDQyLjc1IEw0
NC41OCw0My42OSBMNDMuNjksNDQuNTggTDQyLjc1LDQ1LjQxIEw0MS43Niw0Ni4xOCBMNDAuNzIs
NDYuODkgTDM5LjY0LDQ3LjUzIEwzOC41Miw0OC4xMCBMMzcuMzYsNDguNjAgTDM2LjE4LDQ5LjAy
IEwzNC45Nyw0OS4zNyBMMzMuNzUsNDkuNjUgTDMyLjUxLDQ5Ljg0IEwzMS4yNiw0OS45NiBMMzAu
MDAsNTAuMDAgTDI4Ljc0LDQ5Ljk2IEwyNy40OSw0OS44NCBMMjYuMjUsNDkuNjUgTDI1LjAzLDQ5
LjM3IEwyMy44Miw0OS4wMiBMMjIuNjQsNDguNjAgTDIxLjQ4LDQ4LjEwIEwyMC4zNiw0Ny41MyBM
MTkuMjgsNDYuODkgTDE4LjI0LDQ2LjE4IEwxNy4yNSw0NS40MSBMMTYuMzEsNDQuNTggTDE1LjQy
LDQzLjY5IEwxNC41OSw0Mi43NSBMMTMuODIsNDEuNzYgTDEzLjExLDQwLjcyIEwxMi40NywzOS42
NCBMMTEuOTAsMzguNTIgTDExLjQwLDM3LjM2IEwxMC45OCwzNi4xOCBMMTAuNjMsMzQuOTcgTDEw
LjM1LDMzLjc1IEwxMC4xNiwzMi41MSBMMTAuMDQsMzEuMjYgTDEwLjAwLDMwLjAwIEwxMC4wNCwy
OC43NCBMMTAuMTYsMjcuNDkgTDEwLjM1LDI2LjI1IEwxMC42MywyNS4wMyBMMTAuOTgsMjMuODIg
TDExLjQwLDIyLjY0IEwxMS45MCwyMS40OCBMMTIuNDcsMjAuMzYgTDEzLjExLDE5LjI4IEwxMy44
MiwxOC4yNCBMMTQuNTksMTcuMjUgTDE1LjQyLDE2LjMxIEwxNi4zMSwxNS40MiBMMTcuMjUsMTQu
NTkgTDE4LjI0LDEzLjgyIEwxOS4yOCwxMy4xMSBMMjAuMzYsMTIuNDcgTDIxLjQ4LDExLjkwIEwy
Mi42NCwxMS40MCBMMjMuODIsMTAuOTggTDI1LjAzLDEwLjYzIEwyNi4yNSwxMC4zNSBMMjcuNDks
MTAuMTYgTDI4Ljc0LDEwLjA0IEwzMC4wMCwxMC4wMCBMMzEuMjYsMTAuMDQgTDMyLjUxLDEwLjE2
IEwzMy43NSwxMC4zNSBMMzQuOTcsMTAuNjMgTDM2LjE4LDEwLjk4IEwzNy4zNiwxMS40MCBMMzgu
NTIsMTEuOTAgTDM5LjY0LDEyLjQ3IEw0MC43MiwxMy4xMSBMNDEuNzYsMTMuODIgTDQyLjc1LDE0
LjU5IEw0My42OSwxNS40MiBMNDQuNTgsMTYuMzEgTDQ1LjQxLDE3LjI1IEw0Ni4xOCwxOC4yNCBM
NDYuODksMTkuMjggTDQ3LjUzLDIwLjM2IEw0OC4xMCwyMS40OCBMNDguNjAsMjIuNjQgTDQ5LjAy
LDIzLjgyIEw0OS4zNywyNS4wMyBMNDkuNjUsMjYuMjUgTDQ5Ljg0LDI3LjQ5IEw0OS45NiwyOC43
NCBaIl0KICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDEwLDExNSkgc2l6ZSA3MHg3MCBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9NS4wMF19
XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODAwMDgwXX1dIFtkYXRhPSJNNTAuMDAsMTAw
LjAwIEw0OS45NiwxMDEuMjYgTDQ5Ljg0LDEwMi41MSBMNDkuNjUsMTAzLjc1IEw0OS4zNywxMDQu
OTcgTDQ5LjAyLDEwNi4xOCBMNDguNjAsMTA3LjM2IEw0OC4xMCwxMDguNTIgTDQ3LjUzLDEwOS42
NCBMNDYuODksMTEwLjcyIEw0Ni4xOCwxMTEuNzYgTDQ1LjQxLDExMi43NSBMNDQuNTgsMTEzLjY5
IEw0My42OSwxMTQuNTggTDQyLjc1LDExNS40MSBMNDEuNzYsMTE2LjE4IEw0MC43MiwxMTYuODkg
TDM5LjY0LDExNy41MyBMMzguNTIsMTE4LjEwIEwzNy4zNiwxMTguNjAgTDM2LjE4LDExOS4wMiBM
MzQuOTcsMTE5LjM3IEwzMy43NSwxMTkuNjUgTDMyLjUxLDExOS44NCBMMzEuMjYsMTE5Ljk2IEwz
MC4wMCwxMjAuMDAgTDI4Ljc0LDExOS45NiBMMjcuNDksMTE5Ljg0IEwyNi4yNSwxMTkuNjUgTDI1
LjAzLDExOS4zNyBMMjMuODIsMTE5LjAyIEwyMi42NCwxMTguNjAgTDIxLjQ4LDExOC4xMCBMMjAu
MzYsMTE3LjUzIEwxOS4yOCwxMTYuODkgTDE4LjI0LDExNi4xOCBMMTcuMjUsMTE1LjQxIEwxNi4z
MSwxMTQuNTggTDE1LjQyLDExMy42OSBMMTQuNTksMTEyLjc1IEwxMy44MiwxMTEuNzYgTDEzLjEx
LDExMC43MiBMMTIuNDcsMTA5LjY0IEwxMS45MCwxMDguNTIgTDExLjQwLDEwNy4zNiBMMTAuOTgs
MTA2LjE4IEwxMC42MywxMDQuOTcgTDEwLjM1LDEwMy43NSBMMTAuMTYsMTAyLjUxIEwxMC4wNCwx
MDEuMjYgTDEwLjAwLDEwMC4wMCBMMTAuMDQsOTguNzQgTDEwLjE2LDk3LjQ5IEwxMC4zNSw5Ni4y
NSBMMTAuNjMsOTUuMDMgTDEwLjk4LDkzLjgyIEwxMS40MCw5Mi42NCBMMTEuOTAsOTEuNDggTDEy
LjQ3LDkwLjM2IEwxMy4xMSw4OS4yOCBMMTMuODIsODguMjQgTDE0LjU5LDg3LjI1IEwxNS40Miw4
Ni4zMSBMMTYuMzEsODUuNDIgTDE3LjI1LDg0LjU5IEwxOC4yNCw4My44MiBMMTkuMjgsODMuMTEg
TDIwLjM2LDgyLjQ3IEwyMS40OCw4MS45MCBMMjIuNjQsODEuNDAgTDIzLjgyLDgwLjk4IEwyNS4w
Myw4MC42MyBMMjYuMjUsODAuMzUgTDI3LjQ5LDgwLjE2IEwyOC43NCw4MC4wNCBMMzAuMDAsODAu
MDAgTDMxLjI2LDgwLjA0IEwzMi41MSw4MC4xNiBMMzMuNzUsODAuMzUgTDM0Ljk3LDgwLjYzIEwz
Ni4xOCw4MC45OCBMMzcuMzYsODEuNDAgTDM4LjUyLDgxLjkwIEwzOS42NCw4Mi40NyBMNDAuNzIs
ODMuMTEgTDQxLjc2LDgzLjgyIEw0Mi43NSw4NC41OSBMNDMuNjksODUuNDIgTDQ0LjU4LDg2LjMx
IEw0NS40MSw4Ny4yNSBMNDYuMTgsODguMjQgTDQ2Ljg5LDg5LjI4IEw0Ny41Myw5MC4zNiBMNDgu
MTAsOTEuNDggTDQ4LjYwLDkyLjY0IEw0OS4wMiw5My44MiBMNDkuMzcsOTUuMDMgTDQ5LjY1LDk2
LjI1IEw0OS44NCw5Ny40OSBMNDkuOTYsOTguNzQgWiJdCisgICAgICBSZW5kZXJTVkdIaWRkZW5D
b250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRlclBhdGgge2NpcmNs
ZX0gYXQgKDg1LDEwKSBzaXplIDcweDcwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF0gW3N0cm9rZSB3aWR0aD01LjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDgwMDBdfV0gW2RhdGE9Ik0xMDAuMDAsMzAuMDAgTDk5Ljk2LDMxLjI2IEw5OS44NCwzMi41MSBM
OTkuNjUsMzMuNzUgTDk5LjM3LDM0Ljk3IEw5OS4wMiwzNi4xOCBMOTguNjAsMzcuMzYgTDk4LjEw
LDM4LjUyIEw5Ny41MywzOS42NCBMOTYuODksNDAuNzIgTDk2LjE4LDQxLjc2IEw5NS40MSw0Mi43
NSBMOTQuNTgsNDMuNjkgTDkzLjY5LDQ0LjU4IEw5Mi43NSw0NS40MSBMOTEuNzYsNDYuMTggTDkw
LjcyLDQ2Ljg5IEw4OS42NCw0Ny41MyBMODguNTIsNDguMTAgTDg3LjM2LDQ4LjYwIEw4Ni4xOCw0
OS4wMiBMODQuOTcsNDkuMzcgTDgzLjc1LDQ5LjY1IEw4Mi41MSw0OS44NCBMODEuMjYsNDkuOTYg
TDgwLjAwLDUwLjAwIEw3OC43NCw0OS45NiBMNzcuNDksNDkuODQgTDc2LjI1LDQ5LjY1IEw3NS4w
Myw0OS4zNyBMNzMuODIsNDkuMDIgTDcyLjY0LDQ4LjYwIEw3MS40OCw0OC4xMCBMNzAuMzYsNDcu
NTMgTDY5LjI4LDQ2Ljg5IEw2OC4yNCw0Ni4xOCBMNjcuMjUsNDUuNDEgTDY2LjMxLDQ0LjU4IEw2
NS40Miw0My42OSBMNjQuNTksNDIuNzUgTDYzLjgyLDQxLjc2IEw2My4xMSw0MC43MiBMNjIuNDcs
MzkuNjQgTDYxLjkwLDM4LjUyIEw2MS40MCwzNy4zNiBMNjAuOTgsMzYuMTggTDYwLjYzLDM0Ljk3
IEw2MC4zNSwzMy43NSBMNjAuMTYsMzIuNTEgTDYwLjA0LDMxLjI2IEw2MC4wMCwzMC4wMCBMNjAu
MDQsMjguNzQgTDYwLjE2LDI3LjQ5IEw2MC4zNSwyNi4yNSBMNjAuNjMsMjUuMDMgTDYwLjk4LDIz
LjgyIEw2MS40MCwyMi42NCBMNjEuOTAsMjEuNDggTDYyLjQ3LDIwLjM2IEw2My4xMSwxOS4yOCBM
NjMuODIsMTguMjQgTDY0LjU5LDE3LjI1IEw2NS40MiwxNi4zMSBMNjYuMzEsMTUuNDIgTDY3LjI1
LDE0LjU5IEw2OC4yNCwxMy44MiBMNjkuMjgsMTMuMTEgTDcwLjM2LDEyLjQ3IEw3MS40OCwxMS45
MCBMNzIuNjQsMTEuNDAgTDczLjgyLDEwLjk4IEw3NS4wMywxMC42MyBMNzYuMjUsMTAuMzUgTDc3
LjQ5LDEwLjE2IEw3OC43NCwxMC4wNCBMODAuMDAsMTAuMDAgTDgxLjI2LDEwLjA0IEw4Mi41MSwx
MC4xNiBMODMuNzUsMTAuMzUgTDg0Ljk3LDEwLjYzIEw4Ni4xOCwxMC45OCBMODcuMzYsMTEuNDAg
TDg4LjUyLDExLjkwIEw4OS42NCwxMi40NyBMOTAuNzIsMTMuMTEgTDkxLjc2LDEzLjgyIEw5Mi43
NSwxNC41OSBMOTMuNjksMTUuNDIgTDk0LjU4LDE2LjMxIEw5NS40MSwxNy4yNSBMOTYuMTgsMTgu
MjQgTDk2Ljg5LDE5LjI4IEw5Ny41MywyMC4zNiBMOTguMTAsMjEuNDggTDk4LjYwLDIyLjY0IEw5
OS4wMiwyMy44MiBMOTkuMzcsMjUuMDMgTDk5LjY1LDI2LjI1IEw5OS44NCwyNy40OSBMOTkuOTYs
MjguNzQgWiJdCiAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICg4NSwxMTUpIHNpemUgNzB4
NzAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTUu
MDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTEwMC4w
MCwxMDAuMDAgTDk5Ljk2LDEwMS4yNiBMOTkuODQsMTAyLjUxIEw5OS42NSwxMDMuNzUgTDk5LjM3
LDEwNC45NyBMOTkuMDIsMTA2LjE4IEw5OC42MCwxMDcuMzYgTDk4LjEwLDEwOC41MiBMOTcuNTMs
MTA5LjY0IEw5Ni44OSwxMTAuNzIgTDk2LjE4LDExMS43NiBMOTUuNDEsMTEyLjc1IEw5NC41OCwx
MTMuNjkgTDkzLjY5LDExNC41OCBMOTIuNzUsMTE1LjQxIEw5MS43NiwxMTYuMTggTDkwLjcyLDEx
Ni44OSBMODkuNjQsMTE3LjUzIEw4OC41MiwxMTguMTAgTDg3LjM2LDExOC42MCBMODYuMTgsMTE5
LjAyIEw4NC45NywxMTkuMzcgTDgzLjc1LDExOS42NSBMODIuNTEsMTE5Ljg0IEw4MS4yNiwxMTku
OTYgTDgwLjAwLDEyMC4wMCBMNzguNzQsMTE5Ljk2IEw3Ny40OSwxMTkuODQgTDc2LjI1LDExOS42
NSBMNzUuMDMsMTE5LjM3IEw3My44MiwxMTkuMDIgTDcyLjY0LDExOC42MCBMNzEuNDgsMTE4LjEw
IEw3MC4zNiwxMTcuNTMgTDY5LjI4LDExNi44OSBMNjguMjQsMTE2LjE4IEw2Ny4yNSwxMTUuNDEg
TDY2LjMxLDExNC41OCBMNjUuNDIsMTEzLjY5IEw2NC41OSwxMTIuNzUgTDYzLjgyLDExMS43NiBM
NjMuMTEsMTEwLjcyIEw2Mi40NywxMDkuNjQgTDYxLjkwLDEwOC41MiBMNjEuNDAsMTA3LjM2IEw2
MC45OCwxMDYuMTggTDYwLjYzLDEwNC45NyBMNjAuMzUsMTAzLjc1IEw2MC4xNiwxMDIuNTEgTDYw
LjA0LDEwMS4yNiBMNjAuMDAsMTAwLjAwIEw2MC4wNCw5OC43NCBMNjAuMTYsOTcuNDkgTDYwLjM1
LDk2LjI1IEw2MC42Myw5NS4wMyBMNjAuOTgsOTMuODIgTDYxLjQwLDkyLjY0IEw2MS45MCw5MS40
OCBMNjIuNDcsOTAuMzYgTDYzLjExLDg5LjI4IEw2My44Miw4OC4yNCBMNjQuNTksODcuMjUgTDY1
LjQyLDg2LjMxIEw2Ni4zMSw4NS40MiBMNjcuMjUsODQuNTkgTDY4LjI0LDgzLjgyIEw2OS4yOCw4
My4xMSBMNzAuMzYsODIuNDcgTDcxLjQ4LDgxLjkwIEw3Mi42NCw4MS40MCBMNzMuODIsODAuOTgg
TDc1LjAzLDgwLjYzIEw3Ni4yNSw4MC4zNSBMNzcuNDksODAuMTYgTDc4Ljc0LDgwLjA0IEw4MC4w
MCw4MC4wMCBMODEuMjYsODAuMDQgTDgyLjUxLDgwLjE2IEw4My43NSw4MC4zNSBMODQuOTcsODAu
NjMgTDg2LjE4LDgwLjk4IEw4Ny4zNiw4MS40MCBMODguNTIsODEuOTAgTDg5LjY0LDgyLjQ3IEw5
MC43Miw4My4xMSBMOTEuNzYsODMuODIgTDkyLjc1LDg0LjU5IEw5My42OSw4NS40MiBMOTQuNTgs
ODYuMzEgTDk1LjQxLDg3LjI1IEw5Ni4xOCw4OC4yNCBMOTYuODksODkuMjggTDk3LjUzLDkwLjM2
IEw5OC4xMCw5MS40OCBMOTguNjAsOTIuNjQgTDk5LjAyLDkzLjgyIEw5OS4zNyw5NS4wMyBMOTku
NjUsOTYuMjUgTDk5Ljg0LDk3LjQ5IEw5OS45Niw5OC43NCBaIl0KICAgICAgIFJlbmRlclBhdGgg
e2NpcmNsZX0gYXQgKDE2MCwxMTUpIHNpemUgNzB4NzAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtj
b2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTUuMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTE1MC4wMCwxMDAuMDAgTDE0OS45NiwxMDEuMjYgTDE0
OS44NCwxMDIuNTEgTDE0OS42NSwxMDMuNzUgTDE0OS4zNywxMDQuOTcgTDE0OS4wMiwxMDYuMTgg
TDE0OC42MCwxMDcuMzYgTDE0OC4xMCwxMDguNTIgTDE0Ny41MywxMDkuNjQgTDE0Ni44OSwxMTAu
NzIgTDE0Ni4xOCwxMTEuNzYgTDE0NS40MSwxMTIuNzUgTDE0NC41OCwxMTMuNjkgTDE0My42OSwx
MTQuNTggTDE0Mi43NSwxMTUuNDEgTDE0MS43NiwxMTYuMTggTDE0MC43MiwxMTYuODkgTDEzOS42
NCwxMTcuNTMgTDEzOC41MiwxMTguMTAgTDEzNy4zNiwxMTguNjAgTDEzNi4xOCwxMTkuMDIgTDEz
NC45NywxMTkuMzcgTDEzMy43NSwxMTkuNjUgTDEzMi41MSwxMTkuODQgTDEzMS4yNiwxMTkuOTYg
TDEzMC4wMCwxMjAuMDAgTDEyOC43NCwxMTkuOTYgTDEyNy40OSwxMTkuODQgTDEyNi4yNSwxMTku
NjUgTDEyNS4wMywxMTkuMzcgTDEyMy44MiwxMTkuMDIgTDEyMi42NCwxMTguNjAgTDEyMS40OCwx
MTguMTAgTDEyMC4zNiwxMTcuNTMgTDExOS4yOCwxMTYuODkgTDExOC4yNCwxMTYuMTggTDExNy4y
NSwxMTUuNDEgTDExNi4zMSwxMTQuNTggTDExNS40MiwxMTMuNjkgTDExNC41OSwxMTIuNzUgTDEx
My44MiwxMTEuNzYgTDExMy4xMSwxMTAuNzIgTDExMi40NywxMDkuNjQgTDExMS45MCwxMDguNTIg
TDExMS40MCwxMDcuMzYgTDExMC45OCwxMDYuMTggTDExMC42MywxMDQuOTcgTDExMC4zNSwxMDMu
NzUgTDExMC4xNiwxMDIuNTEgTDExMC4wNCwxMDEuMjYgTDExMC4wMCwxMDAuMDAgTDExMC4wNCw5
OC43NCBMMTEwLjE2LDk3LjQ5IEwxMTAuMzUsOTYuMjUgTDExMC42Myw5NS4wMyBMMTEwLjk4LDkz
LjgyIEwxMTEuNDAsOTIuNjQgTDExMS45MCw5MS40OCBMMTEyLjQ3LDkwLjM2IEwxMTMuMTEsODku
MjggTDExMy44Miw4OC4yNCBMMTE0LjU5LDg3LjI1IEwxMTUuNDIsODYuMzEgTDExNi4zMSw4NS40
MiBMMTE3LjI1LDg0LjU5IEwxMTguMjQsODMuODIgTDExOS4yOCw4My4xMSBMMTIwLjM2LDgyLjQ3
IEwxMjEuNDgsODEuOTAgTDEyMi42NCw4MS40MCBMMTIzLjgyLDgwLjk4IEwxMjUuMDMsODAuNjMg
TDEyNi4yNSw4MC4zNSBMMTI3LjQ5LDgwLjE2IEwxMjguNzQsODAuMDQgTDEzMC4wMCw4MC4wMCBM
MTMxLjI2LDgwLjA0IEwxMzIuNTEsODAuMTYgTDEzMy43NSw4MC4zNSBMMTM0Ljk3LDgwLjYzIEwx
MzYuMTgsODAuOTggTDEzNy4zNiw4MS40MCBMMTM4LjUyLDgxLjkwIEwxMzkuNjQsODIuNDcgTDE0
MC43Miw4My4xMSBMMTQxLjc2LDgzLjgyIEwxNDIuNzUsODQuNTkgTDE0My42OSw4NS40MiBMMTQ0
LjU4LDg2LjMxIEwxNDUuNDEsODcuMjUgTDE0Ni4xOCw4OC4yNCBMMTQ2Ljg5LDg5LjI4IEwxNDcu
NTMsOTAuMzYgTDE0OC4xMCw5MS40OCBMMTQ4LjYwLDkyLjY0IEwxNDkuMDIsOTMuODIgTDE0OS4z
Nyw5NS4wMyBMMTQ5LjY1LDk2LjI1IEwxNDkuODQsOTcuNDkgTDE0OS45Niw5OC43NCBaIl0KKyAg
ICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAg
ICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDIzNSwxMCkgc2l6ZSA3MHg3MCBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9NS4wMF19XSBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMjAwLjAwLDMwLjAwIEwxOTku
OTYsMzEuMjYgTDE5OS44NCwzMi41MSBMMTk5LjY1LDMzLjc1IEwxOTkuMzcsMzQuOTcgTDE5OS4w
MiwzNi4xOCBMMTk4LjYwLDM3LjM2IEwxOTguMTAsMzguNTIgTDE5Ny41MywzOS42NCBMMTk2Ljg5
LDQwLjcyIEwxOTYuMTgsNDEuNzYgTDE5NS40MSw0Mi43NSBMMTk0LjU4LDQzLjY5IEwxOTMuNjks
NDQuNTggTDE5Mi43NSw0NS40MSBMMTkxLjc2LDQ2LjE4IEwxOTAuNzIsNDYuODkgTDE4OS42NCw0
Ny41MyBMMTg4LjUyLDQ4LjEwIEwxODcuMzYsNDguNjAgTDE4Ni4xOCw0OS4wMiBMMTg0Ljk3LDQ5
LjM3IEwxODMuNzUsNDkuNjUgTDE4Mi41MSw0OS44NCBMMTgxLjI2LDQ5Ljk2IEwxODAuMDAsNTAu
MDAgTDE3OC43NCw0OS45NiBMMTc3LjQ5LDQ5Ljg0IEwxNzYuMjUsNDkuNjUgTDE3NS4wMyw0OS4z
NyBMMTczLjgyLDQ5LjAyIEwxNzIuNjQsNDguNjAgTDE3MS40OCw0OC4xMCBMMTcwLjM2LDQ3LjUz
IEwxNjkuMjgsNDYuODkgTDE2OC4yNCw0Ni4xOCBMMTY3LjI1LDQ1LjQxIEwxNjYuMzEsNDQuNTgg
TDE2NS40Miw0My42OSBMMTY0LjU5LDQyLjc1IEwxNjMuODIsNDEuNzYgTDE2My4xMSw0MC43MiBM
MTYyLjQ3LDM5LjY0IEwxNjEuOTAsMzguNTIgTDE2MS40MCwzNy4zNiBMMTYwLjk4LDM2LjE4IEwx
NjAuNjMsMzQuOTcgTDE2MC4zNSwzMy43NSBMMTYwLjE2LDMyLjUxIEwxNjAuMDQsMzEuMjYgTDE2
MC4wMCwzMC4wMCBMMTYwLjA0LDI4Ljc0IEwxNjAuMTYsMjcuNDkgTDE2MC4zNSwyNi4yNSBMMTYw
LjYzLDI1LjAzIEwxNjAuOTgsMjMuODIgTDE2MS40MCwyMi42NCBMMTYxLjkwLDIxLjQ4IEwxNjIu
NDcsMjAuMzYgTDE2My4xMSwxOS4yOCBMMTYzLjgyLDE4LjI0IEwxNjQuNTksMTcuMjUgTDE2NS40
MiwxNi4zMSBMMTY2LjMxLDE1LjQyIEwxNjcuMjUsMTQuNTkgTDE2OC4yNCwxMy44MiBMMTY5LjI4
LDEzLjExIEwxNzAuMzYsMTIuNDcgTDE3MS40OCwxMS45MCBMMTcyLjY0LDExLjQwIEwxNzMuODIs
MTAuOTggTDE3NS4wMywxMC42MyBMMTc2LjI1LDEwLjM1IEwxNzcuNDksMTAuMTYgTDE3OC43NCwx
MC4wNCBMMTgwLjAwLDEwLjAwIEwxODEuMjYsMTAuMDQgTDE4Mi41MSwxMC4xNiBMMTgzLjc1LDEw
LjM1IEwxODQuOTcsMTAuNjMgTDE4Ni4xOCwxMC45OCBMMTg3LjM2LDExLjQwIEwxODguNTIsMTEu
OTAgTDE4OS42NCwxMi40NyBMMTkwLjcyLDEzLjExIEwxOTEuNzYsMTMuODIgTDE5Mi43NSwxNC41
OSBMMTkzLjY5LDE1LjQyIEwxOTQuNTgsMTYuMzEgTDE5NS40MSwxNy4yNSBMMTk2LjE4LDE4LjI0
IEwxOTYuODksMTkuMjggTDE5Ny41MywyMC4zNiBMMTk4LjEwLDIxLjQ4IEwxOTguNjAsMjIuNjQg
TDE5OS4wMiwyMy44MiBMMTk5LjM3LDI1LjAzIEwxOTkuNjUsMjYuMjUgTDE5OS44NCwyNy40OSBM
MTk5Ljk2LDI4Ljc0IFoiXQogICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMjM1LDExNSkg
c2l6ZSA3MHg3MCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ug
d2lkdGg9NS4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRh
PSJNMjAwLjAwLDEwMC4wMCBMMTk5Ljk2LDEwMS4yNiBMMTk5Ljg0LDEwMi41MSBMMTk5LjY1LDEw
My43NSBMMTk5LjM3LDEwNC45NyBMMTk5LjAyLDEwNi4xOCBMMTk4LjYwLDEwNy4zNiBMMTk4LjEw
LDEwOC41MiBMMTk3LjUzLDEwOS42NCBMMTk2Ljg5LDExMC43MiBMMTk2LjE4LDExMS43NiBMMTk1
LjQxLDExMi43NSBMMTk0LjU4LDExMy42OSBMMTkzLjY5LDExNC41OCBMMTkyLjc1LDExNS40MSBM
MTkxLjc2LDExNi4xOCBMMTkwLjcyLDExNi44OSBMMTg5LjY0LDExNy41MyBMMTg4LjUyLDExOC4x
MCBMMTg3LjM2LDExOC42MCBMMTg2LjE4LDExOS4wMiBMMTg0Ljk3LDExOS4zNyBMMTgzLjc1LDEx
OS42NSBMMTgyLjUxLDExOS44NCBMMTgxLjI2LDExOS45NiBMMTgwLjAwLDEyMC4wMCBMMTc4Ljc0
LDExOS45NiBMMTc3LjQ5LDExOS44NCBMMTc2LjI1LDExOS42NSBMMTc1LjAzLDExOS4zNyBMMTcz
LjgyLDExOS4wMiBMMTcyLjY0LDExOC42MCBMMTcxLjQ4LDExOC4xMCBMMTcwLjM2LDExNy41MyBM
MTY5LjI4LDExNi44OSBMMTY4LjI0LDExNi4xOCBMMTY3LjI1LDExNS40MSBMMTY2LjMxLDExNC41
OCBMMTY1LjQyLDExMy42OSBMMTY0LjU5LDExMi43NSBMMTYzLjgyLDExMS43NiBMMTYzLjExLDEx
MC43MiBMMTYyLjQ3LDEwOS42NCBMMTYxLjkwLDEwOC41MiBMMTYxLjQwLDEwNy4zNiBMMTYwLjk4
LDEwNi4xOCBMMTYwLjYzLDEwNC45NyBMMTYwLjM1LDEwMy43NSBMMTYwLjE2LDEwMi41MSBMMTYw
LjA0LDEwMS4yNiBMMTYwLjAwLDEwMC4wMCBMMTYwLjA0LDk4Ljc0IEwxNjAuMTYsOTcuNDkgTDE2
MC4zNSw5Ni4yNSBMMTYwLjYzLDk1LjAzIEwxNjAuOTgsOTMuODIgTDE2MS40MCw5Mi42NCBMMTYx
LjkwLDkxLjQ4IEwxNjIuNDcsOTAuMzYgTDE2My4xMSw4OS4yOCBMMTYzLjgyLDg4LjI0IEwxNjQu
NTksODcuMjUgTDE2NS40Miw4Ni4zMSBMMTY2LjMxLDg1LjQyIEwxNjcuMjUsODQuNTkgTDE2OC4y
NCw4My44MiBMMTY5LjI4LDgzLjExIEwxNzAuMzYsODIuNDcgTDE3MS40OCw4MS45MCBMMTcyLjY0
LDgxLjQwIEwxNzMuODIsODAuOTggTDE3NS4wMyw4MC42MyBMMTc2LjI1LDgwLjM1IEwxNzcuNDks
ODAuMTYgTDE3OC43NCw4MC4wNCBMMTgwLjAwLDgwLjAwIEwxODEuMjYsODAuMDQgTDE4Mi41MSw4
MC4xNiBMMTgzLjc1LDgwLjM1IEwxODQuOTcsODAuNjMgTDE4Ni4xOCw4MC45OCBMMTg3LjM2LDgx
LjQwIEwxODguNTIsODEuOTAgTDE4OS42NCw4Mi40NyBMMTkwLjcyLDgzLjExIEwxOTEuNzYsODMu
ODIgTDE5Mi43NSw4NC41OSBMMTkzLjY5LDg1LjQyIEwxOTQuNTgsODYuMzEgTDE5NS40MSw4Ny4y
NSBMMTk2LjE4LDg4LjI0IEwxOTYuODksODkuMjggTDE5Ny41Myw5MC4zNiBMMTk4LjEwLDkxLjQ4
IEwxOTguNjAsOTIuNjQgTDE5OS4wMiw5My44MiBMMTk5LjM3LDk1LjAzIEwxOTkuNjUsOTYuMjUg
TDE5OS44NCw5Ny40OSBMMTk5Ljk2LDk4Ljc0IFoiXQorICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29u
dGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIge2d9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xl
fSBhdCAoMjM1LDEwKSBzaXplIDcweDcwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF0gW3N0cm9rZSB3aWR0aD01LjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNG
RkZGMDBdfV0gW2RhdGE9Ik0yMDAuMDAsMzAuMDAgTDE5OS45NiwzMS4yNiBMMTk5Ljg0LDMyLjUx
IEwxOTkuNjUsMzMuNzUgTDE5OS4zNywzNC45NyBMMTk5LjAyLDM2LjE4IEwxOTguNjAsMzcuMzYg
TDE5OC4xMCwzOC41MiBMMTk3LjUzLDM5LjY0IEwxOTYuODksNDAuNzIgTDE5Ni4xOCw0MS43NiBM
MTk1LjQxLDQyLjc1IEwxOTQuNTgsNDMuNjkgTDE5My42OSw0NC41OCBMMTkyLjc1LDQ1LjQxIEwx
OTEuNzYsNDYuMTggTDE5MC43Miw0Ni44OSBMMTg5LjY0LDQ3LjUzIEwxODguNTIsNDguMTAgTDE4
Ny4zNiw0OC42MCBMMTg2LjE4LDQ5LjAyIEwxODQuOTcsNDkuMzcgTDE4My43NSw0OS42NSBMMTgy
LjUxLDQ5Ljg0IEwxODEuMjYsNDkuOTYgTDE4MC4wMCw1MC4wMCBMMTc4Ljc0LDQ5Ljk2IEwxNzcu
NDksNDkuODQgTDE3Ni4yNSw0OS42NSBMMTc1LjAzLDQ5LjM3IEwxNzMuODIsNDkuMDIgTDE3Mi42
NCw0OC42MCBMMTcxLjQ4LDQ4LjEwIEwxNzAuMzYsNDcuNTMgTDE2OS4yOCw0Ni44OSBMMTY4LjI0
LDQ2LjE4IEwxNjcuMjUsNDUuNDEgTDE2Ni4zMSw0NC41OCBMMTY1LjQyLDQzLjY5IEwxNjQuNTks
NDIuNzUgTDE2My44Miw0MS43NiBMMTYzLjExLDQwLjcyIEwxNjIuNDcsMzkuNjQgTDE2MS45MCwz
OC41MiBMMTYxLjQwLDM3LjM2IEwxNjAuOTgsMzYuMTggTDE2MC42MywzNC45NyBMMTYwLjM1LDMz
Ljc1IEwxNjAuMTYsMzIuNTEgTDE2MC4wNCwzMS4yNiBMMTYwLjAwLDMwLjAwIEwxNjAuMDQsMjgu
NzQgTDE2MC4xNiwyNy40OSBMMTYwLjM1LDI2LjI1IEwxNjAuNjMsMjUuMDMgTDE2MC45OCwyMy44
MiBMMTYxLjQwLDIyLjY0IEwxNjEuOTAsMjEuNDggTDE2Mi40NywyMC4zNiBMMTYzLjExLDE5LjI4
IEwxNjMuODIsMTguMjQgTDE2NC41OSwxNy4yNSBMMTY1LjQyLDE2LjMxIEwxNjYuMzEsMTUuNDIg
TDE2Ny4yNSwxNC41OSBMMTY4LjI0LDEzLjgyIEwxNjkuMjgsMTMuMTEgTDE3MC4zNiwxMi40NyBM
MTcxLjQ4LDExLjkwIEwxNzIuNjQsMTEuNDAgTDE3My44MiwxMC45OCBMMTc1LjAzLDEwLjYzIEwx
NzYuMjUsMTAuMzUgTDE3Ny40OSwxMC4xNiBMMTc4Ljc0LDEwLjA0IEwxODAuMDAsMTAuMDAgTDE4
MS4yNiwxMC4wNCBMMTgyLjUxLDEwLjE2IEwxODMuNzUsMTAuMzUgTDE4NC45NywxMC42MyBMMTg2
LjE4LDEwLjk4IEwxODcuMzYsMTEuNDAgTDE4OC41MiwxMS45MCBMMTg5LjY0LDEyLjQ3IEwxOTAu
NzIsMTMuMTEgTDE5MS43NiwxMy44MiBMMTkyLjc1LDE0LjU5IEwxOTMuNjksMTUuNDIgTDE5NC41
OCwxNi4zMSBMMTk1LjQxLDE3LjI1IEwxOTYuMTgsMTguMjQgTDE5Ni44OSwxOS4yOCBMMTk3LjUz
LDIwLjM2IEwxOTguMTAsMjEuNDggTDE5OC42MCwyMi42NCBMMTk5LjAyLDIzLjgyIEwxOTkuMzcs
MjUuMDMgTDE5OS42NSwyNi4yNSBMMTk5Ljg0LDI3LjQ5IEwxOTkuOTYsMjguNzQgWiJdCiAgICAg
ICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgyMzUsMTE1KSBzaXplIDcweDcwIFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD01LjAwXX1dIFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGMDBdfV0gW2RhdGE9Ik0yMDAuMDAsMTAwLjAwIEwxOTku
OTYsMTAxLjI2IEwxOTkuODQsMTAyLjUxIEwxOTkuNjUsMTAzLjc1IEwxOTkuMzcsMTA0Ljk3IEwx
OTkuMDIsMTA2LjE4IEwxOTguNjAsMTA3LjM2IEwxOTguMTAsMTA4LjUyIEwxOTcuNTMsMTA5LjY0
IEwxOTYuODksMTEwLjcyIEwxOTYuMTgsMTExLjc2IEwxOTUuNDEsMTEyLjc1IEwxOTQuNTgsMTEz
LjY5IEwxOTMuNjksMTE0LjU4IEwxOTIuNzUsMTE1LjQxIEwxOTEuNzYsMTE2LjE4IEwxOTAuNzIs
MTE2Ljg5IEwxODkuNjQsMTE3LjUzIEwxODguNTIsMTE4LjEwIEwxODcuMzYsMTE4LjYwIEwxODYu
MTgsMTE5LjAyIEwxODQuOTcsMTE5LjM3IEwxODMuNzUsMTE5LjY1IEwxODIuNTEsMTE5Ljg0IEwx
ODEuMjYsMTE5Ljk2IEwxODAuMDAsMTIwLjAwIEwxNzguNzQsMTE5Ljk2IEwxNzcuNDksMTE5Ljg0
IEwxNzYuMjUsMTE5LjY1IEwxNzUuMDMsMTE5LjM3IEwxNzMuODIsMTE5LjAyIEwxNzIuNjQsMTE4
LjYwIEwxNzEuNDgsMTE4LjEwIEwxNzAuMzYsMTE3LjUzIEwxNjkuMjgsMTE2Ljg5IEwxNjguMjQs
MTE2LjE4IEwxNjcuMjUsMTE1LjQxIEwxNjYuMzEsMTE0LjU4IEwxNjUuNDIsMTEzLjY5IEwxNjQu
NTksMTEyLjc1IEwxNjMuODIsMTExLjc2IEwxNjMuMTEsMTEwLjcyIEwxNjIuNDcsMTA5LjY0IEwx
NjEuOTAsMTA4LjUyIEwxNjEuNDAsMTA3LjM2IEwxNjAuOTgsMTA2LjE4IEwxNjAuNjMsMTA0Ljk3
IEwxNjAuMzUsMTAzLjc1IEwxNjAuMTYsMTAyLjUxIEwxNjAuMDQsMTAxLjI2IEwxNjAuMDAsMTAw
LjAwIEwxNjAuMDQsOTguNzQgTDE2MC4xNiw5Ny40OSBMMTYwLjM1LDk2LjI1IEwxNjAuNjMsOTUu
MDMgTDE2MC45OCw5My44MiBMMTYxLjQwLDkyLjY0IEwxNjEuOTAsOTEuNDggTDE2Mi40Nyw5MC4z
NiBMMTYzLjExLDg5LjI4IEwxNjMuODIsODguMjQgTDE2NC41OSw4Ny4yNSBMMTY1LjQyLDg2LjMx
IEwxNjYuMzEsODUuNDIgTDE2Ny4yNSw4NC41OSBMMTY4LjI0LDgzLjgyIEwxNjkuMjgsODMuMTEg
TDE3MC4zNiw4Mi40NyBMMTcxLjQ4LDgxLjkwIEwxNzIuNjQsODEuNDAgTDE3My44Miw4MC45OCBM
MTc1LjAzLDgwLjYzIEwxNzYuMjUsODAuMzUgTDE3Ny40OSw4MC4xNiBMMTc4Ljc0LDgwLjA0IEwx
ODAuMDAsODAuMDAgTDE4MS4yNiw4MC4wNCBMMTgyLjUxLDgwLjE2IEwxODMuNzUsODAuMzUgTDE4
NC45Nyw4MC42MyBMMTg2LjE4LDgwLjk4IEwxODcuMzYsODEuNDAgTDE4OC41Miw4MS45MCBMMTg5
LjY0LDgyLjQ3IEwxOTAuNzIsODMuMTEgTDE5MS43Niw4My44MiBMMTkyLjc1LDg0LjU5IEwxOTMu
NjksODUuNDIgTDE5NC41OCw4Ni4zMSBMMTk1LjQxLDg3LjI1IEwxOTYuMTgsODguMjQgTDE5Ni44
OSw4OS4yOCBMMTk3LjUzLDkwLjM2IEwxOTguMTAsOTEuNDggTDE5OC42MCw5Mi42NCBMMTk5LjAy
LDkzLjgyIEwxOTkuMzcsOTUuMDMgTDE5OS42NSw5Ni4yNSBMMTk5Ljg0LDk3LjQ5IEwxOTkuOTYs
OTguNzQgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMTAsMTApIHNpemUg
NzB4NzAKICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMzEwLDEwKSBzaXplIDcweDcw
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD01LjAw
XX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMEZGRkZdfV0gW2RhdGE9Ik0yNTAuMDAs
MzAuMDAgTDI0OS45NiwzMS4yNiBMMjQ5Ljg0LDMyLjUxIEwyNDkuNjUsMzMuNzUgTDI0OS4zNywz
NC45NyBMMjQ5LjAyLDM2LjE4IEwyNDguNjAsMzcuMzYgTDI0OC4xMCwzOC41MiBMMjQ3LjUzLDM5
LjY0IEwyNDYuODksNDAuNzIgTDI0Ni4xOCw0MS43NiBMMjQ1LjQxLDQyLjc1IEwyNDQuNTgsNDMu
NjkgTDI0My42OSw0NC41OCBMMjQyLjc1LDQ1LjQxIEwyNDEuNzYsNDYuMTggTDI0MC43Miw0Ni44
OSBMMjM5LjY0LDQ3LjUzIEwyMzguNTIsNDguMTAgTDIzNy4zNiw0OC42MCBMMjM2LjE4LDQ5LjAy
IEwyMzQuOTcsNDkuMzcgTDIzMy43NSw0OS42NSBMMjMyLjUxLDQ5Ljg0IEwyMzEuMjYsNDkuOTYg
TDIzMC4wMCw1MC4wMCBMMjI4Ljc0LDQ5Ljk2IEwyMjcuNDksNDkuODQgTDIyNi4yNSw0OS42NSBM
MjI1LjAzLDQ5LjM3IEwyMjMuODIsNDkuMDIgTDIyMi42NCw0OC42MCBMMjIxLjQ4LDQ4LjEwIEwy
MjAuMzYsNDcuNTMgTDIxOS4yOCw0Ni44OSBMMjE4LjI0LDQ2LjE4IEwyMTcuMjUsNDUuNDEgTDIx
Ni4zMSw0NC41OCBMMjE1LjQyLDQzLjY5IEwyMTQuNTksNDIuNzUgTDIxMy44Miw0MS43NiBMMjEz
LjExLDQwLjcyIEwyMTIuNDcsMzkuNjQgTDIxMS45MCwzOC41MiBMMjExLjQwLDM3LjM2IEwyMTAu
OTgsMzYuMTggTDIxMC42MywzNC45NyBMMjEwLjM1LDMzLjc1IEwyMTAuMTYsMzIuNTEgTDIxMC4w
NCwzMS4yNiBMMjEwLjAwLDMwLjAwIEwyMTAuMDQsMjguNzQgTDIxMC4xNiwyNy40OSBMMjEwLjM1
LDI2LjI1IEwyMTAuNjMsMjUuMDMgTDIxMC45OCwyMy44MiBMMjExLjQwLDIyLjY0IEwyMTEuOTAs
MjEuNDggTDIxMi40NywyMC4zNiBMMjEzLjExLDE5LjI4IEwyMTMuODIsMTguMjQgTDIxNC41OSwx
Ny4yNSBMMjE1LjQyLDE2LjMxIEwyMTYuMzEsMTUuNDIgTDIxNy4yNSwxNC41OSBMMjE4LjI0LDEz
LjgyIEwyMTkuMjgsMTMuMTEgTDIyMC4zNiwxMi40NyBMMjIxLjQ4LDExLjkwIEwyMjIuNjQsMTEu
NDAgTDIyMy44MiwxMC45OCBMMjI1LjAzLDEwLjYzIEwyMjYuMjUsMTAuMzUgTDIyNy40OSwxMC4x
NiBMMjI4Ljc0LDEwLjA0IEwyMzAuMDAsMTAuMDAgTDIzMS4yNiwxMC4wNCBMMjMyLjUxLDEwLjE2
IEwyMzMuNzUsMTAuMzUgTDIzNC45NywxMC42MyBMMjM2LjE4LDEwLjk4IEwyMzcuMzYsMTEuNDAg
TDIzOC41MiwxMS45MCBMMjM5LjY0LDEyLjQ3IEwyNDAuNzIsMTMuMTEgTDI0MS43NiwxMy44MiBM
MjQyLjc1LDE0LjU5IEwyNDMuNjksMTUuNDIgTDI0NC41OCwxNi4zMSBMMjQ1LjQxLDE3LjI1IEwy
NDYuMTgsMTguMjQgTDI0Ni44OSwxOS4yOCBMMjQ3LjUzLDIwLjM2IEwyNDguMTAsMjEuNDggTDI0
OC42MCwyMi42NCBMMjQ5LjAyLDIzLjgyIEwyNDkuMzcsMjUuMDMgTDI0OS42NSwyNi4yNSBMMjQ5
Ljg0LDI3LjQ5IEwyNDkuOTYsMjguNzQgWiJdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS03OC10LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUt
ZWxlbS03OC10LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS03OC10LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMjc2LDYgKzI3Niw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUg
NDgweDM2MAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzOTAsMjM1
KSBzaXplIDM4eDgKICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzkwLDIz
NSkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0NDQ0NDQ119XSBbZGF0YT0i
TTEwLjAwLDAuMDAgTDE4LjAwLDAuMDAgTDE4LjAwLDguMDAgTDEwLjAwLDguMDAgWiJdCiAgICAg
ICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDQyMCwyMzUpIHNpemUgOHg4IFt0cmFu
c2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDMwLjAwLDAuMDApfV0gW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9I0NDQ0NDQ119XSBbZGF0YT0iTTEwLjAwLDAuMDAgTDE4LjAw
LDAuMDAgTDE4LjAwLDguMDAgTDEwLjAwLDguMDAgWiJdCisgICAgICAgICAgUmVuZGVyU1ZHSGlk
ZGVuQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDIwMCwyMzUpIHNpemUgOHg4IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDAp
KDAuMDAsMS4wMCkpIHQ9KDMwLjAwLDAuMDApfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
I0NDMDA2Nl19XSBbZGF0YT0iTTEwLjAwLDAuMDAgTDE4LjAwLDAuMDAgTDE4LjAwLDguMDAgTDEw
LjAwLDguMDAgWiJdCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE3MCwyNTUp
IHNpemUgMjU4eDggW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4w
MCwxODAuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0
ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgx
NzAsMjU1KSBzaXplIDM4eDgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzND
LVNWRy0xLjEvY29sb3ItcHJvcC0wMS1iLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2NvbG9yLXByb3AtMDEtYi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9XM0MtU1ZHLTEuMS9jb2xvci1wcm9wLTAxLWItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDIxICsxLDIwIEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkIiBbdHlw
ZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDUsIzY2MDBGRiksICgwLjUwLCNGRjAwMDAp
LCAoMC45NSwjRkZGRjY2KV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19CiBsYXllciBhdCAo
MCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKIGxh
eWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDAp
IHNpemUgNDgweDM2MAogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDYwLDE4KSBzaXpl
IDM2MHgyNzcKICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVu
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJH
cmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZ3JhZCJdIFtncmFkaWVudFVuaXRzPW9iamVj
dEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDVdIFtjb2xvcj0jNjYwMEZGXQorICAg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjUwXSBbY29sb3I9
I0ZGMDAwMF0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9
MC45NV0gW2NvbG9yPSNGRkZGNjZdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg3
MCwxOCkgc2l6ZSAzNDJ4MTI0CiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDcw
LDE4KSBzaXplIDM0MngxMjQKICAgICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICg3MCwy
MCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2Rh
dGE9Ik0xOTAuMDAsODAuMDAgTDE4OS44OCw4My43NyBMMTg5LjUzLDg3LjUyIEwxODguOTQsOTEu
MjQgTDE4OC4xMSw5NC45MiBMMTg3LjA2LDk4LjU0IEwxODUuNzksMTAyLjA5IEwxODQuMjksMTA1
LjU1IEwxODIuNTgsMTA4LjkxIEwxODAuNjYsMTEyLjE1IEwxNzguNTQsMTE1LjI3IEwxNzYuMjMs
MTE4LjI1IEwxNzMuNzQsMTIxLjA3IEwxNzEuMDcsMTIzLjc0IEwxNjguMjUsMTI2LjIzIEwxNjUu
MjcsMTI4LjU0IEwxNjIuMTUsMTMwLjY2IEwxNTguOTEsMTMyLjU4IEwxNTUuNTUsMTM0LjI5IEwx
NTIuMDksMTM1Ljc5IEwxNDguNTQsMTM3LjA2IEwxNDQuOTIsMTM4LjExIEwxNDEuMjQsMTM4Ljk0
IEwxMzcuNTIsMTM5LjUzIEwxMzMuNzcsMTM5Ljg4IEwxMzAuMDAsMTQwLjAwIEwxMjYuMjMsMTM5
Ljg4IEwxMjIuNDgsMTM5LjUzIEwxMTguNzYsMTM4Ljk0IEwxMTUuMDgsMTM4LjExIEwxMTEuNDYs
MTM3LjA2IEwxMDcuOTEsMTM1Ljc5IEwxMDQuNDUsMTM0LjI5IEwxMDEuMDksMTMyLjU4IEw5Ny44
NSwxMzAuNjYgTDk0LjczLDEyOC41NCBMOTEuNzUsMTI2LjIzIEw4OC45MywxMjMuNzQgTDg2LjI2
LDEyMS4wNyBMODMuNzcsMTE4LjI1IEw4MS40NiwxMTUuMjcgTDc5LjM0LDExMi4xNSBMNzcuNDIs
MTA4LjkxIEw3NS43MSwxMDUuNTUgTDc0LjIxLDEwMi4wOSBMNzIuOTQsOTguNTQgTDcxLjg5LDk0
LjkyIEw3MS4wNiw5MS4yNCBMNzAuNDcsODcuNTIgTDcwLjEyLDgzLjc3IEw3MC4wMCw4MC4wMCBM
NzAuMTIsNzYuMjMgTDcwLjQ3LDcyLjQ4IEw3MS4wNiw2OC43NiBMNzEuODksNjUuMDggTDcyLjk0
LDYxLjQ2IEw3NC4yMSw1Ny45MSBMNzUuNzEsNTQuNDUgTDc3LjQyLDUxLjA5IEw3OS4zNCw0Ny44
NSBMODEuNDYsNDQuNzMgTDgzLjc3LDQxLjc1IEw4Ni4yNiwzOC45MyBMODguOTMsMzYuMjYgTDkx
Ljc1LDMzLjc3IEw5NC43MywzMS40NiBMOTcuODUsMjkuMzQgTDEwMS4wOSwyNy40MiBMMTA0LjQ1
LDI1LjcxIEwxMDcuOTEsMjQuMjEgTDExMS40NiwyMi45NCBMMTE1LjA4LDIxLjg5IEwxMTguNzYs
MjEuMDYgTDEyMi40OCwyMC40NyBMMTI2LjIzLDIwLjEyIEwxMzAuMDAsMjAuMDAgTDEzMy43Nywy
MC4xMiBMMTM3LjUyLDIwLjQ3IEwxNDEuMjQsMjEuMDYgTDE0NC45MiwyMS44OSBMMTQ4LjU0LDIy
Ljk0IEwxNTIuMDksMjQuMjEgTDE1NS41NSwyNS43MSBMMTU4LjkxLDI3LjQyIEwxNjIuMTUsMjku
MzQgTDE2NS4yNywzMS40NiBMMTY4LjI1LDMzLjc3IEwxNzEuMDcsMzYuMjYgTDE3My43NCwzOC45
MyBMMTc2LjIzLDQxLjc1IEwxNzguNTQsNDQuNzMgTDE4MC42Niw0Ny44NSBMMTgyLjU4LDUxLjA5
IEwxODQuMjksNTQuNDUgTDE4NS43OSw1Ny45MSBMMTg3LjA2LDYxLjQ2IEwxODguMTEsNjUuMDgg
TDE4OC45NCw2OC43NiBMMTg5LjUzLDcyLjQ4IEwxODkuODgsNzYuMjMgWiJdCiAgICAgICAgICAg
UmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMjg4LDE4KSBzaXplIDEyNHgxMjQgW3N0cm9rZT17W3R5
cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXSBbc3Ryb2tlIHdpZHRoPTQuMDBdfV0gW2RhdGE9Ik00
MTAuMDAsODAuMDAgTDQwOS44OCw4My43NyBMNDA5LjUzLDg3LjUyIEw0MDguOTQsOTEuMjQgTDQw
OC4xMSw5NC45MiBMNDA3LjA2LDk4LjU0IEw0MDUuNzksMTAyLjA5IEw0MDQuMjksMTA1LjU1IEw0
MDIuNTgsMTA4LjkxIEw0MDAuNjYsMTEyLjE1IEwzOTguNTQsMTE1LjI3IEwzOTYuMjMsMTE4LjI1
IEwzOTMuNzQsMTIxLjA3IEwzOTEuMDcsMTIzLjc0IEwzODguMjUsMTI2LjIzIEwzODUuMjcsMTI4
LjU0IEwzODIuMTUsMTMwLjY2IEwzNzguOTEsMTMyLjU4IEwzNzUuNTUsMTM0LjI5IEwzNzIuMDks
MTM1Ljc5IEwzNjguNTQsMTM3LjA2IEwzNjQuOTIsMTM4LjExIEwzNjEuMjQsMTM4Ljk0IEwzNTcu
NTIsMTM5LjUzIEwzNTMuNzcsMTM5Ljg4IEwzNTAuMDAsMTQwLjAwIEwzNDYuMjMsMTM5Ljg4IEwz
NDIuNDgsMTM5LjUzIEwzMzguNzYsMTM4Ljk0IEwzMzUuMDgsMTM4LjExIEwzMzEuNDYsMTM3LjA2
IEwzMjcuOTEsMTM1Ljc5IEwzMjQuNDUsMTM0LjI5IEwzMjEuMDksMTMyLjU4IEwzMTcuODUsMTMw
LjY2IEwzMTQuNzMsMTI4LjU0IEwzMTEuNzUsMTI2LjIzIEwzMDguOTMsMTIzLjc0IEwzMDYuMjYs
MTIxLjA3IEwzMDMuNzcsMTE4LjI1IEwzMDEuNDYsMTE1LjI3IEwyOTkuMzQsMTEyLjE1IEwyOTcu
NDIsMTA4LjkxIEwyOTUuNzEsMTA1LjU1IEwyOTQuMjEsMTAyLjA5IEwyOTIuOTQsOTguNTQgTDI5
MS44OSw5NC45MiBMMjkxLjA2LDkxLjI0IEwyOTAuNDcsODcuNTIgTDI5MC4xMiw4My43NyBMMjkw
LjAwLDgwLjAwIEwyOTAuMTIsNzYuMjMgTDI5MC40Nyw3Mi40OCBMMjkxLjA2LDY4Ljc2IEwyOTEu
ODksNjUuMDggTDI5Mi45NCw2MS40NiBMMjk0LjIxLDU3LjkxIEwyOTUuNzEsNTQuNDUgTDI5Ny40
Miw1MS4wOSBMMjk5LjM0LDQ3Ljg1IEwzMDEuNDYsNDQuNzMgTDMwMy43Nyw0MS43NSBMMzA2LjI2
LDM4LjkzIEwzMDguOTMsMzYuMjYgTDMxMS43NSwzMy43NyBMMzE0LjczLDMxLjQ2IEwzMTcuODUs
MjkuMzQgTDMyMS4wOSwyNy40MiBMMzI0LjQ1LDI1LjcxIEwzMjcuOTEsMjQuMjEgTDMzMS40Niwy
Mi45NCBMMzM1LjA4LDIxLjg5IEwzMzguNzYsMjEuMDYgTDM0Mi40OCwyMC40NyBMMzQ2LjIzLDIw
LjEyIEwzNTAuMDAsMjAuMDAgTDM1My43NywyMC4xMiBMMzU3LjUyLDIwLjQ3IEwzNjEuMjQsMjEu
MDYgTDM2NC45MiwyMS44OSBMMzY4LjU0LDIyLjk0IEwzNzIuMDksMjQuMjEgTDM3NS41NSwyNS43
MSBMMzc4LjkxLDI3LjQyIEwzODIuMTUsMjkuMzQgTDM4NS4yNywzMS40NiBMMzg4LjI1LDMzLjc3
IEwzOTEuMDcsMzYuMjYgTDM5My43NCwzOC45MyBMMzk2LjIzLDQxLjc1IEwzOTguNTQsNDQuNzMg
TDQwMC42Niw0Ny44NSBMNDAyLjU4LDUxLjA5IEw0MDQuMjksNTQuNDUgTDQwNS43OSw1Ny45MSBM
NDA3LjA2LDYxLjQ2IEw0MDguMTEsNjUuMDggTDQwOC45NCw2OC43NiBMNDA5LjUzLDcyLjQ4IEw0
MDkuODgsNzYuMjMgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg2MCwyMTUp
IHNpemUgMzYweDgwCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDYwLDIxNSkg
c2l6ZSAzNjB4ODAKLSAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNjAsMjE1KSBzaXpl
IDM2MHg4MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjA1LCM2NjAw
RkYpLCAoMC41MCwjRkYwMDAwKSwgKDAuOTUsI0ZGRkY2NildXSBbc3RhcnQ9KDAsMCldIFtlbmQ9
KDEsMCldfV0gW2RhdGE9Ik02MC4wMCwyMTUuMDAgTDQyMC4wMCwyMTUuMDAgTDQyMC4wMCwyOTUu
MDAgTDYwLjAwLDI5NS4wMCBaIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNjAs
MjE1KSBzaXplIDM2MHg4MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImdyYWQi
XX1dIFtkYXRhPSJNNjAuMDAsMjE1LjAwIEw0MjAuMDAsMjE1LjAwIEw0MjAuMDAsMjk1LjAwIEw2
MC4wMCwyOTUuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMjAsMTQy
KSBzaXplIDI2M3g3MQogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTIwLDE3MCkg
c2l6ZSAzNHgzNiBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLC0yOCkgc2l6ZSAzNHgzNgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9jb29yZHMtdW5pdHMtMDEtYi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9j
b29yZHMtdW5pdHMtMDEtYi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9jb29yZHMtdW5pdHMtMDEtYi1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMzMgKzEsMjQgQEAKLUtSZW5kZXJpbmdQYWlu
dFNlcnZlciB7aWQ9ImxpbmVhckJvdW5kaW5nQm94UGVyY2VudGFnZSIgW3R5cGU9TElORUFSLUdS
QURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDAwMEZGKV1dIFtzdGFydD0o
MCwwKV0gW2VuZD0oMSwwKV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJsaW5lYXJCb3Vu
ZGluZ0JveEZyYWN0aW9uIiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZG
MDAwMCksICgxLjAwLCMwMDAwRkYpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KLUtSZW5k
ZXJpbmdQYWludFNlcnZlciB7aWQ9ImxpbmVhclVzZXJTcGFjZSIgW3R5cGU9TElORUFSLUdSQURJ
RU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDAwMEZGKV1dIFtib3VuZGluZyBi
b3ggbW9kZT0wXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDUwLDApXX0KLUtSZW5kZXJpbmdQYWludFNl
cnZlciB7aWQ9InJhZGlhbEJvdW5kaW5nQm94UGVyY2VudGFnZSIgW3R5cGU9UkFESUFMLUdSQURJ
RU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDAwMEZGKV1dIFtjZW50ZXI9KDAu
MjUsMC4yNSldIFtmb2NhbD0oMC4yNSwwLjI1KV0gW3JhZGl1cz0wLjI1XX0KLUtSZW5kZXJpbmdQ
YWludFNlcnZlciB7aWQ9InJhZGlhbEJvdW5kaW5nQm94RnJhY3Rpb24iIFt0eXBlPVJBRElBTC1H
UkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsIzAwMDBGRildXSBbY2VudGVy
PSgwLjI1LDAuMjUpXSBbZm9jYWw9KDAuMjUsMC4yNSldIFtyYWRpdXM9MC4yNV19Ci1LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXIge2lkPSJyYWRpYWxVc2VyU3BhY2UiIFt0eXBlPVJBRElBTC1HUkFESUVO
VF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsIzAwMDBGRildXSBbYm91bmRpbmcgYm94
IG1vZGU9MF0gW2NlbnRlcj0oMTUsMTUpXSBbZm9jYWw9KDE1LDE1KV0gW3JhZGl1cz0xNS4wMF19
Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXR0ZXJuQm91bmRpbmdCb3hQZXJjZW50YWdl
IiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMC4yNSwwLjI1KSBzaXplIDAuNTB4MC41MF19Ci1L
UmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXR0ZXJuQm91bmRpbmdCb3hGcmFjdGlvbiIgW3R5
cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAuMjUsMC4yNSkgc2l6ZSAwLjUweDAuNTBdfQotS1JlbmRl
cmluZ1BhaW50U2VydmVyIHtpZD0icGF0dGVyblVzZXJTcGFjZSIgW3R5cGU9UEFUVEVSTl0gW2Ji
b3g9YXQgKDEyLjUwLDcuNTApIHNpemUgMjV4MTVdfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4
MzYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBsYXllciBhdCAoMCwwKSBz
aXplIDQ4MHgzNjAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDQ4MHgzNjAK
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgNDgweDM2MAotICAgICAg
UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4
MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBh
dCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7
bGluZWFyR3JhZGllbnR9IFtpZD0ibGluZWFyQm91bmRpbmdCb3hQZXJjZW50YWdlIl0gW2dyYWRp
ZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0j
RkYwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4w
MF0gW2NvbG9yPSMwMDAwRkZdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50
IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJsaW5lYXJCb3VuZGluZ0JveEZyYWN0aW9uIl0gW2dyYWRp
ZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0j
RkYwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4w
MF0gW2NvbG9yPSMwMDAwRkZdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50
IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJsaW5lYXJVc2VyU3BhY2UiXSBbZ3JhZGllbnRVbml0cz11
c2VyU3BhY2VPblVzZV0gW3N0YXJ0PSgwLDApXSBbZW5kPSg1MCwwKV0KKyAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMw
MDAwRkZdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzAsMzApIHNpemUgMzc4eDE4
IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xNCkgc2l6ZSAzNzh4MTgKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQg
KDMwLjAwLDMwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA1OSB3aWR0aCAzNzguMDA6ICJC
b3VuZGluZyBib3ggcmVsYXRpdmUgY29vcmRpbmF0ZXMgKHBlcmNlbnRhZ2UgYW5kIGZyYWN0aW9u
KSIKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMwLDQwKSBzaXplIDEzMng2MCBb
dHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzMC4wMCw0MC4wMCl9XQot
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzAsNDApIHNpemUgNTB4MjAgW2ZpbGw9e1t0
eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsIzAwMDBG
RildXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAw
LDAuMDAgTDUwLjAwLDIwLjAwIEwwLjAwLDIwLjAwIFoiXQotICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMzAsNjApIHNpemUgNTB4MjAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4w
MCwxLjAwKSkgdD0oMC4wMCwyMC4wMCl9XSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBb
c3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDAwMEZGKV1dIFtzdGFydD0oMCwwKV0gW2Vu
ZD0oMSwwKV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNTAuMDAsMC4wMCBMNTAuMDAsMjAuMDAgTDAu
MDAsMjAuMDAgWiJdCi0gICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzMCw4MCkgc2l6ZSA1
MHgyMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDQwLjAw
KX1dIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCks
ICgxLjAwLCMwMDAwRkYpXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMCwwKV0gW2Vu
ZD0oNTAsMCldfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAwLDAuMDAgTDUwLjAwLDIwLjAwIEww
LjAwLDIwLjAwIFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzAsNDApIHNpemUg
NTB4MjAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJsaW5lYXJCb3VuZGluZ0Jv
eFBlcmNlbnRhZ2UiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw1MC4wMCwwLjAwIEw1MC4wMCwyMC4w
MCBMMC4wMCwyMC4wMCBaIl0KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMwLDYwKSBz
aXplIDUweDIwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAs
MjAuMDApfV0gW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJsaW5lYXJCb3VuZGlu
Z0JveEZyYWN0aW9uIl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNTAuMDAsMC4wMCBMNTAuMDAsMjAu
MDAgTDAuMDAsMjAuMDAgWiJdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzMCw4MCkg
c2l6ZSA1MHgyMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAw
LDQwLjAwKX1dIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0ibGluZWFyVXNlclNw
YWNlIl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNTAuMDAsMC4wMCBMNTAuMDAsMjAuMDAgTDAuMDAs
MjAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgzMCw1OSkgc2l6ZSA1MHgy
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0NDQ0NDQ119XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMC4wMCwyMC4wMCBMNTAuMDAsMjAuMDAiXQog
ICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMzAsNzkpIHNpemUgNTB4MiBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSNDQ0NDQ0NdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwMDAwMF19XSBbZGF0YT0iTTAuMDAsNDAuMDAgTDUwLjAwLDQwLjAwIl0KICAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDYwLDE1KSBzaXplIDY5eDE4IGNvbnRhaW5zIDEgY2h1bmso
cykKQEAgLTM5LDIyICszMCwyMiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDYwLDU1KSBzaXplIDcyeDE4IGNvbnRhaW5zIDEg
Y2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0
KSBzaXplIDcyeDE4CiAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDYwLjAwLDU1
LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxMCB3aWR0aCA3Mi4wMDogIlVzZXIgU3BhY2Ui
Ci0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50fSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxH
cmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdy
YWRpZW50IHtyYWRpYWxHcmFkaWVudH0gW2lkPSJyYWRpYWxCb3VuZGluZ0JveFBlcmNlbnRhZ2Ui
XSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW2NlbnRlcj0oMC4yNSwwLjI1KV0g
W2ZvY2FsPSgwLjI1LDAuMjUpXSBbcmFkaXVzPTAuMjVdCisgICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDAwMEZGXQor
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCB7cmFkaWFsR3JhZGllbnR9IFtp
ZD0icmFkaWFsQm91bmRpbmdCb3hGcmFjdGlvbiJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5k
aW5nQm94XSBbY2VudGVyPSgwLjI1LDAuMjUpXSBbZm9jYWw9KDAuMjUsMC4yNSldIFtyYWRpdXM9
MC4yNV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBd
IFtjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtv
ZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwRkZdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlh
bEdyYWRpZW50IHtyYWRpYWxHcmFkaWVudH0gW2lkPSJyYWRpYWxVc2VyU3BhY2UiXSBbZ3JhZGll
bnRVbml0cz11c2VyU3BhY2VPblVzZV0gW2NlbnRlcj0oMTUsMTUpXSBbZm9jYWw9KDE1LDE1KV0g
W3JhZGl1cz0xNS4wMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zm
c2V0PTAuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwRkZdCiAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMzAsMTMwKSBzaXplIDM0NXgxOCBjb250YWlucyAxIGNodW5rKHMpCiAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMzQ1eDE4CiAg
ICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgzMC4wMCwxMzAuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDU0IHdpZHRoIDM0NS4wMDogIkJvdW5kaW5nIGJveCByZWxhdGl2ZSBsZW5n
dGggKHBlcmNlbnRhZ2UgYW5kIGZyYWN0aW9uKSIKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDMwLDE0MCkgc2l6ZSAxOTR4NzQgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4w
MCwxLjAwKSkgdD0oMzAuMDAsMTQwLjAwKX1dCi0gICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgzMCwxNDApIHNpemUgNjB4NjAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3Bz
PVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsIzAwMDBGRildXSBbY2VudGVyPSgwLjI1LDAuMjUpXSBb
Zm9jYWw9KDAuMjUsMC4yNSldIFtyYWRpdXM9MC4yNV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNjAu
MDAsMC4wMCBMNjAuMDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJdCi0gICAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICg5MSwxNDApIHNpemUgNjB4NjAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjAwKSkgdD0oNjEuMDAsMC4wMCl9XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5U
XSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDAwMEZGKV1dIFtjZW50ZXI9KDAuMjUs
MC4yNSldIFtmb2NhbD0oMC4yNSwwLjI1KV0gW3JhZGl1cz0wLjI1XX1dIFtkYXRhPSJNMC4wMCww
LjAwIEw2MC4wMCwwLjAwIEw2MC4wMCw2MC4wMCBMMC4wMCw2MC4wMCBaIl0KLSAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDE1MiwxNDApIHNpemUgNjB4NjAgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTIyLjAwLDAuMDApfV0gW2ZpbGw9e1t0eXBlPVJBRElB
TC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsIzAwMDBGRildXSBbYm91
bmRpbmcgYm94IG1vZGU9MF0gW2NlbnRlcj0oMTUsMTUpXSBbZm9jYWw9KDE1LDE1KV0gW3JhZGl1
cz0xNS4wMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNjAuMDAsMC4wMCBMNjAuMDAsNjAuMDAgTDAu
MDAsNjAuMDAgWiJdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzMCwxNDApIHNpemUg
NjB4NjAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJyYWRpYWxCb3VuZGluZ0Jv
eFBlcmNlbnRhZ2UiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw2MC4wMCwwLjAwIEw2MC4wMCw2MC4w
MCBMMC4wMCw2MC4wMCBaIl0KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDkxLDE0MCkg
c2l6ZSA2MHg2MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg2MS4w
MCwwLjAwKX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0icmFkaWFsQm91bmRp
bmdCb3hGcmFjdGlvbiJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDYwLjAwLDAuMDAgTDYwLjAwLDYw
LjAwIEwwLjAwLDYwLjAwIFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTUyLDE0
MCkgc2l6ZSA2MHg2MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgx
MjIuMDAsMC4wMCl9XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9InJhZGlhbFVz
ZXJTcGFjZSJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDYwLjAwLDAuMDAgTDYwLjAwLDYwLjAwIEww
LjAwLDYwLjAwIFoiXQogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCw3MCkgc2l6
ZSA1MXgxOCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA1MXgxOAogICAgICAgICAgICAgY2h1bmsgMSB0ZXh0
IHJ1biAxIGF0ICgwLjAwLDcwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA4IHdpZHRoIDUx
LjAwOiAiUGVyY2VudC4iCkBAIC02NCwyMiArNTUsMjIgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0
ODB4MzYwCiAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMjIsNzApIHNpemUgNzJ4
MTggY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMTQpIHNpemUgNzJ4MTgKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4g
MSBhdCAoMTIyLjAwLDcwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxMCB3aWR0aCA3Mi4w
MDogIlVzZXIgU3BhY2UiCi0gICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgw
LDApIHNpemUgMXgxCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtp
ZD0icGF0dGVybkJvdW5kaW5nQm94UGVyY2VudGFnZSJdIFtwYXR0ZXJuVW5pdHM9b2JqZWN0Qm91
bmRpbmdCb3hdIFtwYXR0ZXJuQ29udGVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XQogICAgICAg
ICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgwLDApIHNpemUgMXgxIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0wLjc1LDAuNTAgTDAuNzUsMC41MiBMMC43NSww
LjUzIEwwLjc1LDAuNTUgTDAuNzQsMC41NiBMMC43NCwwLjU4IEwwLjczLDAuNTkgTDAuNzMsMC42
MSBMMC43MiwwLjYyIEwwLjcxLDAuNjMgTDAuNzAsMC42NSBMMC42OSwwLjY2IEwwLjY4LDAuNjcg
TDAuNjcsMC42OCBMMC42NiwwLjY5IEwwLjY1LDAuNzAgTDAuNjMsMC43MSBMMC42MiwwLjcyIEww
LjYxLDAuNzMgTDAuNTksMC43MyBMMC41OCwwLjc0IEwwLjU2LDAuNzQgTDAuNTUsMC43NSBMMC41
MywwLjc1IEwwLjUyLDAuNzUgTDAuNTAsMC43NSBMMC40OCwwLjc1IEwwLjQ3LDAuNzUgTDAuNDUs
MC43NSBMMC40NCwwLjc0IEwwLjQyLDAuNzQgTDAuNDEsMC43MyBMMC4zOSwwLjczIEwwLjM4LDAu
NzIgTDAuMzcsMC43MSBMMC4zNSwwLjcwIEwwLjM0LDAuNjkgTDAuMzMsMC42OCBMMC4zMiwwLjY3
IEwwLjMxLDAuNjYgTDAuMzAsMC42NSBMMC4yOSwwLjYzIEwwLjI4LDAuNjIgTDAuMjcsMC42MSBM
MC4yNywwLjU5IEwwLjI2LDAuNTggTDAuMjYsMC41NiBMMC4yNSwwLjU1IEwwLjI1LDAuNTMgTDAu
MjUsMC41MiBMMC4yNSwwLjUwIEwwLjI1LDAuNDggTDAuMjUsMC40NyBMMC4yNSwwLjQ1IEwwLjI2
LDAuNDQgTDAuMjYsMC40MiBMMC4yNywwLjQxIEwwLjI3LDAuMzkgTDAuMjgsMC4zOCBMMC4yOSww
LjM3IEwwLjMwLDAuMzUgTDAuMzEsMC4zNCBMMC4zMiwwLjMzIEwwLjMzLDAuMzIgTDAuMzQsMC4z
MSBMMC4zNSwwLjMwIEwwLjM3LDAuMjkgTDAuMzgsMC4yOCBMMC4zOSwwLjI3IEwwLjQxLDAuMjcg
TDAuNDIsMC4yNiBMMC40NCwwLjI2IEwwLjQ1LDAuMjUgTDAuNDcsMC4yNSBMMC40OCwwLjI1IEww
LjUwLDAuMjUgTDAuNTIsMC4yNSBMMC41MywwLjI1IEwwLjU1LDAuMjUgTDAuNTYsMC4yNiBMMC41
OCwwLjI2IEwwLjU5LDAuMjcgTDAuNjEsMC4yNyBMMC42MiwwLjI4IEwwLjYzLDAuMjkgTDAuNjUs
MC4zMCBMMC42NiwwLjMxIEwwLjY3LDAuMzIgTDAuNjgsMC4zMyBMMC42OSwwLjM0IEwwLjcwLDAu
MzUgTDAuNzEsMC4zNyBMMC43MiwwLjM4IEwwLjczLDAuMzkgTDAuNzMsMC40MSBMMC43NCwwLjQy
IEwwLjc0LDAuNDQgTDAuNzUsMC40NSBMMC43NSwwLjQ3IEwwLjc1LDAuNDggWiJdCiAgICAgICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMXgxIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDAwRkZdfV0gW2RhdGE9Ik0wLjQwLDAuNDAgTDAuNjAsMC40MCBMMC42MCwwLjYw
IEwwLjQwLDAuNjAgWiJdCi0gICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgw
LDApIHNpemUgMXgxCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtp
ZD0icGF0dGVybkJvdW5kaW5nQm94RnJhY3Rpb24iXSBbcGF0dGVyblVuaXRzPW9iamVjdEJvdW5k
aW5nQm94XSBbcGF0dGVybkNvbnRlbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0KICAgICAgICAg
UmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMCwwKSBzaXplIDF4MSBbZmlsbD17W3R5cGU9U09MSURd
IFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNMC43NSwwLjUwIEwwLjc1LDAuNTIgTDAuNzUsMC41
MyBMMC43NSwwLjU1IEwwLjc0LDAuNTYgTDAuNzQsMC41OCBMMC43MywwLjU5IEwwLjczLDAuNjEg
TDAuNzIsMC42MiBMMC43MSwwLjYzIEwwLjcwLDAuNjUgTDAuNjksMC42NiBMMC42OCwwLjY3IEww
LjY3LDAuNjggTDAuNjYsMC42OSBMMC42NSwwLjcwIEwwLjYzLDAuNzEgTDAuNjIsMC43MiBMMC42
MSwwLjczIEwwLjU5LDAuNzMgTDAuNTgsMC43NCBMMC41NiwwLjc0IEwwLjU1LDAuNzUgTDAuNTMs
MC43NSBMMC41MiwwLjc1IEwwLjUwLDAuNzUgTDAuNDgsMC43NSBMMC40NywwLjc1IEwwLjQ1LDAu
NzUgTDAuNDQsMC43NCBMMC40MiwwLjc0IEwwLjQxLDAuNzMgTDAuMzksMC43MyBMMC4zOCwwLjcy
IEwwLjM3LDAuNzEgTDAuMzUsMC43MCBMMC4zNCwwLjY5IEwwLjMzLDAuNjggTDAuMzIsMC42NyBM
MC4zMSwwLjY2IEwwLjMwLDAuNjUgTDAuMjksMC42MyBMMC4yOCwwLjYyIEwwLjI3LDAuNjEgTDAu
MjcsMC41OSBMMC4yNiwwLjU4IEwwLjI2LDAuNTYgTDAuMjUsMC41NSBMMC4yNSwwLjUzIEwwLjI1
LDAuNTIgTDAuMjUsMC41MCBMMC4yNSwwLjQ4IEwwLjI1LDAuNDcgTDAuMjUsMC40NSBMMC4yNiww
LjQ0IEwwLjI2LDAuNDIgTDAuMjcsMC40MSBMMC4yNywwLjM5IEwwLjI4LDAuMzggTDAuMjksMC4z
NyBMMC4zMCwwLjM1IEwwLjMxLDAuMzQgTDAuMzIsMC4zMyBMMC4zMywwLjMyIEwwLjM0LDAuMzEg
TDAuMzUsMC4zMCBMMC4zNywwLjI5IEwwLjM4LDAuMjggTDAuMzksMC4yNyBMMC40MSwwLjI3IEww
LjQyLDAuMjYgTDAuNDQsMC4yNiBMMC40NSwwLjI1IEwwLjQ3LDAuMjUgTDAuNDgsMC4yNSBMMC41
MCwwLjI1IEwwLjUyLDAuMjUgTDAuNTMsMC4yNSBMMC41NSwwLjI1IEwwLjU2LDAuMjYgTDAuNTgs
MC4yNiBMMC41OSwwLjI3IEwwLjYxLDAuMjcgTDAuNjIsMC4yOCBMMC42MywwLjI5IEwwLjY1LDAu
MzAgTDAuNjYsMC4zMSBMMC42NywwLjMyIEwwLjY4LDAuMzMgTDAuNjksMC4zNCBMMC43MCwwLjM1
IEwwLjcxLDAuMzcgTDAuNzIsMC4zOCBMMC43MywwLjM5IEwwLjczLDAuNDEgTDAuNzQsMC40MiBM
MC43NCwwLjQ0IEwwLjc1LDAuNDUgTDAuNzUsMC40NyBMMC43NSwwLjQ4IFoiXQogICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDF4MSBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMC40MCwwLjQwIEwwLjYwLDAuNDAgTDAuNjAsMC42MCBM
MC40MCwwLjYwIFoiXQotICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMTUs
NSkgc2l6ZSAyMHgyMAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBb
aWQ9InBhdHRlcm5Vc2VyU3BhY2UiXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0
dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgUmVuZGVyUGF0aCB7Y2ly
Y2xlfSBhdCAoMTUsNSkgc2l6ZSAyMHgyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYw
MDAwXX1dIFtkYXRhPSJNMzUuMDAsMTUuMDAgTDM0Ljk4LDE1LjYzIEwzNC45MiwxNi4yNSBMMzQu
ODIsMTYuODcgTDM0LjY5LDE3LjQ5IEwzNC41MSwxOC4wOSBMMzQuMzAsMTguNjggTDM0LjA1LDE5
LjI2IEwzMy43NiwxOS44MiBMMzMuNDQsMjAuMzYgTDMzLjA5LDIwLjg4IEwzMi43MSwyMS4zNyBM
MzIuMjksMjEuODUgTDMxLjg1LDIyLjI5IEwzMS4zNywyMi43MSBMMzAuODgsMjMuMDkgTDMwLjM2
LDIzLjQ0IEwyOS44MiwyMy43NiBMMjkuMjYsMjQuMDUgTDI4LjY4LDI0LjMwIEwyOC4wOSwyNC41
MSBMMjcuNDksMjQuNjkgTDI2Ljg3LDI0LjgyIEwyNi4yNSwyNC45MiBMMjUuNjMsMjQuOTggTDI1
LjAwLDI1LjAwIEwyNC4zNywyNC45OCBMMjMuNzUsMjQuOTIgTDIzLjEzLDI0LjgyIEwyMi41MSwy
NC42OSBMMjEuOTEsMjQuNTEgTDIxLjMyLDI0LjMwIEwyMC43NCwyNC4wNSBMMjAuMTgsMjMuNzYg
TDE5LjY0LDIzLjQ0IEwxOS4xMiwyMy4wOSBMMTguNjMsMjIuNzEgTDE4LjE1LDIyLjI5IEwxNy43
MSwyMS44NSBMMTcuMjksMjEuMzcgTDE2LjkxLDIwLjg4IEwxNi41NiwyMC4zNiBMMTYuMjQsMTku
ODIgTDE1Ljk1LDE5LjI2IEwxNS43MCwxOC42OCBMMTUuNDksMTguMDkgTDE1LjMxLDE3LjQ5IEwx
NS4xOCwxNi44NyBMMTUuMDgsMTYuMjUgTDE1LjAyLDE1LjYzIEwxNS4wMCwxNS4wMCBMMTUuMDIs
MTQuMzcgTDE1LjA4LDEzLjc1IEwxNS4xOCwxMy4xMyBMMTUuMzEsMTIuNTEgTDE1LjQ5LDExLjkx
IEwxNS43MCwxMS4zMiBMMTUuOTUsMTAuNzQgTDE2LjI0LDEwLjE4IEwxNi41Niw5LjY0IEwxNi45
MSw5LjEyIEwxNy4yOSw4LjYzIEwxNy43MSw4LjE1IEwxOC4xNSw3LjcxIEwxOC42Myw3LjI5IEwx
OS4xMiw2LjkxIEwxOS42NCw2LjU2IEwyMC4xOCw2LjI0IEwyMC43NCw1Ljk1IEwyMS4zMiw1Ljcw
IEwyMS45MSw1LjQ5IEwyMi41MSw1LjMxIEwyMy4xMyw1LjE4IEwyMy43NSw1LjA4IEwyNC4zNyw1
LjAyIEwyNS4wMCw1LjAwIEwyNS42Myw1LjAyIEwyNi4yNSw1LjA4IEwyNi44Nyw1LjE4IEwyNy40
OSw1LjMxIEwyOC4wOSw1LjQ5IEwyOC42OCw1LjcwIEwyOS4yNiw1Ljk1IEwyOS44Miw2LjI0IEwz
MC4zNiw2LjU2IEwzMC44OCw2LjkxIEwzMS4zNyw3LjI5IEwzMS44NSw3LjcxIEwzMi4yOSw4LjE1
IEwzMi43MSw4LjYzIEwzMy4wOSw5LjEyIEwzMy40NCw5LjY0IEwzMy43NiwxMC4xOCBMMzQuMDUs
MTAuNzQgTDM0LjMwLDExLjMyIEwzNC41MSwxMS45MSBMMzQuNjksMTIuNTEgTDM0LjgyLDEzLjEz
IEwzNC45MiwxMy43NSBMMzQuOTgsMTQuMzcgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgyMCwxMikgc2l6ZSAxMHg2IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZd
fV0gW2RhdGE9Ik0yMC4wMCwxMi4wMCBMMzAuMDAsMTIuMDAgTDMwLjAwLDE4LjAwIEwyMC4wMCwx
OC4wMCBaIl0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzMCwyNDApIHNpemUgMzg1
eDE4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLC0xNCkgc2l6ZSAzODV4MTgKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEg
YXQgKDMwLjAwLDI0MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNjAgd2lkdGggMzg1LjAw
OiAiQm91bmRpbmcgYm94IHJlbGF0aXZlIHdpZHRoL2hlaWdodCAocGVyY2VudGFnZSBhbmQgZnJh
Y3Rpb24pIgogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjksMjQ5KSBzaXplIDQz
M3gzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzMC4wMCwyNTAu
MDApfV0KLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5LDI0OSkgc2l6ZSA1MngzMiBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRF
Uk5dIFtiYm94PWF0ICgwLjI1LDAuMjUpIHNpemUgMC41MHgwLjUwXX1dIFtkYXRhPSJNMC4wMCww
LjAwIEw1MC4wMCwwLjAwIEw1MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KLSAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDE3OSwyNDkpIHNpemUgNTJ4MzIgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTUwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMC4y
NSwwLjI1KSBzaXplIDAuNTB4MC41MF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNTAuMDAsMC4wMCBM
NTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCi0gICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgzMjksMjQ5KSBzaXplIDUyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4w
MCkpIHQ9KDMwMC4wMCwwLjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDEyLjUwLDcuNTApIHNpemUgMjV4
MTVdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAwLDAuMDAgTDUwLjAwLDMwLjAwIEwwLjAwLDMw
LjAwIFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjksMjQ5KSBzaXplIDUyeDMy
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFU
VEVSTl0gW2lkPSJwYXR0ZXJuQm91bmRpbmdCb3hQZXJjZW50YWdlIl19XSBbZGF0YT0iTTAuMDAs
MC4wMCBMNTAuMDAsMC4wMCBMNTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCisgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgxNzksMjQ5KSBzaXplIDUyeDMyIFt0cmFuc2Zvcm09e209KCgx
LjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDE1MC4wMCwwLjAwKX1dIFtzdHJva2U9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJwYXR0ZXJu
Qm91bmRpbmdCb3hGcmFjdGlvbiJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAwLDAuMDAgTDUw
LjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MzI5LDI0OSkgc2l6ZSA1MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDAp
KSB0PSgzMDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
fV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0icGF0dGVyblVzZXJTcGFjZSJdfV0gW2RhdGE9
Ik0wLjAwLDAuMDAgTDUwLjAwLDAuMDAgTDUwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQogICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNjAsMjApIHNpemUgNjl4MTggY29udGFpbnMg
MSBjaHVuayhzKQogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwt
MTQpIHNpemUgNjl4MTgKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNjAuMDAs
MjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEwIHdpZHRoIDY5LjAwOiAiUGVyY2VudGFn
ZSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVy
cy1jb2xvci0wMS1iLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2ZpbHRlcnMtY29sb3ItMDEtYi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS9maWx0ZXJzLWNvbG9yLTAxLWItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQgKzEsMyBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iTXlHcmFkaWVudCIgW3R5cGU9
TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNERDAwREQpLCAoMC4zMywjMjJDQzIyKSwg
KDAuNjcsIzQwMDAwMCksICgxLjAwLCNBMEEwRkYpXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtz
dGFydD0oMjAsMCldIFtlbmQ9KDc2MCwwKV19CiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKIGxheWVyIGF0ICgwLDApIHNpemUg
NDgweDM2MApAQCAtNiwxMSArNSwxMSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDUpIHNpemUgNDgweDI5MgogICAgICAgUmVu
ZGVyU1ZHVmlld3BvcnRDb250YWluZXIge3N2Z30gYXQgKDAsNSkgc2l6ZSA0ODB4MjkyCiAgICAg
ICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFy
R3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9Ik15R3JhZGllbnQiXSBbZ3JhZGllbnRVbml0
cz11c2VyU3BhY2VPblVzZV0gW3N0YXJ0PSgyMCwwKV0gW2VuZD0oNzYwLDApXQorICAgICAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jREQw
MEREXQorICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAu
MzNdIFtjb2xvcj0jMjJDQzIyXQorICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTAuNjddIFtjb2xvcj0jNDAwMDAwXQorICAgICAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jQTBBMEZGXQogICAgICAg
ICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iTWF0cml4Il0gW2ZpbHRl
clVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2Vd
CiAgICAgICAgICAgICBbbGFzdCBwcmltaXRpdmUgXQogICAgICAgICAgIFJlbmRlclNWR1Jlc291
cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iU2F0dXJhdGU0MCJdIFtmaWx0ZXJVbml0cz1vYmplY3RC
b3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQpAQCAtMjIsMjYgKzIx
LDI2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICAgICAgW2xhc3QgcHJp
bWl0aXZlIF0KICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCw1KSBzaXplIDQ4
MHgyOTIKICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoOCw1KSBzaXplIDQ2NHgyOTAg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMS4wMCwxLjAw
IEw3OTkuMDAsMS4wMCBMNzk5LjAwLDQ5OS4wMCBMMS4wMCw0OTkuMDAgWiJdCi0gICAgICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE5LDE2KSBzaXplIDQ0MngyNCBbZmlsbD17W3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNERDAwREQpLCAoMC4zMywjMjJDQzIyKSwgKDAu
NjcsIzQwMDAwMCksICgxLjAwLCNBMEEwRkYpXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFy
dD0oMjAsMCldIFtlbmQ9KDc2MCwwKV19XSBbZGF0YT0iTTIwLjAwLDIwLjAwIEw3ODAuMDAsMjAu
MDAgTDc4MC4wMCw2MC4wMCBMMjAuMDAsNjAuMDAgWiJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDE5LDE2KSBzaXplIDQ0MngyNCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5U
XSBbaWQ9Ik15R3JhZGllbnQiXX1dIFtkYXRhPSJNMjAuMDAsMjAuMDAgTDc4MC4wMCwyMC4wMCBM
NzgwLjAwLDYwLjAwIEwyMC4wMCw2MC4wMCBaIl0KICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMjAsOTUpIHNpemUgMTk2eDQ4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtNDApIHNpemUgMTk2eDQ4CiAg
ICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjAuMDAsOTUuMDApIHN0YXJ0T2Zm
c2V0IDAgZW5kT2Zmc2V0IDEwIHdpZHRoIDE5Ni4wMDogIlVuZmlsdGVyZWQiCi0gICAgICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE5LDc0KSBzaXplIDQ0MngyNCBbZmlsbD17W3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNERDAwREQpLCAoMC4zMywjMjJDQzIyKSwgKDAu
NjcsIzQwMDAwMCksICgxLjAwLCNBMEEwRkYpXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFy
dD0oMjAsMCldIFtlbmQ9KDc2MCwwKV19XSBbZGF0YT0iTTIwLjAwLDEyMC4wMCBMNzgwLjAwLDEy
MC4wMCBMNzgwLjAwLDE2MC4wMCBMMjAuMDAsMTYwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBh
dGgge3JlY3R9IGF0ICgxOSw3NCkgc2l6ZSA0NDJ4MjQgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFE
SUVOVF0gW2lkPSJNeUdyYWRpZW50Il19XSBbZGF0YT0iTTIwLjAwLDEyMC4wMCBMNzgwLjAwLDEy
MC4wMCBMNzgwLjAwLDE2MC4wMCBMMjAuMDAsMTYwLjAwIFoiXQogICAgICAgICAgICAgW2ZpbHRl
cj0iTWF0cml4Il0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDIwLDEyMCkg
c2l6ZSA3NjB4NDAKICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMTk1KSBz
aXplIDY3NXg0OCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTQwKSBzaXplIDY3NXg0OAogICAgICAgICAgICAgICBjaHVu
ayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDE5NS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQg
MzIgd2lkdGggNjc1LjAwOiAidHlwZT1cIm1hdHJpeFwiIChncmF5c2NhbGUgbWF0cml4KSIKLSAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwxMzEpIHNpemUgNDgweDI2IFtmaWxsPXtb
dHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0REMDBERCksICgwLjMzLCMyMkND
MjIpLCAoMC42NywjNDAwMDAwKSwgKDEuMDAsI0EwQTBGRildXSBbYm91bmRpbmcgYm94IG1vZGU9
MF0gW3N0YXJ0PSgyMCwwKV0gW2VuZD0oNzYwLDApXX1dIFtkYXRhPSJNMjAuMDAsMjIwLjAwIEw3
ODAuMDAsMjIwLjAwIEw3ODAuMDAsMjYwLjAwIEwyMC4wMCwyNjAuMDAgWiJdCisgICAgICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMTMxKSBzaXplIDQ4MHgyNiBbZmlsbD17W3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbaWQ9Ik15R3JhZGllbnQiXX1dIFtkYXRhPSJNMjAuMDAsMjIwLjAwIEw3
ODAuMDAsMjIwLjAwIEw3ODAuMDAsMjYwLjAwIEwyMC4wMCwyNjAuMDAgWiJdCiAgICAgICAgICAg
ICBbZmlsdGVyPSJTYXR1cmF0ZTQwIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0g
YXQgKC0xOCwyMTgpIHNpemUgODM2eDQ0CiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDIwLDI5NSkgc2l6ZSA1Nzd4NDggY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC00MCkgc2l6ZSA1Nzd4NDgKICAgICAg
ICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCwyOTUuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDI3IHdpZHRoIDU3Ny4wMDogInR5cGU9XCJzYXR1cmF0ZVwiIHZhbHVlcz1c
Ii40XCIiCi0gICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMTg5KSBzaXplIDQ4MHgy
NiBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNERDAwREQpLCAo
MC4zMywjMjJDQzIyKSwgKDAuNjcsIzQwMDAwMCksICgxLjAwLCNBMEEwRkYpXV0gW2JvdW5kaW5n
IGJveCBtb2RlPTBdIFtzdGFydD0oMjAsMCldIFtlbmQ9KDc2MCwwKV19XSBbZGF0YT0iTTIwLjAw
LDMyMC4wMCBMNzgwLjAwLDMyMC4wMCBMNzgwLjAwLDM2MC4wMCBMMjAuMDAsMzYwLjAwIFoiXQor
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDE4OSkgc2l6ZSA0ODB4MjYgW2ZpbGw9
e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJNeUdyYWRpZW50Il19XSBbZGF0YT0iTTIwLjAw
LDMyMC4wMCBMNzgwLjAwLDMyMC4wMCBMNzgwLjAwLDM2MC4wMCBMMjAuMDAsMzYwLjAwIFoiXQog
ICAgICAgICAgICAgW2ZpbHRlcj0iSHVlUm90YXRlOTAiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRl
ciB7ZmlsdGVyfSBhdCAoLTE4LDMxOCkgc2l6ZSA4MzZ4NDQKICAgICAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMjAsMzk1KSBzaXplIDYyNng0OCBjb250YWlucyAxIGNodW5rKHMpCiAg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTQwKSBzaXplIDYy
Nng0OAogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDM5NS4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMjggd2lkdGggNjI2LjAwOiAidHlwZT1cImh1ZVJvdGF0
ZVwiIHZhbHVlcz1cIjkwXCIiCi0gICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMjQ3
KSBzaXplIDQ4MHgyNiBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAw
LCNERDAwREQpLCAoMC4zMywjMjJDQzIyKSwgKDAuNjcsIzQwMDAwMCksICgxLjAwLCNBMEEwRkYp
XV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMjAsMCldIFtlbmQ9KDc2MCwwKV19XSBb
ZGF0YT0iTTIwLjAwLDQyMC4wMCBMNzgwLjAwLDQyMC4wMCBMNzgwLjAwLDQ2MC4wMCBMMjAuMDAs
NDYwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDI0Nykgc2l6ZSA0
ODB4MjYgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJNeUdyYWRpZW50Il19XSBb
ZGF0YT0iTTIwLjAwLDQyMC4wMCBMNzgwLjAwLDQyMC4wMCBMNzgwLjAwLDQ2MC4wMCBMMjAuMDAs
NDYwLjAwIFoiXQogICAgICAgICAgICAgW2ZpbHRlcj0iTHVtaW5hbmNlVG9BbHBoYSJdIFJlbmRl
clNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgtMTgsNDE4KSBzaXplIDgzNng0NAogICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMCw0OTUpIHNpemUgNTI0eDQ4IGNvbnRh
aW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtNDApIHNpemUgNTI0eDQ4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L1czQy1TVkctMS4xL2ZpbHRlcnMtY29tcHRyYW4tMDEtYi1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9maWx0ZXJzLWNv
bXB0cmFuLTAxLWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvZmlsdGVycy1jb21wdHJhbi0wMS1iLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDMgQEAKLUtSZW5kZXJpbmdQYWludFNl
cnZlciB7aWQ9Ik15R3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4w
MCwjRkYwMDAwKSwgKDAuMzMsIzAwRkYwMCksICgwLjY3LCMwMDAwRkYpLCAoMS4wMCwjMDAwMDAw
KV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDApXSBbZW5kPSg1OTAsMCldfQog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA0
ODB4MzYwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKQEAgLTYsMTEgKzUsMTEgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MTUsNSkgc2l6ZSA0NTB4MzAwCiAgICAgICBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciB7c3Zn
fSBhdCAoMTUsNSkgc2l6ZSA0NTB4MzAwCiAgICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5l
ciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAg
ICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBb
aWQ9Ik15R3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz11c2VyU3BhY2VPblVzZV0gW3N0YXJ0PSgx
MCwwKV0gW2VuZD0oNTkwLDApXQorICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMzNdIFtjb2xvcj0jMDBGRjAwXQorICAgICAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuNjddIFtjb2xvcj0j
MDAwMEZGXQorICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTEuMDBdIFtjb2xvcj0jMDAwMDAwXQogICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVy
IHtmaWx0ZXJ9IFtpZD0iSWRlbnRpdHkiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hd
IFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICAgIFtsYXN0IHByaW1p
dGl2ZSBdCiAgICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJU
YWJsZSJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVz
ZXJTcGFjZU9uVXNlXQpAQCAtMjIsMjIgKzIxLDIyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgw
eDM2MAogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTUsNSkgc2l6ZSA0NTB4MzAwIFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbZGF0YT0iTTEuMDAsMS4wMCBM
NjI5LjAwLDEuMDAgTDYyOS4wMCw0MTkuMDAgTDEuMDAsNDE5LjAwIFoiXQogICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgxNSw1KSBzaXplIDQ1MHgzMDAKICAgICAgICAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMTUsNSkgc2l6ZSA0NTB4MzAwIFtzdHJva2U9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDBGRl19XSBbZGF0YT0iTTEuMDAsMS4wMCBMNjI5LjAwLDEuMDAgTDYyOS4w
MCw0MTkuMDAgTDEuMDAsNDE5LjAwIFoiXQotICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgyMiwxMikgc2l6ZSA0MTV4MjkgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3Bz
PVsoMC4wMCwjRkYwMDAwKSwgKDAuMzMsIzAwRkYwMCksICgwLjY3LCMwMDAwRkYpLCAoMS4wMCwj
MDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDApXSBbZW5kPSg1OTAs
MCldfV0gW2RhdGE9Ik0xMC4wMCwxMC4wMCBMNTkwLjAwLDEwLjAwIEw1OTAuMDAsNTAuMDAgTDEw
LjAwLDUwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMiwxMikgc2l6
ZSA0MTV4MjkgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJNeUdyYWRpZW50Il19
XSBbZGF0YT0iTTEwLjAwLDEwLjAwIEw1OTAuMDAsMTAuMDAgTDU5MC4wMCw1MC4wMCBMMTAuMDAs
NTAuMDAgWiJdCiAgICAgICAgICAgICBbZmlsdGVyPSJJZGVudGl0eSJdIFJlbmRlclNWR1Jlc291
cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgxMCwxMCkgc2l6ZSA1ODB4NDAKICAgICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsODApIHNpemUgMjA2eDM2IGNvbnRhaW5zIDEgY2h1bmso
cykKICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMzApIHNp
emUgMjA2eDM2CiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsODAu
MDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE0IHdpZHRoIDIwNi4wMDogInR5cGU6IGlkZW50
aXR5IgotICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMiw4Mykgc2l6ZSA0MTV4MzAg
W2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDAu
MzMsIzAwRkYwMCksICgwLjY3LCMwMDAwRkYpLCAoMS4wMCwjMDAwMDAwKV1dIFtib3VuZGluZyBi
b3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDApXSBbZW5kPSg1OTAsMCldfV0gW2RhdGE9Ik0xMC4wMCwx
MTAuMDAgTDU5MC4wMCwxMTAuMDAgTDU5MC4wMCwxNTAuMDAgTDEwLjAwLDE1MC4wMCBaIl0KKyAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjIsODMpIHNpemUgNDE1eDMwIFtmaWxsPXtb
dHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iTXlHcmFkaWVudCJdfV0gW2RhdGE9Ik0xMC4wMCwx
MTAuMDAgTDU5MC4wMCwxMTAuMDAgTDU5MC4wMCwxNTAuMDAgTDEwLjAwLDE1MC4wMCBaIl0KICAg
ICAgICAgICAgIFtmaWx0ZXI9IlRhYmxlIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRl
cn0gYXQgKDEwLDExMCkgc2l6ZSA1ODB4NDAKICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMTAsMTgwKSBzaXplIDE2N3gzNiBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTMwKSBzaXplIDE2N3gzNgogICAg
ICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDE4MC4wMCkgc3RhcnRPZmZz
ZXQgMCBlbmRPZmZzZXQgMTEgd2lkdGggMTY3LjAwOiAidHlwZTogdGFibGUiCi0gICAgICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIyLDE1NSkgc2l6ZSA0MTV4MjkgW2ZpbGw9e1t0eXBlPUxJ
TkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDAuMzMsIzAwRkYwMCksICgw
LjY3LCMwMDAwRkYpLCAoMS4wMCwjMDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3Rh
cnQ9KDEwLDApXSBbZW5kPSg1OTAsMCldfV0gW2RhdGE9Ik0xMC4wMCwyMTAuMDAgTDU5MC4wMCwy
MTAuMDAgTDU5MC4wMCwyNTAuMDAgTDEwLjAwLDI1MC4wMCBaIl0KKyAgICAgICAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoMjIsMTU1KSBzaXplIDQxNXgyOSBbZmlsbD17W3R5cGU9TElORUFSLUdS
QURJRU5UXSBbaWQ9Ik15R3JhZGllbnQiXX1dIFtkYXRhPSJNMTAuMDAsMjEwLjAwIEw1OTAuMDAs
MjEwLjAwIEw1OTAuMDAsMjUwLjAwIEwxMC4wMCwyNTAuMDAgWiJdCiAgICAgICAgICAgICBbZmls
dGVyPSJMaW5lYXIiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMTAsMjEw
KSBzaXplIDU4MHg0MAogICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwyODAp
IHNpemUgNjAxeDM2IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMzApIHNpemUgNjAxeDM2CiAgICAgICAgICAgICAgIGNo
dW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMjgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNl
dCA0MCB3aWR0aCA2MDEuMDA6ICJ0eXBlOmxpbmVhciBzbG9wZTouNSBpbnRlcmNlcHRzOi4yNS8w
Ly41IgotICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMiwyMjYpIHNpemUgNDE1eDI5
IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgw
LjMzLCMwMEZGMDApLCAoMC42NywjMDAwMEZGKSwgKDEuMDAsIzAwMDAwMCldXSBbYm91bmRpbmcg
Ym94IG1vZGU9MF0gW3N0YXJ0PSgxMCwwKV0gW2VuZD0oNTkwLDApXX1dIFtkYXRhPSJNMTAuMDAs
MzEwLjAwIEw1OTAuMDAsMzEwLjAwIEw1OTAuMDAsMzUwLjAwIEwxMC4wMCwzNTAuMDAgWiJdCisg
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIyLDIyNikgc2l6ZSA0MTV4MjkgW2ZpbGw9
e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJNeUdyYWRpZW50Il19XSBbZGF0YT0iTTEwLjAw
LDMxMC4wMCBMNTkwLjAwLDMxMC4wMCBMNTkwLjAwLDM1MC4wMCBMMTAuMDAsMzUwLjAwIFoiXQog
ICAgICAgICAgICAgW2ZpbHRlcj0iR2FtbWEiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7Zmls
dGVyfSBhdCAoMTAsMzEwKSBzaXplIDU4MHg0MAogICAgICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICgxMCwzODApIHNpemUgNTkweDM2IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMzApIHNpemUgNTkweDM2Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL21hc2tpbmctbWFz
ay0wMS1iLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvbWFza2luZy1tYXNrLTAxLWItZXhwZWN0ZWQuY2hlY2tz
dW0JKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0Mt
U1ZHLTEuMS9tYXNraW5nLW1hc2stMDEtYi1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5
KQpAQCAtMSArMSBAQAotMDk3NGRjZTVkNTVjMzM4M2Q1OWRkNzc2Zjk0MmRmMWEKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCiswZjg4M2QxM2UxMWYxMDEyZDNlZjgwNzlkNTBlOWUwNwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvVzNDLVNWRy0xLjEvbWFza2luZy1tYXNrLTAxLWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvbWFza2luZy1tYXNr
LTAxLWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvbWFza2luZy1tYXNrLTAxLWItZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0i
R3JhZDEiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZGRkZGKSwgKDEu
MDAsI0ZGRkZGRjdGKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDYwLDUwKV0gW2Vu
ZD0oNjAsMTIwKV19CiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDQ4MHgzNjAKIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MApAQCAtMTEs
MTAgKzEwLDEwIEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDEwLDMwKSBzaXplIDEwMHgyNjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9I0ZGMDAwMF19XSBbZGF0YT0iTTEwLjAwLDMwLjAwIEwxMTAuMDAsMzAuMDAgTDExMC4wMCwy
OTAuMDAgTDEwLjAwLDI5MC4wMCBaIl0KICAgICAgIFJlbmRlclNWR1Jlc291cmNlTWFza2VyIHtt
YXNrfSBbaWQ9Im1hc2sxIl0gW21hc2tVbml0cz11c2VyU3BhY2VPblVzZV0gW21hc2tDb250ZW50
VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7
ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoNjAsNTApIHNpemUgMTAweDYwIFtmaWxsPXtbdHlwZT1MSU5FQVIt
R1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgxLjAwLCNGRkZGRkY3RildXSBbYm91
bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSg2MCw1MCldIFtlbmQ9KDYwLDEyMCldfV0gW2RhdGE9
Ik02MC4wMCw1MC4wMCBMMTYwLjAwLDUwLjAwIEwxNjAuMDAsMTEwLjAwIEw2MC4wMCwxMTAuMDAg
WiJdCisgICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3Jh
ZGllbnR9IFtpZD0iR3JhZDEiXSBbZ3JhZGllbnRVbml0cz11c2VyU3BhY2VPblVzZV0gW3N0YXJ0
PSg2MCw1MCldIFtlbmQ9KDYwLDEyMCldCisgICAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRkZGRkZdCisgICAgICAgICAgICBSZW5k
ZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSNGRkZGRkY4MF0K
KyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDYwLDUwKSBzaXplIDEwMHg2MCBbZmlsbD17
W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9IkdyYWQxIl19XSBbZGF0YT0iTTYwLjAwLDUwLjAw
IEwxNjAuMDAsNTAuMDAgTDE2MC4wMCwxMTAuMDAgTDYwLjAwLDExMC4wMCBaIl0KICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICg2MCw1MCkgc2l6ZSAxMDB4NjAgW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwRkYwMF19XSBbZGF0YT0iTTYwLjAwLDUwLjAwIEwxNjAuMDAsNTAuMDAgTDE2
MC4wMCwxMTAuMDAgTDYwLjAwLDExMC4wMCBaIl0KICAgICAgICAgW21hc2tlcj0ibWFzazEiXSBS
ZW5kZXJTVkdSZXNvdXJjZU1hc2tlciB7bWFza30gYXQgKDYwLDUwKSBzaXplIDEwMHg2MAogICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwMCw2NSkgc2l6ZSAxNjN4MTQgY29udGFpbnMg
MSBjaHVuayhzKQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEu
MS9wYWludGluZy1yZW5kZXItMDEtYi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wYWludGluZy1yZW5kZXItMDEtYi1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9XM0MtU1ZHLTEuMS9wYWludGluZy1yZW5kZXItMDEtYi1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsMzIgKzEsMjkgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9Imdy
YWRpZW50RGVmYXVsdCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRkZG
RkYpLCAoMC4zMywjMDAwMEZGKSwgKDAuNjYsI0ZGMDAwMCksICgxLjAwLCNGRkZGMDApXV0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImdyYWRp
ZW50U1JHQiIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRkZGRkYpLCAo
MC4zMywjMDAwMEZGKSwgKDAuNjYsI0ZGMDAwMCksICgxLjAwLCNGRkZGMDApXV0gW3N0YXJ0PSgw
LDApXSBbZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImdyYWRpZW50TGlu
ZWFyUkdCIiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgw
LjMzLCMwMDAwRkYpLCAoMC42NiwjRkYwMDAwKSwgKDEuMDAsI0ZGRkYwMCldXSBbc3RhcnQ9KDAs
MCldIFtlbmQ9KDEsMCldfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAg
UmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgwLDgpIHNpemUgNDY4eDI3MwogICAgICAgUmVuZGVyU1ZHSGlkZGVu
Q29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdIaWRk
ZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGll
bnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJncmFkaWVudERlZmF1bHQiXSBbZ3JhZGll
bnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9
I0ZGRkZGRl0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9
MC4zM10gW2NvbG9yPSMwMDAwRkZdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTAuNjZdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGRkYwMF0KKyAgICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZ3Jh
ZGllbnRTUkdCIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCww
KV0gW2VuZD0oMSwwKV0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtv
ZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRkZGRkZdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBbb2Zmc2V0PTAuMzNdIFtjb2xvcj0jMDAwMEZGXQorICAgICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjY2XSBbY29sb3I9I0ZGMDAwMF0KKyAg
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9y
PSNGRkZGMDBdCisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVh
ckdyYWRpZW50fSBbaWQ9ImdyYWRpZW50TGluZWFyUkdCIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0
Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRkZGRkZdCisgICAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMzNdIFtjb2xvcj0j
MDAwMEZGXQorICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0w
LjY2XSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSNGRkZGMDBdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoLTIsMzApIHNpemUgNDU0eDI3IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0yMikgc2l6ZSA0NTR4MjcKICAgICAg
ICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgtMi4wMCwzMC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNDMgd2lkdGggNDU0LjAwOiAiQmFzaWMgdGVzdCBvZiBj
b2xvci1pbnRlcnBvbGF0aW9uIHByb3BlcnR5LiIKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDM2LDY2KSBzaXplIDQzMng1NSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAw
LDEuMDApKSB0PSg0MC4wMCw4MC4wMCl9XQotICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MzksNzkpIHNpemUgMzAyeDQyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19
XSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRkZGRkYpLCAo
MC4zMywjMDAwMEZGKSwgKDAuNjYsI0ZGMDAwMCksICgxLjAwLCNGRkZGMDApXV0gW3N0YXJ0PSgw
LDApXSBbZW5kPSgxLDApXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwzMDAuMDAsMC4wMCBMMzAwLjAw
LDQwLjAwIEwwLjAwLDQwLjAwIFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzks
NzkpIHNpemUgMzAyeDQyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBb
ZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImdyYWRpZW50RGVmYXVsdCJdfV0gW2Rh
dGE9Ik0wLjAwLDAuMDAgTDMwMC4wMCwwLjAwIEwzMDAuMDAsNDAuMDAgTDAuMDAsNDAuMDAgWiJd
CiAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDM2LDY2KSBzaXplIDh4OCBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9I0ZGRkZGRl19XSBbZGF0YT0iTTMuMDAsLTEwLjAwIEwyLjk5LC05LjgxIEwyLjk4LC05LjYy
IEwyLjk1LC05LjQ0IEwyLjkxLC05LjI1IEwyLjg1LC05LjA3IEwyLjc5LC04LjkwIEwyLjcxLC04
LjcyIEwyLjYzLC04LjU1IEwyLjUzLC04LjM5IEwyLjQzLC04LjI0IEwyLjMxLC04LjA5IEwyLjE5
LC03Ljk1IEwyLjA1LC03LjgxIEwxLjkxLC03LjY5IEwxLjc2LC03LjU3IEwxLjYxLC03LjQ3IEwx
LjQ1LC03LjM3IEwxLjI4LC03LjI5IEwxLjEwLC03LjIxIEwwLjkzLC03LjE1IEwwLjc1LC03LjA5
IEwwLjU2LC03LjA1IEwwLjM4LC03LjAyIEwwLjE5LC03LjAxIEwtMC4wMCwtNy4wMCBMLTAuMTks
LTcuMDEgTC0wLjM4LC03LjAyIEwtMC41NiwtNy4wNSBMLTAuNzUsLTcuMDkgTC0wLjkzLC03LjE1
IEwtMS4xMCwtNy4yMSBMLTEuMjgsLTcuMjkgTC0xLjQ1LC03LjM3IEwtMS42MSwtNy40NyBMLTEu
NzYsLTcuNTcgTC0xLjkxLC03LjY5IEwtMi4wNSwtNy44MSBMLTIuMTksLTcuOTUgTC0yLjMxLC04
LjA5IEwtMi40MywtOC4yNCBMLTIuNTMsLTguMzkgTC0yLjYzLC04LjU1IEwtMi43MSwtOC43MiBM
LTIuNzksLTguOTAgTC0yLjg1LC05LjA3IEwtMi45MSwtOS4yNSBMLTIuOTUsLTkuNDQgTC0yLjk4
LC05LjYyIEwtMi45OSwtOS44MSBMLTMuMDAsLTEwLjAwIEwtMi45OSwtMTAuMTkgTC0yLjk4LC0x
MC4zOCBMLTIuOTUsLTEwLjU2IEwtMi45MSwtMTAuNzUgTC0yLjg1LC0xMC45MyBMLTIuNzksLTEx
LjEwIEwtMi43MSwtMTEuMjggTC0yLjYzLC0xMS40NSBMLTIuNTMsLTExLjYxIEwtMi40MywtMTEu
NzYgTC0yLjMxLC0xMS45MSBMLTIuMTksLTEyLjA1IEwtMi4wNSwtMTIuMTkgTC0xLjkxLC0xMi4z
MSBMLTEuNzYsLTEyLjQzIEwtMS42MSwtMTIuNTMgTC0xLjQ1LC0xMi42MyBMLTEuMjgsLTEyLjcx
IEwtMS4xMCwtMTIuNzkgTC0wLjkzLC0xMi44NSBMLTAuNzUsLTEyLjkxIEwtMC41NiwtMTIuOTUg
TC0wLjM4LC0xMi45OCBMLTAuMTksLTEyLjk5IEwwLjAwLC0xMy4wMCBMMC4xOSwtMTIuOTkgTDAu
MzgsLTEyLjk4IEwwLjU2LC0xMi45NSBMMC43NSwtMTIuOTEgTDAuOTMsLTEyLjg1IEwxLjEwLC0x
Mi43OSBMMS4yOCwtMTIuNzEgTDEuNDUsLTEyLjYzIEwxLjYxLC0xMi41MyBMMS43NiwtMTIuNDMg
TDEuOTEsLTEyLjMxIEwyLjA1LC0xMi4xOSBMMi4xOSwtMTIuMDUgTDIuMzEsLTExLjkxIEwyLjQz
LC0xMS43NiBMMi41MywtMTEuNjEgTDIuNjMsLTExLjQ1IEwyLjcxLC0xMS4yOCBMMi43OSwtMTEu
MTAgTDIuODUsLTEwLjkzIEwyLjkxLC0xMC43NSBMMi45NSwtMTAuNTYgTDIuOTgsLTEwLjM4IEwy
Ljk5LC0xMC4xOSBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDM5LDczKSBzaXpl
IDJ4NDcgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjAwLC03LjAwIEwwLjAwLDQwLjAw
Il0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDg3LDk3KSBzaXplIDZ4NiBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzgwODBGRl19XSBbZGF0YT0iTTQ4LjAwLDE4LjAwIEw1Mi4wMCwxOC4wMCBMNTIuMDAsMjIu
MDAgTDQ4LjAwLDIyLjAwIFoiXQpAQCAtNDUsNyArNDIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDQ4MHgzNjAKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE2
KSBzaXplIDExOHgxOQogICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgzMTAuMDAs
MjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE0IHdpZHRoIDExOC4wMDogImRlZmF1bHQg
KHNSR0IpIgogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzYsMTQ2KSBzaXplIDM1
Nng1NSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0MC4wMCwxNjAu
MDApfV0KLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDM5LDE1OSkgc2l6ZSAzMDJ4NDIg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgwLjMzLCMwMDAwRkYpLCAoMC42
NiwjRkYwMDAwKSwgKDEuMDAsI0ZGRkYwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfV0g
W2RhdGE9Ik0wLjAwLDAuMDAgTDMwMC4wMCwwLjAwIEwzMDAuMDAsNDAuMDAgTDAuMDAsNDAuMDAg
WiJdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzOSwxNTkpIHNpemUgMzAyeDQyIFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9TElORUFS
LUdSQURJRU5UXSBbaWQ9ImdyYWRpZW50U1JHQiJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDMwMC4w
MCwwLjAwIEwzMDAuMDAsNDAuMDAgTDAuMDAsNDAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgg
e2NpcmNsZX0gYXQgKDM2LDE0Nikgc2l6ZSA4eDggW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGRkZdfV0gW2RhdGE9
Ik0zLjAwLC0xMC4wMCBMMi45OSwtOS44MSBMMi45OCwtOS42MiBMMi45NSwtOS40NCBMMi45MSwt
OS4yNSBMMi44NSwtOS4wNyBMMi43OSwtOC45MCBMMi43MSwtOC43MiBMMi42MywtOC41NSBMMi41
MywtOC4zOSBMMi40MywtOC4yNCBMMi4zMSwtOC4wOSBMMi4xOSwtNy45NSBMMi4wNSwtNy44MSBM
MS45MSwtNy42OSBMMS43NiwtNy41NyBMMS42MSwtNy40NyBMMS40NSwtNy4zNyBMMS4yOCwtNy4y
OSBMMS4xMCwtNy4yMSBMMC45MywtNy4xNSBMMC43NSwtNy4wOSBMMC41NiwtNy4wNSBMMC4zOCwt
Ny4wMiBMMC4xOSwtNy4wMSBMLTAuMDAsLTcuMDAgTC0wLjE5LC03LjAxIEwtMC4zOCwtNy4wMiBM
LTAuNTYsLTcuMDUgTC0wLjc1LC03LjA5IEwtMC45MywtNy4xNSBMLTEuMTAsLTcuMjEgTC0xLjI4
LC03LjI5IEwtMS40NSwtNy4zNyBMLTEuNjEsLTcuNDcgTC0xLjc2LC03LjU3IEwtMS45MSwtNy42
OSBMLTIuMDUsLTcuODEgTC0yLjE5LC03Ljk1IEwtMi4zMSwtOC4wOSBMLTIuNDMsLTguMjQgTC0y
LjUzLC04LjM5IEwtMi42MywtOC41NSBMLTIuNzEsLTguNzIgTC0yLjc5LC04LjkwIEwtMi44NSwt
OS4wNyBMLTIuOTEsLTkuMjUgTC0yLjk1LC05LjQ0IEwtMi45OCwtOS42MiBMLTIuOTksLTkuODEg
TC0zLjAwLC0xMC4wMCBMLTIuOTksLTEwLjE5IEwtMi45OCwtMTAuMzggTC0yLjk1LC0xMC41NiBM
LTIuOTEsLTEwLjc1IEwtMi44NSwtMTAuOTMgTC0yLjc5LC0xMS4xMCBMLTIuNzEsLTExLjI4IEwt
Mi42MywtMTEuNDUgTC0yLjUzLC0xMS42MSBMLTIuNDMsLTExLjc2IEwtMi4zMSwtMTEuOTEgTC0y
LjE5LC0xMi4wNSBMLTIuMDUsLTEyLjE5IEwtMS45MSwtMTIuMzEgTC0xLjc2LC0xMi40MyBMLTEu
NjEsLTEyLjUzIEwtMS40NSwtMTIuNjMgTC0xLjI4LC0xMi43MSBMLTEuMTAsLTEyLjc5IEwtMC45
MywtMTIuODUgTC0wLjc1LC0xMi45MSBMLTAuNTYsLTEyLjk1IEwtMC4zOCwtMTIuOTggTC0wLjE5
LC0xMi45OSBMMC4wMCwtMTMuMDAgTDAuMTksLTEyLjk5IEwwLjM4LC0xMi45OCBMMC41NiwtMTIu
OTUgTDAuNzUsLTEyLjkxIEwwLjkzLC0xMi44NSBMMS4xMCwtMTIuNzkgTDEuMjgsLTEyLjcxIEwx
LjQ1LC0xMi42MyBMMS42MSwtMTIuNTMgTDEuNzYsLTEyLjQzIEwxLjkxLC0xMi4zMSBMMi4wNSwt
MTIuMTkgTDIuMTksLTEyLjA1IEwyLjMxLC0xMS45MSBMMi40MywtMTEuNzYgTDIuNTMsLTExLjYx
IEwyLjYzLC0xMS40NSBMMi43MSwtMTEuMjggTDIuNzksLTExLjEwIEwyLjg1LC0xMC45MyBMMi45
MSwtMTAuNzUgTDIuOTUsLTEwLjU2IEwyLjk4LC0xMC4zOCBMMi45OSwtMTAuMTkgWiJdCiAgICAg
ICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgzOSwxNTMpIHNpemUgMng0NyBbc3Ryb2tlPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF19XSBbZGF0YT0iTTAuMDAsLTcuMDAgTDAuMDAsNDAuMDAiXQogICAgICAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoODcsMTc3KSBzaXplIDZ4NiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzgwODBGRl19XSBbZGF0
YT0iTTQ4LjAwLDE4LjAwIEw1Mi4wMCwxOC4wMCBMNTIuMDAsMjIuMDAgTDQ4LjAwLDIyLjAwIFoi
XQpAQCAtNjQsNyArNjEsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE2KSBzaXplIDQyeDE5CiAgICAg
ICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDMxMC4wMCwyMC4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgNCB3aWR0aCA0Mi4wMDogInNSR0IiCiAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgzNiwyMjYpIHNpemUgMzkzeDU1IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDAp
KDAuMDAsMS4wMCkpIHQ9KDQwLjAwLDI0MC4wMCl9XQotICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMzksMjM5KSBzaXplIDMwMng0MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwMDBdfV0gW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZG
RkZGKSwgKDAuMzMsIzAwMDBGRiksICgwLjY2LCNGRjAwMDApLCAoMS4wMCwjRkZGRjAwKV1dIFtz
dGFydD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMzAwLjAwLDAuMDAg
TDMwMC4wMCw0MC4wMCBMMC4wMCw0MC4wMCBaIl0KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDM5LDIzOSkgc2l6ZSAzMDJ4NDIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MDAwXX1dIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iZ3JhZGllbnRMaW5lYXJS
R0IiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwzMDAuMDAsMC4wMCBMMzAwLjAwLDQwLjAwIEwwLjAw
LDQwLjAwIFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgzNiwyMjYpIHNpemUg
OHg4IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jRkZGRkZGXX1dIFtkYXRhPSJNMy4wMCwtMTAuMDAgTDIuOTksLTkuODEg
TDIuOTgsLTkuNjIgTDIuOTUsLTkuNDQgTDIuOTEsLTkuMjUgTDIuODUsLTkuMDcgTDIuNzksLTgu
OTAgTDIuNzEsLTguNzIgTDIuNjMsLTguNTUgTDIuNTMsLTguMzkgTDIuNDMsLTguMjQgTDIuMzEs
LTguMDkgTDIuMTksLTcuOTUgTDIuMDUsLTcuODEgTDEuOTEsLTcuNjkgTDEuNzYsLTcuNTcgTDEu
NjEsLTcuNDcgTDEuNDUsLTcuMzcgTDEuMjgsLTcuMjkgTDEuMTAsLTcuMjEgTDAuOTMsLTcuMTUg
TDAuNzUsLTcuMDkgTDAuNTYsLTcuMDUgTDAuMzgsLTcuMDIgTDAuMTksLTcuMDEgTC0wLjAwLC03
LjAwIEwtMC4xOSwtNy4wMSBMLTAuMzgsLTcuMDIgTC0wLjU2LC03LjA1IEwtMC43NSwtNy4wOSBM
LTAuOTMsLTcuMTUgTC0xLjEwLC03LjIxIEwtMS4yOCwtNy4yOSBMLTEuNDUsLTcuMzcgTC0xLjYx
LC03LjQ3IEwtMS43NiwtNy41NyBMLTEuOTEsLTcuNjkgTC0yLjA1LC03LjgxIEwtMi4xOSwtNy45
NSBMLTIuMzEsLTguMDkgTC0yLjQzLC04LjI0IEwtMi41MywtOC4zOSBMLTIuNjMsLTguNTUgTC0y
LjcxLC04LjcyIEwtMi43OSwtOC45MCBMLTIuODUsLTkuMDcgTC0yLjkxLC05LjI1IEwtMi45NSwt
OS40NCBMLTIuOTgsLTkuNjIgTC0yLjk5LC05LjgxIEwtMy4wMCwtMTAuMDAgTC0yLjk5LC0xMC4x
OSBMLTIuOTgsLTEwLjM4IEwtMi45NSwtMTAuNTYgTC0yLjkxLC0xMC43NSBMLTIuODUsLTEwLjkz
IEwtMi43OSwtMTEuMTAgTC0yLjcxLC0xMS4yOCBMLTIuNjMsLTExLjQ1IEwtMi41MywtMTEuNjEg
TC0yLjQzLC0xMS43NiBMLTIuMzEsLTExLjkxIEwtMi4xOSwtMTIuMDUgTC0yLjA1LC0xMi4xOSBM
LTEuOTEsLTEyLjMxIEwtMS43NiwtMTIuNDMgTC0xLjYxLC0xMi41MyBMLTEuNDUsLTEyLjYzIEwt
MS4yOCwtMTIuNzEgTC0xLjEwLC0xMi43OSBMLTAuOTMsLTEyLjg1IEwtMC43NSwtMTIuOTEgTC0w
LjU2LC0xMi45NSBMLTAuMzgsLTEyLjk4IEwtMC4xOSwtMTIuOTkgTDAuMDAsLTEzLjAwIEwwLjE5
LC0xMi45OSBMMC4zOCwtMTIuOTggTDAuNTYsLTEyLjk1IEwwLjc1LC0xMi45MSBMMC45MywtMTIu
ODUgTDEuMTAsLTEyLjc5IEwxLjI4LC0xMi43MSBMMS40NSwtMTIuNjMgTDEuNjEsLTEyLjUzIEwx
Ljc2LC0xMi40MyBMMS45MSwtMTIuMzEgTDIuMDUsLTEyLjE5IEwyLjE5LC0xMi4wNSBMMi4zMSwt
MTEuOTEgTDIuNDMsLTExLjc2IEwyLjUzLC0xMS42MSBMMi42MywtMTEuNDUgTDIuNzEsLTExLjI4
IEwyLjc5LC0xMS4xMCBMMi44NSwtMTAuOTMgTDIuOTEsLTEwLjc1IEwyLjk1LC0xMC41NiBMMi45
OCwtMTAuMzggTDIuOTksLTEwLjE5IFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAo
MzksMjMzKSBzaXplIDJ4NDcgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1d
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjAwLC03LjAw
IEwwLjAwLDQwLjAwIl0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDg3LDI1Nykgc2l6
ZSA2eDYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSM4MDgwRkZdfV0gW2RhdGE9Ik00OC4wMCwxOC4wMCBMNTIuMDAsMTgu
MDAgTDUyLjAwLDIyLjAwIEw0OC4wMCwyMi4wMCBaIl0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wMS1iLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3Bz
ZXJ2ZXJzLWdyYWQtMDEtYi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTAxLWItZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE5ICsxLDE3IEBACi1LUmVuZGVyaW5nUGFp
bnRTZXJ2ZXIge2lkPSJHcmFkMWEiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4w
MCwjMDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfQot
S1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iR3JhZDFiIiBbdHlwZT1MSU5FQVItR1JBRElFTlRd
IFtzdG9wcz1bKDAuMDAsIzAwMDBGRiksICgxLjAwLCNGRjAwMDApXV0gW3N0YXJ0PSgwLDApXSBb
ZW5kPSgxLDApXX0KIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgNDgweDM2MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRl
clNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMjAsMjApIHNpemUgNDQweDI0NgotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29u
dGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdI
aWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwLDIwKSBzaXplIDQ0MHg4MCBbZmlsbD17W3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtz
dGFydD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTIwLjAwLDIwLjAwIEw0NjAuMDAsMjAu
MDAgTDQ2MC4wMCwxMDAuMDAgTDIwLjAwLDEwMC4wMCBaIl0KKyAgICAgIFJlbmRlclNWR1Jlc291
cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9IkdyYWQxYSJdIFtncmFkaWVu
dFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAw
MDBGRl0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBd
IFtjb2xvcj0jRkYwMDAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7
bGluZWFyR3JhZGllbnR9IFtpZD0iR3JhZDFiIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRp
bmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgyMCwyMCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lk
PSJHcmFkMWEiXX1dIFtkYXRhPSJNMjAuMDAsMjAuMDAgTDQ2MC4wMCwyMC4wMCBMNDYwLjAwLDEw
MC4wMCBMMjAuMDAsMTAwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIw
LDEzMCkgc2l6ZSAyMTF4MzMgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTI3KSBzaXplIDIxMXgzMwogICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMSBhdCAoMjAuMDAsMTMwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAx
NiB3aWR0aCAyMTEuMDA6ICJMaW5lYXIgZ3JhZGllbnQuIgotICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDIwLDE1MCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0g
W3N0b3BzPVsoMC4wMCwjMDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtl
bmQ9KDEsMCldfV0gW2RhdGE9Ik0yMC4wMCwxNTAuMDAgTDQ2MC4wMCwxNTAuMDAgTDQ2MC4wMCwy
MzAuMDAgTDIwLjAwLDIzMC4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMCwx
NTApIHNpemUgNDQweDgwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iR3JhZDFi
Il19XSBbZGF0YT0iTTIwLjAwLDE1MC4wMCBMNDYwLjAwLDE1MC4wMCBMNDYwLjAwLDIzMC4wMCBM
MjAuMDAsMjMwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDI2MCkg
c2l6ZSAzNzh4MzMgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTI3KSBzaXplIDM3OHgzMwogICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMjAuMDAsMjYwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyNyB3aWR0
aCAzNzguMDA6ICJSZWZlcmVuY2luZyBncmFkaWVudCBiZWxvdy4iCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMDItYi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS9wc2VydmVycy1ncmFkLTAyLWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0w
Mi1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxOSArMSwxNyBAQAotS1JlbmRl
cmluZ1BhaW50U2VydmVyIHtpZD0iR3JhZDJhIiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9w
cz1bKDAuMDAsIzAwMDAwMCksICgxLjAwLCNGRkE1MDApXV0gW2NlbnRlcj0oMC41MCwwLjUwKV0g
W2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdfQotS1JlbmRlcmluZ1BhaW50U2VydmVy
IHtpZD0iR3JhZDJiIiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDAw
MCksICgxLjAwLCNGRkE1MDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtjZW50ZXI9KDI0MCwx
OTApXSBbZm9jYWw9KDI0MCwxOTApXSBbcmFkaXVzPTQwLjAwXX0KIGxheWVyIGF0ICgwLDApIHNp
emUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNDgweDM2MAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA0
ODB4MzYwCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjAsMjApIHNpemUgNDQweDI0
NgotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwLDIwKSBz
aXplIDQ0MHg4MCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMw
MDAwMDApLCAoMS4wMCwjRkZBNTAwKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41
MCwwLjUwKV0gW3JhZGl1cz0wLjUwXX1dIFtkYXRhPSJNMjAuMDAsMjAuMDAgTDQ2MC4wMCwyMC4w
MCBMNDYwLjAwLDEwMC4wMCBMMjAuMDAsMTAwLjAwIFoiXQorICAgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2VSYWRpYWxHcmFkaWVudCB7cmFkaWFsR3JhZGllbnR9IFtpZD0iR3JhZDJhIl0gW2dyYWRpZW50
VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41
MCwwLjUwKV0gW3JhZGl1cz0wLjUwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMDAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGQTUwMF0KKyAgICAgIFJlbmRl
clNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9IkdyYWQyYiJd
IFtncmFkaWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbY2VudGVyPSgyNDAsMTkwKV0gW2ZvY2Fs
PSgyNDAsMTkwKV0gW3JhZGl1cz00MC4wMF0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgy
MCwyMCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJHcmFk
MmEiXX1dIFtkYXRhPSJNMjAuMDAsMjAuMDAgTDQ2MC4wMCwyMC4wMCBMNDYwLjAwLDEwMC4wMCBM
MjAuMDAsMTAwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDEzMCkg
c2l6ZSAyMTN4MzMgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTI3KSBzaXplIDIxM3gzMwogICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMjAuMDAsMTMwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNiB3aWR0
aCAyMTMuMDA6ICJSYWRpYWwgZ3JhZGllbnQuIgotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDIwLDE1MCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3Bz
PVsoMC4wMCwjMDAwMDAwKSwgKDEuMDAsI0ZGQTUwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0g
W2NlbnRlcj0oMjQwLDE5MCldIFtmb2NhbD0oMjQwLDE5MCldIFtyYWRpdXM9NDAuMDBdfV0gW2Rh
dGE9Ik0yMC4wMCwxNTAuMDAgTDQ2MC4wMCwxNTAuMDAgTDQ2MC4wMCwyMzAuMDAgTDIwLjAwLDIz
MC4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMCwxNTApIHNpemUgNDQweDgw
IFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0iR3JhZDJiIl19XSBbZGF0YT0iTTIw
LjAwLDE1MC4wMCBMNDYwLjAwLDE1MC4wMCBMNDYwLjAwLDIzMC4wMCBMMjAuMDAsMjMwLjAwIFoi
XQogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDI2MCkgc2l6ZSAzNzh4MzMgY29u
dGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsLTI3KSBzaXplIDM3OHgzMwogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjAu
MDAsMjYwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyNyB3aWR0aCAzNzguMDA6ICJSZWZl
cmVuY2luZyBncmFkaWVudCBiZWxvdy4iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMDMtYi1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1n
cmFkLTAzLWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wMy1iLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSwyMSArMSwxOSBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVy
IHtpZD0iUGF0M2EiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMjB4MjBdfQot
S1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iUGF0M2IiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0
ICgwLDApIHNpemUgMjB4MjBdfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAK
ICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKLSAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgNDYweDI2NgotICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDIweDIwCisgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMjAsMjApIHNpemUgNDQweDI0NgorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQ
YXR0ZXJuIHtwYXR0ZXJufSBbaWQ9IlBhdDNhIl0gW3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVz
ZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgIFJlbmRlclBh
dGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTB4MTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
I0ZGMDAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAuMDAsMC4wMCBMMTAuMDAsMTAuMDAgTDAu
MDAsMTAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwwKSBzaXplIDEw
eDEwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0xMC4wMCww
LjAwIEwyMC4wMCwwLjAwIEwyMC4wMCwxMC4wMCBMMTAuMDAsMTAuMDAgWiJdCiAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgwLDEwKSBzaXplIDEweDEwIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDAwRkZdfV0gW2RhdGE9Ik0wLjAwLDEwLjAwIEwxMC4wMCwxMC4wMCBMMTAuMDAs
MjAuMDAgTDAuMDAsMjAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwx
MCkgc2l6ZSAxMHgxMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZGRjAwXX1dIFtkYXRh
PSJNMTAuMDAsMTAuMDAgTDIwLjAwLDEwLjAwIEwyMC4wMCwyMC4wMCBMMTAuMDAsMjAuMDAgWiJd
Ci0gICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjAsMjApIHNpemUgNDQweDgwIFtmaWxsPXtbdHlw
ZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDIweDIwXX1dIFtkYXRhPSJNMjAuMDAsMjAu
MDAgTDQ2MC4wMCwyMC4wMCBMNDYwLjAwLDEwMC4wMCBMMjAuMDAsMTAwLjAwIFoiXQorICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9IlBhdDNiIl0gW3BhdHRlcm5V
bml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2Vd
CisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjAsMjApIHNpemUgNDQweDgwIFtmaWxsPXtb
dHlwZT1QQVRURVJOXSBbaWQ9IlBhdDNhIl19XSBbZGF0YT0iTTIwLjAwLDIwLjAwIEw0NjAuMDAs
MjAuMDAgTDQ2MC4wMCwxMDAuMDAgTDIwLjAwLDEwMC4wMCBaIl0KICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICgyMCwxMzApIHNpemUgMTQyeDMzIGNvbnRhaW5zIDEgY2h1bmsocykKICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0yNykgc2l6ZSAxNDJ4MzMK
ICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDEzMC4wMCkgc3RhcnRPZmZz
ZXQgMCBlbmRPZmZzZXQgMTMgd2lkdGggMTQyLjAwOiAiUGF0dGVybiBmaWxsLiIKLSAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgyMCwxNTApIHNpemUgNDQweDgwIFtmaWxsPXtbdHlwZT1QQVRU
RVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDIweDIwXX1dIFtkYXRhPSJNMjAuMDAsMTUwLjAwIEw0
NjAuMDAsMTUwLjAwIEw0NjAuMDAsMjMwLjAwIEwyMC4wMCwyMzAuMDAgWiJdCisgICAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMjAsMTUwKSBzaXplIDQ0MHg4MCBbZmlsbD17W3R5cGU9UEFUVEVS
Tl0gW2lkPSJQYXQzYiJdfV0gW2RhdGE9Ik0yMC4wMCwxNTAuMDAgTDQ2MC4wMCwxNTAuMDAgTDQ2
MC4wMCwyMzAuMDAgTDIwLjAwLDIzMC4wMCBaIl0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgyMCwyNjApIHNpemUgMzk5eDMzIGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0yNykgc2l6ZSAzOTl4MzMKICAgICAgICAg
ICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDI2MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMzEgd2lkdGggMzk5LjAwOiAiUmVmZXJlbmNpbmcgcGF0dGVybiBmaWxsIGJlbG93LiIK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMt
Z3JhZC0wNC1iLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMDQtYi1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEu
MS9wc2VydmVycy1ncmFkLTA0LWItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDI5
ICsxLDI3IEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJHcmFkMSIgW3R5cGU9TElORUFS
LUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNFRTgyRUUpLCAoMC4yMCwjMDAwMEZGKSwgKDAuNDAs
IzAwRkYwMCksICgwLjYwLCNGRkZGMDApLCAoMC44MCwjRkZBNTAwKSwgKDEuMDAsI0ZGMDAwMCld
XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMSldfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0i
R3JhZDIiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwKSwgKDAu
MjAsI0ZGRkYwMCksICgwLjQwLCNGRjAwMDApLCAoMC42MCwjMDAwMEZGKSwgKDAuODAsI0ZGRkZG
RiksICgxLjAwLCMwMDgwMDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtjZW50ZXI9KDI0MCwy
MTApXSBbZm9jYWw9KDI0MCwyMTApXSBbcmFkaXVzPTIyMC4wMF19CiBsYXllciBhdCAoMCwwKSBz
aXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKIGxheWVyIGF0
ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUg
NDgweDM2MAogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIwLDIwKSBzaXplIDQ0MHgy
NDYKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjAsMjApIHNpemUgNDQweDgwIFtm
aWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0VFODJFRSksICgwLjIw
LCMwMDAwRkYpLCAoMC40MCwjMDBGRjAwKSwgKDAuNjAsI0ZGRkYwMCksICgwLjgwLCNGRkE1MDAp
LCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwxKV19XSBbZGF0YT0iTTIw
LjAwLDIwLjAwIEw0NjAuMDAsMjAuMDAgTDQ2MC4wMCwxMDAuMDAgTDIwLjAwLDEwMC4wMCBaIl0K
KyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBb
aWQ9IkdyYWQxIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCww
KV0gW2VuZD0oMSwxKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zm
c2V0PTAuMDBdIFtjb2xvcj0jRUU4MkVFXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IFtvZmZzZXQ9MC4yMF0gW2NvbG9yPSMwMDAwRkZdCisgICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjQwXSBbY29sb3I9IzAwRkYwMF0KKyAgICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuNjBdIFtjb2xvcj0jRkZGRjAw
XQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC44MF0gW2Nv
bG9yPSNGRkE1MDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNl
dD0xLjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMCwy
MCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJHcmFkMSJd
fV0gW2RhdGE9Ik0yMC4wMCwyMC4wMCBMNDYwLjAwLDIwLjAwIEw0NjAuMDAsMTAwLjAwIEwyMC4w
MCwxMDAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMTMwKSBzaXpl
IDM0OXgzMyBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwtMjcpIHNpemUgMzQ5eDMzCiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1
biAxIGF0ICgyMC4wMCwxMzAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDI4IHdpZHRoIDM0
OS4wMDogIk11bHRpLWNvbG9yIGxpbmVhciBncmFkaWVudC4iCi0gICAgICBSZW5kZXJTVkdIaWRk
ZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5k
ZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDIwLDE1MCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFE
SUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwKSwgKDAuMjAsI0ZGRkYwMCksICgwLjQwLCNGRjAw
MDApLCAoMC42MCwjMDAwMEZGKSwgKDAuODAsI0ZGRkZGRiksICgxLjAwLCMwMDgwMDApXV0gW2Jv
dW5kaW5nIGJveCBtb2RlPTBdIFtjZW50ZXI9KDI0MCwyMTApXSBbZm9jYWw9KDI0MCwyMTApXSBb
cmFkaXVzPTIyMC4wMF19XSBbZGF0YT0iTTIwLjAwLDE1MC4wMCBMNDYwLjAwLDE1MC4wMCBMNDYw
LjAwLDIzMC4wMCBMMjAuMDAsMjMwLjAwIFoiXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRp
YWxHcmFkaWVudCB7cmFkaWFsR3JhZGllbnR9IFtpZD0iR3JhZDIiXSBbZ3JhZGllbnRVbml0cz11
c2VyU3BhY2VPblVzZV0gW2NlbnRlcj0oMjQwLDIxMCldIFtmb2NhbD0oMjQwLDIxMCldIFtyYWRp
dXM9MjIwLjAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9
MC4wMF0gW2NvbG9yPSMwMDAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gW29mZnNldD0wLjIwXSBbY29sb3I9I0ZGRkYwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuNDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5k
ZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC42MF0gW2NvbG9yPSMwMDAwRkZdCisg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjgwXSBbY29sb3I9
I0ZGRkZGRl0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEu
MDBdIFtjb2xvcj0jMDA4MDAwXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwLDE1MCkg
c2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJHcmFkMiJdfV0g
W2RhdGE9Ik0yMC4wMCwxNTAuMDAgTDQ2MC4wMCwxNTAuMDAgTDQ2MC4wMCwyMzAuMDAgTDIwLjAw
LDIzMC4wMCBaIl0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMCwyNjApIHNpemUg
MzQ5eDMzIGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLC0yNykgc2l6ZSAzNDl4MzMKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVu
IDEgYXQgKDIwLjAwLDI2MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMjggd2lkdGggMzQ5
LjAwOiAiTXVsdGktY29sb3IgcmFkaWFsIGdyYWRpZW50LiIKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wNS1iLWV4cGVjdGVkLmNo
ZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNW
Ry0xLjEvcHNlcnZlcnMtZ3JhZC0wNS1iLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiA1ODA5
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMt
Z3JhZC0wNS1iLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi05
N2MyNDAxMGNmOGFlNGVkMTNlMGVhNzU5Y2RjZGYyZApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKKzM5MTNhODc0MDQ0OWFlOThiMTkxOWY5ZjU4NWM4ZTBlClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9w
c2VydmVycy1ncmFkLTA1LWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wNS1iLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1cz
Qy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMDUtYi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSwzIEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJHcmFkMSIgW3R5cGU9
TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNFRTgyRUUpLCAoMC4yMCwjMDAwMEZGMDAp
LCAoMC40MCwjMDBGRjAwN0YpLCAoMC42MCwjRkZGRjAwMzMpLCAoMC44MCwjRkZBNTAwQ0MpLCAo
MS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwxKV19Ci1LUmVuZGVyaW5nUGFp
bnRTZXJ2ZXIge2lkPSJHcmFkMiIgW3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAw
LCMwMDAwMDApLCAoMC4yMCwjRkZGRjAwMDApLCAoMC40MCwjRkYwMDAwN0YpLCAoMC42MCwjMDAw
MEZGMzMpLCAoMC44MCwjRkZGRkZGQ0MpLCAoMS4wMCwjMDA4MDAwKV1dIFtib3VuZGluZyBib3gg
bW9kZT0wXSBbY2VudGVyPSgyNDAsMjEwKV0gW2ZvY2FsPSgyNDAsMjEwKV0gW3JhZGl1cz0yMjAu
MDBdfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA0ODB4MzYwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKQEAgLTgsMjUgKzYsMjUg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoNzAsODApIHNpemUgMzE4eDY3IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC01NCkgc2l6ZSAzMTh4NjcKICAgICAgICAg
ICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDcwLjAwLDgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAxMCB3aWR0aCAzMTguMDA6ICJCYWNrZ3JvdW5kIgotICAgICAgUmVuZGVyU1ZHSGlkZGVu
Q29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5k
ZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgyMCwyMCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVO
VF0gW3N0b3BzPVsoMC4wMCwjRUU4MkVFKSwgKDAuMjAsIzAwMDBGRjAwKSwgKDAuNDAsIzAwRkYw
MDdGKSwgKDAuNjAsI0ZGRkYwMDMzKSwgKDAuODAsI0ZGQTUwMENDKSwgKDEuMDAsI0ZGMDAwMCld
XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMSldfV0gW2RhdGE9Ik0yMC4wMCwyMC4wMCBMNDYwLjAw
LDIwLjAwIEw0NjAuMDAsMTAwLjAwIEwyMC4wMCwxMDAuMDAgWiJdCisgICAgICBSZW5kZXJTVkdS
ZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJHcmFkMSJdIFtncmFk
aWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMSldCisg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9
I0VFODJFRV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAu
MjBdIFtjb2xvcj0jMDAwMEZGMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gW29mZnNldD0wLjQwXSBbY29sb3I9IzAwRkYwMDgwXQorICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC42MF0gW2NvbG9yPSNGRkZGMDAzM10KKyAgICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuODBdIFtjb2xvcj0jRkZBNTAw
Q0NdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBb
Y29sb3I9I0ZGMDAwMF0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMCwyMCkgc2l6ZSA0
NDB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJHcmFkMSJdfV0gW2RhdGE9
Ik0yMC4wMCwyMC4wMCBMNDYwLjAwLDIwLjAwIEw0NjAuMDAsMTAwLjAwIEwyMC4wMCwxMDAuMDAg
WiJdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNzAsMjEwKSBzaXplIDMxOHg2NyBj
b250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtNTQpIHNpemUgMzE4eDY3CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg3
MC4wMCwyMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEwIHdpZHRoIDMxOC4wMDogIkJh
Y2tncm91bmQiCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0
ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwLDE1MCkgc2l6ZSA0
NDB4ODAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAw
KSwgKDAuMjAsI0ZGRkYwMDAwKSwgKDAuNDAsI0ZGMDAwMDdGKSwgKDAuNjAsIzAwMDBGRjMzKSwg
KDAuODAsI0ZGRkZGRkNDKSwgKDEuMDAsIzAwODAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0g
W2NlbnRlcj0oMjQwLDIxMCldIFtmb2NhbD0oMjQwLDIxMCldIFtyYWRpdXM9MjIwLjAwXX1dIFtk
YXRhPSJNMjAuMDAsMTUwLjAwIEw0NjAuMDAsMTUwLjAwIEw0NjAuMDAsMjMwLjAwIEwyMC4wMCwy
MzAuMDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxH
cmFkaWVudH0gW2lkPSJHcmFkMiJdIFtncmFkaWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbY2Vu
dGVyPSgyNDAsMjEwKV0gW2ZvY2FsPSgyNDAsMjEwKV0gW3JhZGl1cz0yMjAuMDBdCisgICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwMDAw
MF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMjBdIFtj
b2xvcj0jRkZGRjAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29m
ZnNldD0wLjQwXSBbY29sb3I9I0ZGMDAwMDgwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IFtvZmZzZXQ9MC42MF0gW2NvbG9yPSMwMDAwRkYzM10KKyAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuODBdIFtjb2xvcj0jRkZGRkZGQ0NdCisg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9
IzAwODAwMF0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMCwxNTApIHNpemUgNDQweDgw
IFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0iR3JhZDIiXX1dIFtkYXRhPSJNMjAu
MDAsMTUwLjAwIEw0NjAuMDAsMTUwLjAwIEw0NjAuMDAsMjMwLjAwIEwyMC4wMCwyMzAuMDAgWiJd
CiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDM0MCkgc2l6ZSAyNjR4NDYgY29udGFp
bnMgMSBjaHVuayhzKQogICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0z
Nikgc2l6ZSAyNjR4NDYKICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwzNDAu
MDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE2IHdpZHRoIDI2NC4wMDogIiRSZXZpc2lvbjog
MS43ICQiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3Bz
ZXJ2ZXJzLWdyYWQtMDYtYi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTA2LWItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzND
LVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wNi1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSwzMiArMSwyOSBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iR3JhZDEiIFt0eXBl
PUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMEZGKSwgKDAuNTAsI0ZGMDAwMCks
ICgxLjAwLCMwMEZGMDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFt0cmFuc2Zvcm09e209KCgw
LjUwLDAuMDApKDAuMDAsMC41MCkpIHQ9KDI1LjAwLDM1LjAwKX1dIFtzdGFydD0oMCwwKV0gW2Vu
ZD0oNDMwLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9IkdyYWQyIiBbdHlwZT1SQURJ
QUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDAwMCksICgxLjAwLCNGRkE1MDApXV0gW2Jv
dW5kaW5nIGJveCBtb2RlPTBdIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDEuMDAsMS4wMCkp
IHQ9KDI0MC4wMCwxNTUuMDApfV0gW2NlbnRlcj0oMCwwKV0gW2ZvY2FsPSgwLDApXSBbcmFkaXVz
PTYwLjAwXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9IlBhdDMiIFt0eXBlPVBBVFRFUk5d
IFtiYm94PWF0ICgwLDApIHNpemUgMjB4MjBdIFtwYXR0ZXJuIHRyYW5zZm9ybT17bT0oKDIuMDAs
MC4wMCkoMi4wMCwyLjAwKSkgdD0oMjUuMDAsMjE1LjAwKX1dfQogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA0ODB4MzYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBsYXllciBhdCAo
MCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDQ4
MHgzNjAKLSAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgNDYweDI5Ngot
ICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMCwyMCkgc2l6ZSA0NDB4NTAgW2Zp
bGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMEZGKSwgKDAuNTAs
I0ZGMDAwMCksICgxLjAwLCMwMEZGMDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFt0cmFuc2Zv
cm09e209KCgwLjUwLDAuMDApKDAuMDAsMC41MCkpIHQ9KDI1LjAwLDM1LjAwKX1dIFtzdGFydD0o
MCwwKV0gW2VuZD0oNDMwLDApXX1dIFtkYXRhPSJNMjAuMDAsMjAuMDAgTDQ2MC4wMCwyMC4wMCBM
NDYwLjAwLDcwLjAwIEwyMC4wMCw3MC4wMCBaIl0KKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9
IGF0ICgyMCwyMCkgc2l6ZSA0NDB4Mjc2CisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdy
YWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJHcmFkMSJdIFtncmFkaWVudFVuaXRzPXVzZXJT
cGFjZU9uVXNlXSBbZ3JhZGllbnRUcmFuc2Zvcm09e209KCgwLjUwLDAuMDApKDAuMDAsMC41MCkp
IHQ9KDI1LjAwLDM1LjAwKX1dIFtzdGFydD0oMCwwKV0gW2VuZD0oNDMwLDApXQorICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMDAwRkZd
CisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjUwXSBbY29s
b3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTEuMDBdIFtjb2xvcj0jMDBGRjAwXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwLDIw
KSBzaXplIDQ0MHg1MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9IkdyYWQxIl19
XSBbZGF0YT0iTTIwLjAwLDIwLjAwIEw0NjAuMDAsMjAuMDAgTDQ2MC4wMCw3MC4wMCBMMjAuMDAs
NzAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMTAwKSBzaXplIDI5
M3gzMyBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMjcpIHNpemUgMjkzeDMzCiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAx
IGF0ICgyMC4wMCwxMDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDIyIHdpZHRoIDI5My4w
MDogInNjYWxlKDAuNSkgb24gZ3JhZGllbnQiCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIge3JhZGlhbEdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgyMCwxMTApIHNpemUgNDQweDUwIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRd
IFtzdG9wcz1bKDAuMDAsIzAwMDAwMCksICgxLjAwLCNGRkE1MDApXV0gW2JvdW5kaW5nIGJveCBt
b2RlPTBdIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDEuMDAsMS4wMCkpIHQ9KDI0MC4wMCwx
NTUuMDApfV0gW2NlbnRlcj0oMCwwKV0gW2ZvY2FsPSgwLDApXSBbcmFkaXVzPTYwLjAwXX1dIFtk
YXRhPSJNMjAuMDAsMTEwLjAwIEw0NjAuMDAsMTEwLjAwIEw0NjAuMDAsMTYwLjAwIEwyMC4wMCwx
NjAuMDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxH
cmFkaWVudH0gW2lkPSJHcmFkMiJdIFtncmFkaWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbZ3Jh
ZGllbnRUcmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDEuMDAsMS4wMCkpIHQ9KDI0MC4wMCwxNTUu
MDApfV0gW2NlbnRlcj0oMCwwKV0gW2ZvY2FsPSgwLDApXSBbcmFkaXVzPTYwLjAwXQorICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMDAw
MDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBb
Y29sb3I9I0ZGQTUwMF0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMCwxMTApIHNpemUg
NDQweDUwIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0iR3JhZDIiXX1dIFtkYXRh
PSJNMjAuMDAsMTEwLjAwIEw0NjAuMDAsMTEwLjAwIEw0NjAuMDAsMTYwLjAwIEwyMC4wMCwxNjAu
MDAgWiJdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMTkwKSBzaXplIDMwM3gz
MyBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwtMjcpIHNpemUgMzAzeDMzCiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0
ICgyMC4wMCwxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDIxIHdpZHRoIDMwMy4wMDog
InNrZXdYKDQ1KSBvbiBncmFkaWVudCIKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVy
bn0gYXQgKDAsMCkgc2l6ZSAyMHgyMAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtw
YXR0ZXJufSBbaWQ9IlBhdDMiXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVy
bkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5UcmFuc2Zvcm09e209KCgyLjAw
LDAuMDApKDIuMDAsMi4wMCkpIHQ9KDI1LjAwLDIxNS4wMCl9XQogICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMCwwKSBzaXplIDEweDEwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNG
RjAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwLjAwLDAuMDAgTDEwLjAwLDEwLjAwIEwwLjAw
LDEwLjAwIFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMCkgc2l6ZSAxMHgx
MCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMTAuMDAsMC4w
MCBMMjAuMDAsMC4wMCBMMjAuMDAsMTAuMDAgTDEwLjAwLDEwLjAwIFoiXQogICAgICAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMCwxMCkgc2l6ZSAxMHgxMCBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMC4wMCwxMC4wMCBMMTAuMDAsMTAuMDAgTDEwLjAwLDIw
LjAwIEwwLjAwLDIwLjAwIFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTAp
IHNpemUgMTB4MTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkYwMF19XSBbZGF0YT0i
TTEwLjAwLDEwLjAwIEwyMC4wMCwxMC4wMCBMMjAuMDAsMjAuMDAgTDEwLjAwLDIwLjAwIFoiXQot
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwLDIxMCkgc2l6ZSA0NDB4NTAgW2ZpbGw9e1t0
eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMjB4MjBdIFtwYXR0ZXJuIHRyYW5zZm9y
bT17bT0oKDIuMDAsMC4wMCkoMi4wMCwyLjAwKSkgdD0oMjUuMDAsMjE1LjAwKX1dfV0gW2RhdGE9
Ik0yMC4wMCwyMTAuMDAgTDQ2MC4wMCwyMTAuMDAgTDQ2MC4wMCwyNjAuMDAgTDIwLjAwLDI2MC4w
MCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMCwyMTApIHNpemUgNDQweDUwIFtm
aWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9IlBhdDMiXX1dIFtkYXRhPSJNMjAuMDAsMjEwLjAwIEw0
NjAuMDAsMjEwLjAwIEw0NjAuMDAsMjYwLjAwIEwyMC4wMCwyNjAuMDAgWiJdCiAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMjkwKSBzaXplIDQxMXgzMyBjb250YWlucyAxIGNodW5r
KHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMjcpIHNpemUg
NDExeDMzCiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCwyOTAuMDApIHN0
YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMwIHdpZHRoIDQxMS4wMDogInNjYWxlKDIpLCBza2V3WCg0
NSkgb24gcGF0dGVybiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNW
Ry0xLjEvcHNlcnZlcnMtZ3JhZC0wNy1iLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMDctYi1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTA3LWItZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDE3ICsxLDE2IEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJHcmFk
aWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwRkYpLCAoMS4w
MCwjRkYwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDEwKV0gW2VuZD0o
NDQwLDEwKV19CiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDQ4MHgzNjAKIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJT
VkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDEwLDE1KSBzaXplIDQzMHgyNDggW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjUwKSkgdD0oMC4wMCwwLjAwKX1dCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgxMCwxNSkgc2l6ZSA0MzB4OTAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0g
W3N0b3BzPVsoMC4wMCwjMDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBbYm91bmRpbmcgYm94IG1v
ZGU9MF0gW3N0YXJ0PSgxMCwxMCldIFtlbmQ9KDQ0MCwxMCldfV0gW2RhdGE9Ik0xMC4wMCwxMC4w
MCBMNDQwLjAwLDEwLjAwIEw0NDAuMDAsNzAuMDAgTDEwLjAwLDcwLjAwIFoiXQorICAgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iR3JhZGll
bnQiXSBbZ3JhZGllbnRVbml0cz11c2VyU3BhY2VPblVzZV0gW3N0YXJ0PSgxMCwxMCldIFtlbmQ9
KDQ0MCwxMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0w
LjAwXSBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDEwLDE1KSBzaXplIDQzMHg5MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9
IkdyYWRpZW50Il19XSBbZGF0YT0iTTEwLjAwLDEwLjAwIEw0NDAuMDAsMTAuMDAgTDQ0MC4wMCw3
MC4wMCBMMTAuMDAsNzAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAs
OTApIHNpemUgMzE2eDI3IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC0yMikgc2l6ZSAzMTZ4MjcKICAgICAgICAgICBjaHVuayAx
IHRleHQgcnVuIDEgYXQgKDEwLjAwLDkwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzMiB3
aWR0aCAzMTYuMDA6ICJMaW5lYXIgZ3JhZGllbnQgZmlsbGVkIHJlY3RhbmdsZSIKLSAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgxNSwxNTApIHNpemUgNDIweDc1IFtzdHJva2U9e1t0eXBlPUxJ
TkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBb
Ym91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgxMCwxMCldIFtlbmQ9KDQ0MCwxMCldIFtzdHJv
a2Ugd2lkdGg9MjAuMDBdfV0gW2RhdGE9Ik0yNS4wMCwxMTAuMDAgTDQyNS4wMCwxMTAuMDAgTDQy
NS4wMCwxNDAuMDAgTDI1LjAwLDE0MC4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgxNSwxNTApIHNpemUgNDIweDc1IFtzdHJva2U9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lk
PSJHcmFkaWVudCJdIFtzdHJva2Ugd2lkdGg9MjAuMDBdfV0gW2RhdGE9Ik0yNS4wMCwxMTAuMDAg
TDQyNS4wMCwxMTAuMDAgTDQyNS4wMCwxNDAuMDAgTDI1LjAwLDE0MC4wMCBaIl0KICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwxNzApIHNpemUgMzkzeDI3IGNvbnRhaW5zIDEgY2h1
bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0yMikgc2l6
ZSAzOTN4MjcKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDE3MC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMzggd2lkdGggMzkzLjAwOiAiTGluZWFyIGdyYWRpZW50
IG9uIHN0cm9rZSBvZiByZWN0YW5nbGUiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMDgtYi1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1n
cmFkLTA4LWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wOC1iLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMSwxMiBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVy
IHtpZD0iR3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAw
MEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgxMCwx
MCldIFtlbmQ9KDQ0MCwxMCldfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAK
ICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICBSZW5kZXJT
VkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMCwzNCkgc2l6ZSA0ODB4Mjk4IFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS41MCkpIHQ9KDAuMDAsMC4wMCl9XQotICAgICAgUmVuZGVyU1ZHSGlkZGVu
Q29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5k
ZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJT
VkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJHcmFkaWVudCJd
IFtncmFkaWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbc3RhcnQ9KDEwLDEwKV0gW2VuZD0oNDQw
LDEwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBd
IFtjb2xvcj0jMDAwMEZGXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtv
ZmZzZXQ9MS4wMF0gW2NvbG9yPSNGRjAwMDBdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMjAsNzApIHNpemUgNDQ3eDU1IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC00Nykgc2l6ZSA0NDd4NTUKICAgICAgICAgICBj
aHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDcwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNl
dCAxNiB3aWR0aCA0NDYuMjg6ICJHcmFkaWVudCBvbiBmaWxsIgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTA5LWItZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0x
LjEvcHNlcnZlcnMtZ3JhZC0wOS1iLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMDkt
Yi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSwzIEBACi1LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXIge2lkPSJHcmFkMSIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9Wygw
LjAwLCNGRjAwMDApLCAoMS4wMCwjMDAwMEZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19
Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJHcmFkMiIgW3R5cGU9TElORUFSLUdSQURJRU5U
XSBbc3RvcHM9WygwLjAwLCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0g
W2VuZD0oMCwxKV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJHcmFkMyIgW3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDAwMEZGKV1dIFti
b3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDAsNDMwKV19CiBsYXllciBh
dCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDQ4MHgzNjAK
IGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MApAQCAtOSwzMCArNiwzMCBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDQ4MHgzNjAKICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwyNSkg
c2l6ZSAxOTR4MTcgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDE5NHgxNwogICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMTAuMDAsMjUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMxIHdpZHRo
IDE5NC4wMDogIlRlc3RpbmcgZ3JhZGllbnRVbml0cyBhdHRyaWJ1dGUiCi0gICAgICBSZW5kZXJT
VkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMjUsMzUpIHNpemUgMjAweDUwIFtmaWxsPXtbdHlwZT1M
SU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCMwMDAwRkYpXV0g
W3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX1dIFtkYXRhPSJNMTI1LjAwLDM1LjAwIEwzMjUuMDAs
MzUuMDAgTDMyNS4wMCw4NS4wMCBMMTI1LjAwLDg1LjAwIFoiXQorICAgICAgUmVuZGVyU1ZHUmVz
b3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iR3JhZDEiXSBbZ3JhZGll
bnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNG
RjAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAw
XSBbY29sb3I9IzAwMDBGRl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMjUsMzUpIHNp
emUgMjAweDUwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iR3JhZDEiXX1dIFtk
YXRhPSJNMTI1LjAwLDM1LjAwIEwzMjUuMDAsMzUuMDAgTDMyNS4wMCw4NS4wMCBMMTI1LjAwLDg1
LjAwIFoiXQogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDEwMCkgc2l6ZSAzOTd4
MTQgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsLTExKSBzaXplIDM5N3gxNAogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMTAuMDAsMTAwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA3MyB3aWR0aCAzOTcuMDA6
ICJMaW5lYXIgZ3JhZGllbnQgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZXMgKHRodXMsIHNhbWUgYXMg
b2JqZWN0Qm91bmRpbmdCb3gpIgogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDEx
NSkgc2l6ZSAzNjN4MTQgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTExKSBzaXplIDM2M3gxNAogICAgICAgICAgIGNodW5rIDEg
dGV4dCBydW4gMSBhdCAoMTAuMDAsMTE1LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA3MSB3
aWR0aCAzNjMuMDA6ICJHcmFkaWVudCBpcyBmcm9tIHRoZSBvYmplY3QgbGVmdCBlZGdlIChyZWQp
IHRvIG9iamVjdCByaWdodCBlZGdlIChibHVlKSIKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRh
aW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDEwLDEyNSkgc2l6ZSA0MzB4NTAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVO
VF0gW3N0b3BzPVsoMC4wMCwjMDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCld
IFtlbmQ9KDAsMSldfV0gW2RhdGE9Ik0xMC4wMCwxMjUuMDAgTDQ0MC4wMCwxMjUuMDAgTDQ0MC4w
MCwxNzUuMDAgTDEwLjAwLDE3NS4wMCBaIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFy
R3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9IkdyYWQyIl0gW2dyYWRpZW50VW5pdHM9b2Jq
ZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMCwxKV0KKyAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMEZGXQorICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSNG
RjAwMDBdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTI1KSBzaXplIDQzMHg1MCBb
ZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9IkdyYWQyIl19XSBbZGF0YT0iTTEwLjAw
LDEyNS4wMCBMNDQwLjAwLDEyNS4wMCBMNDQwLjAwLDE3NS4wMCBMMTAuMDAsMTc1LjAwIFoiXQog
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDE5MCkgc2l6ZSAxODd4MTQgY29udGFp
bnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
LTExKSBzaXplIDE4N3gxNAogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAs
MTkwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzMSB3aWR0aCAxODcuMDA6ICJncmFkaWVu
dFVuaXRzPW9iamVjdEJvdW5kaW5nQm94IgogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDEwLDIwNSkgc2l6ZSAzNzd4MTQgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTExKSBzaXplIDM3N3gxNAogICAgICAgICAgIGNo
dW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMjA1LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNl
dCA3MSB3aWR0aCAzNzcuMDA6ICJHcmFkaWVudCBpcyBmcm9tIHRoZSBvYmplY3QgdG9wIGVkZ2Ug
KGJsdWUpIHRvIG9iamVjdCBib3R0b20gZWRnZSAocmVkKSIKLSAgICAgIFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDEwLDIxMCkgc2l6ZSA0MzB4NTAgW3RyYW5zZm9ybT17bT0oKDAuMDAs
LTEuMDApKDEuMDAsMC4wMCkpIHQ9KDEwLjAwLDI2MC4wMCl9XSBbZmlsbD17W3R5cGU9TElORUFS
LUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDAwMEZGKV1dIFtib3Vu
ZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDAsNDMwKV19XSBbZGF0YT0iTTAu
MDAsMC4wMCBMNTAuMDAsMC4wMCBMNTAuMDAsNDMwLjAwIEwwLjAwLDQzMC4wMCBaIl0KKyAgICAg
IFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9Ikdy
YWQzIl0gW2dyYWRpZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtzdGFydD0oMCwwKV0gW2VuZD0o
MCw0MzApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4w
MF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
W29mZnNldD0xLjAwXSBbY29sb3I9IzAwMDBGRl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgxMCwyMTApIHNpemUgNDMweDUwIFt0cmFuc2Zvcm09e209KCgwLjAwLC0xLjAwKSgxLjAwLDAu
MDApKSB0PSgxMC4wMCwyNjAuMDApfV0gW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lk
PSJHcmFkMyJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAwLDAuMDAgTDUwLjAwLDQzMC4wMCBM
MC4wMCw0MzAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMjc1KSBz
aXplIDE3N3gxNCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgMTc3eDE0CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0
IHJ1biAxIGF0ICgxMC4wMCwyNzUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDI4IHdpZHRo
IDE3Ny4wMDogImdyYWRpZW50VW5pdHM9dXNlclNwYWNlT25Vc2UiCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTAtYi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS9wc2VydmVycy1ncmFkLTEwLWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0x
MC1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDMgQEAKLUtSZW5kZXJp
bmdQYWludFNlcnZlciB7aWQ9IkdyYWQxIiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1b
KDAuMDAsIzAwMDBGRiksICgxLjAwLCNGRjAwMDApXV0gW3N0YXJ0PSgwLjQwLDApXSBbZW5kPSgw
LjYwLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9IkdyYWQyIiBbdHlwZT1MSU5FQVIt
R1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDBGRiksICgxLjAwLCNGRjAwMDApXV1bbWV0aG9k
PVJFRkxFQ1RdIFtzdGFydD0oMC40MCwwKV0gW2VuZD0oMC42MCwwKV19Ci1LUmVuZGVyaW5nUGFp
bnRTZXJ2ZXIge2lkPSJHcmFkMyIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAw
LCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dW21ldGhvZD1SRVBFQVRdIFtzdGFydD0oMC40MCww
KV0gW2VuZD0oMC42MCwwKV19CiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MApA
QCAtOSwyNCArNiwyNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgxMCwyNSkgc2l6ZSAyMDF4MTcgY29udGFpbnMgMSBjaHVuayhz
KQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDIw
MXgxNwogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMjUuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDMwIHdpZHRoIDIwMS4wMDogIlRlc3Rpbmcgc3ByZWFkTWV0aG9k
IGF0dHJpYnV0ZSIKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGll
bnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDM1KSBz
aXplIDQ2MHg1NSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMw
MDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMC40MCwwKV0gW2VuZD0oMC42MCwwKV19
XSBbZGF0YT0iTTEwLjAwLDM1LjAwIEw0NzAuMDAsMzUuMDAgTDQ3MC4wMCw5MC4wMCBMMTAuMDAs
OTAuMDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJH
cmFkaWVudH0gW2lkPSJHcmFkMSJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBb
c3RhcnQ9KDAuNDAsMCldIFtlbmQ9KDAuNjAsMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50
U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAg
ICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDM1KSBzaXplIDQ2MHg1NSBbZmlsbD17W3R5cGU9
TElORUFSLUdSQURJRU5UXSBbaWQ9IkdyYWQxIl19XSBbZGF0YT0iTTEwLjAwLDM1LjAwIEw0NzAu
MDAsMzUuMDAgTDQ3MC4wMCw5MC4wMCBMMTAuMDAsOTAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMTAsMTA1KSBzaXplIDEwN3gxNCBjb250YWlucyAxIGNodW5rKHMpCiAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgMTA3eDE0
CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwxMDUuMDApIHN0YXJ0T2Zm
c2V0IDAgZW5kT2Zmc2V0IDE2IHdpZHRoIDEwNy4wMDogInNwcmVhZE1ldGhvZD1wYWQiCi0gICAg
ICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwxMjApIHNpemUgNDYweDU1IFtmaWxs
PXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDBGRiksICgxLjAwLCNG
RjAwMDApXV1bbWV0aG9kPVJFRkxFQ1RdIFtzdGFydD0oMC40MCwwKV0gW2VuZD0oMC42MCwwKV19
XSBbZGF0YT0iTTEwLjAwLDEyMC4wMCBMNDcwLjAwLDEyMC4wMCBMNDcwLjAwLDE3NS4wMCBMMTAu
MDAsMTc1LjAwIFoiXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGlu
ZWFyR3JhZGllbnR9IFtpZD0iR3JhZDIiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0Jv
eF0gW3NwcmVhZE1ldGhvZD1SRUZMRUNUXSBbc3RhcnQ9KDAuNDAsMCldIFtlbmQ9KDAuNjAsMCld
CisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29s
b3I9IzAwMDBGRl0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTEuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDEy
MCkgc2l6ZSA0NjB4NTUgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJHcmFkMiJd
fV0gW2RhdGE9Ik0xMC4wMCwxMjAuMDAgTDQ3MC4wMCwxMjAuMDAgTDQ3MC4wMCwxNzUuMDAgTDEw
LjAwLDE3NS4wMCBaIl0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwxOTApIHNp
emUgMTE5eDE0IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLC0xMSkgc2l6ZSAxMTl4MTQKICAgICAgICAgICBjaHVuayAxIHRleHQg
cnVuIDEgYXQgKDEwLjAwLDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMjAgd2lkdGgg
MTE5LjAwOiAic3ByZWFkTWV0aG9kPXJlZmxlY3QiCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgxMCwyMDUpIHNpemUgNDYweDU1IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElF
TlRdIFtzdG9wcz1bKDAuMDAsIzAwMDBGRiksICgxLjAwLCNGRjAwMDApXV1bbWV0aG9kPVJFUEVB
VF0gW3N0YXJ0PSgwLjQwLDApXSBbZW5kPSgwLjYwLDApXX1dIFtkYXRhPSJNMTAuMDAsMjA1LjAw
IEw0NzAuMDAsMjA1LjAwIEw0NzAuMDAsMjYwLjAwIEwxMC4wMCwyNjAuMDAgWiJdCisgICAgICBS
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJHcmFk
MyJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3ByZWFkTWV0aG9kPVJFUEVB
VF0gW3N0YXJ0PSgwLjQwLDApXSBbZW5kPSgwLjYwLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMDAwRkZdCisgICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGMDAwMF0K
KyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwyMDUpIHNpemUgNDYweDU1IFtmaWxsPXtb
dHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iR3JhZDMiXX1dIFtkYXRhPSJNMTAuMDAsMjA1LjAw
IEw0NzAuMDAsMjA1LjAwIEw0NzAuMDAsMjYwLjAwIEwxMC4wMCwyNjAuMDAgWiJdCiAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMjc1KSBzaXplIDEyMXgxNCBjb250YWlucyAxIGNo
dW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNp
emUgMTIxeDE0CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwyNzUuMDAp
IHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE5IHdpZHRoIDEyMS4wMDogInNwcmVhZE1ldGhvZD1y
ZXBlYXQiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3Bz
ZXJ2ZXJzLWdyYWQtMTEtYi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTExLWItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzND
LVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0xMS1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSwzOCArMSwzNCBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iR3JhZDEiIFt0eXBl
PVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwKSwgKDEuMDAsI0ZGMDAwMCld
XSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW2NlbnRlcj0oNzUsMTAwKV0gW2ZvY2FsPSg3NSwxMDAp
XSBbcmFkaXVzPTEzMC4wMF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJHcmFkMiIgW3R5
cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjRkZGRjAw
KV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbY2VudGVyPSgyOTUsMTAwKV0gW2ZvY2FsPSgyOTUs
MTAwKV0gW3JhZGl1cz0xNTAuMDBdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iR3JhZDMi
IFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwKSwgKDEuMDAsI0ZG
RkYwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW2NlbnRlcj0oMjI1LDE4MCldIFtmb2NhbD0o
MjI1LDE4MCldIFtyYWRpdXM9OTAuMDBdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iR3Jh
ZDQiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwKSwgKDEuMDAs
I0ZGMDAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW2NlbnRlcj0oMjI1LDI0NSldIFtmb2Nh
bD0oMjI1LDI0NSldIFtyYWRpdXM9OTAuMDBdfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYw
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBsYXllciBhdCAoMCwwKSBzaXpl
IDQ4MHgzNjAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg4LDEwKSBzaXplIDQ2NHgyNzgKLSAgICAgIFJl
bmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDEwKSBzaXplIDIxMHgxNDAgW2ZpbGw9e1t0
eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwKSwgKDEuMDAsI0ZGMDAw
MCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW2NlbnRlcj0oNzUsMTAwKV0gW2ZvY2FsPSg3NSwx
MDApXSBbcmFkaXVzPTEzMC4wMF19XSBbZGF0YT0iTTEwLjAwLDEwLjAwIEwyMjAuMDAsMTAuMDAg
TDIyMC4wMCwxNTAuMDAgTDEwLjAwLDE1MC4wMCBaIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNl
UmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9IkdyYWQxIl0gW2dyYWRpZW50VW5p
dHM9dXNlclNwYWNlT25Vc2VdIFtjZW50ZXI9KDc1LDEwMCldIFtmb2NhbD0oNzUsMTAwKV0gW3Jh
ZGl1cz0xMzAuMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNl
dD0wLjAwXSBbY29sb3I9IzAwMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDEwLDEwKSBzaXplIDIxMHgxNDAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0g
W2lkPSJHcmFkMSJdfV0gW2RhdGE9Ik0xMC4wMCwxMC4wMCBMMjIwLjAwLDEwLjAwIEwyMjAuMDAs
MTUwLjAwIEwxMC4wMCwxNTAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MTAsMTY1KSBzaXplIDE4M3gxNCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgMTgzeDE0CiAgICAgICAgICAgY2h1
bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwxNjUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDM2IHdpZHRoIDE4My4wMDogIlJhZGlhbCBncmFkaWVudCBvbiBmaWxsIG9mIHJlY3RhbmdsZSIK
LSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIzMCwxMCkgc2l6ZSAyMTB4MTQw
IFtzdHJva2U9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwg
KDEuMDAsI0ZGRkYwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW2NlbnRlcj0oMjk1LDEwMCld
IFtmb2NhbD0oMjk1LDEwMCldIFtyYWRpdXM9MTUwLjAwXSBbc3Ryb2tlIHdpZHRoPTQwLjAwXX1d
IFtkYXRhPSJNMjUwLjAwLDMwLjAwIEw0MjAuMDAsMzAuMDAgTDQyMC4wMCwxMzAuMDAgTDI1MC4w
MCwxMzAuMDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRp
YWxHcmFkaWVudH0gW2lkPSJHcmFkMiJdIFtncmFkaWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBb
Y2VudGVyPSgyOTUsMTAwKV0gW2ZvY2FsPSgyOTUsMTAwKV0gW3JhZGl1cz0xNTAuMDBdCisgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZG
MDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBd
IFtjb2xvcj0jRkZGRjAwXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIzMCwxMCkgc2l6
ZSAyMTB4MTQwIFtzdHJva2U9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJHcmFkMiJdIFtz
dHJva2Ugd2lkdGg9NDAuMDBdfV0gW2RhdGE9Ik0yNTAuMDAsMzAuMDAgTDQyMC4wMCwzMC4wMCBM
NDIwLjAwLDEzMC4wMCBMMjUwLjAwLDEzMC4wMCBaIl0KICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICgyMzAsMTY1KSBzaXplIDIwNHgxNCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgMjA0eDE0CiAgICAg
ICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMzAuMDAsMTY1LjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCAzOCB3aWR0aCAyMDQuMDA6ICJSYWRpYWwgZ3JhZGllbnQgb24gc3Ryb2tlIG9m
IHJlY3RhbmdsZSIKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGll
bnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVu
dCB7cmFkaWFsR3JhZGllbnR9IFtpZD0iR3JhZDMiXSBbZ3JhZGllbnRVbml0cz11c2VyU3BhY2VP
blVzZV0gW2NlbnRlcj0oMjI1LDE4MCldIFtmb2NhbD0oMjI1LDE4MCldIFtyYWRpdXM9OTAuMDBd
CisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29s
b3I9IzAwMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTEuMDBdIFtjb2xvcj0jRkZGRjAwXQogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEw
LDIxMCkgc2l6ZSA0MTl4NTYgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTQ1KSBzaXplIDQxOXg1NgogICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMjEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAy
MSB3aWR0aCA0MTkuMDA6ICJHcmFkaWVudCBvbiB0ZXh0IGZpbGwiCiAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMTAsMjI1KSBzaXplIDIwOXgxNCBjb250YWlucyAxIGNodW5rKHMpCiAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgMjA5eDE0
CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwyMjUuMDApIHN0YXJ0T2Zm
c2V0IDAgZW5kT2Zmc2V0IDQwIHdpZHRoIDIwOS4wMDogIlJhZGlhbCBncmFkaWVudCBvbiB0ZXh0
LCBibGFjayB0byB5ZWxsb3ciCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlh
bEdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUmFkaWFs
R3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9IkdyYWQ0Il0gW2dyYWRpZW50VW5pdHM9dXNl
clNwYWNlT25Vc2VdIFtjZW50ZXI9KDIyNSwyNDUpXSBbZm9jYWw9KDIyNSwyNDUpXSBbcmFkaXVz
PTkwLjAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4w
MF0gW2NvbG9yPSMwMDAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
W29mZnNldD0xLjAwXSBbY29sb3I9I0ZGMDAwMF0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgxMCwyNzApIHNpemUgNDYweDUxIGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC00MSkgc2l6ZSA0NjB4NTEKICAgICAgICAg
ICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDI3MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMjMgd2lkdGggNDYwLjAwOiAiR3JhZGllbnQgb24gdGV4dCBzdHJva2UiCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTIt
Yi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTEyLWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1
ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZl
cnMtZ3JhZC0xMi1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDMgQEAK
LUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9IkdyYWQxIiBbdHlwZT1SQURJQUwtR1JBRElFTlRd
IFtzdG9wcz1bKDAuMDAsIzAwMDBGRiksICgxLjAwLCNGRjAwMDApXV0gW2NlbnRlcj0oMC41MCww
LjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdfQotS1JlbmRlcmluZ1BhaW50
U2VydmVyIHtpZD0iR3JhZDIiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwj
MDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBbY2VudGVyPSgwLjIwLDAuMjApXSBbZm9jYWw9KDAu
MjAsMC4yMCldIFtyYWRpdXM9MC41MF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJHcmFk
MyIgW3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwj
MDAwMEZGKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbY2VudGVyPSgyNSwyMTUpXSBbZm9jYWw9
KDI1LDIxNSldIFtyYWRpdXM9MjUuMDBdfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ4
MHgzNjAKQEAgLTksMzAgKzYsMzAgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMjUpIHNpemUgMTk0eDE3IGNvbnRhaW5zIDEg
Y2h1bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkg
c2l6ZSAxOTR4MTcKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDI1LjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzMSB3aWR0aCAxOTQuMDA6ICJUZXN0aW5nIGdyYWRp
ZW50VW5pdHMgYXR0cmlidXRlIgotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRp
YWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MTAsMzUpIHNpemUgNDYweDUwIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1b
KDAuMDAsIzAwMDBGRiksICgxLjAwLCNGRjAwMDApXV0gW2NlbnRlcj0oMC41MCwwLjUwKV0gW2Zv
Y2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdfV0gW2RhdGE9Ik0xMC4wMCwzNS4wMCBMNDcw
LjAwLDM1LjAwIEw0NzAuMDAsODUuMDAgTDEwLjAwLDg1LjAwIFoiXQorICAgICAgUmVuZGVyU1ZH
UmVzb3VyY2VSYWRpYWxHcmFkaWVudCB7cmFkaWFsR3JhZGllbnR9IFtpZD0iR3JhZDEiXSBbZ3Jh
ZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW2NlbnRlcj0oMC41MCwwLjUwKV0gW2ZvY2Fs
PSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDM1KSBzaXplIDQ2MHg1MCBbZmlsbD17W3R5cGU9UkFE
SUFMLUdSQURJRU5UXSBbaWQ9IkdyYWQxIl19XSBbZGF0YT0iTTEwLjAwLDM1LjAwIEw0NzAuMDAs
MzUuMDAgTDQ3MC4wMCw4NS4wMCBMMTAuMDAsODUuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMTAsMTAwKSBzaXplIDI5OHgxNCBjb250YWlucyAxIGNodW5rKHMpCiAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgMjk4eDE0CiAg
ICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwxMDAuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDU4IHdpZHRoIDI5OC4wMDogIlJhZGlhbCBncmFkaWVudCB3aXRoIGRlZmF1
bHQgYXR0cmlidXRlcyAoZnJvbSBibHVlIHRvIHJlZCkiCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMTAsMTE1KSBzaXplIDM0M3gxNCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgMzQzeDE0CiAgICAg
ICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwxMTUuMDApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDY1IHdpZHRoIDM0My4wMDogIkdyYWRpZW50IGlzIGJsdWUgYXQgdGhlIG9iamVj
dCBjZW50ZXIgYW5kIHJlZCBhdCB0aGUgb2JqZWN0IGVkZ2VzIgotICAgICAgUmVuZGVyU1ZHSGlk
ZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTI1KSBzaXplIDQ2MHg1MCBbZmlsbD17W3R5cGU9UkFESUFM
LUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtjZW50
ZXI9KDAuMjAsMC4yMCldIFtmb2NhbD0oMC4yMCwwLjIwKV0gW3JhZGl1cz0wLjUwXX1dIFtkYXRh
PSJNMTAuMDAsMTI1LjAwIEw0NzAuMDAsMTI1LjAwIEw0NzAuMDAsMTc1LjAwIEwxMC4wMCwxNzUu
MDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFk
aWVudH0gW2lkPSJHcmFkMiJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbY2Vu
dGVyPSgwLjIwLDAuMjApXSBbZm9jYWw9KDAuMjAsMC4yMCldIFtyYWRpdXM9MC41MF0KKyAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAw
MEZGXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0g
W2NvbG9yPSNGRjAwMDBdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTI1KSBzaXpl
IDQ2MHg1MCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9IkdyYWQyIl19XSBbZGF0
YT0iTTEwLjAwLDEyNS4wMCBMNDcwLjAwLDEyNS4wMCBMNDcwLjAwLDE3NS4wMCBMMTAuMDAsMTc1
LjAwIFoiXQogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDE5MCkgc2l6ZSAxODd4
MTQgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsLTExKSBzaXplIDE4N3gxNAogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMTAuMDAsMTkwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzMSB3aWR0aCAxODcuMDA6
ICJncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94IgogICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDEwLDIwNSkgc2l6ZSAxNTJ4MTQgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTExKSBzaXplIDE1MngxNAogICAg
ICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMjA1LjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCAzMSB3aWR0aCAxNTIuMDA6ICJjeD0uMiwgY3k9LjIsIHI9LjUsIGZ4PS4yIGZ5
PS4yIgotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMjEwKSBzaXplIDQ2
MHg1MCBbdHJhbnNmb3JtPXttPSgoMC4wMCwtMS4wMCkoMS4wMCwwLjAwKSkgdD0oMTAuMDAsMjYw
LjAwKX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAw
MCksICgxLjAwLCMwMDAwRkYpXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtjZW50ZXI9KDI1LDIx
NSldIFtmb2NhbD0oMjUsMjE1KV0gW3JhZGl1cz0yNS4wMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBM
NTAuMDAsMC4wMCBMNTAuMDAsNDYwLjAwIEwwLjAwLDQ2MC4wMCBaIl0KKyAgICAgIFJlbmRlclNW
R1Jlc291cmNlUmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9IkdyYWQzIl0gW2dy
YWRpZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtjZW50ZXI9KDI1LDIxNSldIFtmb2NhbD0oMjUs
MjE1KV0gW3JhZGl1cz0yNS4wMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwRkZdCisgICAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoMTAsMjEwKSBzaXplIDQ2MHg1MCBbdHJhbnNmb3JtPXttPSgoMC4wMCwt
MS4wMCkoMS4wMCwwLjAwKSkgdD0oMTAuMDAsMjYwLjAwKX1dIFtmaWxsPXtbdHlwZT1SQURJQUwt
R1JBRElFTlRdIFtpZD0iR3JhZDMiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw1MC4wMCwwLjAwIEw1
MC4wMCw0NjAuMDAgTDAuMDAsNDYwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDEwLDI3NSkgc2l6ZSAxNzd4MTQgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTExKSBzaXplIDE3N3gxNAogICAgICAgICAg
IGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMjc1LjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAyOCB3aWR0aCAxNzcuMDA6ICJncmFkaWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlIgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFk
LTEzLWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0xMy1iLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3Bz
ZXJ2ZXJzLWdyYWQtMTMtYi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTkgKzEs
MyBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZDFhIiBbdHlwZT1SQURJQUwtR1JB
RElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDAwMDAwKSwgKDAuNTAsIzAwMDA4QiksICgxLjAwLCMw
MDAwMDAwMCldXSBbY2VudGVyPSgwLjEwLDAuMTApXSBbZm9jYWw9KDAsMCldIFtyYWRpdXM9MC43
NV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkMmEiIFt0eXBlPVJBRElBTC1HUkFE
SUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwMDApLCAoMC41MCwjMDAwMDhCKSwgKDEuMDAsIzAw
MDAwMDAwKV1dIFtjZW50ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMC4xNywwKV0gW3JhZGl1cz0w
Ljc1XX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImdyYWQ0YSIgW3R5cGU9UkFESUFMLUdS
QURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDAwMCksICgwLjUwLCMwMDAwOEIpLCAoMS4wMCwj
MDAwMDAwMDApXV0gW2NlbnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2FsPSgwLjUwLDApXSBbcmFkaXVz
PTAuNzVdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZDZhIiBbdHlwZT1SQURJQUwt
R1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDAwMDAwKSwgKDAuNTAsIzAwMDA4QiksICgxLjAw
LCMwMDAwMDAwMCldXSBbY2VudGVyPSgwLjEwLDAuMTApXSBbZm9jYWw9KDAuODMsMCldIFtyYWRp
dXM9MC43NV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkMWIiIFt0eXBlPVJBRElB
TC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwMDApLCAoMC41MCwjMDAwMDhCKSwgKDEu
MDAsIzAwMDAwMDAwKV1dIFtjZW50ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMCwwLjI1KV0gW3Jh
ZGl1cz0wLjc1XX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImdyYWQyYiIgW3R5cGU9UkFE
SUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDAwMCksICgwLjUwLCMwMDAwOEIpLCAo
MS4wMCwjMDAwMDAwMDApXV0gW2NlbnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2FsPSgwLjE3LDAuMjUp
XSBbcmFkaXVzPTAuNzVdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZDRiIiBbdHlw
ZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDAwMDAwKSwgKDAuNTAsIzAwMDA4
QiksICgxLjAwLCMwMDAwMDAwMCldXSBbY2VudGVyPSgwLjEwLDAuMTApXSBbZm9jYWw9KDAuNTAs
MC4yNSldIFtyYWRpdXM9MC43NV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkNmIi
IFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwMDApLCAoMC41MCwj
MDAwMDhCKSwgKDEuMDAsIzAwMDAwMDAwKV1dIFtjZW50ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0o
MC44MywwLjI1KV0gW3JhZGl1cz0wLjc1XX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9Imdy
YWQxYyIgW3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDAwMCksICgw
LjUwLCMwMDAwOEIpLCAoMS4wMCwjMDAwMDAwMDApXV0gW2NlbnRlcj0oMC4xMCwwLjEwKV0gW2Zv
Y2FsPSgwLDAuNTApXSBbcmFkaXVzPTAuNzVdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0i
Z3JhZDJjIiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDAwMDAwKSwg
KDAuNTAsIzAwMDA4QiksICgxLjAwLCMwMDAwMDAwMCldXSBbY2VudGVyPSgwLjEwLDAuMTApXSBb
Zm9jYWw9KDAuMTcsMC41MCldIFtyYWRpdXM9MC43NV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIg
e2lkPSJncmFkNGMiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAw
MDApLCAoMC41MCwjMDAwMDhCKSwgKDEuMDAsIzAwMDAwMDAwKV1dIFtjZW50ZXI9KDAuMTAsMC4x
MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjc1XX0KLUtSZW5kZXJpbmdQYWludFNl
cnZlciB7aWQ9ImdyYWQ2YyIgW3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMw
MDAwMDAwMCksICgwLjUwLCMwMDAwOEIpLCAoMS4wMCwjMDAwMDAwMDApXV0gW2NlbnRlcj0oMC4x
MCwwLjEwKV0gW2ZvY2FsPSgwLjgzLDAuNTApXSBbcmFkaXVzPTAuNzVdfQotS1JlbmRlcmluZ1Bh
aW50U2VydmVyIHtpZD0iZ3JhZDFkIiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAu
MDAsIzAwMDAwMDAwKSwgKDAuNTAsIzAwMDA4QiksICgxLjAwLCMwMDAwMDAwMCldXSBbY2VudGVy
PSgwLjEwLDAuMTApXSBbZm9jYWw9KDAsMC43NSldIFtyYWRpdXM9MC43NV19Ci1LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXIge2lkPSJncmFkMmQiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjMDAwMDAwMDApLCAoMC41MCwjMDAwMDhCKSwgKDEuMDAsIzAwMDAwMDAwKV1dIFtjZW50
ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMC4xNywwLjc1KV0gW3JhZGl1cz0wLjc1XX0KLUtSZW5k
ZXJpbmdQYWludFNlcnZlciB7aWQ9ImdyYWQ0ZCIgW3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3Rv
cHM9WygwLjAwLCMwMDAwMDAwMCksICgwLjUwLCMwMDAwOEIpLCAoMS4wMCwjMDAwMDAwMDApXV0g
W2NlbnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2FsPSgwLjUwLDAuNzUpXSBbcmFkaXVzPTAuNzVdfQot
S1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZDZkIiBbdHlwZT1SQURJQUwtR1JBRElFTlRd
IFtzdG9wcz1bKDAuMDAsIzAwMDAwMDAwKSwgKDAuNTAsIzAwMDA4QiksICgxLjAwLCMwMDAwMDAw
MCldXSBbY2VudGVyPSgwLjEwLDAuMTApXSBbZm9jYWw9KDAuODMsMC43NSldIFtyYWRpdXM9MC43
NV19CiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDQ4MHgzNjAKIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MApAQCAtMzMsNzAgKzE3LDcw
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoOTAsMCkgc2l6ZSAxMHg2MCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZENzAw
XX1dIFtkYXRhPSJNOTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4wMCBMOTAuMDAs
NjAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDYw
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAg
TDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJdCiAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJl
bmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50fSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGll
bnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlh
bEdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVy
IHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdI
aWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVu
ZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50fSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVu
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFs
R3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIg
e3JhZGlhbEdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29u
dGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNWR1Jl
c291cmNlUmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9ImdyYWQxYSJdIFtncmFk
aWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbY2VudGVyPSgwLjEwLDAuMTApXSBbZm9jYWw9
KDAsMCldIFtyYWRpdXM9MC43NV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMDAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjUwXSBbY29sb3I9IzAwMDA4Ql0KKyAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDAwMDAwMDBd
CisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFkaWVudH0g
W2lkPSJncmFkMmEiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW2NlbnRlcj0o
MC4xMCwwLjEwKV0gW2ZvY2FsPSgwLjE3LDApXSBbcmFkaXVzPTAuNzVdCisgICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwMDAwMDAwXQor
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9y
PSMwMDAwOEJdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0x
LjAwXSBbY29sb3I9IzAwMDAwMDAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFk
aWVudCB7cmFkaWFsR3JhZGllbnR9IFtpZD0iZ3JhZDRhIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0
Qm91bmRpbmdCb3hdIFtjZW50ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMC41MCwwKV0gW3JhZGl1
cz0wLjc1XQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4w
MF0gW2NvbG9yPSMwMDAwMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTAuNTBdIFtjb2xvcj0jMDAwMDhCXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwMDAwMF0KKyAgICAgIFJlbmRl
clNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9ImdyYWQ2YSJd
IFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbY2VudGVyPSgwLjEwLDAuMTApXSBb
Zm9jYWw9KDAuODMsMCldIFtyYWRpdXM9MC43NV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMDAwMDBdCisgICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjUwXSBbY29sb3I9IzAwMDA4Ql0KKyAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0j
MDAwMDAwMDBdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxH
cmFkaWVudH0gW2lkPSJncmFkMWIiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0g
W2NlbnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2FsPSgwLDAuMjUpXSBbcmFkaXVzPTAuNzVdCisgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAw
MDAwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41
MF0gW2NvbG9yPSMwMDAwOEJdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
W29mZnNldD0xLjAwXSBbY29sb3I9IzAwMDAwMDAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VS
YWRpYWxHcmFkaWVudCB7cmFkaWFsR3JhZGllbnR9IFtpZD0iZ3JhZDJiIl0gW2dyYWRpZW50VW5p
dHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtjZW50ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMC4xNyww
LjI1KV0gW3JhZGl1cz0wLjc1XQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9
IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMDAwMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuNTBdIFtjb2xvcj0jMDAwMDhCXQorICAgICAgICBSZW5k
ZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwMDAwMF0K
KyAgICAgIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBb
aWQ9ImdyYWQ0YiJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbY2VudGVyPSgw
LjEwLDAuMTApXSBbZm9jYWw9KDAuNTAsMC4yNSldIFtyYWRpdXM9MC43NV0KKyAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMDAwMDBd
CisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjUwXSBbY29s
b3I9IzAwMDA4Ql0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTEuMDBdIFtjb2xvcj0jMDAwMDAwMDBdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdy
YWRpZW50IHtyYWRpYWxHcmFkaWVudH0gW2lkPSJncmFkNmIiXSBbZ3JhZGllbnRVbml0cz1vYmpl
Y3RCb3VuZGluZ0JveF0gW2NlbnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2FsPSgwLjgzLDAuMjUpXSBb
cmFkaXVzPTAuNzVdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNl
dD0wLjAwXSBbY29sb3I9IzAwMDAwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9yPSMwMDAwOEJdCisgICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9IzAwMDAwMDAwXQorICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCB7cmFkaWFsR3JhZGllbnR9IFtpZD0iZ3Jh
ZDFjIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtjZW50ZXI9KDAuMTAsMC4x
MCldIFtmb2NhbD0oMCwwLjUwKV0gW3JhZGl1cz0wLjc1XQorICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMDAwMDAwMF0KKyAgICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuNTBdIFtjb2xvcj0jMDAwMDhC
XQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2Nv
bG9yPSMwMDAwMDAwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQge3Jh
ZGlhbEdyYWRpZW50fSBbaWQ9ImdyYWQyYyJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5n
Qm94XSBbY2VudGVyPSgwLjEwLDAuMTApXSBbZm9jYWw9KDAuMTcsMC41MCldIFtyYWRpdXM9MC43
NV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtj
b2xvcj0jMDAwMDAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29m
ZnNldD0wLjUwXSBbY29sb3I9IzAwMDA4Ql0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDAwMDAwMDBdCisgICAgICBSZW5kZXJTVkdS
ZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFkaWVudH0gW2lkPSJncmFkNGMiXSBbZ3Jh
ZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW2NlbnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2Fs
PSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNzVdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwMDAwMDAwXQorICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9yPSMwMDAwOEJdCisgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9IzAw
MDAwMDAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCB7cmFkaWFsR3Jh
ZGllbnR9IFtpZD0iZ3JhZDZjIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtj
ZW50ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMC43NSwwLjQ2KV0gW3JhZGl1cz0wLjc1XQorICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMw
MDAwMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAu
NTBdIFtjb2xvcj0jMDAwMDhCXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9
IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwMDAwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNl
UmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9ImdyYWQxZCJdIFtncmFkaWVudFVu
aXRzPW9iamVjdEJvdW5kaW5nQm94XSBbY2VudGVyPSgwLjEwLDAuMTApXSBbZm9jYWw9KDAsMC43
NSldIFtyYWRpdXM9MC43NV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBb
b2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMDAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50
U3RvcCB7c3RvcH0gW29mZnNldD0wLjUwXSBbY29sb3I9IzAwMDA4Ql0KKyAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDAwMDAwMDBdCisg
ICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFkaWVudH0gW2lk
PSJncmFkMmQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW2NlbnRlcj0oMC4x
MCwwLjEwKV0gW2ZvY2FsPSgwLjE3LDAuNzUpXSBbcmFkaXVzPTAuNzVdCisgICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwMDAwMDAwXQor
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9y
PSMwMDAwOEJdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0x
LjAwXSBbY29sb3I9IzAwMDAwMDAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFk
aWVudCB7cmFkaWFsR3JhZGllbnR9IFtpZD0iZ3JhZDRkIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0
Qm91bmRpbmdCb3hdIFtjZW50ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMC40OSwwLjczKV0gW3Jh
ZGl1cz0wLjc1XQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9
MC4wMF0gW2NvbG9yPSMwMDAwMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTAuNTBdIFtjb2xvcj0jMDAwMDhCXQorICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwMDAwMF0KKyAgICAgIFJl
bmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9ImdyYWQ2
ZCJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbY2VudGVyPSgwLjEwLDAuMTAp
XSBbZm9jYWw9KDAuNjYsMC41OSldIFtyYWRpdXM9MC43NV0KKyAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMDAwMDBdCisgICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjUwXSBbY29sb3I9IzAwMDA4
Ql0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtj
b2xvcj0jMDAwMDAwMDBdCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTcsNDQpIHNp
emUgNDM5eDI1NwogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxNyw0NCkgc2l6
ZSAxMDF4NjIKICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTYsNDQpIHNpemUg
MTAzeDYyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDE3LjUwLDQ1
LjAwKX1dCkBAIC0xMDksNyArOTMsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAg
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg3Niw0NCkgc2l6ZSAxM3g2MiBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNNjAuMDAsMC4wMCBMNzAu
MDAsMC4wMCBMNzAuMDAsNjAuMDAgTDYwLjAwLDYwLjAwIFoiXQogICAgICAgICAgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDkxLDQ0KSBzaXplIDEzeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik03NS4wMCwwLjAwIEw4NS4wMCwwLjAwIEw4NS4wMCw2
MC4wMCBMNzUuMDAsNjAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MTA2LDQ0KSBzaXplIDEzeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0g
W3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkQ3MDBd
fV0gW2RhdGE9Ik05MC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEw5MC4wMCw2
MC4wMCBaIl0KLSAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNiw0NCkgc2l6ZSAx
MDN4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRo
PTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAw
MDAwMDApLCAoMC41MCwjMDAwMDhCKSwgKDEuMDAsIzAwMDAwMDAwKV1dIFtjZW50ZXI9KDAuMTAs
MC4xMCldIFtmb2NhbD0oMCwwKV0gW3JhZGl1cz0wLjc1XX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwx
MDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEwwLjAwLDYwLjAwIFoiXQorICAgICAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDE2LDQ0KSBzaXplIDEwM3g2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9UkFE
SUFMLUdSQURJRU5UXSBbaWQ9ImdyYWQxYSJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCww
LjAwIEwxMDAuMDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge3VzZX0gYXQgKDEyOSw0NCkgc2l6ZSAxMDJ4NjIKICAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMTI5LDQ0KSBzaXplIDEwMng2MiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAw
KSgwLjAwLDEuMDApKSB0PSgxMzAuMDAsNDUuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgxMjksNDQpIHNpemUgMTAyeDYyCkBAIC0xMjEsNyArMTA1LDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoMTg5LDQ0KSBzaXplIDEyeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAw
MDBdfV0gW2RhdGE9Ik02MC4wMCwwLjAwIEw3MC4wMCwwLjAwIEw3MC4wMCw2MC4wMCBMNjAuMDAs
NjAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjA0LDQ0KSBzaXpl
IDEyeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0
aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik03
NS4wMCwwLjAwIEw4NS4wMCwwLjAwIEw4NS4wMCw2MC4wMCBMNzUuMDAsNjAuMDAgWiJdCiAgICAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjE5LDQ0KSBzaXplIDEyeDYyIFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkQ3MDBdfV0gW2RhdGE9Ik05MC4wMCwwLjAwIEwxMDAu
MDAsMC4wMCBMMTAwLjAwLDYwLjAwIEw5MC4wMCw2MC4wMCBaIl0KLSAgICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxMjksNDQpIHNpemUgMTAyeDYyIFtzdHJva2U9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1SQURJ
QUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDAwMDAwKSwgKDAuNTAsIzAwMDA4QiksICgx
LjAwLCMwMDAwMDAwMCldXSBbY2VudGVyPSgwLjEwLDAuMTApXSBbZm9jYWw9KDAuMTcsMCldIFty
YWRpdXM9MC43NV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4w
MCBMMC4wMCw2MC4wMCBaIl0KKyAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMjks
NDQpIHNpemUgMTAyeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0
cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0iZ3Jh
ZDJhIl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4wMCBMMC4w
MCw2MC4wMCBaIl0KICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMjQyLDQ0KSBz
aXplIDEwMXg2MgogICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNDEsNDQpIHNp
emUgMTAzeDYyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDI0Mi41
MCw0NS4wMCl9XQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI0MSw0NCkg
c2l6ZSAxMDN4NjIKQEAgLTEzMyw3ICsxMTcsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgz
NjAKICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzMDEsNDQpIHNpemUgMTN4NjIg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBd
fV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTYwLjAwLDAu
MDAgTDcwLjAwLDAuMDAgTDcwLjAwLDYwLjAwIEw2MC4wMCw2MC4wMCBaIl0KICAgICAgICAgICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICgzMTYsNDQpIHNpemUgMTN4NjIgW3N0cm9rZT17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTc1LjAwLDAuMDAgTDg1LjAwLDAuMDAg
TDg1LjAwLDYwLjAwIEw3NS4wMCw2MC4wMCBaIl0KICAgICAgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgzMzEsNDQpIHNpemUgMTN4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
I0ZGRDcwMF19XSBbZGF0YT0iTTkwLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAg
TDkwLjAwLDYwLjAwIFoiXQotICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI0MSw0
NCkgc2l6ZSAxMDN4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ry
b2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjMDAwMDAwMDApLCAoMC41MCwjMDAwMDhCKSwgKDEuMDAsIzAwMDAwMDAwKV1dIFtjZW50
ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMC41MCwwKV0gW3JhZGl1cz0wLjc1XX1dIFtkYXRhPSJN
MC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEwwLjAwLDYwLjAwIFoiXQorICAg
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI0MSw0NCkgc2l6ZSAxMDN4NjIgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2Zp
bGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJncmFkNGEiXX1dIFtkYXRhPSJNMC4wMCww
LjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEwwLjAwLDYwLjAwIFoiXQogICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgzNTQsNDQpIHNpemUgMTAyeDYyCiAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDM1NCw0NCkgc2l6ZSAxMDJ4NjIgW3RyYW5zZm9ybT17
bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMzU1LjAwLDQ1LjAwKX1dCiAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzU0LDQ0KSBzaXplIDEwMng2MgpAQCAtMTQ1LDcg
KzEyOSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICAgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDQxNCw0NCkgc2l6ZSAxMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9U09MSURd
IFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNNjAuMDAsMC4wMCBMNzAuMDAsMC4wMCBMNzAuMDAs
NjAuMDAgTDYwLjAwLDYwLjAwIFoiXQogICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDQyOSw0NCkgc2l6ZSAxMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
IFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAw
XX1dIFtkYXRhPSJNNzUuMDAsMC4wMCBMODUuMDAsMC4wMCBMODUuMDAsNjAuMDAgTDc1LjAwLDYw
LjAwIFoiXQogICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDQ0NCw0NCkgc2l6ZSAx
Mng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9
MC41MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZENzAwXX1dIFtkYXRhPSJNOTAu
MDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4wMCBMOTAuMDAsNjAuMDAgWiJdCi0gICAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzU0LDQ0KSBzaXplIDEwMng2MiBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmls
bD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDAwMCksICgwLjUw
LCMwMDAwOEIpLCAoMS4wMCwjMDAwMDAwMDApXV0gW2NlbnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2Fs
PSgwLjgzLDApXSBbcmFkaXVzPTAuNzVdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAw
IEwxMDAuMDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJdCisgICAgICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMzU0LDQ0KSBzaXplIDEwMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJ
RU5UXSBbaWQ9ImdyYWQ2YSJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAu
MDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0g
YXQgKDE3LDEwOSkgc2l6ZSAxMDF4NjIKICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMTYsMTA5KSBzaXplIDEwM3g2MiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgxNy41MCwxMTAuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9
IGF0ICgxNiwxMDkpIHNpemUgMTAzeDYyCkBAIC0xNTcsNyArMTQxLDcgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNzYsMTA5
KSBzaXplIDEzeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9r
ZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2Rh
dGE9Ik02MC4wMCwwLjAwIEw3MC4wMCwwLjAwIEw3MC4wMCw2MC4wMCBMNjAuMDAsNjAuMDAgWiJd
CiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoOTEsMTA5KSBzaXplIDEzeDYyIFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1d
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik03NS4wMCwwLjAw
IEw4NS4wMCwwLjAwIEw4NS4wMCw2MC4wMCBMNzUuMDAsNjAuMDAgWiJdCiAgICAgICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTA2LDEwOSkgc2l6ZSAxM3g2MiBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jRkZENzAwXX1dIFtkYXRhPSJNOTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAg
TDEwMC4wMCw2MC4wMCBMOTAuMDAsNjAuMDAgWiJdCi0gICAgICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMTYsMTA5KSBzaXplIDEwM3g2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJ
RU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDAwMCksICgwLjUwLCMwMDAwOEIpLCAoMS4wMCwjMDAw
MDAwMDApXV0gW2NlbnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2FsPSgwLDAuMjUpXSBbcmFkaXVzPTAu
NzVdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDAuMDAs
NjAuMDAgWiJdCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsMTA5KSBzaXpl
IDEwM3g2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lk
dGg9MC41MF19XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9ImdyYWQxYiJdfV0g
W2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDAuMDAsNjAuMDAg
WiJdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDEyOSwxMDkpIHNpemUgMTAy
eDYyCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEyOSwxMDkpIHNpemUgMTAy
eDYyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEzMC4wMCwxMTAu
MDApfV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMjksMTA5KSBzaXpl
IDEwMng2MgpAQCAtMTY5LDcgKzE1Myw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAog
ICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE4OSwxMDkpIHNpemUgMTJ4NjIgW3N0
cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0g
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTYwLjAwLDAuMDAg
TDcwLjAwLDAuMDAgTDcwLjAwLDYwLjAwIEw2MC4wMCw2MC4wMCBaIl0KICAgICAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgyMDQsMTA5KSBzaXplIDEyeDYyIFtzdHJva2U9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik03NS4wMCwwLjAwIEw4NS4wMCwwLjAwIEw4
NS4wMCw2MC4wMCBMNzUuMDAsNjAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMjE5LDEwOSkgc2l6ZSAxMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
RkZENzAwXX1dIFtkYXRhPSJNOTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4wMCBM
OTAuMDAsNjAuMDAgWiJdCi0gICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTI5LDEw
OSkgc2l6ZSAxMDJ4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ry
b2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjMDAwMDAwMDApLCAoMC41MCwjMDAwMDhCKSwgKDEuMDAsIzAwMDAwMDAwKV1dIFtjZW50
ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMC4xNywwLjI1KV0gW3JhZGl1cz0wLjc1XX1dIFtkYXRh
PSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEwwLjAwLDYwLjAwIFoiXQor
ICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEyOSwxMDkpIHNpemUgMTAyeDYyIFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1d
IFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0iZ3JhZDJiIl19XSBbZGF0YT0iTTAu
MDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4wMCBMMC4wMCw2MC4wMCBaIl0KICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMjQyLDEwOSkgc2l6ZSAxMDF4NjIKICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjQxLDEwOSkgc2l6ZSAxMDN4NjIgW3RyYW5z
Zm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMjQyLjUwLDExMC4wMCl9XQogICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI0MSwxMDkpIHNpemUgMTAzeDYyCkBA
IC0xODEsNyArMTY1LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzAxLDEwOSkgc2l6ZSAxM3g2MiBbc3Ryb2tlPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNNjAuMDAsMC4wMCBMNzAuMDAsMC4w
MCBMNzAuMDAsNjAuMDAgTDYwLjAwLDYwLjAwIFoiXQogICAgICAgICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDMxNiwxMDkpIHNpemUgMTN4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9I0ZGQTUwMF19XSBbZGF0YT0iTTc1LjAwLDAuMDAgTDg1LjAwLDAuMDAgTDg1LjAwLDYwLjAw
IEw3NS4wMCw2MC4wMCBaIl0KICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzMzEs
MTA5KSBzaXplIDEzeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0
cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkQ3MDBdfV0g
W2RhdGE9Ik05MC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEw5MC4wMCw2MC4w
MCBaIl0KLSAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNDEsMTA5KSBzaXplIDEw
M3g2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9
MC41MF19XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAw
MDAwMCksICgwLjUwLCMwMDAwOEIpLCAoMS4wMCwjMDAwMDAwMDApXV0gW2NlbnRlcj0oMC4xMCww
LjEwKV0gW2ZvY2FsPSgwLjUwLDAuMjUpXSBbcmFkaXVzPTAuNzVdfV0gW2RhdGE9Ik0wLjAwLDAu
MDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJdCisgICAgICAgICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjQxLDEwOSkgc2l6ZSAxMDN4NjIgW3N0cm9rZT17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0
eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJncmFkNGIiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwx
MDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEwwLjAwLDYwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHt1c2V9IGF0ICgzNTQsMTA5KSBzaXplIDEwMng2MgogICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICgzNTQsMTA5KSBzaXplIDEwMng2MiBbdHJhbnNmb3JtPXttPSgo
MS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzNTUuMDAsMTEwLjAwKX1dCiAgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzU0LDEwOSkgc2l6ZSAxMDJ4NjIKQEAgLTE5Myw3ICsx
NzcsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgIFJlbmRlclBh
dGgge3JlY3R9IGF0ICg0MTQsMTA5KSBzaXplIDEyeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik02MC4wMCwwLjAwIEw3MC4wMCwwLjAwIEw3MC4wMCw2
MC4wMCBMNjAuMDAsNjAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
NDI5LDEwOSkgc2l6ZSAxMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
IFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAw
XX1dIFtkYXRhPSJNNzUuMDAsMC4wMCBMODUuMDAsMC4wMCBMODUuMDAsNjAuMDAgTDc1LjAwLDYw
LjAwIFoiXQogICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDQ0NCwxMDkpIHNpemUg
MTJ4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRo
PTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRDcwMF19XSBbZGF0YT0iTTkw
LjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDkwLjAwLDYwLjAwIFoiXQotICAg
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDM1NCwxMDkpIHNpemUgMTAyeDYyIFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtm
aWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDAwMDAwKSwgKDAu
NTAsIzAwMDA4QiksICgxLjAwLCMwMDAwMDAwMCldXSBbY2VudGVyPSgwLjEwLDAuMTApXSBbZm9j
YWw9KDAuODMsMC4yNSldIFtyYWRpdXM9MC43NV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAw
LDAuMDAgTDEwMC4wMCw2MC4wMCBMMC4wMCw2MC4wMCBaIl0KKyAgICAgICAgICAgIFJlbmRlclBh
dGgge3JlY3R9IGF0ICgzNTQsMTA5KSBzaXplIDEwMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9UkFESUFM
LUdSQURJRU5UXSBbaWQ9ImdyYWQ2YiJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAw
IEwxMDAuMDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e3VzZX0gYXQgKDE3LDE3NCkgc2l6ZSAxMDF4NjIKICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMTYsMTc0KSBzaXplIDEwM3g2MiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgw
LjAwLDEuMDApKSB0PSgxNy41MCwxNzUuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgxNiwxNzQpIHNpemUgMTAzeDYyCkBAIC0yMDUsNyArMTg5LDcgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
NzYsMTc0KSBzaXplIDEzeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0g
W3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBd
fV0gW2RhdGE9Ik02MC4wMCwwLjAwIEw3MC4wMCwwLjAwIEw3MC4wMCw2MC4wMCBMNjAuMDAsNjAu
MDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoOTEsMTc0KSBzaXplIDEz
eDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0w
LjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik03NS4w
MCwwLjAwIEw4NS4wMCwwLjAwIEw4NS4wMCw2MC4wMCBMNzUuMDAsNjAuMDAgWiJdCiAgICAgICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTA2LDE3NCkgc2l6ZSAxM3g2MiBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jRkZENzAwXX1dIFtkYXRhPSJNOTAuMDAsMC4wMCBMMTAwLjAw
LDAuMDAgTDEwMC4wMCw2MC4wMCBMOTAuMDAsNjAuMDAgWiJdCi0gICAgICAgICAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoMTYsMTc0KSBzaXplIDEwM3g2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9UkFESUFM
LUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDAwMCksICgwLjUwLCMwMDAwOEIpLCAoMS4w
MCwjMDAwMDAwMDApXV0gW2NlbnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2FsPSgwLDAuNTApXSBbcmFk
aXVzPTAuNzVdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAg
TDAuMDAsNjAuMDAgWiJdCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsMTc0
KSBzaXplIDEwM3g2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJv
a2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9ImdyYWQx
YyJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDAuMDAs
NjAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDEyOSwxNzQpIHNp
emUgMTAyeDYyCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEyOSwxNzQpIHNp
emUgMTAyeDYyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEzMC4w
MCwxNzUuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMjksMTc0
KSBzaXplIDEwMng2MgpAQCAtMjE3LDcgKzIwMSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgw
eDM2MAogICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE4OSwxNzQpIHNpemUgMTJ4
NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAu
NTBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTYwLjAw
LDAuMDAgTDcwLjAwLDAuMDAgTDcwLjAwLDYwLjAwIEw2MC4wMCw2MC4wMCBaIl0KICAgICAgICAg
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMDQsMTc0KSBzaXplIDEyeDYyIFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik03NS4wMCwwLjAwIEw4NS4wMCww
LjAwIEw4NS4wMCw2MC4wMCBMNzUuMDAsNjAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMjE5LDE3NCkgc2l6ZSAxMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jRkZENzAwXX1dIFtkYXRhPSJNOTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw2
MC4wMCBMOTAuMDAsNjAuMDAgWiJdCi0gICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MTI5LDE3NCkgc2l6ZSAxMDJ4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAw
XSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0
b3BzPVsoMC4wMCwjMDAwMDAwMDApLCAoMC41MCwjMDAwMDhCKSwgKDEuMDAsIzAwMDAwMDAwKV1d
IFtjZW50ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMC4xNywwLjUwKV0gW3JhZGl1cz0wLjc1XX1d
IFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEwwLjAwLDYwLjAw
IFoiXQorICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEyOSwxNzQpIHNpemUgMTAy
eDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0w
LjUwXX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0iZ3JhZDJjIl19XSBbZGF0
YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4wMCBMMC4wMCw2MC4wMCBaIl0K
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMjQyLDE3NCkgc2l6ZSAxMDF4NjIK
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjQxLDE3NCkgc2l6ZSAxMDN4NjIg
W3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMjQyLjUwLDE3NS4wMCl9
XQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI0MSwxNzQpIHNpemUgMTAz
eDYyCkBAIC0yMjksNyArMjEzLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzAxLDE3NCkgc2l6ZSAxM3g2MiBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNNjAuMDAsMC4wMCBMNzAu
MDAsMC4wMCBMNzAuMDAsNjAuMDAgTDYwLjAwLDYwLjAwIFoiXQogICAgICAgICAgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDMxNiwxNzQpIHNpemUgMTN4NjIgW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTc1LjAwLDAuMDAgTDg1LjAwLDAuMDAgTDg1LjAw
LDYwLjAwIEw3NS4wMCw2MC4wMCBaIl0KICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgzMzEsMTc0KSBzaXplIDEzeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkQ3
MDBdfV0gW2RhdGE9Ik05MC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEw5MC4w
MCw2MC4wMCBaIl0KLSAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNDEsMTc0KSBz
aXplIDEwM3g2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ug
d2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAw
LCMwMDAwMDAwMCksICgwLjUwLCMwMDAwOEIpLCAoMS4wMCwjMDAwMDAwMDApXV0gW2NlbnRlcj0o
MC4xMCwwLjEwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNzVdfV0gW2RhdGE9Ik0w
LjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJdCisgICAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjQxLDE3NCkgc2l6ZSAxMDN4NjIgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2Zp
bGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJncmFkNGMiXX1dIFtkYXRhPSJNMC4wMCww
LjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEwwLjAwLDYwLjAwIFoiXQogICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgzNTQsMTc0KSBzaXplIDEwMng2MgogICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzNTQsMTc0KSBzaXplIDEwMng2MiBbdHJhbnNmb3Jt
PXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzNTUuMDAsMTc1LjAwKX1dCiAgICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzU0LDE3NCkgc2l6ZSAxMDJ4NjIKQEAgLTI0
MSw3ICsyMjUsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICg0MTQsMTc0KSBzaXplIDEyeDYyIFtzdHJva2U9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik02MC4wMCwwLjAwIEw3MC4wMCwwLjAwIEw3
MC4wMCw2MC4wMCBMNjAuMDAsNjAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoNDI5LDE3NCkgc2l6ZSAxMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
RkZBNTAwXX1dIFtkYXRhPSJNNzUuMDAsMC4wMCBMODUuMDAsMC4wMCBMODUuMDAsNjAuMDAgTDc1
LjAwLDYwLjAwIFoiXQogICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDQ0NCwxNzQp
IHNpemUgMTJ4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tl
IHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRDcwMF19XSBbZGF0
YT0iTTkwLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDkwLjAwLDYwLjAwIFoi
XQotICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDM1NCwxNzQpIHNpemUgMTAyeDYy
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUw
XX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDAwMDAw
KSwgKDAuNTAsIzAwMDA4QiksICgxLjAwLCMwMDAwMDAwMCldXSBbY2VudGVyPSgwLjEwLDAuMTAp
XSBbZm9jYWw9KDAuODMsMC41MCldIFtyYWRpdXM9MC43NV19XSBbZGF0YT0iTTAuMDAsMC4wMCBM
MTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4wMCBMMC4wMCw2MC4wMCBaIl0KKyAgICAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgzNTQsMTc0KSBzaXplIDEwMng2MiBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9
UkFESUFMLUdSQURJRU5UXSBbaWQ9ImdyYWQ2YyJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4w
MCwwLjAwIEwxMDAuMDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge3VzZX0gYXQgKDE3LDIzOSkgc2l6ZSAxMDF4NjIKICAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoMTYsMjM5KSBzaXplIDEwM3g2MiBbdHJhbnNmb3JtPXttPSgoMS4wMCww
LjAwKSgwLjAwLDEuMDApKSB0PSgxNy41MCwyNDAuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgxNiwyMzkpIHNpemUgMTAzeDYyCkBAIC0yNTMsNyArMjM3LDcgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoNzYsMjM5KSBzaXplIDEzeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNG
RjAwMDBdfV0gW2RhdGE9Ik02MC4wMCwwLjAwIEw3MC4wMCwwLjAwIEw3MC4wMCw2MC4wMCBMNjAu
MDAsNjAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoOTEsMjM5KSBz
aXplIDEzeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3
aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9
Ik03NS4wMCwwLjAwIEw4NS4wMCwwLjAwIEw4NS4wMCw2MC4wMCBMNzUuMDAsNjAuMDAgWiJdCiAg
ICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTA2LDIzOSkgc2l6ZSAxM3g2MiBbc3Ry
b2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZENzAwXX1dIFtkYXRhPSJNOTAuMDAsMC4wMCBM
MTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4wMCBMOTAuMDAsNjAuMDAgWiJdCi0gICAgICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsMjM5KSBzaXplIDEwM3g2MiBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9
UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDAwMCksICgwLjUwLCMwMDAwOEIp
LCAoMS4wMCwjMDAwMDAwMDApXV0gW2NlbnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2FsPSgwLDAuNzUp
XSBbcmFkaXVzPTAuNzVdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAs
NjAuMDAgTDAuMDAsNjAuMDAgWiJdCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MTYsMjM5KSBzaXplIDEwM3g2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
IFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9
ImdyYWQxZCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAg
TDAuMDAsNjAuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDEyOSwy
MzkpIHNpemUgMTAyeDYyCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEyOSwy
MzkpIHNpemUgMTAyeDYyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9
KDEzMC4wMCwyNDAuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgx
MjksMjM5KSBzaXplIDEwMng2MgpAQCAtMjY1LDcgKzI0OSw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgNDgweDM2MAogICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE4OSwyMzkpIHNp
emUgMTJ4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdp
ZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0i
TTYwLjAwLDAuMDAgTDcwLjAwLDAuMDAgTDcwLjAwLDYwLjAwIEw2MC4wMCw2MC4wMCBaIl0KICAg
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMDQsMjM5KSBzaXplIDEyeDYyIFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik03NS4wMCwwLjAwIEw4
NS4wMCwwLjAwIEw4NS4wMCw2MC4wMCBMNzUuMDAsNjAuMDAgWiJdCiAgICAgICAgICAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMjE5LDIzOSkgc2l6ZSAxMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkZENzAwXX1dIFtkYXRhPSJNOTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEw
MC4wMCw2MC4wMCBMOTAuMDAsNjAuMDAgWiJdCi0gICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMTI5LDIzOSkgc2l6ZSAxMDJ4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVO
VF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwMDApLCAoMC41MCwjMDAwMDhCKSwgKDEuMDAsIzAwMDAw
MDAwKV1dIFtjZW50ZXI9KDAuMTAsMC4xMCldIFtmb2NhbD0oMC4xNywwLjc1KV0gW3JhZGl1cz0w
Ljc1XX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEwwLjAw
LDYwLjAwIFoiXQorICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEyOSwyMzkpIHNp
emUgMTAyeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3
aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0iZ3JhZDJkIl19
XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4wMCBMMC4wMCw2MC4w
MCBaIl0KICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMjQyLDIzOSkgc2l6ZSAx
MDF4NjIKICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjQxLDIzOSkgc2l6ZSAx
MDN4NjIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMjQyLjUwLDI0
MC4wMCl9XQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI0MSwyMzkpIHNp
emUgMTAzeDYyCkBAIC0yNzcsNyArMjYxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYw
CiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzAxLDIzOSkgc2l6ZSAxM3g2MiBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19
XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNNjAuMDAsMC4w
MCBMNzAuMDAsMC4wMCBMNzAuMDAsNjAuMDAgTDYwLjAwLDYwLjAwIFoiXQogICAgICAgICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMxNiwyMzkpIHNpemUgMTN4NjIgW3N0cm9rZT17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTc1LjAwLDAuMDAgTDg1LjAwLDAuMDAg
TDg1LjAwLDYwLjAwIEw3NS4wMCw2MC4wMCBaIl0KICAgICAgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgzMzEsMjM5KSBzaXplIDEzeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSNGRkQ3MDBdfV0gW2RhdGE9Ik05MC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAw
IEw5MC4wMCw2MC4wMCBaIl0KLSAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNDEs
MjM5KSBzaXplIDEwM3g2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtz
dHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9
WygwLjAwLCMwMDAwMDAwMCksICgwLjUwLCMwMDAwOEIpLCAoMS4wMCwjMDAwMDAwMDApXV0gW2Nl
bnRlcj0oMC4xMCwwLjEwKV0gW2ZvY2FsPSgwLjUwLDAuNzUpXSBbcmFkaXVzPTAuNzVdfV0gW2Rh
dGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJd
CisgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjQxLDIzOSkgc2l6ZSAxMDN4NjIg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTAuNTBd
fV0gW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJncmFkNGQiXX1dIFtkYXRhPSJN
MC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDYwLjAwIEwwLjAwLDYwLjAwIFoiXQogICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgzNTQsMjM5KSBzaXplIDEwMng2MgogICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzNTQsMjM5KSBzaXplIDEwMng2MiBbdHJh
bnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzNTUuMDAsMjQwLjAwKX1dCiAg
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzU0LDIzOSkgc2l6ZSAxMDJ4NjIK
QEAgLTI4OSw3ICsyNzMsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAg
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg0MTQsMjM5KSBzaXplIDEyeDYyIFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0wLjUwXX1dIFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik02MC4wMCwwLjAwIEw3MC4wMCww
LjAwIEw3MC4wMCw2MC4wMCBMNjAuMDAsNjAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoNDI5LDIzOSkgc2l6ZSAxMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNNzUuMDAsMC4wMCBMODUuMDAsMC4wMCBMODUuMDAsNjAu
MDAgTDc1LjAwLDYwLjAwIFoiXQogICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDQ0
NCwyMzkpIHNpemUgMTJ4NjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBb
c3Ryb2tlIHdpZHRoPTAuNTBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRDcwMF19
XSBbZGF0YT0iTTkwLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDkwLjAwLDYw
LjAwIFoiXQotICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDM1NCwyMzkpIHNpemUg
MTAyeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0
aD0wLjUwXX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAw
MDAwMDAwKSwgKDAuNTAsIzAwMDA4QiksICgxLjAwLCMwMDAwMDAwMCldXSBbY2VudGVyPSgwLjEw
LDAuMTApXSBbZm9jYWw9KDAuODMsMC43NSldIFtyYWRpdXM9MC43NV19XSBbZGF0YT0iTTAuMDAs
MC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw2MC4wMCBMMC4wMCw2MC4wMCBaIl0KKyAgICAgICAg
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzNTQsMjM5KSBzaXplIDEwMng2MiBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9MC41MF19XSBbZmlsbD17
W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9ImdyYWQ2ZCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAg
TDEwMC4wMCwwLjAwIEwxMDAuMDAsNjAuMDAgTDAuMDAsNjAuMDAgWiJdCiAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDEwLDM0MCkgc2l6ZSAxOTh4MzYgY29udGFpbnMgMSBjaHVuayhzKQog
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0yOCkgc2l6ZSAxOTh4MzYK
ICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwzNDAuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDE2IHdpZHRoIDE5OC4wMDogIiRSZXZpc2lvbjogMS43ICQiCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTQt
Yi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTE0LWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1
ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZl
cnMtZ3JhZC0xNC1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw3MiArMSw2NCBA
QAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0ibGdTcHJlYWRQYWQiIFt0eXBlPUxJTkVBUi1H
UkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsI0ZGRDcwMCldXSBbYm91bmRp
bmcgYm94IG1vZGU9MF0gW3N0YXJ0PSg1MCwwKV0gW2VuZD0oMTAwLDApXX0KLUtSZW5kZXJpbmdQ
YWludFNlcnZlciB7aWQ9ImxnU3ByZWFkUmVmbGVjdCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBb
c3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjRkZENzAwKV1dW21ldGhvZD1SRUZMRUNUXSBb
Ym91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSg1MCwwKV0gW2VuZD0oMTAwLDApXX0KLUtSZW5k
ZXJpbmdQYWludFNlcnZlciB7aWQ9ImxnU3ByZWFkUmVwZWF0IiBbdHlwZT1MSU5FQVItR1JBRElF
TlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCNGRkQ3MDApXV1bbWV0aG9kPVJFUEVB
VF0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oNTAsMCldIFtlbmQ9KDEwMCwwKV19Ci1L
UmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJsZ1NwcmVhZERlZmF1bHQiIFt0eXBlPUxJTkVBUi1H
UkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsI0ZGRDcwMCldXSBbYm91bmRp
bmcgYm94IG1vZGU9MF0gW3N0YXJ0PSg1MCwwKV0gW2VuZD0oMTAwLDApXX0KLUtSZW5kZXJpbmdQ
YWludFNlcnZlciB7aWQ9InJnU3ByZWFkUGFkIiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9w
cz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCNGRkQ3MDApXV0gW2NlbnRlcj0oMC41MCwwLjUwKV0g
W2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuMjBdfQotS1JlbmRlcmluZ1BhaW50U2VydmVy
IHtpZD0icmdTcHJlYWRSZWZsZWN0IiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAu
MDAsI0ZGMDAwMCksICgxLjAwLCNGRkQ3MDApXV1bbWV0aG9kPVJFRkxFQ1RdIFtjZW50ZXI9KDAu
NTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjIwXX0KLUtSZW5kZXJpbmdQ
YWludFNlcnZlciB7aWQ9InJnU3ByZWFkUmVwZWF0IiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtz
dG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCNGRkQ3MDApXV1bbWV0aG9kPVJFUEVBVF0gW2Nl
bnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuMjBdfQotS1Jl
bmRlcmluZ1BhaW50U2VydmVyIHtpZD0icmdTcHJlYWREZWZhdWx0IiBbdHlwZT1SQURJQUwtR1JB
RElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCNGRkQ3MDApXV0gW2NlbnRlcj0o
MC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuMjBdfQogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBs
YXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCww
KSBzaXplIDQ4MHgzNjAKICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRp
ZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGlu
ZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50
U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRk
ZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50fSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGll
bnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVu
dCB7bGluZWFyR3JhZGllbnR9IFtpZD0ibGdTcHJlYWRQYWQiXSBbZ3JhZGllbnRVbml0cz11c2Vy
U3BhY2VPblVzZV0gW3N0YXJ0PSg1MCwwKV0gW2VuZD0oMTAwLDApXQorICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRjAwMDBdCisgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZG
RDcwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRp
ZW50fSBbaWQ9ImxnU3ByZWFkUmVmbGVjdCJdIFtncmFkaWVudFVuaXRzPXVzZXJTcGFjZU9uVXNl
XSBbc3ByZWFkTWV0aG9kPVJFRkxFQ1RdIFtzdGFydD0oNTAsMCldIFtlbmQ9KDEwMCwwKV0KKyAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0j
RkYwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4w
MF0gW2NvbG9yPSNGRkQ3MDBdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50
IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJsZ1NwcmVhZFJlcGVhdCJdIFtncmFkaWVudFVuaXRzPXVz
ZXJTcGFjZU9uVXNlXSBbc3ByZWFkTWV0aG9kPVJFUEVBVF0gW3N0YXJ0PSg1MCwwKV0gW2VuZD0o
MTAwLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4w
MF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
W29mZnNldD0xLjAwXSBbY29sb3I9I0ZGRDcwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGlu
ZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImxnU3ByZWFkRGVmYXVsdCJdIFtncmFk
aWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbc3RhcnQ9KDUwLDApXSBbZW5kPSgxMDAsMCldCisg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9
I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEu
MDBdIFtjb2xvcj0jRkZENzAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVu
dCB7cmFkaWFsR3JhZGllbnR9IFtpZD0icmdTcHJlYWRQYWQiXSBbZ3JhZGllbnRVbml0cz1vYmpl
Y3RCb3VuZGluZ0JveF0gW2NlbnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBb
cmFkaXVzPTAuMjBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNl
dD0wLjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkZENzAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2VSYWRpYWxHcmFkaWVudCB7cmFkaWFsR3JhZGllbnR9IFtpZD0icmdTcHJlYWRSZWZsZWN0Il0g
W2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzcHJlYWRNZXRob2Q9UkVGTEVDVF0g
W2NlbnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuMjBdCisg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9
I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEu
MDBdIFtjb2xvcj0jRkZENzAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVu
dCB7cmFkaWFsR3JhZGllbnR9IFtpZD0icmdTcHJlYWRSZXBlYXQiXSBbZ3JhZGllbnRVbml0cz1v
YmplY3RCb3VuZGluZ0JveF0gW3NwcmVhZE1ldGhvZD1SRVBFQVRdIFtjZW50ZXI9KDAuNTAsMC41
MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjIwXQorICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGRDcw
MF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50
fSBbaWQ9InJnU3ByZWFkRGVmYXVsdCJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94
XSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuNTAsMC41MCldIFtyYWRpdXM9MC4yMF0K
KyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xv
cj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9
MS4wMF0gW2NvbG9yPSNGRkQ3MDBdCiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDExMSwz
MCkgc2l6ZSAyNTh4MjMgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLC0xOCkgc2l6ZSAyNTh4MjMKICAgICAgICAgY2h1bmsgMSAobWlk
ZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTExLjUwLDMwLjAwKSBzdGFydE9mZnNldCAwIGVu
ZE9mZnNldCAzMCB3aWR0aCAyNTcuMDA6ICJHcmFkaWVudCAnc3ByZWFkTWV0aG9kJyB2YWx1ZXMi
Ci0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDYwKSBzaXplIDIyNXg0MCBbZmlsbD17W3R5
cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjRkZENzAw
KV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDUwLDApXSBbZW5kPSgxMDAsMCldfV0g
W2RhdGE9Ik0xMC4wMCw2MC4wMCBMMjM1LjAwLDYwLjAwIEwyMzUuMDAsMTAwLjAwIEwxMC4wMCwx
MDAuMDAgWiJdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDYwKSBzaXplIDIyNXg0MCBb
ZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImxnU3ByZWFkUGFkIl19XSBbZGF0YT0i
TTEwLjAwLDYwLjAwIEwyMzUuMDAsNjAuMDAgTDIzNS4wMCwxMDAuMDAgTDEwLjAwLDEwMC4wMCBa
Il0KICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsNTUpIHNpemUgMTM2eDE4IGNvbnRh
aW5zIDEgY2h1bmsocykKICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwt
MTQpIHNpemUgMTM2eDE4CiAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsNTUu
MDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE4IHdpZHRoIDEzNi4wMDogInNwcmVhZE1ldGhv
ZD1cInBhZFwiIgotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwxMzApIHNpemUgMjI1eDQw
IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgx
LjAwLCNGRkQ3MDApXV1bbWV0aG9kPVJFRkxFQ1RdIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3Rh
cnQ9KDUwLDApXSBbZW5kPSgxMDAsMCldfV0gW2RhdGE9Ik0xMC4wMCwxMzAuMDAgTDIzNS4wMCwx
MzAuMDAgTDIzNS4wMCwxNzAuMDAgTDEwLjAwLDE3MC4wMCBaIl0KKyAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMTAsMTMwKSBzaXplIDIyNXg0MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5U
XSBbaWQ9ImxnU3ByZWFkUmVmbGVjdCJdfV0gW2RhdGE9Ik0xMC4wMCwxMzAuMDAgTDIzNS4wMCwx
MzAuMDAgTDIzNS4wMCwxNzAuMDAgTDEwLjAwLDE3MC4wMCBaIl0KICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMTAsMTI1KSBzaXplIDE1MngxOCBjb250YWlucyAxIGNodW5rKHMpCiAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDE1MngxOAogICAg
ICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDEyNS4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgMjIgd2lkdGggMTUyLjAwOiAic3ByZWFkTWV0aG9kPVwicmVmbGVjdFwiIgotICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwyMDApIHNpemUgMjI1eDQwIFtmaWxsPXtbdHlwZT1M
SU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCNGRkQ3MDApXV1b
bWV0aG9kPVJFUEVBVF0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oNTAsMCldIFtlbmQ9
KDEwMCwwKV19XSBbZGF0YT0iTTEwLjAwLDIwMC4wMCBMMjM1LjAwLDIwMC4wMCBMMjM1LjAwLDI0
MC4wMCBMMTAuMDAsMjQwLjAwIFoiXQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwyMDAp
IHNpemUgMjI1eDQwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0ibGdTcHJlYWRS
ZXBlYXQiXX1dIFtkYXRhPSJNMTAuMDAsMjAwLjAwIEwyMzUuMDAsMjAwLjAwIEwyMzUuMDAsMjQw
LjAwIEwxMC4wMCwyNDAuMDAgWiJdCiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDE5
NSkgc2l6ZSAxNTF4MTggY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxNTF4MTgKICAgICAgICAgY2h1bmsgMSB0ZXh0
IHJ1biAxIGF0ICgxMC4wMCwxOTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDIxIHdpZHRo
IDE1MS4wMDogInNwcmVhZE1ldGhvZD1cInJlcGVhdFwiIgotICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgxMCwyNzApIHNpemUgMjI1eDQwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtz
dG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCNGRkQ3MDApXV0gW2JvdW5kaW5nIGJveCBtb2Rl
PTBdIFtzdGFydD0oNTAsMCldIFtlbmQ9KDEwMCwwKV19XSBbZGF0YT0iTTEwLjAwLDI3MC4wMCBM
MjM1LjAwLDI3MC4wMCBMMjM1LjAwLDMxMC4wMCBMMTAuMDAsMzEwLjAwIFoiXQorICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxMCwyNzApIHNpemUgMjI1eDQwIFtmaWxsPXtbdHlwZT1MSU5FQVIt
R1JBRElFTlRdIFtpZD0ibGdTcHJlYWREZWZhdWx0Il19XSBbZGF0YT0iTTEwLjAwLDI3MC4wMCBM
MjM1LjAwLDI3MC4wMCBMMjM1LjAwLDMxMC4wMCBMMTAuMDAsMzEwLjAwIFoiXQogICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgxMCwyNjUpIHNpemUgMTU2eDE4IGNvbnRhaW5zIDEgY2h1bmso
cykKICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTU2
eDE4CiAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMjY1LjAwKSBzdGFydE9m
ZnNldCAwIGVuZE9mZnNldCAyMiB3aWR0aCAxNTYuMDA6ICJzcHJlYWRNZXRob2Q9XCJkZWZhdWx0
XCIiCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI0NSw2MCkgc2l6ZSAyMjV4NDAgW2ZpbGw9
e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsI0ZG
RDcwMCldXSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuNTAsMC41MCldIFtyYWRpdXM9
MC4yMF19XSBbZGF0YT0iTTI0NS4wMCw2MC4wMCBMNDcwLjAwLDYwLjAwIEw0NzAuMDAsMTAwLjAw
IEwyNDUuMDAsMTAwLjAwIFoiXQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNDUsNjApIHNp
emUgMjI1eDQwIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0icmdTcHJlYWRQYWQi
XX1dIFtkYXRhPSJNMjQ1LjAwLDYwLjAwIEw0NzAuMDAsNjAuMDAgTDQ3MC4wMCwxMDAuMDAgTDI0
NS4wMCwxMDAuMDAgWiJdCiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI0NSw1NSkgc2l6
ZSAxMzZ4MTggY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxMzZ4MTgKICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAx
IGF0ICgyNDUuMDAsNTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE4IHdpZHRoIDEzNi4w
MDogInNwcmVhZE1ldGhvZD1cInBhZFwiIgotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNDUs
MTMwKSBzaXplIDIyNXg0MCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9Wygw
LjAwLCNGRjAwMDApLCAoMS4wMCwjRkZENzAwKV1dW21ldGhvZD1SRUZMRUNUXSBbY2VudGVyPSgw
LjUwLDAuNTApXSBbZm9jYWw9KDAuNTAsMC41MCldIFtyYWRpdXM9MC4yMF19XSBbZGF0YT0iTTI0
NS4wMCwxMzAuMDAgTDQ3MC4wMCwxMzAuMDAgTDQ3MC4wMCwxNzAuMDAgTDI0NS4wMCwxNzAuMDAg
WiJdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI0NSwxMzApIHNpemUgMjI1eDQwIFtmaWxs
PXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0icmdTcHJlYWRSZWZsZWN0Il19XSBbZGF0YT0i
TTI0NS4wMCwxMzAuMDAgTDQ3MC4wMCwxMzAuMDAgTDQ3MC4wMCwxNzAuMDAgTDI0NS4wMCwxNzAu
MDAgWiJdCiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI0NSwxMjUpIHNpemUgMTUyeDE4
IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtMTQpIHNpemUgMTUyeDE4CiAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjQ1
LjAwLDEyNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMjIgd2lkdGggMTUyLjAwOiAic3By
ZWFkTWV0aG9kPVwicmVmbGVjdFwiIgotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNDUsMjAw
KSBzaXplIDIyNXg0MCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAw
LCNGRjAwMDApLCAoMS4wMCwjRkZENzAwKV1dW21ldGhvZD1SRVBFQVRdIFtjZW50ZXI9KDAuNTAs
MC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjIwXX1dIFtkYXRhPSJNMjQ1LjAw
LDIwMC4wMCBMNDcwLjAwLDIwMC4wMCBMNDcwLjAwLDI0MC4wMCBMMjQ1LjAwLDI0MC4wMCBaIl0K
KyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjQ1LDIwMCkgc2l6ZSAyMjV4NDAgW2ZpbGw9e1t0
eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJyZ1NwcmVhZFJlcGVhdCJdfV0gW2RhdGE9Ik0yNDUu
MDAsMjAwLjAwIEw0NzAuMDAsMjAwLjAwIEw0NzAuMDAsMjQwLjAwIEwyNDUuMDAsMjQwLjAwIFoi
XQogICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNDUsMTk1KSBzaXplIDE1MXgxOCBjb250
YWlucyAxIGNodW5rKHMpCiAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
LTE0KSBzaXplIDE1MXgxOAogICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDI0NS4wMCwx
OTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDIxIHdpZHRoIDE1MS4wMDogInNwcmVhZE1l
dGhvZD1cInJlcGVhdFwiIgotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNDUsMjcwKSBzaXpl
IDIyNXg0MCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAw
MDApLCAoMS4wMCwjRkZENzAwKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCww
LjUwKV0gW3JhZGl1cz0wLjIwXX1dIFtkYXRhPSJNMjQ1LjAwLDI3MC4wMCBMNDcwLjAwLDI3MC4w
MCBMNDcwLjAwLDMxMC4wMCBMMjQ1LjAwLDMxMC4wMCBaIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMjQ1LDI3MCkgc2l6ZSAyMjV4NDAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0g
W2lkPSJyZ1NwcmVhZERlZmF1bHQiXX1dIFtkYXRhPSJNMjQ1LjAwLDI3MC4wMCBMNDcwLjAwLDI3
MC4wMCBMNDcwLjAwLDMxMC4wMCBMMjQ1LjAwLDMxMC4wMCBaIl0KICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMjQ1LDI2NSkgc2l6ZSAxNTZ4MTggY29udGFpbnMgMSBjaHVuayhzKQogICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxNTZ4MTgKICAg
ICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyNDUuMDAsMjY1LjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCAyMiB3aWR0aCAxNTYuMDA6ICJzcHJlYWRNZXRob2Q9XCJkZWZhdWx0XCIiCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdy
YWQtMTUtYi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTE1LWItZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEv
cHNlcnZlcnMtZ3JhZC0xNS1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxOCAr
MSwxNiBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZGVmczEiIFt0eXBlPUxJTkVBUi1H
UkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBbc3RhcnQ9
KDAsMCldIFtlbmQ9KDEsMCldfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZGVmczIiIFt0
eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwKSwgKDEuMDAsI0ZGMDAw
MCldXSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuNTAsMC41MCldIFtyYWRpdXM9MC41
MF19CiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDQ4MHgzNjAKIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJTVkdSb290
IHtzdmd9IGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDIwLDIwKSBzaXplIDQ0MHgyMTAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7
bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29u
dGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMjAsMjApIHNpemUgNDQweDgwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElF
TlRdIFtzdG9wcz1bKDAuMDAsIzAwMDBGRiksICgxLjAwLCNGRjAwMDApXV0gW3N0YXJ0PSgwLDAp
XSBbZW5kPSgxLDApXX1dIFtkYXRhPSJNMjAuMDAsMjAuMDAgTDQ2MC4wMCwyMC4wMCBMNDYwLjAw
LDEwMC4wMCBMMjAuMDAsMTAwLjAwIFoiXQotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIw
LDE1MCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjMDAwMDAwKSwgKDEuMDAsI0ZGMDAwMCldXSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9j
YWw9KDAuNTAsMC41MCldIFtyYWRpdXM9MC41MF19XSBbZGF0YT0iTTIwLjAwLDE1MC4wMCBMNDYw
LjAwLDE1MC4wMCBMNDYwLjAwLDIzMC4wMCBMMjAuMDAsMjMwLjAwIFoiXQorICAgICAgUmVuZGVy
U1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZGVmczEiXSBb
Z3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDAp
XQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2Nv
bG9yPSMwMDAwRkZdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNl
dD0xLjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3Jh
ZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9ImRlZnMyIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0
Qm91bmRpbmdCb3hdIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3Jh
ZGl1cz0wLjUwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9
MC4wMF0gW2NvbG9yPSMwMDAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgyMCwyMCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lk
PSJkZWZzMSJdfV0gW2RhdGE9Ik0yMC4wMCwyMC4wMCBMNDYwLjAwLDIwLjAwIEw0NjAuMDAsMTAw
LjAwIEwyMC4wMCwxMDAuMDAgWiJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjAsMTUw
KSBzaXplIDQ0MHg4MCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9ImRlZnMyIl19
XSBbZGF0YT0iTTIwLjAwLDE1MC4wMCBMNDYwLjAwLDE1MC4wMCBMNDYwLjAwLDIzMC4wMCBMMjAu
MDAsMjMwLjAwIFoiXQogICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwzNDApIHNpemUg
MjY0eDQ2IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMzYpIHNpemUgMjY0eDQ2CiAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMTAuMDAsMzQwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNiB3aWR0aCAyNjQuMDA6
ICIkUmV2aXNpb246IDEuMyAkIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9X
M0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTE2LWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0x
Ni1iLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTYtYi1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsMjIgKzEsMTkgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9
ImRlZnMxIiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bXV0gW3N0YXJ0PSgwLDApXSBb
ZW5kPSgwLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImRlZnMyIiBbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtzdG9wcz1bKDEuMDAsIzAwMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9
KDEsMCldfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZGVmczMiIFt0eXBlPUxJTkVBUi1H
UkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZGRjAwKSwgKDAuMjUsI0ZGMDAwMCksICgwLjUwLCMw
MDgwMDApLCAoMC4xMCwjMDAwMEZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19CiBsYXll
ciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDQ4MHgz
NjAKIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0
ICgwLDApIHNpemUgNDgweDM2MAogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE5LDkp
IHNpemUgNDQyeDI4MQotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFk
aWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7
bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgxOSw5KSBzaXplIDQ0Mng4MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVtdXSBbc3Rh
cnQ9KDAsMCldIFtlbmQ9KDAsMCldfV0gW2RhdGE9Ik0yMC4wMCwxMC4wMCBMNDYwLjAwLDEwLjAw
IEw0NjAuMDAsOTAuMDAgTDIwLjAwLDkwLjAwIFoiXQotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDIwLDExMCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0
b3BzPVsoMS4wMCwjMDAwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0i
TTIwLjAwLDExMC4wMCBMNDYwLjAwLDExMC4wMCBMNDYwLjAwLDE5MC4wMCBMMjAuMDAsMTkwLjAw
IFoiXQotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwLDIxMCkgc2l6ZSA0NDB4ODAgW2Zp
bGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZGRjAwKSwgKDAuMjUs
I0ZGMDAwMCksICgwLjUwLCMwMDgwMDApLCAoMC4xMCwjMDAwMEZGKV1dIFtzdGFydD0oMCwwKV0g
W2VuZD0oMSwwKV19XSBbZGF0YT0iTTIwLjAwLDIxMC4wMCBMNDYwLjAwLDIxMC4wMCBMNDYwLjAw
LDI5MC4wMCBMMjAuMDAsMjkwLjAwIFoiXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJH
cmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZGVmczEiXSBbZ3JhZGllbnRVbml0cz1vYmpl
Y3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgUmVuZGVyU1ZH
UmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZGVmczIiXSBbZ3Jh
ZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQor
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9y
PSMwMDAwMDBdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJH
cmFkaWVudH0gW2lkPSJkZWZzMyJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBb
c3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZGRkYwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMjVdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9yPSMwMDgwMDBd
CisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjEwXSBbY29s
b3I9IzAwMDBGRl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxOSw5KSBzaXplIDQ0Mng4
MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPUxJ
TkVBUi1HUkFESUVOVF0gW2lkPSJkZWZzMSJdfV0gW2RhdGE9Ik0yMC4wMCwxMC4wMCBMNDYwLjAw
LDEwLjAwIEw0NjAuMDAsOTAuMDAgTDIwLjAwLDkwLjAwIFoiXQorICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDIwLDExMCkgc2l6ZSA0NDB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVO
VF0gW2lkPSJkZWZzMiJdfV0gW2RhdGE9Ik0yMC4wMCwxMTAuMDAgTDQ2MC4wMCwxMTAuMDAgTDQ2
MC4wMCwxOTAuMDAgTDIwLjAwLDE5MC4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgyMCwyMTApIHNpemUgNDQweDgwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0i
ZGVmczMiXX1dIFtkYXRhPSJNMjAuMDAsMjEwLjAwIEw0NjAuMDAsMjEwLjAwIEw0NjAuMDAsMjkw
LjAwIEwyMC4wMCwyOTAuMDAgWiJdCiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDM0
MCkgc2l6ZSAyNjR4NDYgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLC0zNikgc2l6ZSAyNjR4NDYKICAgICAgICAgY2h1bmsgMSB0ZXh0
IHJ1biAxIGF0ICgxMC4wMCwzNDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE2IHdpZHRo
IDI2NC4wMDogIiRSZXZpc2lvbjogMS4zICQiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTctYi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVy
cy1ncmFkLTE3LWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0xNy1iLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxOSArMSwxOCBAQAotS1JlbmRlcmluZ1BhaW50U2Vy
dmVyIHtpZD0iZ3JhZCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAw
MDApLCAoMS4wMCwjRkZGRkZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19CiBsYXllciBh
dCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDQ4MHgzNjAK
IGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgw
LDApIHNpemUgNDgweDM2MAogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ5LDgxKSBz
aXplIDM3NngxNzMKICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFk
aWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJncmFkIl0gW2dyYWRpZW50VW5pdHM9b2Jq
ZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgICAgICBSZW5k
ZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMDAwMDBdCisg
ICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xv
cj0jRkZGRkZGXQogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDksODEpIHNpemUg
MTQ2eDE0NiBbdHJhbnNmb3JtPXttPSgoMC4zMCwwLjAwKSgwLjAwLDAuMzApKSB0PSg1MC4wMCwx
MDAuMDApfV0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDQ5LDgxKSBzaXplIDE0Nngx
NDYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMC4wMCwt
NjAuMDAgTDQ4MC4wMCwtNjAuMDAgTDQ4MC4wMCw0MjAuMDAgTDAuMDAsNDIwLjAwIFoiXQogICAg
ICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNTAsMTUxKSBzaXplIDE0NHg2IFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0yMC4wMF19XSBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMC4wMCwxODAuMDAgTDQ4MC4w
MCwxODAuMDAiXQogICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNjgsMTAwKSBzaXplIDEw
OHgxMDggW3RyYW5zZm9ybT17bT0oKDAuNzEsMC43MSkoLTAuNzEsMC43MSkpIHQ9KDE5Ny41Nywt
MTE2Ljk4KX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3
aWR0aD0yMC4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRh
PSJNMC4wMCwxODAuMDAgTDQ4MC4wMCwxODAuMDAiXQogICAgICAgICBSZW5kZXJQYXRoIHtsaW5l
fSBhdCAoMTE5LDgyKSBzaXplIDZ4MTQ0IFt0cmFuc2Zvcm09e209KCgwLjAwLDEuMDApKC0xLjAw
LDAuMDApKSB0PSg0MjAuMDAsLTYwLjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0yMC4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMDAwXX1dIFtkYXRhPSJNMC4wMCwxODAuMDAgTDQ4MC4wMCwxODAuMDAiXQotICAgICAg
ICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNjgsMTAwKSBzaXplIDEwOHgxMDggW3N0cm9rZT17W3R5
cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDApLCAoMS4wMCwjRkZGRkZG
KV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0gW3N0cm9rZSB3aWR0aD0yMC4wMF19XSBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNNDEwLjAwLDEwLjAwIEw3
MC4wMCwzNTAuMDAiXQorICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNjgsMTAwKSBzaXpl
IDEwOHgxMDggW3N0cm9rZT17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImdyYWQiXSBbc3Ry
b2tlIHdpZHRoPTIwLjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0g
W2RhdGE9Ik00MTAuMDAsMTAuMDAgTDcwLjAwLDM1MC4wMCJdCiAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoODQsMjUwKSBzaXplIDcyeDE4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSA3MngxOAogICAg
ICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDg0LjUwLDI1MC4w
MCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTEgd2lkdGggNzEuMDA6ICJVc2luZyBsaW5lcyIK
QEAgLTIyLDcgKzIxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgyODAsMTUxKSBzaXplIDE0NHg2IFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjAwLDE3MC4wMCBMNDgwLjAwLDE3MC4wMCBM
NDgwLjAwLDE5MC4wMCBMMC4wMCwxOTAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgyOTgsMTAwKSBzaXplIDEwOHgxMDggW3RyYW5zZm9ybT17bT0oKDAuNzEsMC43MSkoLTAu
NzEsMC43MSkpIHQ9KDE5Ny41NywtMTE2Ljk4KX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjAwLDE3MC4wMCBMNDgwLjAwLDE3MC4wMCBMNDgwLjAwLDE5
MC4wMCBMMC4wMCwxOTAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzNDks
ODIpIHNpemUgNngxNDQgW3RyYW5zZm9ybT17bT0oKDAuMDAsMS4wMCkoLTEuMDAsMC4wMCkpIHQ9
KDQyMC4wMCwtNjAuMDApfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBb
ZGF0YT0iTTAuMDAsMTcwLjAwIEw0ODAuMDAsMTcwLjAwIEw0ODAuMDAsMTkwLjAwIEwwLjAwLDE5
MC4wMCBaIl0KLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5OCwxMDApIHNpemUgMTA4
eDEwOCBbdHJhbnNmb3JtPXttPSgoMC43MSwtMC43MSkoMC43MSwwLjcxKSkgdD0oLTU2Ljk4LDIy
Mi40Myl9XSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAw
MDApLCAoMS4wMCwjRkZGRkZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0i
TTAuMDAsMTcwLjAwIEw0ODAuMDAsMTcwLjAwIEw0ODAuMDAsMTkwLjAwIEwwLjAwLDE5MC4wMCBa
Il0KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5OCwxMDApIHNpemUgMTA4eDEwOCBb
dHJhbnNmb3JtPXttPSgoMC43MSwtMC43MSkoMC43MSwwLjcxKSkgdD0oLTU2Ljk4LDIyMi40Myl9
XSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImdyYWQiXX1dIFtkYXRhPSJNMC4w
MCwxNzAuMDAgTDQ4MC4wMCwxNzAuMDAgTDQ4MC4wMCwxOTAuMDAgTDAuMDAsMTkwLjAwIFoiXQog
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDMxNCwyNTApIHNpemUgNzJ4MTggY29udGFp
bnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
LTE0KSBzaXplIDcyeDE4CiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBy
dW4gMSBhdCAoMzE0LjUwLDI1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTEgd2lkdGgg
NzEuMDA6ICJVc2luZyByZWN0cyIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
VzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0xOC1iLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQt
MTgtYi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTE4LWItZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMzICsxLDI5IEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lk
PSJNeUdyYWRpZW50MSIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDgw
MDApLCAoMS4wMCwjMDAwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19Ci1LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXIge2lkPSJNeUdyYWRpZW50MiIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBb
c3RvcHM9WygwLjAwLCMwMDgwMDApLCAoMS4wMCwjMDA4MDAwKV1dIFtzdGFydD0oMCwwKV0gW2Vu
ZD0oMSwwKV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJNeUdyYWRpZW50MyIgW3R5cGU9
TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDgwMDApLCAoMS4wMCwjMDAwMDAwKV1d
IFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJN
eUdyYWRpZW50NCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDgwMDAp
LCAoMS4wMCwjRkZGRjAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19CiBsYXllciBhdCAo
MCwwKSBzaXplIDQ4MHgzNjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKIGxh
eWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDAp
IHNpemUgNDgweDM2MAogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDUwLDUwKSBzaXpl
IDI1MHgyNTAKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdy
YWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRh
aW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAor
ICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0g
W2lkPSJNeUdyYWRpZW50MSJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3Rh
cnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDA4MDAwXQorICAgICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9IzAwMDAwMF0KKyAgICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iTXlH
cmFkaWVudDIiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDAp
XSBbZW5kPSgxLDApXQorICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29m
ZnNldD0wLjAwXSBbY29sb3I9IzAwODAwMF0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDgwMDBdCisgICAgICAgIFJlbmRlclNW
R1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9Ik15R3JhZGllbnQz
Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0o
MSwwKV0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4w
MF0gW2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDAwMDAwXQorICAgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJNeUdyYWRpZW50NCJdIFtncmFk
aWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldCisg
ICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xv
cj0jMDA4MDAwXQorICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNl
dD0xLjAwXSBbY29sb3I9I0ZGRkYwMF0KICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDUwLDUwKSBzaXplIDEwMHgxMDAKLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDUwLDUw
KSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4w
MCwjMDA4MDAwKSwgKDEuMDAsIzAwMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfV0g
W2RhdGE9Ik01MC4wMCw1MC4wMCBMMTUwLjAwLDUwLjAwIEwxNTAuMDAsMTUwLjAwIEw1MC4wMCwx
NTAuMDAgWiJdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg1MCw1MCkgc2l6ZSAxMDB4
MTAwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iTXlHcmFkaWVudDEiXX1dIFtk
YXRhPSJNNTAuMDAsNTAuMDAgTDE1MC4wMCw1MC4wMCBMMTUwLjAwLDE1MC4wMCBMNTAuMDAsMTUw
LjAwIFoiXQogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjAwLDUwKSBzaXplIDEw
MHgxMDAKLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwMCw1MCkgc2l6ZSAxMDB4MTAw
IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwODAwMCksICgx
LjAwLCMwMDgwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX1dIFtkYXRhPSJNMjAwLjAw
LDUwLjAwIEwzMDAuMDAsNTAuMDAgTDMwMC4wMCwxNTAuMDAgTDIwMC4wMCwxNTAuMDAgWiJdCisg
ICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMDAsNTApIHNpemUgMTAweDEwMCBbZmlsbD17
W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Ik15R3JhZGllbnQyIl19XSBbZGF0YT0iTTIwMC4w
MCw1MC4wMCBMMzAwLjAwLDUwLjAwIEwzMDAuMDAsMTUwLjAwIEwyMDAuMDAsMTUwLjAwIFoiXQog
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNTAsMjAwKSBzaXplIDEwMHgxMDAKLSAg
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDUwLDIwMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtb
dHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwODAwMCksICgxLjAwLCMwMDAw
MDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX1dIFtkYXRhPSJNNTAuMDAsMjAwLjAwIEwx
NTAuMDAsMjAwLjAwIEwxNTAuMDAsMzAwLjAwIEw1MC4wMCwzMDAuMDAgWiJdCisgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICg1MCwyMDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbaWQ9Ik15R3JhZGllbnQzIl19XSBbZGF0YT0iTTUwLjAwLDIwMC4wMCBM
MTUwLjAwLDIwMC4wMCBMMTUwLjAwLDMwMC4wMCBMNTAuMDAsMzAwLjAwIFoiXQogICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjAwLDIwMCkgc2l6ZSAxMDB4MTAwCi0gICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgyMDAsMjAwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPUxJ
TkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDA4MDAwKSwgKDEuMDAsI0ZGRkYwMCldXSBb
c3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfV0gW2RhdGE9Ik0yMDAuMDAsMjAwLjAwIEwzMDAuMDAs
MjAwLjAwIEwzMDAuMDAsMzAwLjAwIEwyMDAuMDAsMzAwLjAwIFoiXQorICAgICAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoMjAwLDIwMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1MSU5FQVIt
R1JBRElFTlRdIFtpZD0iTXlHcmFkaWVudDQiXX1dIFtkYXRhPSJNMjAwLjAwLDIwMC4wMCBMMzAw
LjAwLDIwMC4wMCBMMzAwLjAwLDMwMC4wMCBMMjAwLjAwLDMwMC4wMCBaIl0KICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMTAsMzQwKSBzaXplIDI2NHg0NiBjb250YWlucyAxIGNodW5rKHMp
CiAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTM2KSBzaXplIDI2NHg0
NgogICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDM0MC4wMCkgc3RhcnRPZmZz
ZXQgMCBlbmRPZmZzZXQgMTYgd2lkdGggMjY0LjAwOiAiJFJldmlzaW9uOiAxLjQgJCIKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0x
OS1iLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0xOS1iLWV4cGVjdGVkLmNoZWNrc3Vt
CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNW
Ry0xLjEvcHNlcnZlcnMtZ3JhZC0xOS1iLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkp
CkBAIC0xICsxIEBACi0xZTBlNzdmMGRhZjMxOTEwNDI1NTJiZTdmMDkyMDY3NwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzJiMTVmY2RkYTlhMjViMjI2NjdiY2I1ZWNiODRlNGY2ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTE5LWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3Jh
ZC0xOS1iLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTktYi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMjAgKzEsMzEgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7
aWQ9Ik15R3JhZGllbnQxIiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAw
ODAwMCksICgxLjAwLCMwMDAwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KLUtSZW5k
ZXJpbmdQYWludFNlcnZlciB7aWQ9Ik15R3JhZGllbnQyIiBbdHlwZT1MSU5FQVItR1JBRElFTlRd
IFtzdG9wcz1bKDAuMDAsIzAwODAwMCksICgxLjAwLCMwMDgwMDApXV0gW3N0YXJ0PSgwLDApXSBb
ZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9Ik15R3JhZGllbnQzIiBbdHlw
ZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwODAwMCksICgxLjAwLCMwMDAwMDAp
XV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9
Ik15R3JhZGllbnQ0IiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwODAw
MCksICgxLjAwLCMwMDAwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KIGxheWVyIGF0
ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNDgweDM2MAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAs
MCkgc2l6ZSA0ODB4MzYwCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNTAsNTApIHNp
emUgMjUweDI1MAorICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBz
aXplIDB4MAorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGll
bnR9IFtpZD0iTXlHcmFkaWVudDEiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0g
W3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDA4MDAwXQorICAgICAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDAwMDAwXQor
ICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50
fSBbaWQ9Ik15R3JhZGllbnQyIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtz
dGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwODAwMF0KKyAgICAgICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9IzAwODAwMF0KKyAg
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAg
ICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lk
PSJNeUdyYWRpZW50MyJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9
KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwODAwMF0KKyAgICAgICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDAwMDAwXQorICAg
ICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9
IFtpZD0iTXlHcmFkaWVudDQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGRkYwMF0K
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDUwLDUwKSBzaXplIDEwMHgxMDAKLSAg
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDUwLDUwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0
eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDA4MDAwKSwgKDEuMDAsIzAwMDAw
MCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfV0gW2RhdGE9Ik01MC4wMCw1MC4wMCBMMTUw
LjAwLDUwLjAwIEwxNTAuMDAsMTUwLjAwIEw1MC4wMCwxNTAuMDAgWiJdCisgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICg1MCw1MCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1MSU5FQVIt
R1JBRElFTlRdIFtpZD0iTXlHcmFkaWVudDEiXX1dIFtkYXRhPSJNNTAuMDAsNTAuMDAgTDE1MC4w
MCw1MC4wMCBMMTUwLjAwLDE1MC4wMCBMNTAuMDAsMTUwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMjAwLDUwKSBzaXplIDEwMHgxMDAKLSAgICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDIwMCw1MCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JB
RElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwODAwMCksICgxLjAwLCMwMDgwMDApXV0gW3N0YXJ0PSgw
LDApXSBbZW5kPSgxLDApXX1dIFtkYXRhPSJNMjAwLjAwLDUwLjAwIEwzMDAuMDAsNTAuMDAgTDMw
MC4wMCwxNTAuMDAgTDIwMC4wMCwxNTAuMDAgWiJdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgyMDAsNTApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBb
aWQ9Ik15R3JhZGllbnQyIl19XSBbZGF0YT0iTTIwMC4wMCw1MC4wMCBMMzAwLjAwLDUwLjAwIEwz
MDAuMDAsMTUwLjAwIEwyMDAuMDAsMTUwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoNTAsMjAwKSBzaXplIDEwMHgxMDAKLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDUwLDIwMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtz
dG9wcz1bKDAuMDAsIzAwODAwMCksICgxLjAwLCMwMDAwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5k
PSgxLDApXX1dIFtkYXRhPSJNNTAuMDAsMjAwLjAwIEwxNTAuMDAsMjAwLjAwIEwxNTAuMDAsMzAw
LjAwIEw1MC4wMCwzMDAuMDAgWiJdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg1MCwy
MDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Ik15R3Jh
ZGllbnQzIl19XSBbZGF0YT0iTTUwLjAwLDIwMC4wMCBMMTUwLjAwLDIwMC4wMCBMMTUwLjAwLDMw
MC4wMCBMNTAuMDAsMzAwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MjAwLDIwMCkgc2l6ZSAxMDB4MTAwCi0gICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMDAs
MjAwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjMDA4MDAwKSwgKDEuMDAsIzAwMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCld
fV0gW2RhdGE9Ik0yMDAuMDAsMjAwLjAwIEwzMDAuMDAsMjAwLjAwIEwzMDAuMDAsMzAwLjAwIEwy
MDAuMDAsMzAwLjAwIFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjAwLDIwMCkg
c2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iTXlHcmFkaWVu
dDQiXX1dIFtkYXRhPSJNMjAwLjAwLDIwMC4wMCBMMzAwLjAwLDIwMC4wMCBMMzAwLjAwLDMwMC4w
MCBMMjAwLjAwLDMwMC4wMCBaIl0KICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMzQw
KSBzaXplIDI2NHg0NiBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTM2KSBzaXplIDI2NHg0NgogICAgICAgICBjaHVuayAxIHRleHQg
cnVuIDEgYXQgKDEwLjAwLDM0MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTYgd2lkdGgg
MjY0LjAwOiAiJFJldmlzaW9uOiAxLjYgJCIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtcGF0dGVybi0wMS1iLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2
ZXJzLXBhdHRlcm4tMDEtYi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1wYXR0ZXJuLTAxLWIt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDI5ICsxLDI1IEBACi1LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXIge2lkPSJwYXQxIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMTAsMTApIHNp
emUgMjB4MjBdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0icGF0MiIgW3R5cGU9UEFUVEVS
Tl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAyMHgyMF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lk
PSJwYXQzIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDEweDIwXX0KLUtSZW5k
ZXJpbmdQYWludFNlcnZlciB7aWQ9InBhdDQiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDAp
IHNpemUgMjB4MTBdfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgUmVu
ZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKLSAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgwLDApIHNpemUgNDU2eDI5MwotICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtwYXR0ZXJufSBhdCAoNSw1KSBzaXplIDE1eDE1CisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoMjMsOSkgc2l6ZSA0MzN4Mjg0CisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4g
e3BhdHRlcm59IFtpZD0icGF0MSJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0
ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoNSw1KSBzaXplIDEweDEwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBd
fV0gW2RhdGE9Ik01LjAwLDUuMDAgTDE1LjAwLDUuMDAgTDE1LjAwLDE1LjAwIEw1LjAwLDE1LjAw
IFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUgMTB4MTAgW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTEwLjAwLDEwLjAwIEwy
MC4wMCwxMC4wMCBMMjAuMDAsMjAuMDAgTDEwLjAwLDIwLjAwIFoiXQotICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDI0LDkpIHNpemUgNDMyeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDEwLDEwKSBzaXpl
IDIweDIwXX1dIFtkYXRhPSJNMjUuMDAsMTAuMDAgTDQ1NS4wMCwxMC4wMCBMNDU1LjAwLDcwLjAw
IEwyNS4wMCw3MC4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNCw5KSBzaXpl
IDQzMng2MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0
eXBlPVBBVFRFUk5dIFtpZD0icGF0MSJdfV0gW2RhdGE9Ik0yNS4wMCwxMC4wMCBMNDU1LjAwLDEw
LjAwIEw0NTUuMDAsNzAuMDAgTDI1LjAwLDcwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDI1LDg1KSBzaXplIDM5NXgxNCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgMzk1eDE0CiAgICAg
ICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyNS4wMCw4NS4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgNzUgd2lkdGggMzk1LjAwOiAiUGF0dGVybiBjcmVhdGVkIHVzaW5nIHJlZCBhbmQg
Z3JlZW4gcmVjdGFuZ2xlcyBhcHBsaWVkIHRvIGZpbGwgb2YgcmVjdGFuZ2xlIgotICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDIweDIwCisgICAgICBSZW5k
ZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0icGF0MiJdIFtwYXR0ZXJuVW5pdHM9
dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEweDEwIFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwLjAwLDAuMDAgTDEw
LjAwLDEwLjAwIEwwLjAwLDEwLjAwIFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MTAsMCkgc2l6ZSAxMHgxMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtk
YXRhPSJNMTAuMDAsMC4wMCBMMjAuMDAsMC4wMCBMMjAuMDAsMTAuMDAgTDEwLjAwLDEwLjAwIFoi
XQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwxMCkgc2l6ZSAxMHgxMCBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMC4wMCwxMC4wMCBMMTAuMDAs
MTAuMDAgTDEwLjAwLDIwLjAwIEwwLjAwLDIwLjAwIFoiXQogICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMTAsMTApIHNpemUgMTB4MTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZG
RkYwMF19XSBbZGF0YT0iTTEwLjAwLDEwLjAwIEwyMC4wMCwxMC4wMCBMMjAuMDAsMjAuMDAgTDEw
LjAwLDIwLjAwIFoiXQotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI1LDEwMCkgc2l6ZSA0
MzB4NjAgW3N0cm9rZT17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAyMHgyMF0g
W3N0cm9rZSB3aWR0aD0yMC4wMF19XSBbZGF0YT0iTTM1LjAwLDExMC4wMCBMNDQ1LjAwLDExMC4w
MCBMNDQ1LjAwLDE1MC4wMCBMMzUuMDAsMTUwLjAwIFoiXQorICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDI1LDEwMCkgc2l6ZSA0MzB4NjAgW3N0cm9rZT17W3R5cGU9UEFUVEVSTl0gW2lkPSJw
YXQyIl0gW3N0cm9rZSB3aWR0aD0yMC4wMF19XSBbZGF0YT0iTTM1LjAwLDExMC4wMCBMNDQ1LjAw
LDExMC4wMCBMNDQ1LjAwLDE1MC4wMCBMMzUuMDAsMTUwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDI1LDE3NSkgc2l6ZSAzMDV4MTQgY29udGFpbnMgMSBjaHVuayhzKQog
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTExKSBzaXplIDMwNXgx
NAogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjUuMDAsMTc1LjAwKSBzdGFydE9m
ZnNldCAwIGVuZE9mZnNldCA1OSB3aWR0aCAzMDUuMDA6ICJQYXR0ZXJuIG9mIDQgcmVjdGFuZ2xl
cyBhcHBsaWVkIHRvIGEgc3Ryb2tlIG9mIGEgcmVjdGFuZ2xlLiIKLSAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAxMHgyMAorICAgICAgUmVuZGVyU1ZHUmVz
b3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdDMiXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFj
ZU9uVXNlXSBbcGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMHgxMCBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMC4wMCwwLjAwIEwxMC4wMCwxMC4w
MCBMMC4wMCwxMC4wMCBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMTApIHNp
emUgMTB4MTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAu
MDAsMTAuMDAgTDEwLjAwLDEwLjAwIEwxMC4wMCwyMC4wMCBMMC4wMCwyMC4wMCBaIl0KICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNSwyMjApIHNpemUgMjkzeDU2IGNvbnRhaW5zIDEg
Y2h1bmsocykKQEAgLTMyLDcgKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjUsMjM1KSBzaXplIDIwOHgxNCBjb250YWlu
cyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwt
MTEpIHNpemUgMjA4eDE0CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyNS4wMCwy
MzUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDM4IHdpZHRoIDIwOC4wMDogIlBhdHRlcm4g
Y29uc2lzdHMgb2YgcmVkIGFuZCBncmVlbiByb3dzIgotICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDIweDEwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBh
dHRlcm4ge3BhdHRlcm59IFtpZD0icGF0NCJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2Vd
IFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMCwwKSBzaXplIDEweDEwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNG
RjAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwLjAwLDAuMDAgTDEwLjAwLDEwLjAwIEwwLjAw
LDEwLjAwIFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMCkgc2l6ZSAxMHgx
MCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMTAuMDAsMC4w
MCBMMjAuMDAsMC4wMCBMMjAuMDAsMTAuMDAgTDEwLjAwLDEwLjAwIFoiXQogICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDI1LDI3NSkgc2l6ZSAzMDJ4NDQgY29udGFpbnMgMSBjaHVuayhz
KQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9zdHJ1Y3Qt
Z3JvdXAtMDMtdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9zdHJ1Y3QtZ3JvdXAtMDMtdC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEu
MS9zdHJ1Y3QtZ3JvdXAtMDMtdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw2
ICsyMTcsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDU5LDE2MCkgc2l6ZSAzNjd4NDAgW3RyYW5zZm9ybT17bT0oKDEuMDAs
MC4wMCkoMC4wMCwxLjAwKSkgdD0oNTYuMDAsMTU1LjAwKX1dCiAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDU5LDE2NSkgc2l6ZSAxNngzMgogICAgICAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICg1OSwxNjUpIHNpemUgMTZ4MzIgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwRkYwMF19XSBbZGF0YT0iTTMuMDAsMTAuMDAgTDE5LjAwLDEwLjAwIEwxOS4wMCw0Mi4wMCBM
My4wMCw0Mi4wMCBaIl0KKyAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtnfSBhdCAo
MCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMDMsMTY1
KSBzaXplIDE2eDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ0
LjAwLDAuMDApfV0KICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAzLDE2NSkgc2l6
ZSAxNngzMiBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDBGRjAwXX1dIFtkYXRhPSJNMy4w
MCwxMC4wMCBMMTkuMDAsMTAuMDAgTDE5LjAwLDQyLjAwIEwzLjAwLDQyLjAwIFoiXQogICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMjUsMTcwKSBzaXplIDE1eDE1IFt0cmFuc2Zv
cm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDY2LjAwLDAuMDApfV0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvc3RydWN0LXVzZS0wNS1iLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1cz
Qy1TVkctMS4xL3N0cnVjdC11c2UtMDUtYi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9zdHJ1Y3QtdXNlLTA1
LWItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIzICsxLDIxIEBACi1LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXIge2lkPSJsaW5lYXJHcmFkMSIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBb
c3RvcHM9WygwLjAwLCM0MTY5RTEpLCAoMC4zMywjRkZGRkZGKSwgKDAuNTAsIzAwMDA4QiksICgw
LjY2LCNGRkZGRkYpLCAoMS4wMCwjNDE2OUUxKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwxKV19
Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJyYWRpYWxHcmFkMSIgW3R5cGU9UkFESUFMLUdS
QURJRU5UXSBbc3RvcHM9WygwLjAwLCM0MTY5RTEpLCAoMC4zMywjRkZGRkZGKSwgKDAuNTAsIzAw
MDA4QiksICgwLjY2LCNGRkZGRkYpLCAoMS4wMCwjNDE2OUUxKV1dIFtjZW50ZXI9KDAuNTAsMC41
MCldIFtmb2NhbD0oMC4xNSwwLjE1KV0gW3JhZGl1cz0wLjUwXX0KIGxheWVyIGF0ICgwLDApIHNp
emUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNDgweDM2MAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA0
ODB4MzYwCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDB4MAogICAg
ICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3Jh
ZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50
U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0ibGluZWFyR3JhZDEiXSBbZ3JhZGll
bnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDEpXQorICAg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9
IzQxNjlFMV0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9
MC4zM10gW2NvbG9yPSNGRkZGRkZdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTAuNTBdIFtjb2xvcj0jMDAwMDhCXQorICAgICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjY2XSBbY29sb3I9I0ZGRkZGRl0KKyAgICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSM0MTY5
RTFdCisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRp
ZW50fSBbaWQ9InJhZGlhbEdyYWQxIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hd
IFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC4xNSwwLjE1KV0gW3JhZGl1cz0wLjUwXQor
ICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29s
b3I9IzQxNjlFMV0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZz
ZXQ9MC4zM10gW2NvbG9yPSNGRkZGRkZdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBbb2Zmc2V0PTAuNTBdIFtjb2xvcj0jMDAwMDhCXQorICAgICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjY2XSBbY29sb3I9I0ZGRkZGRl0KKyAgICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSM0
MTY5RTFdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAweDAK
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3N0eWxpbmctaW5oZXJpdC0wMS1iLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1cz
Qy1TVkctMS4xL3N0eWxpbmctaW5oZXJpdC0wMS1iLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgw
OTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3N0eWxpbmct
aW5oZXJpdC0wMS1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDMgQEAK
LUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InlndyIgW3R5cGU9UkFESUFMLUdSQURJRU5UXSBb
c3RvcHM9WygwLjAwLCNGRkZGMDApLCAoMC41MCwjMDA4MDAwKSwgKDEuMDAsI0ZGRkZGRildXSBb
Y2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuNTAsMC41MCldIFtyYWRpdXM9MC41MF19Ci1L
UmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJ5cnciIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0
b3BzPVsoMC4wMCwjRkZGRjAwKSwgKDAuNTAsIzc3MDAwMCksICgxLjAwLCNGRkZGRkYpXV0gW2Nl
bnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdfQogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA0ODB4
MzYwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKQEAgLTgsMTYgKzYsMTYgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgy
MzksNzkpIHNpemUgMTgyeDEyMgogICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgy
MzksNzkpIHNpemUgMTgyeDEyMgogICAgICAgICAgIFJlbmRlclBhdGgge2VsbGlwc2V9IGF0ICgy
MzksNzkpIHNpemUgMTgyeDEyMiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM1NTU1NTVd
fV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkYwMF19XSBbZGF0YT0iTTQyMC4wMCwx
NDAuMDAgTDQxOS44MiwxNDMuNzcgTDQxOS4yOSwxNDcuNTIgTDQxOC40MSwxNTEuMjQgTDQxNy4x
NywxNTQuOTIgTDQxNS42MCwxNTguNTQgTDQxMy42OCwxNjIuMDkgTDQxMS40MywxNjUuNTUgTDQw
OC44NywxNjguOTEgTDQwNS45OSwxNzIuMTUgTDQwMi44MSwxNzUuMjcgTDM5OS4zNSwxNzguMjUg
TDM5NS42MSwxODEuMDcgTDM5MS42MSwxODMuNzQgTDM4Ny4zNywxODYuMjMgTDM4Mi45MCwxODgu
NTQgTDM3OC4yMiwxOTAuNjYgTDM3My4zNiwxOTIuNTggTDM2OC4zMiwxOTQuMjkgTDM2My4xMywx
OTUuNzkgTDM1Ny44MSwxOTcuMDYgTDM1Mi4zOCwxOTguMTEgTDM0Ni44NiwxOTguOTQgTDM0MS4y
OCwxOTkuNTMgTDMzNS42NSwxOTkuODggTDMzMC4wMCwyMDAuMDAgTDMyNC4zNSwxOTkuODggTDMx
OC43MiwxOTkuNTMgTDMxMy4xNCwxOTguOTQgTDMwNy42MiwxOTguMTEgTDMwMi4xOSwxOTcuMDYg
TDI5Ni44NywxOTUuNzkgTDI5MS42OCwxOTQuMjkgTDI4Ni42NCwxOTIuNTggTDI4MS43OCwxOTAu
NjYgTDI3Ny4xMCwxODguNTQgTDI3Mi42MywxODYuMjMgTDI2OC4zOSwxODMuNzQgTDI2NC4zOSwx
ODEuMDcgTDI2MC42NSwxNzguMjUgTDI1Ny4xOSwxNzUuMjcgTDI1NC4wMSwxNzIuMTUgTDI1MS4x
MywxNjguOTEgTDI0OC41NywxNjUuNTUgTDI0Ni4zMiwxNjIuMDkgTDI0NC40MCwxNTguNTQgTDI0
Mi44MywxNTQuOTIgTDI0MS41OSwxNTEuMjQgTDI0MC43MSwxNDcuNTIgTDI0MC4xOCwxNDMuNzcg
TDI0MC4wMCwxNDAuMDAgTDI0MC4xOCwxMzYuMjMgTDI0MC43MSwxMzIuNDggTDI0MS41OSwxMjgu
NzYgTDI0Mi44MywxMjUuMDggTDI0NC40MCwxMjEuNDYgTDI0Ni4zMiwxMTcuOTEgTDI0OC41Nywx
MTQuNDUgTDI1MS4xMywxMTEuMDkgTDI1NC4wMSwxMDcuODUgTDI1Ny4xOSwxMDQuNzMgTDI2MC42
NSwxMDEuNzUgTDI2NC4zOSw5OC45MyBMMjY4LjM5LDk2LjI2IEwyNzIuNjMsOTMuNzcgTDI3Ny4x
MCw5MS40NiBMMjgxLjc4LDg5LjM0IEwyODYuNjQsODcuNDIgTDI5MS42OCw4NS43MSBMMjk2Ljg3
LDg0LjIxIEwzMDIuMTksODIuOTQgTDMwNy42Miw4MS44OSBMMzEzLjE0LDgxLjA2IEwzMTguNzIs
ODAuNDcgTDMyNC4zNSw4MC4xMiBMMzMwLjAwLDgwLjAwIEwzMzUuNjUsODAuMTIgTDM0MS4yOCw4
MC40NyBMMzQ2Ljg2LDgxLjA2IEwzNTIuMzgsODEuODkgTDM1Ny44MSw4Mi45NCBMMzYzLjEzLDg0
LjIxIEwzNjguMzIsODUuNzEgTDM3My4zNiw4Ny40MiBMMzc4LjIyLDg5LjM0IEwzODIuOTAsOTEu
NDYgTDM4Ny4zNyw5My43NyBMMzkxLjYxLDk2LjI2IEwzOTUuNjEsOTguOTMgTDM5OS4zNSwxMDEu
NzUgTDQwMi44MSwxMDQuNzMgTDQwNS45OSwxMDcuODUgTDQwOC44NywxMTEuMDkgTDQxMS40Mywx
MTQuNDUgTDQxMy42OCwxMTcuOTEgTDQxNS42MCwxMjEuNDYgTDQxNy4xNywxMjUuMDggTDQxOC40
MSwxMjguNzYgTDQxOS4yOSwxMzIuNDggTDQxOS44MiwxMzYuMjMgWiJdCi0gICAgICBSZW5kZXJT
VkdIaWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDQwLDIwKSBzaXplIDE4MHgxMjAgW2ZpbGw9e1t0eXBlPVJB
RElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZGRjAwKSwgKDAuNTAsIzAwODAwMCksICgx
LjAwLCNGRkZGRkYpXV0gW2NlbnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBb
cmFkaXVzPTAuNTBdfV0gW2RhdGE9Ik00MC4wMCwyMC4wMCBMMjIwLjAwLDIwLjAwIEwyMjAuMDAs
MTQwLjAwIEw0MC4wMCwxNDAuMDAgWiJdCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIg
e3JhZGlhbEdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDQwLDE2MCkgc2l6ZSAxODB4MTIwIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtz
dG9wcz1bKDAuMDAsI0ZGRkYwMCksICgwLjUwLCM3NzAwMDApLCAoMS4wMCwjRkZGRkZGKV1dIFtj
ZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjUwXX1dIFtk
YXRhPSJNNDAuMDAsMTYwLjAwIEwyMjAuMDAsMTYwLjAwIEwyMjAuMDAsMjgwLjAwIEw0MC4wMCwy
ODAuMDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxH
cmFkaWVudH0gW2lkPSJ5Z3ciXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW2Nl
bnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdCisgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZG
RkYwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuNTBd
IFtjb2xvcj0jMDA4MDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtv
ZmZzZXQ9MS4wMF0gW2NvbG9yPSNGRkZGRkZdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
NDAsMjApIHNpemUgMTgweDEyMCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9Inln
dyJdfV0gW2RhdGE9Ik00MC4wMCwyMC4wMCBMMjIwLjAwLDIwLjAwIEwyMjAuMDAsMTQwLjAwIEw0
MC4wMCwxNDAuMDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHty
YWRpYWxHcmFkaWVudH0gW2lkPSJ5cnciXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0Jv
eF0gW2NlbnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBd
CisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29s
b3I9I0ZGRkYwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTAuNTBdIFtjb2xvcj0jNzcwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSNGRkZGRkZdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoNDAsMTYwKSBzaXplIDE4MHgxMjAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0g
W2lkPSJ5cnciXX1dIFtkYXRhPSJNNDAuMDAsMTYwLjAwIEwyMjAuMDAsMTYwLjAwIEwyMjAuMDAs
MjgwLjAwIEw0MC4wMCwyODAuMDAgWiJdCiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEw
LDM0MCkgc2l6ZSAyNjR4NDYgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC0zNikgc2l6ZSAyNjR4NDYKICAgICAgICAgY2h1bmsgMSB0
ZXh0IHJ1biAxIGF0ICgxMC4wMCwzNDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE2IHdp
ZHRoIDI2NC4wMDogIiRSZXZpc2lvbjogMS4yICQiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2JhdGlrL2ZpbHRlcnMvZmVUaWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL2ZpbHRlcnMvZmVUaWxlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2JhdGlrL2ZpbHRlcnMvZmVUaWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0
ICsxLDMgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InRpbGVGaWxsIiBbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgwLjUwLCM0NENDRkYpLCAoMS4w
MCwjMDAwMDMzKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwxKV19CiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0
ICgwLDApIHNpemUgNDUweDUwMApAQCAtOCwxMCArNywxMCBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDQ1MHg1MDAKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkg
c2l6ZSA2OHgxOAogICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEg
YXQgKDE5MS4wMCw0MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTEgd2lkdGggNjguMDA6
ICJmZVRpbGUgVGVzdCIKICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJH
cmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50
U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0idGlsZUZpbGwiXSBbZ3JhZGllbnRV
bml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDEpXQorICAgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZG
RkZGRl0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41
MF0gW2NvbG9yPSM0NENDRkZdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDAwMDMzXQogICAgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlciB7ZmlsdGVyfSBbaWQ9InRpbGVfMSJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGlu
Z0JveF0gW3ByaW1pdGl2ZVVuaXRzPW9iamVjdEJvdW5kaW5nQm94XQogICAgICAgICAgIFtsYXN0
IHByaW1pdGl2ZSBbdHlwZT1USUxFXV0KICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIg
e2ZpbHRlcn0gW2lkPSJ0aWxlXzIiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtw
cmltaXRpdmVVbml0cz1vYmplY3RCb3VuZGluZ0JveF0KQEAgLTE5LDcgKzE4LDcgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtm
aWx0ZXJ9IFtpZD0idGlsZV8zIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJp
bWl0aXZlVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdCiAgICAgICAgICAgW2xhc3QgcHJpbWl0aXZl
IFt0eXBlPVRJTEVdXQogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTEsNzEpIHNp
emUgMTE4eDgwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDIwLjAw
LDEwMC4wMCl9XQotICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjAsMTAwKSBzaXplIDEw
MHg1MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRkZGRkYp
LCAoMC41MCwjNDRDQ0ZGKSwgKDEuMDAsIzAwMDAzMyldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEs
MSldfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAwLDAuMDAgTDUwLjAwLDI1LjAwIEwwLjAwLDI1
LjAwIFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjAsMTAwKSBzaXplIDEwMHg1
MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9InRpbGVGaWxsIl19XSBbZGF0YT0i
TTAuMDAsMC4wMCBMNTAuMDAsMC4wMCBMNTAuMDAsMjUuMDAgTDAuMDAsMjUuMDAgWiJdCiAgICAg
ICAgICAgW2ZpbHRlcj0idGlsZV8xIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0g
YXQgKDAsMCkgc2l6ZSAxMDB4NTAKICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE5LDk5
KSBzaXplIDEwMng1MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2Rh
dGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNTAuMDAgTDAuMDAsNTAuMDAgWiJd
CiAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzMiwtMTUpIHNpemUgMzZ4MTggY29u
dGFpbnMgMSBjaHVuayhzKQpAQCAtMjksNyArMjgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1
MHg1MDAKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBz
aXplIDExOHgxOAogICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4g
MSBhdCAoLTguNTAsLTMuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDIxIHdpZHRoIDExNy4w
MDogIjQgdGlsZXMsIHF1YXJ0ZXIgc2l6ZSIKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDEsMTcxKSBzaXplIDEzOHg4MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgyMC4wMCwyMDAuMDApfV0KLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIw
LDIwMCkgc2l6ZSAxMDB4NTAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjRkZGRkZGKSwgKDAuNTAsIzQ0Q0NGRiksICgxLjAwLCMwMDAwMzMpXV0gW3N0YXJ0PSgw
LDApXSBbZW5kPSgxLDEpXX1dIFtkYXRhPSJNMjUuMDAsMTIuNTAgTDc1LjAwLDEyLjUwIEw3NS4w
MCwzNy41MCBMMjUuMDAsMzcuNTAgWiJdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgy
MCwyMDApIHNpemUgMTAweDUwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0idGls
ZUZpbGwiXX1dIFtkYXRhPSJNMjUuMDAsMTIuNTAgTDc1LjAwLDEyLjUwIEw3NS4wMCwzNy41MCBM
MjUuMDAsMzcuNTAgWiJdCiAgICAgICAgICAgW2ZpbHRlcj0idGlsZV8yIl0gUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDAsMCkgc2l6ZSAxMDB4NTAKICAgICAgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDE5LDE5OSkgc2l6ZSAxMDJ4NTIgW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAw
LDUwLjAwIEwwLjAwLDUwLjAwIFoiXQogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
LTEsLTE1KSBzaXplIDEwMngxOCBjb250YWlucyAxIGNodW5rKHMpCkBAIC0zOSw3ICszOCw3IEBA
IGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTM4eDE4CiAgICAgICAgICAgICBjaHVuayAxICht
aWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgtMTguNTAsLTMuMDApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDI2IHdpZHRoIDEzNy4wMDogIjkgdGlsZXMsIDEgZnVsbCwgOCBwYXJ0aWFsIgog
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMSwyNzApIHNpemUgMTM4eDgyIFt0cmFu
c2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDMyLjUwLDMwNy4yNSl9XQotICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTksMzAwKSBzaXplIDEwMng1MiBbZmlsbD17W3R5
cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRkZGRkYpLCAoMC41MCwjNDRDQ0ZG
KSwgKDEuMDAsIzAwMDAzMyldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMSldfV0gW2RhdGE9Ik0w
LjAwLDAuMDAgTDUwLjAwLDAuMDAgTDUwLjAwLDI1LjAwIEwwLjAwLDI1LjAwIFoiXQorICAgICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTksMzAwKSBzaXplIDEwMng1MiBbZmlsbD17W3R5cGU9
TElORUFSLUdSQURJRU5UXSBbaWQ9InRpbGVGaWxsIl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNTAu
MDAsMC4wMCBMNTAuMDAsMjUuMDAgTDAuMDAsMjUuMDAgWiJdCiAgICAgICAgICAgW2ZpbHRlcj0i
dGlsZV8zIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKC0xMi41MCwtNi4y
NSkgc2l6ZSAxMDB4NTAKICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE5LDI5OSkgc2l6
ZSAxMDJ4NTMgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJN
LTEyLjUwLC03LjI1IEw4Ny41MCwtNy4yNSBMODcuNTAsNDIuNzUgTC0xMi41MCw0Mi43NSBaIl0K
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC0yOSwtMjMpIHNpemUgMTMzeDE5IGNv
bnRhaW5zIDEgY2h1bmsocykKQEAgLTQ5LDcgKzQ4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0
NTB4NTAwCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkg
c2l6ZSAxMzd4MTkKICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVu
IDEgYXQgKC0zMS4wMCwtMTAuMjUpIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDI2IHdpZHRoIDEz
Ny4wMDogIjkgdGlsZXMsIDEgZnVsbCwgOCBwYXJ0aWFsIgogICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMjQzLDk5KSBzaXplIDEzM3g1MiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAw
KSgwLjU4LDEuMDApKSB0PSgyNDUuMDAsMTAwLjAwKX1dCi0gICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgyNDUsMTAwKSBzaXplIDEyOXg1MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5U
XSBbc3RvcHM9WygwLjAwLCNGRkZGRkYpLCAoMC41MCwjNDRDQ0ZGKSwgKDEuMDAsIzAwMDAzMyld
XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMSldfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAwLDAu
MDAgTDUwLjAwLDI1LjAwIEwwLjAwLDI1LjAwIFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMjQ1LDEwMCkgc2l6ZSAxMjl4NTAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0g
W2lkPSJ0aWxlRmlsbCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAwLDAuMDAgTDUwLjAwLDI1
LjAwIEwwLjAwLDI1LjAwIFoiXQogICAgICAgICAgIFtmaWx0ZXI9InRpbGVfMSJdIFJlbmRlclNW
R1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgwLDApIHNpemUgMTAweDUwCiAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgyNDMsOTkpIHNpemUgMTMzeDUyIFtzdHJva2U9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEw
MC4wMCw1MC4wMCBMMC4wMCw1MC4wMCBaIl0KICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDI2Myw3MSkgc2l6ZSA2NHgzMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgyNDUuMDAsMTAwLjAwKX1dCkBAIC02MCw3ICs1OSw3IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgNDUweDUwMAogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwtMTQpIHNpemUgNjR4MTgKICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRl
eHQgcnVuIDEgYXQgKDE4LjAwLC0zLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA4IHdpZHRo
IDY0LjAwOiAic2tld2VkIFgiCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNTUs
MjAwKSBzaXplIDgweDYwIFt0cmFuc2Zvcm09e209KCgwLjY2LDAuMjQpKC0wLjI0LDAuNjYpKSB0
PSgyNjguMTAsMjAxLjU4KX1dCi0gICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNTYsMjAx
KSBzaXplIDc4eDU4IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAs
I0ZGRkZGRiksICgwLjUwLCM0NENDRkYpLCAoMS4wMCwjMDAwMDMzKV1dIFtzdGFydD0oMCwwKV0g
W2VuZD0oMSwxKV19XSBbZGF0YT0iTTI1LjAwLDEyLjUwIEw3NS4wMCwxMi41MCBMNzUuMDAsMzcu
NTAgTDI1LjAwLDM3LjUwIFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjU2LDIw
MSkgc2l6ZSA3OHg1OCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9InRpbGVGaWxs
Il19XSBbZGF0YT0iTTI1LjAwLDEyLjUwIEw3NS4wMCwxMi41MCBMNzUuMDAsMzcuNTAgTDI1LjAw
LDM3LjUwIFoiXQogICAgICAgICAgIFtmaWx0ZXI9InRpbGVfMiJdIFJlbmRlclNWR1Jlc291cmNl
RmlsdGVyIHtmaWx0ZXJ9IGF0ICgwLDApIHNpemUgMTAweDUwCiAgICAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgyNTUsMjAwKSBzaXplIDgweDYwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw1MC4w
MCBMMC4wMCw1MC4wMCBaIl0KICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIxNiwx
NzEpIHNpemUgMTU4eDMwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9
KDI0NS4wMCwyMDAuMDApfV0KQEAgLTcxLDcgKzcwLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0
NTB4NTAwCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkg
c2l6ZSAxNTh4MTgKICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVu
IDEgYXQgKC0yOC41MCwtMy4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMjYgd2lkdGggMTU3
LjAwOiAiKGNlbnRlcmVkLCByb3RhdGUgJiBzY2FsZSkiCiAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgyNDQsMzAwKSBzaXplIDEwMng4MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjI3
KSgwLjAwLDEuMDApKSB0PSgyNTcuNTAsMzEwLjYwKX1dCi0gICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgyNDQsMzAwKSBzaXplIDEwMng3OSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5U
XSBbc3RvcHM9WygwLjAwLCNGRkZGRkYpLCAoMC41MCwjNDRDQ0ZGKSwgKDEuMDAsIzAwMDAzMyld
XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMSldfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAwLDAu
MDAgTDUwLjAwLDI1LjAwIEwwLjAwLDI1LjAwIFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMjQ0LDMwMCkgc2l6ZSAxMDJ4NzkgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0g
W2lkPSJ0aWxlRmlsbCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAwLDAuMDAgTDUwLjAwLDI1
LjAwIEwwLjAwLDI1LjAwIFoiXQogICAgICAgICAgIFtmaWx0ZXI9InRpbGVfMyJdIFJlbmRlclNW
R1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgtMTIuNTAsLTYuMjUpIHNpemUgMTAweDUwCiAg
ICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNDQsMzAwKSBzaXplIDEwMng4MCBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0tMTIuNTAsLTYuMjUgTDg3
LjUwLC02LjI1IEw4Ny41MCw0My43NSBMLTEyLjUwLDQzLjc1IFoiXQogICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMjI4LDI3MCkgc2l6ZSAxMzR4MzIgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMjU3LjUwLDMwNy4yNSl9XQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay9tYXNraW5nL21hc2tSZWdpb25zLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL21hc2tp
bmcvbWFza1JlZ2lvbnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvYmF0aWsvbWFza2luZy9tYXNrUmVnaW9ucy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSwzIEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIg
e2lkPSJtYXNrZWRHcmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAw
LCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwxKV19CiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMApAQCAtOCwxMCArNywxMCBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLC0xNCkgc2l6ZSAxMDJ4MTcKICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5j
aG9yKSB0ZXh0IHJ1biAxIGF0ICgxNzQuMDAsNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDEyIHdpZHRoIDEwMi4wMDogIk1hc2sgUmVnaW9ucyIKICAgICAgIFJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHSGlkZGVu
Q29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHg4MCBbZmlsbD17W3R5cGU9TElORUFS
LUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFy
dD0oMCwwKV0gW2VuZD0oMSwxKV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEw
MC4wMCw4MC4wMCBMMC4wMCw4MC4wMCBaIl0KKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5l
YXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0ibWFza2VkR3JhZGllbnQiXSBbZ3JhZGll
bnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDEpXQorICAg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9
IzAwMDBGRl0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9
MS4wMF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDAp
IHNpemUgMTAweDgwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0ibWFza2VkR3Jh
ZGllbnQiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDgwLjAwIEww
LjAwLDgwLjAwIFoiXQogICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlciB7bWFza30gW2lk
PSJtYXNrXzEiXSBbbWFza1VuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbbWFza0NvbnRlbnRVbml0
cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICg1LDAp
IHNpemUgNDB4NDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkZGRl19XSBbZGF0YT0i
TTQ1LjAwLDIwLjAwIEw0NC45NiwyMS4yNiBMNDQuODQsMjIuNTEgTDQ0LjY1LDIzLjc1IEw0NC4z
NywyNC45NyBMNDQuMDIsMjYuMTggTDQzLjYwLDI3LjM2IEw0My4xMCwyOC41MiBMNDIuNTMsMjku
NjQgTDQxLjg5LDMwLjcyIEw0MS4xOCwzMS43NiBMNDAuNDEsMzIuNzUgTDM5LjU4LDMzLjY5IEwz
OC42OSwzNC41OCBMMzcuNzUsMzUuNDEgTDM2Ljc2LDM2LjE4IEwzNS43MiwzNi44OSBMMzQuNjQs
MzcuNTMgTDMzLjUyLDM4LjEwIEwzMi4zNiwzOC42MCBMMzEuMTgsMzkuMDIgTDI5Ljk3LDM5LjM3
IEwyOC43NSwzOS42NSBMMjcuNTEsMzkuODQgTDI2LjI2LDM5Ljk2IEwyNS4wMCw0MC4wMCBMMjMu
NzQsMzkuOTYgTDIyLjQ5LDM5Ljg0IEwyMS4yNSwzOS42NSBMMjAuMDMsMzkuMzcgTDE4LjgyLDM5
LjAyIEwxNy42NCwzOC42MCBMMTYuNDgsMzguMTAgTDE1LjM2LDM3LjUzIEwxNC4yOCwzNi44OSBM
MTMuMjQsMzYuMTggTDEyLjI1LDM1LjQxIEwxMS4zMSwzNC41OCBMMTAuNDIsMzMuNjkgTDkuNTks
MzIuNzUgTDguODIsMzEuNzYgTDguMTEsMzAuNzIgTDcuNDcsMjkuNjQgTDYuOTAsMjguNTIgTDYu
NDAsMjcuMzYgTDUuOTgsMjYuMTggTDUuNjMsMjQuOTcgTDUuMzUsMjMuNzUgTDUuMTYsMjIuNTEg
TDUuMDQsMjEuMjYgTDUuMDAsMjAuMDAgTDUuMDQsMTguNzQgTDUuMTYsMTcuNDkgTDUuMzUsMTYu
MjUgTDUuNjMsMTUuMDMgTDUuOTgsMTMuODIgTDYuNDAsMTIuNjQgTDYuOTAsMTEuNDggTDcuNDcs
MTAuMzYgTDguMTEsOS4yOCBMOC44Miw4LjI0IEw5LjU5LDcuMjUgTDEwLjQyLDYuMzEgTDExLjMx
LDUuNDIgTDEyLjI1LDQuNTkgTDEzLjI0LDMuODIgTDE0LjI4LDMuMTEgTDE1LjM2LDIuNDcgTDE2
LjQ4LDEuOTAgTDE3LjY0LDEuNDAgTDE4LjgyLDAuOTggTDIwLjAzLDAuNjMgTDIxLjI1LDAuMzUg
TDIyLjQ5LDAuMTYgTDIzLjc0LDAuMDQgTDI1LjAwLDAuMDAgTDI2LjI2LDAuMDQgTDI3LjUxLDAu
MTYgTDI4Ljc1LDAuMzUgTDI5Ljk3LDAuNjMgTDMxLjE4LDAuOTggTDMyLjM2LDEuNDAgTDMzLjUy
LDEuOTAgTDM0LjY0LDIuNDcgTDM1LjcyLDMuMTEgTDM2Ljc2LDMuODIgTDM3Ljc1LDQuNTkgTDM4
LjY5LDUuNDIgTDM5LjU4LDYuMzEgTDQwLjQxLDcuMjUgTDQxLjE4LDguMjQgTDQxLjg5LDkuMjgg
TDQyLjUzLDEwLjM2IEw0My4xMCwxMS40OCBMNDMuNjAsMTIuNjQgTDQ0LjAyLDEzLjgyIEw0NC4z
NywxNS4wMyBMNDQuNjUsMTYuMjUgTDQ0Ljg0LDE3LjQ5IEw0NC45NiwxOC43NCBaIl0KICAgICAg
ICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICg1LDQwKSBzaXplIDQweDQwIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSNGRkZGRkZdfV0gW2RhdGE9Ik00NS4wMCw2MC4wMCBMNDQuOTYsNjEu
MjYgTDQ0Ljg0LDYyLjUxIEw0NC42NSw2My43NSBMNDQuMzcsNjQuOTcgTDQ0LjAyLDY2LjE4IEw0
My42MCw2Ny4zNiBMNDMuMTAsNjguNTIgTDQyLjUzLDY5LjY0IEw0MS44OSw3MC43MiBMNDEuMTgs
NzEuNzYgTDQwLjQxLDcyLjc1IEwzOS41OCw3My42OSBMMzguNjksNzQuNTggTDM3Ljc1LDc1LjQx
IEwzNi43Niw3Ni4xOCBMMzUuNzIsNzYuODkgTDM0LjY0LDc3LjUzIEwzMy41Miw3OC4xMCBMMzIu
MzYsNzguNjAgTDMxLjE4LDc5LjAyIEwyOS45Nyw3OS4zNyBMMjguNzUsNzkuNjUgTDI3LjUxLDc5
Ljg0IEwyNi4yNiw3OS45NiBMMjUuMDAsODAuMDAgTDIzLjc0LDc5Ljk2IEwyMi40OSw3OS44NCBM
MjEuMjUsNzkuNjUgTDIwLjAzLDc5LjM3IEwxOC44Miw3OS4wMiBMMTcuNjQsNzguNjAgTDE2LjQ4
LDc4LjEwIEwxNS4zNiw3Ny41MyBMMTQuMjgsNzYuODkgTDEzLjI0LDc2LjE4IEwxMi4yNSw3NS40
MSBMMTEuMzEsNzQuNTggTDEwLjQyLDczLjY5IEw5LjU5LDcyLjc1IEw4LjgyLDcxLjc2IEw4LjEx
LDcwLjcyIEw3LjQ3LDY5LjY0IEw2LjkwLDY4LjUyIEw2LjQwLDY3LjM2IEw1Ljk4LDY2LjE4IEw1
LjYzLDY0Ljk3IEw1LjM1LDYzLjc1IEw1LjE2LDYyLjUxIEw1LjA0LDYxLjI2IEw1LjAwLDYwLjAw
IEw1LjA0LDU4Ljc0IEw1LjE2LDU3LjQ5IEw1LjM1LDU2LjI1IEw1LjYzLDU1LjAzIEw1Ljk4LDUz
LjgyIEw2LjQwLDUyLjY0IEw2LjkwLDUxLjQ4IEw3LjQ3LDUwLjM2IEw4LjExLDQ5LjI4IEw4Ljgy
LDQ4LjI0IEw5LjU5LDQ3LjI1IEwxMC40Miw0Ni4zMSBMMTEuMzEsNDUuNDIgTDEyLjI1LDQ0LjU5
IEwxMy4yNCw0My44MiBMMTQuMjgsNDMuMTEgTDE1LjM2LDQyLjQ3IEwxNi40OCw0MS45MCBMMTcu
NjQsNDEuNDAgTDE4LjgyLDQwLjk4IEwyMC4wMyw0MC42MyBMMjEuMjUsNDAuMzUgTDIyLjQ5LDQw
LjE2IEwyMy43NCw0MC4wNCBMMjUuMDAsNDAuMDAgTDI2LjI2LDQwLjA0IEwyNy41MSw0MC4xNiBM
MjguNzUsNDAuMzUgTDI5Ljk3LDQwLjYzIEwzMS4xOCw0MC45OCBMMzIuMzYsNDEuNDAgTDMzLjUy
LDQxLjkwIEwzNC42NCw0Mi40NyBMMzUuNzIsNDMuMTEgTDM2Ljc2LDQzLjgyIEwzNy43NSw0NC41
OSBMMzguNjksNDUuNDIgTDM5LjU4LDQ2LjMxIEw0MC40MSw0Ny4yNSBMNDEuMTgsNDguMjQgTDQx
Ljg5LDQ5LjI4IEw0Mi41Myw1MC4zNiBMNDMuMTAsNTEuNDggTDQzLjYwLDUyLjY0IEw0NC4wMiw1
My44MiBMNDQuMzcsNTUuMDMgTDQ0LjY1LDU2LjI1IEw0NC44NCw1Ny40OSBMNDQuOTYsNTguNzQg
WiJdCkBAIC0zNSw3ICszNCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTc1LDgzKSBzaXplIDEwMHg5NyBbdHJhbnNmb3Jt
PXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxNzUuMDAsMTAwLjAwKX1dCiAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMTc1LDEwMCkgc2l6ZSAxMDB4ODAKICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxNzUsMTAwKSBzaXplIDEwMHg4MAotICAg
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE3NSwxMDApIHNpemUgMTAweDgwIFtmaWxs
PXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDBGRiksICgxLjAwLCNG
RjAwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDEpXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwx
MDAuMDAsMC4wMCBMMTAwLjAwLDgwLjAwIEwwLjAwLDgwLjAwIFoiXQorICAgICAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDE3NSwxMDApIHNpemUgMTAweDgwIFtmaWxsPXtbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtpZD0ibWFza2VkR3JhZGllbnQiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwx
MDAuMDAsMC4wMCBMMTAwLjAwLDgwLjAwIEwwLjAwLDgwLjAwIFoiXQogICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMjIsLTMpIHNpemUgNTZ4MTcgY29udGFpbnMgMSBjaHVuayhzKQog
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNTZ4
MTcKICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDIy
LjAwLC0zLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA2IHdpZHRoIDU2LjAwOiAiTWFza2Vk
IgpAQCAtNDMsNyArNDIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICg4NSwyMjApIHNpemUgMTAweDgwCiAgICAgICAg
ICAgW21hc2tlcj0ibWFza18xIl0gUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIge21hc2t9IGF0ICgt
MTAsLTgpIHNpemUgMTIweDk2CiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
ODUsMjIwKSBzaXplIDEwMHg4MAotICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDg1
LDIyMCkgc2l6ZSAxMDB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjMDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMSld
fV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsODAuMDAgTDAuMDAsODAu
MDAgWiJdCisgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoODUsMjIwKSBzaXplIDEw
MHg4MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Im1hc2tlZEdyYWRpZW50Il19
XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw4MC4wMCBMMC4wMCw4MC4w
MCBaIl0KICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI0LC0zKSBzaXplIDUyeDE3
IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsLTE0KSBzaXplIDUyeDE3CiAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5j
aG9yKSB0ZXh0IHJ1biAxIGF0ICgyNC41MCwtMy4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQg
NiB3aWR0aCA1MS4wMDogIk1hc2sgMSIKQEAgLTUxLDcgKzUwLDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA0NTB4NTAwCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMTEwLDM2
MCkgc2l6ZSA1MHg0MAogICAgICAgICAgIFttYXNrZXI9Im1hc2tfMiJdIFJlbmRlclNWR1Jlc291
cmNlTWFza2VyIHttYXNrfSBhdCAoMjUsMjApIHNpemUgNTB4NDAKICAgICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICg4NSwzNDApIHNpemUgMTAweDgwCi0gICAgICAgICAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoODUsMzQwKSBzaXplIDEwMHg4MCBbZmlsbD17W3R5cGU9TElORUFS
LUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFy
dD0oMCwwKV0gW2VuZD0oMSwxKV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEw
MC4wMCw4MC4wMCBMMC4wMCw4MC4wMCBaIl0KKyAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICg4NSwzNDApIHNpemUgMTAweDgwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtp
ZD0ibWFza2VkR3JhZGllbnQiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAw
LjAwLDgwLjAwIEwwLjAwLDgwLjAwIFoiXQogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMjQsLTMpIHNpemUgNTJ4MTcgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNTJ4MTcKICAgICAgICAgICAg
IGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDI0LjUwLC0zLjAwKSBzdGFy
dE9mZnNldCAwIGVuZE9mZnNldCA2IHdpZHRoIDUxLjAwOiAiTWFzayAyIgpAQCAtNTksNyArNTgs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHt1c2V9IGF0ICgyODUsMjQwKSBzaXplIDUweDQwCiAgICAgICAgICAgW21hc2tlcj0ibWFz
a18zIl0gUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIge21hc2t9IGF0ICgyNSwyMCkgc2l6ZSA1MC4w
MHg0MAogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI2MCwyMjApIHNpemUg
MTAweDgwCi0gICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjYwLDIyMCkgc2l6ZSAx
MDB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMEZG
KSwgKDEuMDAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMSldfV0gW2RhdGE9Ik0w
LjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsODAuMDAgTDAuMDAsODAuMDAgWiJdCisgICAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjYwLDIyMCkgc2l6ZSAxMDB4ODAgW2ZpbGw9
e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJtYXNrZWRHcmFkaWVudCJdfV0gW2RhdGE9Ik0w
LjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsODAuMDAgTDAuMDAsODAuMDAgWiJdCiAgICAg
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNCwtMykgc2l6ZSA1MngxNyBjb250YWlucyAx
IGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0x
NCkgc2l6ZSA1MngxNwogICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBy
dW4gMSBhdCAoMjQuNTAsLTMuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDYgd2lkdGggNTEu
MDA6ICJNYXNrIDMiCkBAIC02Nyw3ICs2Niw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUw
MAogICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDI2MCwzNDApIHNpemUgMTAw
eDgwCiAgICAgICAgICAgW21hc2tlcj0ibWFza180Il0gUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIg
e21hc2t9IGF0ICgwLDApIHNpemUgMTAweDgwCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMjYwLDM0MCkgc2l6ZSAxMDB4ODAKLSAgICAgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgyNjAsMzQwKSBzaXplIDEwMHg4MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5U
XSBbc3RvcHM9WygwLjAwLCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0g
W2VuZD0oMSwxKV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw4MC4w
MCBMMC4wMCw4MC4wMCBaIl0KKyAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNjAs
MzQwKSBzaXplIDEwMHg4MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Im1hc2tl
ZEdyYWRpZW50Il19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw4MC4w
MCBMMC4wMCw4MC4wMCBaIl0KICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI0LC0z
KSBzaXplIDUyeDE3IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDUyeDE3CiAgICAgICAgICAgICBjaHVuayAx
IChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgyNC41MCwtMy4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgNiB3aWR0aCA1MS4wMDogIk1hc2sgNCIKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvYmF0aWsvcGFpbnRzL2dyYWRpZW50TGltaXQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvYmF0aWsvcGFpbnRzL2dy
YWRpZW50TGltaXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvYmF0aWsvcGFpbnRzL2dyYWRpZW50TGltaXQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDkgKzEsMyBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtp
ZD0iY2xvc2VPZmZzZXRzTGluZWFyR3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0
b3BzPVsoMC4wMCwjREMxNDNDKSwgKDEuMDAsI0ZGRDcwMCksICgxLjAwLCNEQzE0M0MpXV0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgwLDAuMTApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImNs
b3NlT2Zmc2V0c0xpbmVhckdyYWRpZW50MiIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9
WygwLjAwLCNEQzE0M0MpLCAoMS4wMCwjRkZENzAwKSwgKDEuMDAsI0RDMTQzQyldXSBbc3RhcnQ9
KDAsMCldIFtlbmQ9KDAsMC4xMCldfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iY2xvc2VP
ZmZzZXRzUmFkaWFsR3JhZGllbnQiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4w
MCwjREMxNDNDKSwgKDEuMDAsI0ZGRDcwMCksICgxLjAwLCNEQzE0M0MpXV0gW2NlbnRlcj0oMC41
MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuMTBdfQotS1JlbmRlcmluZ1Bh
aW50U2VydmVyIHtpZD0iY2xvc2VPZmZzZXRzUmFkaWFsR3JhZGllbnQyIiBbdHlwZT1SQURJQUwt
R1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0RDMTQzQyksICgxLjAwLCNGRkQ3MDApLCAoMS4wMCwj
REMxNDNDKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1
cz0wLjEwXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImNsb3NlQ29udHJvbHNMaW5lYXJH
cmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRkQ3MDApLCAo
MS4wMCwjREMxNDNDKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMCwwKV19Ci1LUmVuZGVyaW5nUGFp
bnRTZXJ2ZXIge2lkPSJzbWFsbFJhZGl1c1JhZGlhbEdyYWRpZW50IiBbdHlwZT1SQURJQUwtR1JB
RElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRDcwMCksICgxLjAwLCNEQzE0M0MpXV0gW2NlbnRlcj0o
MC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuMDBdfQogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBs
YXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKQEAgLTEzLDExICs3LDExIEBAIGxheWVyIGF0ICgw
LDApIHNpemUgNDUweDUwMAogICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1
biAxIGF0ICgxNTguMDAsNDUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE5IHdpZHRoIDEz
NC4wMDogIkdyYWRpZW50IExpbWl0IFRlc3QiCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMTMsODApIHNpemUgNDMzeDE3MwogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MTMsODApIHNpemUgMTI0eDczCi0gICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGlu
ZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgzNSw4MCkgc2l6ZSA4MHg0MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBb
c3RvcHM9WygwLjAwLCNEQzE0M0MpLCAoMS4wMCwjRkZENzAwKSwgKDEuMDAsI0RDMTQzQyldXSBb
c3RhcnQ9KDAsMCldIFtlbmQ9KDAsMC4xMCldfV0gW2RhdGE9Ik0zNS4wMCw4MC4wMCBMMTE1LjAw
LDgwLjAwIEwxMTUuMDAsMTIwLjAwIEwzNS4wMCwxMjAuMDAgWiJdCisgICAgICAgIFJlbmRlclNW
R1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImNsb3NlT2Zmc2V0
c0xpbmVhckdyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFy
dD0oMCwwKV0gW2VuZD0oMCwwLjEwKV0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNEQzE0M0NdCisgICAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkZENzAwXQorICAgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0RD
MTQzQ10KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDM1LDgwKSBzaXplIDgweDQwIFtm
aWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iY2xvc2VPZmZzZXRzTGluZWFyR3JhZGll
bnQiXX1dIFtkYXRhPSJNMzUuMDAsODAuMDAgTDExNS4wMCw4MC4wMCBMMTE1LjAwLDEyMC4wMCBM
MzUuMDAsMTIwLjAwIFoiXQogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTMsMTM1
KSBzaXplIDEyNHgxNyBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxMjR4MTcKICAgICAgICAgICAgIGNodW5r
IDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDEzLjUwLDEzNS4wMCkgc3RhcnRPZmZz
ZXQgMCBlbmRPZmZzZXQgMTcgd2lkdGggMTIzLjAwOiAiVHdvIGNsb3NlIG9mZnNldHMiCkBAIC0y
NSwxMSArMTksMTEgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAxMjB4MTcKICAgICAgICAg
ICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDE1LjUwLDE1MC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTYgd2lkdGggMTE5LjAwOiAiPGxpbmVhckdyYWRpZW50
PiIKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE0Niw4MCkgc2l6ZSAxNTh4NzMg
W3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTUwLjAwLDAuMDApfV0K
LSAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE4NSw4MCkgc2l6
ZSA4MHg0MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNEQzE0
M0MpLCAoMS4wMCwjRkZENzAwKSwgKDEuMDAsI0RDMTQzQyldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9
KDAsMC4xMCldfV0gW2RhdGE9Ik0zNS4wMCw4MC4wMCBMMTE1LjAwLDgwLjAwIEwxMTUuMDAsMTIw
LjAwIEwzNS4wMCwxMjAuMDAgWiJdCisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3Jh
ZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImNsb3NlT2Zmc2V0c0xpbmVhckdyYWRpZW50MiJd
IFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDAs
MC4xMCldCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAu
MDBdIFtjb2xvcj0jREMxNDNDXQorICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGRDcwMF0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSNEQzE0M0NdCisgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgxODUsODApIHNpemUgODB4NDAgW2ZpbGw9e1t0eXBlPUxJTkVB
Ui1HUkFESUVOVF0gW2lkPSJjbG9zZU9mZnNldHNMaW5lYXJHcmFkaWVudDIiXX1dIFtkYXRhPSJN
MzUuMDAsODAuMDAgTDExNS4wMCw4MC4wMCBMMTE1LjAwLDEyMC4wMCBMMzUuMDAsMTIwLjAwIFoi
XQogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTQsMTM1KSBzaXplIDE1OHgxNyBj
b250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xNCkgc2l6ZSAxNTh4MTcKICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNo
b3IpIHRleHQgcnVuIDEgYXQgKC0zLjUwLDEzNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQg
MjIgd2lkdGggMTU3LjAwOiAiVHdvIHZlcnkgY2xvc2Ugb2Zmc2V0cyIKQEAgLTM3LDExICszMSwx
MSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDEyMHgxNwogICAgICAgICAgICAgY2h1bmsg
MSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTUuNTAsMTUwLjAwKSBzdGFydE9mZnNl
dCAwIGVuZE9mZnNldCAxNiB3aWR0aCAxMTkuMDA6ICI8bGluZWFyR3JhZGllbnQ+IgogICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTMsMTgwKSBzaXplIDEyNHg3MyBbdHJhbnNmb3Jt
PXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDEwMC4wMCl9XQotICAgICAgICBS
ZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4
MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzUsMTgwKSBzaXplIDgweDQwIFtm
aWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0RDMTQzQyksICgxLjAw
LCNGRkQ3MDApLCAoMS4wMCwjREMxNDNDKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0o
MC41MCwwLjUwKV0gW3JhZGl1cz0wLjEwXX1dIFtkYXRhPSJNMzUuMDAsODAuMDAgTDExNS4wMCw4
MC4wMCBMMTE1LjAwLDEyMC4wMCBMMzUuMDAsMTIwLjAwIFoiXQorICAgICAgICBSZW5kZXJTVkdS
ZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFkaWVudH0gW2lkPSJjbG9zZU9mZnNldHNS
YWRpYWxHcmFkaWVudCJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbY2VudGVy
PSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuNTAsMC41MCldIFtyYWRpdXM9MC4xMF0KKyAgICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNEQzE0
M0NdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBd
IFtjb2xvcj0jRkZENzAwXQorICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
W29mZnNldD0xLjAwXSBbY29sb3I9I0RDMTQzQ10KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDM1LDE4MCkgc2l6ZSA4MHg0MCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9
ImNsb3NlT2Zmc2V0c1JhZGlhbEdyYWRpZW50Il19XSBbZGF0YT0iTTM1LjAwLDgwLjAwIEwxMTUu
MDAsODAuMDAgTDExNS4wMCwxMjAuMDAgTDM1LjAwLDEyMC4wMCBaIl0KICAgICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDEzLDEzNSkgc2l6ZSAxMjR4MTcgY29udGFpbnMgMSBjaHVuayhz
KQogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUg
MTI0eDE3CiAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0
ICgxMy41MCwxMzUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE3IHdpZHRoIDEyMy4wMDog
IlR3byBjbG9zZSBvZmZzZXRzIgpAQCAtNDksMTEgKzQzLDExIEBAIGxheWVyIGF0ICgwLDApIHNp
emUgNDUweDUwMAogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwt
MTQpIHNpemUgMTIweDE3CiAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biAxIGF0ICgxNS41MCwxNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE2IHdpZHRo
IDExOS4wMDogIjxyYWRpYWxHcmFkaWVudD4iCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9
IGF0ICgxNDYsMTgwKSBzaXplIDE1OHg3MyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAw
LDEuMDApKSB0PSgxNTAuMDAsMTAwLjAwKX1dCi0gICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRh
aW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5k
ZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxODUsMTgwKSBzaXplIDgweDQwIFtmaWxsPXtbdHlwZT1SQURJQUwt
R1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0RDMTQzQyksICgxLjAwLCNGRkQ3MDApLCAoMS4wMCwj
REMxNDNDKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1
cz0wLjEwXX1dIFtkYXRhPSJNMzUuMDAsODAuMDAgTDExNS4wMCw4MC4wMCBMMTE1LjAwLDEyMC4w
MCBMMzUuMDAsMTIwLjAwIFoiXQorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRp
ZW50IHtyYWRpYWxHcmFkaWVudH0gW2lkPSJjbG9zZU9mZnNldHNSYWRpYWxHcmFkaWVudDIiXSBb
Z3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW2NlbnRlcj0oMC41MCwwLjUwKV0gW2Zv
Y2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuMTBdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jREMxNDNDXQorICAgICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGRDcwMF0K
KyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2Nv
bG9yPSNEQzE0M0NdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxODUsMTgwKSBzaXpl
IDgweDQwIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0iY2xvc2VPZmZzZXRzUmFk
aWFsR3JhZGllbnQyIl19XSBbZGF0YT0iTTM1LjAwLDgwLjAwIEwxMTUuMDAsODAuMDAgTDExNS4w
MCwxMjAuMDAgTDM1LjAwLDEyMC4wMCBaIl0KICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKC00LDEzNSkgc2l6ZSAxNTh4MTcgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTU4eDE3CiAgICAgICAg
ICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgtMy41MCwxMzUuMDAp
IHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDIyIHdpZHRoIDE1Ny4wMDogIlR3byB2ZXJ5IGNsb3Nl
IG9mZnNldHMiCkBAIC02MSwxMCArNTUsMTAgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAw
CiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAx
MjB4MTcKICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQg
KDE1LjUwLDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTYgd2lkdGggMTE5LjAwOiAi
PHJhZGlhbEdyYWRpZW50PiIKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMwNCw4
MCkgc2l6ZSAxNDJ4NzMgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0o
MzAwLjAwLDAuMDApfV0KLSAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJH
cmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoMzAwLDApIHNpemUgMTUweDIwMCBbdHJhbnNmb3JtPXttPSgoMTAwLjAwLDAuMDApKDAuMDAs
MTAwLjAwKSkgdD0oMC4wMCwwLjAwKX1dIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtz
dG9wcz1bKDAuMDAsI0ZGRDcwMCksICgxLjAwLCNEQzE0M0MpXV0gW3N0YXJ0PSgwLDApXSBbZW5k
PSgwLDApXX1dIFtkYXRhPSJNMC4zNSwwLjgwIEwxLjE1LDAuODAgTDEuMTUsMS4yMCBMMC4zNSwx
LjIwIFoiXQorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJH
cmFkaWVudH0gW2lkPSJjbG9zZUNvbnRyb2xzTGluZWFyR3JhZGllbnQiXSBbZ3JhZGllbnRVbml0
cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgwLDApXQorICAgICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZGRDcw
MF0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0g
W2NvbG9yPSNEQzE0M0NdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzMDAsMCkgc2l6
ZSAxNTB4MjAwIFt0cmFuc2Zvcm09e209KCgxMDAuMDAsMC4wMCkoMC4wMCwxMDAuMDApKSB0PSgw
LjAwLDAuMDApfV0gW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJjbG9zZUNvbnRy
b2xzTGluZWFyR3JhZGllbnQiXX1dIFtkYXRhPSJNMC4zNSwwLjgwIEwxLjE1LDAuODAgTDEuMTUs
MS4yMCBMMC4zNSwxLjIwIFoiXQogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNCwx
MzUpIHNpemUgMTQyeDE3IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDE0MngxNwogICAgICAgICAgICAgY2h1
bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoNC41MCwxMzUuMDApIHN0YXJ0T2Zm
c2V0IDAgZW5kT2Zmc2V0IDIwIHdpZHRoIDE0MS4wMDogIkNsb3NlIGNvbnRyb2wgcG9pbnRzIgpA
QCAtNzIsMTAgKzY2LDEwIEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTIweDE3CiAgICAg
ICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgxNS41MCwxNTAu
MDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE2IHdpZHRoIDExOS4wMDogIjxsaW5lYXJHcmFk
aWVudD4iCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMTUsMTgwKSBzaXplIDEy
MHg3MyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzMDAuMDAsMTAw
LjAwKX1dCi0gICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMwMCwx
MDApIHNpemUgMTUweDIwMCBbdHJhbnNmb3JtPXttPSgoMTAwLjAwLDAuMDApKDAuMDAsMTAwLjAw
KSkgdD0oMC4wMCwwLjAwKX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1b
KDAuMDAsI0ZGRDcwMCksICgxLjAwLCNEQzE0M0MpXV0gW2NlbnRlcj0oMC41MCwwLjUwKV0gW2Zv
Y2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuMDBdfV0gW2RhdGE9Ik0wLjM1LDAuODAgTDEuMTUs
MC44MCBMMS4xNSwxLjIwIEwwLjM1LDEuMjAgWiJdCisgICAgICAgIFJlbmRlclNWR1Jlc291cmNl
UmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9InNtYWxsUmFkaXVzUmFkaWFsR3Jh
ZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW2NlbnRlcj0oMC41MCww
LjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuMDBdCisgICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkZENzAwXQorICAg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9
I0RDMTQzQ10KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMwMCwxMDApIHNpemUgMTUw
eDIwMCBbdHJhbnNmb3JtPXttPSgoMTAwLjAwLDAuMDApKDAuMDAsMTAwLjAwKSkgdD0oMC4wMCww
LjAwKX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0ic21hbGxSYWRpdXNSYWRp
YWxHcmFkaWVudCJdfV0gW2RhdGE9Ik0wLjM1LDAuODAgTDEuMTUsMC44MCBMMS4xNSwxLjIwIEww
LjM1LDEuMjAgWiJdCiAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNywxMzUpIHNp
emUgOTZ4MTcgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgOTZ4MTcKICAgICAgICAgICAgIGNodW5rIDEgKG1p
ZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDI3LjAwLDEzNS4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgMTIgd2lkdGggOTYuMDA6ICJTbWFsbCBSYWRpdXMiCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL3BhaW50cy9wYXR0ZXJuUHJlc2VydmVBc3BlY3RSYXRp
b0EtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvYmF0aWsvcGFpbnRzL3BhdHRlcm5QcmVzZXJ2ZUFzcGVjdFJhdGlvQS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay9w
YWludHMvcGF0dGVyblByZXNlcnZlQXNwZWN0UmF0aW9BLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSwzMyArMSwzIEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJtZWV0WG1p
blltaW4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfQotS1JlbmRl
cmluZ1BhaW50U2VydmVyIHtpZD0ibWVldFhtaW5ZbWlkIiBbdHlwZT1QQVRURVJOXSBbYmJveD1h
dCAoMCwwKSBzaXplIDMyeDE2XX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9Im1lZXRYbWlu
WW1heCIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19Ci1LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXIge2lkPSJtZWV0WG1pZFltaW4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0
ICgwLDApIHNpemUgMzJ4MTZdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0ibWVldFhtaWRZ
bWlkIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMyeDE2XX0KLUtSZW5kZXJp
bmdQYWludFNlcnZlciB7aWQ9Im1lZXRYbWlkWW1heCIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQg
KDAsMCkgc2l6ZSAzMngxNl19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJtZWV0WG1heFlt
aW4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfQotS1JlbmRlcmlu
Z1BhaW50U2VydmVyIHtpZD0ibWVldFhtYXhZbWlkIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAo
MCwwKSBzaXplIDMyeDE2XX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9Im1lZXRYbWF4WW1h
eCIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19Ci1LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXIge2lkPSJzbGljZVhtaW5ZbWluIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAo
MCwwKSBzaXplIDMyeDE2XX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InNsaWNlWG1pbllt
aWQiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfQotS1JlbmRlcmlu
Z1BhaW50U2VydmVyIHtpZD0ic2xpY2VYbWluWW1heCIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQg
KDAsMCkgc2l6ZSAzMngxNl19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJzbGljZVhtaWRZ
bWluIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMyeDE2XX0KLUtSZW5kZXJp
bmdQYWludFNlcnZlciB7aWQ9InNsaWNlWG1pZFltaWQiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0
ICgwLDApIHNpemUgMzJ4MTZdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0ic2xpY2VYbWlk
WW1heCIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19Ci1LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXIge2lkPSJzbGljZVhtYXhZbWluIiBbdHlwZT1QQVRURVJOXSBbYmJveD1h
dCAoMCwwKSBzaXplIDMyeDE2XX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InNsaWNlWG1h
eFltaWQiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfQotS1JlbmRl
cmluZ1BhaW50U2VydmVyIHtpZD0ic2xpY2VYbWF4WW1heCIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9
YXQgKDAsMCkgc2l6ZSAzMngxNl19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJub25lWG1p
blltaW4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfQotS1JlbmRl
cmluZ1BhaW50U2VydmVyIHtpZD0ibm9uZVhtaW5ZbWlkIiBbdHlwZT1QQVRURVJOXSBbYmJveD1h
dCAoMCwwKSBzaXplIDMyeDE2XX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9Im5vbmVYbWlu
WW1heCIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19Ci1LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXIge2lkPSJub25lWG1pZFltaW4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0
ICgwLDApIHNpemUgMzJ4MTZdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0ibm9uZVhtaWRZ
bWlkIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMyeDE2XX0KLUtSZW5kZXJp
bmdQYWludFNlcnZlciB7aWQ9Im5vbmVYbWlkWW1heCIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQg
KDAsMCkgc2l6ZSAzMngxNl19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJub25lWG1heFlt
aW4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfQotS1JlbmRlcmlu
Z1BhaW50U2VydmVyIHtpZD0ibm9uZVhtYXhZbWlkIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAo
MCwwKSBzaXplIDMyeDE2XX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9Im5vbmVYbWF4WW1h
eCIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19Ci1LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXIge2lkPSJtZWV0Tm9uZSIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkg
c2l6ZSAzMngxNl19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJzbGljZU5vbmUiIFt0eXBl
PVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfQotS1JlbmRlcmluZ1BhaW50U2Vy
dmVyIHtpZD0ibm9uZU5vbmUiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4
MTZdfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKQEAgLTYyLDcgKzMyLDcg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDE2LDgpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNG
RkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDEuMDAgTDEuMDAsMS4wMCBMMS4wMCwyLjAwIEwwLjAwLDIu
MDAgWiJdCiAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDE2LDE2KSBzaXpl
IDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwz
LjAwIEwxLjAwLDMuMDAgTDAuNTAsMi4wMCBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDQ1LDUpIHNpemUgOTB4MzAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAw
KSkgdD0oNDUuMDAsNS4wMCl9XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1d
IFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBa
Il0KLSAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDI0
eDI0CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJtZWV0
WG1pblltaW4iXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVybkNvbnRlbnRV
bml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0g
YXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDAsMCkgc2l6ZSAyNHgyNCBbdHJhbnNmb3JtPXttPSgoOC4wMCwwLjAwKSgwLjAwLDguMDAp
KSB0PSgwLjAwLDAuMDApfV0KQEAgLTgyLDcgKzUyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0
NTB4NTAwCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDE2LDAp
IHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0x
LjAwLDAuNTAgTDEuMDAsMC41MyBMMS4wMCwwLjU2IEwwLjk5LDAuNTkgTDAuOTgsMC42MiBMMC45
OCwwLjY1IEwwLjk2LDAuNjggTDAuOTUsMC43MSBMMC45NCwwLjc0IEwwLjkyLDAuNzcgTDAuOTAs
MC43OSBMMC44OSwwLjgyIEwwLjg2LDAuODQgTDAuODQsMC44NiBMMC44MiwwLjg5IEwwLjc5LDAu
OTAgTDAuNzcsMC45MiBMMC43NCwwLjk0IEwwLjcxLDAuOTUgTDAuNjgsMC45NiBMMC42NSwwLjk4
IEwwLjYyLDAuOTggTDAuNTksMC45OSBMMC41NiwxLjAwIEwwLjUzLDEuMDAgTDAuNTAsMS4wMCBM
MC40NywxLjAwIEwwLjQ0LDEuMDAgTDAuNDEsMC45OSBMMC4zOCwwLjk4IEwwLjM1LDAuOTggTDAu
MzIsMC45NiBMMC4yOSwwLjk1IEwwLjI2LDAuOTQgTDAuMjMsMC45MiBMMC4yMSwwLjkwIEwwLjE4
LDAuODkgTDAuMTYsMC44NiBMMC4xNCwwLjg0IEwwLjExLDAuODIgTDAuMTAsMC43OSBMMC4wOCww
Ljc3IEwwLjA2LDAuNzQgTDAuMDUsMC43MSBMMC4wNCwwLjY4IEwwLjAyLDAuNjUgTDAuMDIsMC42
MiBMMC4wMSwwLjU5IEwwLjAwLDAuNTYgTDAuMDAsMC41MyBMMC4wMCwwLjUwIEwwLjAwLDAuNDcg
TDAuMDAsMC40NCBMMC4wMSwwLjQxIEwwLjAyLDAuMzggTDAuMDIsMC4zNSBMMC4wNCwwLjMyIEww
LjA1LDAuMjkgTDAuMDYsMC4yNiBMMC4wOCwwLjIzIEwwLjEwLDAuMjEgTDAuMTEsMC4xOCBMMC4x
NCwwLjE2IEwwLjE2LDAuMTQgTDAuMTgsMC4xMSBMMC4yMSwwLjEwIEwwLjIzLDAuMDggTDAuMjYs
MC4wNiBMMC4yOSwwLjA1IEwwLjMyLDAuMDQgTDAuMzUsMC4wMiBMMC4zOCwwLjAyIEwwLjQxLDAu
MDEgTDAuNDQsMC4wMCBMMC40NywwLjAwIEwwLjUwLDAuMDAgTDAuNTMsMC4wMCBMMC41NiwwLjAw
IEwwLjU5LDAuMDEgTDAuNjIsMC4wMiBMMC42NSwwLjAyIEwwLjY4LDAuMDQgTDAuNzEsMC4wNSBM
MC43NCwwLjA2IEwwLjc3LDAuMDggTDAuNzksMC4xMCBMMC44MiwwLjExIEwwLjg0LDAuMTQgTDAu
ODYsMC4xNiBMMC44OSwwLjE4IEwwLjkwLDAuMjEgTDAuOTIsMC4yMyBMMC45NCwwLjI2IEwwLjk1
LDAuMjkgTDAuOTYsMC4zMiBMMC45OCwwLjM1IEwwLjk4LDAuMzggTDAuOTksMC40MSBMMS4wMCww
LjQ0IEwxLjAwLDAuNDcgWiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgxNiw4KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1d
IFtkYXRhPSJNMC4wMCwxLjAwIEwxLjAwLDEuMDAgTDEuMDAsMi4wMCBMMC4wMCwyLjAwIFoiXQog
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTYsMTYpIHNpemUgOHg4
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDMuMDAg
TDEuMDAsMy4wMCBMMC41MCwyLjAwIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3Bh
dHRlcm59IGF0ICgwLDApIHNpemUgMjR4MjQKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0
ZXJuIHtwYXR0ZXJufSBbaWQ9Im1lZXRYbWluWW1pZCJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNl
T25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0IFt0cmFuc2Zvcm09e209
KCg4LjAwLDAuMDApKDAuMDAsOC4wMCkpIHQ9KDAuMDAsMC4wMCl9XQpAQCAtMTAyLDcgKzcyLDcg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgICAgICAgIFJlbmRl
clBhdGgge2NpcmNsZX0gYXQgKDE2LDApIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0xLjAwLDAuNTAgTDEuMDAsMC41MyBMMS4wMCwwLjU2IEww
Ljk5LDAuNTkgTDAuOTgsMC42MiBMMC45OCwwLjY1IEwwLjk2LDAuNjggTDAuOTUsMC43MSBMMC45
NCwwLjc0IEwwLjkyLDAuNzcgTDAuOTAsMC43OSBMMC44OSwwLjgyIEwwLjg2LDAuODQgTDAuODQs
MC44NiBMMC44MiwwLjg5IEwwLjc5LDAuOTAgTDAuNzcsMC45MiBMMC43NCwwLjk0IEwwLjcxLDAu
OTUgTDAuNjgsMC45NiBMMC42NSwwLjk4IEwwLjYyLDAuOTggTDAuNTksMC45OSBMMC41NiwxLjAw
IEwwLjUzLDEuMDAgTDAuNTAsMS4wMCBMMC40NywxLjAwIEwwLjQ0LDEuMDAgTDAuNDEsMC45OSBM
MC4zOCwwLjk4IEwwLjM1LDAuOTggTDAuMzIsMC45NiBMMC4yOSwwLjk1IEwwLjI2LDAuOTQgTDAu
MjMsMC45MiBMMC4yMSwwLjkwIEwwLjE4LDAuODkgTDAuMTYsMC44NiBMMC4xNCwwLjg0IEwwLjEx
LDAuODIgTDAuMTAsMC43OSBMMC4wOCwwLjc3IEwwLjA2LDAuNzQgTDAuMDUsMC43MSBMMC4wNCww
LjY4IEwwLjAyLDAuNjUgTDAuMDIsMC42MiBMMC4wMSwwLjU5IEwwLjAwLDAuNTYgTDAuMDAsMC41
MyBMMC4wMCwwLjUwIEwwLjAwLDAuNDcgTDAuMDAsMC40NCBMMC4wMSwwLjQxIEwwLjAyLDAuMzgg
TDAuMDIsMC4zNSBMMC4wNCwwLjMyIEwwLjA1LDAuMjkgTDAuMDYsMC4yNiBMMC4wOCwwLjIzIEww
LjEwLDAuMjEgTDAuMTEsMC4xOCBMMC4xNCwwLjE2IEwwLjE2LDAuMTQgTDAuMTgsMC4xMSBMMC4y
MSwwLjEwIEwwLjIzLDAuMDggTDAuMjYsMC4wNiBMMC4yOSwwLjA1IEwwLjMyLDAuMDQgTDAuMzUs
MC4wMiBMMC4zOCwwLjAyIEwwLjQxLDAuMDEgTDAuNDQsMC4wMCBMMC40NywwLjAwIEwwLjUwLDAu
MDAgTDAuNTMsMC4wMCBMMC41NiwwLjAwIEwwLjU5LDAuMDEgTDAuNjIsMC4wMiBMMC42NSwwLjAy
IEwwLjY4LDAuMDQgTDAuNzEsMC4wNSBMMC43NCwwLjA2IEwwLjc3LDAuMDggTDAuNzksMC4xMCBM
MC44MiwwLjExIEwwLjg0LDAuMTQgTDAuODYsMC4xNiBMMC44OSwwLjE4IEwwLjkwLDAuMjEgTDAu
OTIsMC4yMyBMMC45NCwwLjI2IEwwLjk1LDAuMjkgTDAuOTYsMC4zMiBMMC45OCwwLjM1IEwwLjk4
LDAuMzggTDAuOTksMC40MSBMMS4wMCwwLjQ0IEwxLjAwLDAuNDcgWiJdCiAgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNiw4KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwxLjAwIEwxLjAwLDEuMDAgTDEu
MDAsMi4wMCBMMC4wMCwyLjAwIFoiXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtw
YXRofSBhdCAoMTYsMTYpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1
MDBdfV0gW2RhdGE9Ik0wLjAwLDMuMDAgTDEuMDAsMy4wMCBMMC41MCwyLjAwIFoiXQotICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMjR4MjQKKyAgICAg
ICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9Im1lZXRYbWluWW1heCJd
IFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJT
cGFjZU9uVXNlXQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBz
aXplIDI0eDI0CiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNp
emUgMjR4MjQKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBz
aXplIDI0eDI0IFt0cmFuc2Zvcm09e209KCg4LjAwLDAuMDApKDAuMDAsOC4wMCkpIHQ9KDAuMDAs
MC4wMCl9XQpAQCAtMTIyLDcgKzkyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAg
ICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDE2LDApIHNpemUgOHg4
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0xLjAwLDAuNTAg
TDEuMDAsMC41MyBMMS4wMCwwLjU2IEwwLjk5LDAuNTkgTDAuOTgsMC42MiBMMC45OCwwLjY1IEww
Ljk2LDAuNjggTDAuOTUsMC43MSBMMC45NCwwLjc0IEwwLjkyLDAuNzcgTDAuOTAsMC43OSBMMC44
OSwwLjgyIEwwLjg2LDAuODQgTDAuODQsMC44NiBMMC44MiwwLjg5IEwwLjc5LDAuOTAgTDAuNzcs
MC45MiBMMC43NCwwLjk0IEwwLjcxLDAuOTUgTDAuNjgsMC45NiBMMC42NSwwLjk4IEwwLjYyLDAu
OTggTDAuNTksMC45OSBMMC41NiwxLjAwIEwwLjUzLDEuMDAgTDAuNTAsMS4wMCBMMC40NywxLjAw
IEwwLjQ0LDEuMDAgTDAuNDEsMC45OSBMMC4zOCwwLjk4IEwwLjM1LDAuOTggTDAuMzIsMC45NiBM
MC4yOSwwLjk1IEwwLjI2LDAuOTQgTDAuMjMsMC45MiBMMC4yMSwwLjkwIEwwLjE4LDAuODkgTDAu
MTYsMC44NiBMMC4xNCwwLjg0IEwwLjExLDAuODIgTDAuMTAsMC43OSBMMC4wOCwwLjc3IEwwLjA2
LDAuNzQgTDAuMDUsMC43MSBMMC4wNCwwLjY4IEwwLjAyLDAuNjUgTDAuMDIsMC42MiBMMC4wMSww
LjU5IEwwLjAwLDAuNTYgTDAuMDAsMC41MyBMMC4wMCwwLjUwIEwwLjAwLDAuNDcgTDAuMDAsMC40
NCBMMC4wMSwwLjQxIEwwLjAyLDAuMzggTDAuMDIsMC4zNSBMMC4wNCwwLjMyIEwwLjA1LDAuMjkg
TDAuMDYsMC4yNiBMMC4wOCwwLjIzIEwwLjEwLDAuMjEgTDAuMTEsMC4xOCBMMC4xNCwwLjE2IEww
LjE2LDAuMTQgTDAuMTgsMC4xMSBMMC4yMSwwLjEwIEwwLjIzLDAuMDggTDAuMjYsMC4wNiBMMC4y
OSwwLjA1IEwwLjMyLDAuMDQgTDAuMzUsMC4wMiBMMC4zOCwwLjAyIEwwLjQxLDAuMDEgTDAuNDQs
MC4wMCBMMC40NywwLjAwIEwwLjUwLDAuMDAgTDAuNTMsMC4wMCBMMC41NiwwLjAwIEwwLjU5LDAu
MDEgTDAuNjIsMC4wMiBMMC42NSwwLjAyIEwwLjY4LDAuMDQgTDAuNzEsMC4wNSBMMC43NCwwLjA2
IEwwLjc3LDAuMDggTDAuNzksMC4xMCBMMC44MiwwLjExIEwwLjg0LDAuMTQgTDAuODYsMC4xNiBM
MC44OSwwLjE4IEwwLjkwLDAuMjEgTDAuOTIsMC4yMyBMMC45NCwwLjI2IEwwLjk1LDAuMjkgTDAu
OTYsMC4zMiBMMC45OCwwLjM1IEwwLjk4LDAuMzggTDAuOTksMC40MSBMMS4wMCwwLjQ0IEwxLjAw
LDAuNDcgWiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNiw4
KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJN
MC4wMCwxLjAwIEwxLjAwLDEuMDAgTDEuMDAsMi4wMCBMMC4wMCwyLjAwIFoiXQogICAgICAgICAg
ICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTYsMTYpIHNpemUgOHg4IFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDMuMDAgTDEuMDAsMy4w
MCBMMC41MCwyLjAwIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0
ICgwLDApIHNpemUgMjR4MjQKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0
ZXJufSBbaWQ9Im1lZXRYbWlkWW1pbiJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtw
YXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0IFt0cmFuc2Zvcm09e209KCg4LjAwLDAu
MDApKDAuMDAsOC4wMCkpIHQ9KDAuMDAsMC4wMCl9XQpAQCAtMTQyLDcgKzExMiw3IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtj
aXJjbGV9IGF0ICgxNiwwKSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZB
NTAwXX1dIFtkYXRhPSJNMS4wMCwwLjUwIEwxLjAwLDAuNTMgTDEuMDAsMC41NiBMMC45OSwwLjU5
IEwwLjk4LDAuNjIgTDAuOTgsMC42NSBMMC45NiwwLjY4IEwwLjk1LDAuNzEgTDAuOTQsMC43NCBM
MC45MiwwLjc3IEwwLjkwLDAuNzkgTDAuODksMC44MiBMMC44NiwwLjg0IEwwLjg0LDAuODYgTDAu
ODIsMC44OSBMMC43OSwwLjkwIEwwLjc3LDAuOTIgTDAuNzQsMC45NCBMMC43MSwwLjk1IEwwLjY4
LDAuOTYgTDAuNjUsMC45OCBMMC42MiwwLjk4IEwwLjU5LDAuOTkgTDAuNTYsMS4wMCBMMC41Mywx
LjAwIEwwLjUwLDEuMDAgTDAuNDcsMS4wMCBMMC40NCwxLjAwIEwwLjQxLDAuOTkgTDAuMzgsMC45
OCBMMC4zNSwwLjk4IEwwLjMyLDAuOTYgTDAuMjksMC45NSBMMC4yNiwwLjk0IEwwLjIzLDAuOTIg
TDAuMjEsMC45MCBMMC4xOCwwLjg5IEwwLjE2LDAuODYgTDAuMTQsMC44NCBMMC4xMSwwLjgyIEww
LjEwLDAuNzkgTDAuMDgsMC43NyBMMC4wNiwwLjc0IEwwLjA1LDAuNzEgTDAuMDQsMC42OCBMMC4w
MiwwLjY1IEwwLjAyLDAuNjIgTDAuMDEsMC41OSBMMC4wMCwwLjU2IEwwLjAwLDAuNTMgTDAuMDAs
MC41MCBMMC4wMCwwLjQ3IEwwLjAwLDAuNDQgTDAuMDEsMC40MSBMMC4wMiwwLjM4IEwwLjAyLDAu
MzUgTDAuMDQsMC4zMiBMMC4wNSwwLjI5IEwwLjA2LDAuMjYgTDAuMDgsMC4yMyBMMC4xMCwwLjIx
IEwwLjExLDAuMTggTDAuMTQsMC4xNiBMMC4xNiwwLjE0IEwwLjE4LDAuMTEgTDAuMjEsMC4xMCBM
MC4yMywwLjA4IEwwLjI2LDAuMDYgTDAuMjksMC4wNSBMMC4zMiwwLjA0IEwwLjM1LDAuMDIgTDAu
MzgsMC4wMiBMMC40MSwwLjAxIEwwLjQ0LDAuMDAgTDAuNDcsMC4wMCBMMC41MCwwLjAwIEwwLjUz
LDAuMDAgTDAuNTYsMC4wMCBMMC41OSwwLjAxIEwwLjYyLDAuMDIgTDAuNjUsMC4wMiBMMC42OCww
LjA0IEwwLjcxLDAuMDUgTDAuNzQsMC4wNiBMMC43NywwLjA4IEwwLjc5LDAuMTAgTDAuODIsMC4x
MSBMMC44NCwwLjE0IEwwLjg2LDAuMTYgTDAuODksMC4xOCBMMC45MCwwLjIxIEwwLjkyLDAuMjMg
TDAuOTQsMC4yNiBMMC45NSwwLjI5IEwwLjk2LDAuMzIgTDAuOTgsMC4zNSBMMC45OCwwLjM4IEww
Ljk5LDAuNDEgTDEuMDAsMC40NCBMMS4wMCwwLjQ3IFoiXQogICAgICAgICAgICAgICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsOCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMS4wMCBMMS4wMCwxLjAwIEwxLjAwLDIuMDAg
TDAuMDAsMi4wMCBaIl0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQg
KDE2LDE2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtk
YXRhPSJNMC4wMCwzLjAwIEwxLjAwLDMuMDAgTDAuNTAsMi4wMCBaIl0KLSAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDI0eDI0CisgICAgICAgIFJlbmRl
clNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJtZWV0WG1pZFltaWQiXSBbcGF0dGVy
blVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVz
ZV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAyNHgy
NAogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0
CiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyNHgy
NCBbdHJhbnNmb3JtPXttPSgoOC4wMCwwLjAwKSgwLjAwLDguMDApKSB0PSgwLjAwLDAuMDApfV0K
QEAgLTE2Miw3ICsxMzIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAg
ICAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMTYsMCkgc2l6ZSA4eDggW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTEuMDAsMC41MCBMMS4wMCww
LjUzIEwxLjAwLDAuNTYgTDAuOTksMC41OSBMMC45OCwwLjYyIEwwLjk4LDAuNjUgTDAuOTYsMC42
OCBMMC45NSwwLjcxIEwwLjk0LDAuNzQgTDAuOTIsMC43NyBMMC45MCwwLjc5IEwwLjg5LDAuODIg
TDAuODYsMC44NCBMMC44NCwwLjg2IEwwLjgyLDAuODkgTDAuNzksMC45MCBMMC43NywwLjkyIEww
Ljc0LDAuOTQgTDAuNzEsMC45NSBMMC42OCwwLjk2IEwwLjY1LDAuOTggTDAuNjIsMC45OCBMMC41
OSwwLjk5IEwwLjU2LDEuMDAgTDAuNTMsMS4wMCBMMC41MCwxLjAwIEwwLjQ3LDEuMDAgTDAuNDQs
MS4wMCBMMC40MSwwLjk5IEwwLjM4LDAuOTggTDAuMzUsMC45OCBMMC4zMiwwLjk2IEwwLjI5LDAu
OTUgTDAuMjYsMC45NCBMMC4yMywwLjkyIEwwLjIxLDAuOTAgTDAuMTgsMC44OSBMMC4xNiwwLjg2
IEwwLjE0LDAuODQgTDAuMTEsMC44MiBMMC4xMCwwLjc5IEwwLjA4LDAuNzcgTDAuMDYsMC43NCBM
MC4wNSwwLjcxIEwwLjA0LDAuNjggTDAuMDIsMC42NSBMMC4wMiwwLjYyIEwwLjAxLDAuNTkgTDAu
MDAsMC41NiBMMC4wMCwwLjUzIEwwLjAwLDAuNTAgTDAuMDAsMC40NyBMMC4wMCwwLjQ0IEwwLjAx
LDAuNDEgTDAuMDIsMC4zOCBMMC4wMiwwLjM1IEwwLjA0LDAuMzIgTDAuMDUsMC4yOSBMMC4wNiww
LjI2IEwwLjA4LDAuMjMgTDAuMTAsMC4yMSBMMC4xMSwwLjE4IEwwLjE0LDAuMTYgTDAuMTYsMC4x
NCBMMC4xOCwwLjExIEwwLjIxLDAuMTAgTDAuMjMsMC4wOCBMMC4yNiwwLjA2IEwwLjI5LDAuMDUg
TDAuMzIsMC4wNCBMMC4zNSwwLjAyIEwwLjM4LDAuMDIgTDAuNDEsMC4wMSBMMC40NCwwLjAwIEww
LjQ3LDAuMDAgTDAuNTAsMC4wMCBMMC41MywwLjAwIEwwLjU2LDAuMDAgTDAuNTksMC4wMSBMMC42
MiwwLjAyIEwwLjY1LDAuMDIgTDAuNjgsMC4wNCBMMC43MSwwLjA1IEwwLjc0LDAuMDYgTDAuNzcs
MC4wOCBMMC43OSwwLjEwIEwwLjgyLDAuMTEgTDAuODQsMC4xNCBMMC44NiwwLjE2IEwwLjg5LDAu
MTggTDAuOTAsMC4yMSBMMC45MiwwLjIzIEwwLjk0LDAuMjYgTDAuOTUsMC4yOSBMMC45NiwwLjMy
IEwwLjk4LDAuMzUgTDAuOTgsMC4zOCBMMC45OSwwLjQxIEwxLjAwLDAuNDQgTDEuMDAsMC40NyBa
Il0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE2LDgpIHNpemUg
OHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDEu
MDAgTDEuMDAsMS4wMCBMMS4wMCwyLjAwIEwwLjAwLDIuMDAgWiJdCiAgICAgICAgICAgICAgICAg
ICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxNiwxNikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMy4wMCBMMS4wMCwzLjAwIEwwLjUw
LDIuMDAgWiJdCi0gICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkg
c2l6ZSAyNHgyNAorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtp
ZD0ibWVldFhtaWRZbWF4Il0gW3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5D
b250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHt1c2V9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQgW3RyYW5zZm9ybT17bT0oKDguMDAsMC4wMCkoMC4w
MCw4LjAwKSkgdD0oMC4wMCwwLjAwKX1dCkBAIC0xODIsNyArMTUyLDcgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0g
YXQgKDE2LDApIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0g
W2RhdGE9Ik0xLjAwLDAuNTAgTDEuMDAsMC41MyBMMS4wMCwwLjU2IEwwLjk5LDAuNTkgTDAuOTgs
MC42MiBMMC45OCwwLjY1IEwwLjk2LDAuNjggTDAuOTUsMC43MSBMMC45NCwwLjc0IEwwLjkyLDAu
NzcgTDAuOTAsMC43OSBMMC44OSwwLjgyIEwwLjg2LDAuODQgTDAuODQsMC44NiBMMC44MiwwLjg5
IEwwLjc5LDAuOTAgTDAuNzcsMC45MiBMMC43NCwwLjk0IEwwLjcxLDAuOTUgTDAuNjgsMC45NiBM
MC42NSwwLjk4IEwwLjYyLDAuOTggTDAuNTksMC45OSBMMC41NiwxLjAwIEwwLjUzLDEuMDAgTDAu
NTAsMS4wMCBMMC40NywxLjAwIEwwLjQ0LDEuMDAgTDAuNDEsMC45OSBMMC4zOCwwLjk4IEwwLjM1
LDAuOTggTDAuMzIsMC45NiBMMC4yOSwwLjk1IEwwLjI2LDAuOTQgTDAuMjMsMC45MiBMMC4yMSww
LjkwIEwwLjE4LDAuODkgTDAuMTYsMC44NiBMMC4xNCwwLjg0IEwwLjExLDAuODIgTDAuMTAsMC43
OSBMMC4wOCwwLjc3IEwwLjA2LDAuNzQgTDAuMDUsMC43MSBMMC4wNCwwLjY4IEwwLjAyLDAuNjUg
TDAuMDIsMC42MiBMMC4wMSwwLjU5IEwwLjAwLDAuNTYgTDAuMDAsMC41MyBMMC4wMCwwLjUwIEww
LjAwLDAuNDcgTDAuMDAsMC40NCBMMC4wMSwwLjQxIEwwLjAyLDAuMzggTDAuMDIsMC4zNSBMMC4w
NCwwLjMyIEwwLjA1LDAuMjkgTDAuMDYsMC4yNiBMMC4wOCwwLjIzIEwwLjEwLDAuMjEgTDAuMTEs
MC4xOCBMMC4xNCwwLjE2IEwwLjE2LDAuMTQgTDAuMTgsMC4xMSBMMC4yMSwwLjEwIEwwLjIzLDAu
MDggTDAuMjYsMC4wNiBMMC4yOSwwLjA1IEwwLjMyLDAuMDQgTDAuMzUsMC4wMiBMMC4zOCwwLjAy
IEwwLjQxLDAuMDEgTDAuNDQsMC4wMCBMMC40NywwLjAwIEwwLjUwLDAuMDAgTDAuNTMsMC4wMCBM
MC41NiwwLjAwIEwwLjU5LDAuMDEgTDAuNjIsMC4wMiBMMC42NSwwLjAyIEwwLjY4LDAuMDQgTDAu
NzEsMC4wNSBMMC43NCwwLjA2IEwwLjc3LDAuMDggTDAuNzksMC4xMCBMMC44MiwwLjExIEwwLjg0
LDAuMTQgTDAuODYsMC4xNiBMMC44OSwwLjE4IEwwLjkwLDAuMjEgTDAuOTIsMC4yMyBMMC45NCww
LjI2IEwwLjk1LDAuMjkgTDAuOTYsMC4zMiBMMC45OCwwLjM1IEwwLjk4LDAuMzggTDAuOTksMC40
MSBMMS4wMCwwLjQ0IEwxLjAwLDAuNDcgWiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBh
dGgge3JlY3R9IGF0ICgxNiw4KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
RkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwxLjAwIEwxLjAwLDEuMDAgTDEuMDAsMi4wMCBMMC4wMCwy
LjAwIFoiXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTYsMTYp
IHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0w
LjAwLDMuMDAgTDEuMDAsMy4wMCBMMC41MCwyLjAwIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMjR4MjQKKyAgICAgICAgUmVuZGVyU1ZHUmVz
b3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9Im1lZXRYbWF4WW1pbiJdIFtwYXR0ZXJuVW5pdHM9
dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAgICAg
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAg
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0IFt0cmFu
c2Zvcm09e209KCg4LjAwLDAuMDApKDAuMDAsOC4wMCkpIHQ9KDAuMDAsMC4wMCl9XQpAQCAtMjAy
LDcgKzE3Miw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgxNiwwKSBzaXplIDh4OCBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMS4wMCwwLjUwIEwxLjAwLDAuNTMgTDEu
MDAsMC41NiBMMC45OSwwLjU5IEwwLjk4LDAuNjIgTDAuOTgsMC42NSBMMC45NiwwLjY4IEwwLjk1
LDAuNzEgTDAuOTQsMC43NCBMMC45MiwwLjc3IEwwLjkwLDAuNzkgTDAuODksMC44MiBMMC44Niww
Ljg0IEwwLjg0LDAuODYgTDAuODIsMC44OSBMMC43OSwwLjkwIEwwLjc3LDAuOTIgTDAuNzQsMC45
NCBMMC43MSwwLjk1IEwwLjY4LDAuOTYgTDAuNjUsMC45OCBMMC42MiwwLjk4IEwwLjU5LDAuOTkg
TDAuNTYsMS4wMCBMMC41MywxLjAwIEwwLjUwLDEuMDAgTDAuNDcsMS4wMCBMMC40NCwxLjAwIEww
LjQxLDAuOTkgTDAuMzgsMC45OCBMMC4zNSwwLjk4IEwwLjMyLDAuOTYgTDAuMjksMC45NSBMMC4y
NiwwLjk0IEwwLjIzLDAuOTIgTDAuMjEsMC45MCBMMC4xOCwwLjg5IEwwLjE2LDAuODYgTDAuMTQs
MC44NCBMMC4xMSwwLjgyIEwwLjEwLDAuNzkgTDAuMDgsMC43NyBMMC4wNiwwLjc0IEwwLjA1LDAu
NzEgTDAuMDQsMC42OCBMMC4wMiwwLjY1IEwwLjAyLDAuNjIgTDAuMDEsMC41OSBMMC4wMCwwLjU2
IEwwLjAwLDAuNTMgTDAuMDAsMC41MCBMMC4wMCwwLjQ3IEwwLjAwLDAuNDQgTDAuMDEsMC40MSBM
MC4wMiwwLjM4IEwwLjAyLDAuMzUgTDAuMDQsMC4zMiBMMC4wNSwwLjI5IEwwLjA2LDAuMjYgTDAu
MDgsMC4yMyBMMC4xMCwwLjIxIEwwLjExLDAuMTggTDAuMTQsMC4xNiBMMC4xNiwwLjE0IEwwLjE4
LDAuMTEgTDAuMjEsMC4xMCBMMC4yMywwLjA4IEwwLjI2LDAuMDYgTDAuMjksMC4wNSBMMC4zMiww
LjA0IEwwLjM1LDAuMDIgTDAuMzgsMC4wMiBMMC40MSwwLjAxIEwwLjQ0LDAuMDAgTDAuNDcsMC4w
MCBMMC41MCwwLjAwIEwwLjUzLDAuMDAgTDAuNTYsMC4wMCBMMC41OSwwLjAxIEwwLjYyLDAuMDIg
TDAuNjUsMC4wMiBMMC42OCwwLjA0IEwwLjcxLDAuMDUgTDAuNzQsMC4wNiBMMC43NywwLjA4IEww
Ljc5LDAuMTAgTDAuODIsMC4xMSBMMC44NCwwLjE0IEwwLjg2LDAuMTYgTDAuODksMC4xOCBMMC45
MCwwLjIxIEwwLjkyLDAuMjMgTDAuOTQsMC4yNiBMMC45NSwwLjI5IEwwLjk2LDAuMzIgTDAuOTgs
MC4zNSBMMC45OCwwLjM4IEwwLjk5LDAuNDEgTDEuMDAsMC40NCBMMS4wMCwwLjQ3IFoiXQogICAg
ICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsOCkgc2l6ZSA4eDggW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMS4wMCBMMS4w
MCwxLjAwIEwxLjAwLDIuMDAgTDAuMDAsMi4wMCBaIl0KICAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyUGF0aCB7cGF0aH0gYXQgKDE2LDE2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwzLjAwIEwxLjAwLDMuMDAgTDAuNTAsMi4wMCBa
Il0KLSAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDI0
eDI0CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJtZWV0
WG1heFltaWQiXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVybkNvbnRlbnRV
bml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0g
YXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDAsMCkgc2l6ZSAyNHgyNCBbdHJhbnNmb3JtPXttPSgoOC4wMCwwLjAwKSgwLjAwLDguMDAp
KSB0PSgwLjAwLDAuMDApfV0KQEAgLTIyMiw3ICsxOTIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDQ1MHg1MDAKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMTYs
MCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0i
TTEuMDAsMC41MCBMMS4wMCwwLjUzIEwxLjAwLDAuNTYgTDAuOTksMC41OSBMMC45OCwwLjYyIEww
Ljk4LDAuNjUgTDAuOTYsMC42OCBMMC45NSwwLjcxIEwwLjk0LDAuNzQgTDAuOTIsMC43NyBMMC45
MCwwLjc5IEwwLjg5LDAuODIgTDAuODYsMC44NCBMMC44NCwwLjg2IEwwLjgyLDAuODkgTDAuNzks
MC45MCBMMC43NywwLjkyIEwwLjc0LDAuOTQgTDAuNzEsMC45NSBMMC42OCwwLjk2IEwwLjY1LDAu
OTggTDAuNjIsMC45OCBMMC41OSwwLjk5IEwwLjU2LDEuMDAgTDAuNTMsMS4wMCBMMC41MCwxLjAw
IEwwLjQ3LDEuMDAgTDAuNDQsMS4wMCBMMC40MSwwLjk5IEwwLjM4LDAuOTggTDAuMzUsMC45OCBM
MC4zMiwwLjk2IEwwLjI5LDAuOTUgTDAuMjYsMC45NCBMMC4yMywwLjkyIEwwLjIxLDAuOTAgTDAu
MTgsMC44OSBMMC4xNiwwLjg2IEwwLjE0LDAuODQgTDAuMTEsMC44MiBMMC4xMCwwLjc5IEwwLjA4
LDAuNzcgTDAuMDYsMC43NCBMMC4wNSwwLjcxIEwwLjA0LDAuNjggTDAuMDIsMC42NSBMMC4wMiww
LjYyIEwwLjAxLDAuNTkgTDAuMDAsMC41NiBMMC4wMCwwLjUzIEwwLjAwLDAuNTAgTDAuMDAsMC40
NyBMMC4wMCwwLjQ0IEwwLjAxLDAuNDEgTDAuMDIsMC4zOCBMMC4wMiwwLjM1IEwwLjA0LDAuMzIg
TDAuMDUsMC4yOSBMMC4wNiwwLjI2IEwwLjA4LDAuMjMgTDAuMTAsMC4yMSBMMC4xMSwwLjE4IEww
LjE0LDAuMTYgTDAuMTYsMC4xNCBMMC4xOCwwLjExIEwwLjIxLDAuMTAgTDAuMjMsMC4wOCBMMC4y
NiwwLjA2IEwwLjI5LDAuMDUgTDAuMzIsMC4wNCBMMC4zNSwwLjAyIEwwLjM4LDAuMDIgTDAuNDEs
MC4wMSBMMC40NCwwLjAwIEwwLjQ3LDAuMDAgTDAuNTAsMC4wMCBMMC41MywwLjAwIEwwLjU2LDAu
MDAgTDAuNTksMC4wMSBMMC42MiwwLjAyIEwwLjY1LDAuMDIgTDAuNjgsMC4wNCBMMC43MSwwLjA1
IEwwLjc0LDAuMDYgTDAuNzcsMC4wOCBMMC43OSwwLjEwIEwwLjgyLDAuMTEgTDAuODQsMC4xNCBM
MC44NiwwLjE2IEwwLjg5LDAuMTggTDAuOTAsMC4yMSBMMC45MiwwLjIzIEwwLjk0LDAuMjYgTDAu
OTUsMC4yOSBMMC45NiwwLjMyIEwwLjk4LDAuMzUgTDAuOTgsMC4zOCBMMC45OSwwLjQxIEwxLjAw
LDAuNDQgTDEuMDAsMC40NyBaIl0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDE2LDgpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBd
fV0gW2RhdGE9Ik0wLjAwLDEuMDAgTDEuMDAsMS4wMCBMMS4wMCwyLjAwIEwwLjAwLDIuMDAgWiJd
CiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxNiwxNikgc2l6ZSA4
eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMy4w
MCBMMS4wMCwzLjAwIEwwLjUwLDIuMDAgWiJdCi0gICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAyNHgyNAorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBh
dHRlcm4ge3BhdHRlcm59IFtpZD0ibWVldFhtYXhZbWF4Il0gW3BhdHRlcm5Vbml0cz11c2VyU3Bh
Y2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAgICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQgW3RyYW5zZm9ybT17
bT0oKDguMDAsMC4wMCkoMC4wMCw4LjAwKSkgdD0oMC4wMCwwLjAwKX1dCkBAIC0yNDIsNyArMjEy
LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgICAgICAgIFJl
bmRlclBhdGgge2NpcmNsZX0gYXQgKDE2LDApIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0xLjAwLDAuNTAgTDEuMDAsMC41MyBMMS4wMCwwLjU2
IEwwLjk5LDAuNTkgTDAuOTgsMC42MiBMMC45OCwwLjY1IEwwLjk2LDAuNjggTDAuOTUsMC43MSBM
MC45NCwwLjc0IEwwLjkyLDAuNzcgTDAuOTAsMC43OSBMMC44OSwwLjgyIEwwLjg2LDAuODQgTDAu
ODQsMC44NiBMMC44MiwwLjg5IEwwLjc5LDAuOTAgTDAuNzcsMC45MiBMMC43NCwwLjk0IEwwLjcx
LDAuOTUgTDAuNjgsMC45NiBMMC42NSwwLjk4IEwwLjYyLDAuOTggTDAuNTksMC45OSBMMC41Niwx
LjAwIEwwLjUzLDEuMDAgTDAuNTAsMS4wMCBMMC40NywxLjAwIEwwLjQ0LDEuMDAgTDAuNDEsMC45
OSBMMC4zOCwwLjk4IEwwLjM1LDAuOTggTDAuMzIsMC45NiBMMC4yOSwwLjk1IEwwLjI2LDAuOTQg
TDAuMjMsMC45MiBMMC4yMSwwLjkwIEwwLjE4LDAuODkgTDAuMTYsMC44NiBMMC4xNCwwLjg0IEww
LjExLDAuODIgTDAuMTAsMC43OSBMMC4wOCwwLjc3IEwwLjA2LDAuNzQgTDAuMDUsMC43MSBMMC4w
NCwwLjY4IEwwLjAyLDAuNjUgTDAuMDIsMC42MiBMMC4wMSwwLjU5IEwwLjAwLDAuNTYgTDAuMDAs
MC41MyBMMC4wMCwwLjUwIEwwLjAwLDAuNDcgTDAuMDAsMC40NCBMMC4wMSwwLjQxIEwwLjAyLDAu
MzggTDAuMDIsMC4zNSBMMC4wNCwwLjMyIEwwLjA1LDAuMjkgTDAuMDYsMC4yNiBMMC4wOCwwLjIz
IEwwLjEwLDAuMjEgTDAuMTEsMC4xOCBMMC4xNCwwLjE2IEwwLjE2LDAuMTQgTDAuMTgsMC4xMSBM
MC4yMSwwLjEwIEwwLjIzLDAuMDggTDAuMjYsMC4wNiBMMC4yOSwwLjA1IEwwLjMyLDAuMDQgTDAu
MzUsMC4wMiBMMC4zOCwwLjAyIEwwLjQxLDAuMDEgTDAuNDQsMC4wMCBMMC40NywwLjAwIEwwLjUw
LDAuMDAgTDAuNTMsMC4wMCBMMC41NiwwLjAwIEwwLjU5LDAuMDEgTDAuNjIsMC4wMiBMMC42NSww
LjAyIEwwLjY4LDAuMDQgTDAuNzEsMC4wNSBMMC43NCwwLjA2IEwwLjc3LDAuMDggTDAuNzksMC4x
MCBMMC44MiwwLjExIEwwLjg0LDAuMTQgTDAuODYsMC4xNiBMMC44OSwwLjE4IEwwLjkwLDAuMjEg
TDAuOTIsMC4yMyBMMC45NCwwLjI2IEwwLjk1LDAuMjkgTDAuOTYsMC4zMiBMMC45OCwwLjM1IEww
Ljk4LDAuMzggTDAuOTksMC40MSBMMS4wMCwwLjQ0IEwxLjAwLDAuNDcgWiJdCiAgICAgICAgICAg
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNiw4KSBzaXplIDh4OCBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwxLjAwIEwxLjAwLDEuMDAg
TDEuMDAsMi4wMCBMMC4wMCwyLjAwIFoiXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRo
IHtwYXRofSBhdCAoMTYsMTYpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNG
RkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDMuMDAgTDEuMDAsMy4wMCBMMC41MCwyLjAwIFoiXQotICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMjR4MjQKKyAg
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InNsaWNlWG1pbllt
aW4iXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVybkNvbnRlbnRVbml0cz11
c2VyU3BhY2VPblVzZV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAs
MCkgc2l6ZSAyNHgyNAogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCww
KSBzaXplIDI0eDI0CiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAs
MCkgc2l6ZSAyNHgyNCBbdHJhbnNmb3JtPXttPSgoOC4wMCwwLjAwKSgwLjAwLDguMDApKSB0PSgw
LjAwLDAuMDApfV0KQEAgLTI2Miw3ICsyMzIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1
MDAKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMTYsMCkgc2l6
ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTEuMDAs
MC41MCBMMS4wMCwwLjUzIEwxLjAwLDAuNTYgTDAuOTksMC41OSBMMC45OCwwLjYyIEwwLjk4LDAu
NjUgTDAuOTYsMC42OCBMMC45NSwwLjcxIEwwLjk0LDAuNzQgTDAuOTIsMC43NyBMMC45MCwwLjc5
IEwwLjg5LDAuODIgTDAuODYsMC44NCBMMC44NCwwLjg2IEwwLjgyLDAuODkgTDAuNzksMC45MCBM
MC43NywwLjkyIEwwLjc0LDAuOTQgTDAuNzEsMC45NSBMMC42OCwwLjk2IEwwLjY1LDAuOTggTDAu
NjIsMC45OCBMMC41OSwwLjk5IEwwLjU2LDEuMDAgTDAuNTMsMS4wMCBMMC41MCwxLjAwIEwwLjQ3
LDEuMDAgTDAuNDQsMS4wMCBMMC40MSwwLjk5IEwwLjM4LDAuOTggTDAuMzUsMC45OCBMMC4zMiww
Ljk2IEwwLjI5LDAuOTUgTDAuMjYsMC45NCBMMC4yMywwLjkyIEwwLjIxLDAuOTAgTDAuMTgsMC44
OSBMMC4xNiwwLjg2IEwwLjE0LDAuODQgTDAuMTEsMC44MiBMMC4xMCwwLjc5IEwwLjA4LDAuNzcg
TDAuMDYsMC43NCBMMC4wNSwwLjcxIEwwLjA0LDAuNjggTDAuMDIsMC42NSBMMC4wMiwwLjYyIEww
LjAxLDAuNTkgTDAuMDAsMC41NiBMMC4wMCwwLjUzIEwwLjAwLDAuNTAgTDAuMDAsMC40NyBMMC4w
MCwwLjQ0IEwwLjAxLDAuNDEgTDAuMDIsMC4zOCBMMC4wMiwwLjM1IEwwLjA0LDAuMzIgTDAuMDUs
MC4yOSBMMC4wNiwwLjI2IEwwLjA4LDAuMjMgTDAuMTAsMC4yMSBMMC4xMSwwLjE4IEwwLjE0LDAu
MTYgTDAuMTYsMC4xNCBMMC4xOCwwLjExIEwwLjIxLDAuMTAgTDAuMjMsMC4wOCBMMC4yNiwwLjA2
IEwwLjI5LDAuMDUgTDAuMzIsMC4wNCBMMC4zNSwwLjAyIEwwLjM4LDAuMDIgTDAuNDEsMC4wMSBM
MC40NCwwLjAwIEwwLjQ3LDAuMDAgTDAuNTAsMC4wMCBMMC41MywwLjAwIEwwLjU2LDAuMDAgTDAu
NTksMC4wMSBMMC42MiwwLjAyIEwwLjY1LDAuMDIgTDAuNjgsMC4wNCBMMC43MSwwLjA1IEwwLjc0
LDAuMDYgTDAuNzcsMC4wOCBMMC43OSwwLjEwIEwwLjgyLDAuMTEgTDAuODQsMC4xNCBMMC44Niww
LjE2IEwwLjg5LDAuMTggTDAuOTAsMC4yMSBMMC45MiwwLjIzIEwwLjk0LDAuMjYgTDAuOTUsMC4y
OSBMMC45NiwwLjMyIEwwLjk4LDAuMzUgTDAuOTgsMC4zOCBMMC45OSwwLjQxIEwxLjAwLDAuNDQg
TDEuMDAsMC40NyBaIl0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDE2LDgpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2Rh
dGE9Ik0wLjAwLDEuMDAgTDEuMDAsMS4wMCBMMS4wMCwyLjAwIEwwLjAwLDIuMDAgWiJdCiAgICAg
ICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxNiwxNikgc2l6ZSA4eDggW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMy4wMCBMMS4w
MCwzLjAwIEwwLjUwLDIuMDAgWiJdCi0gICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVy
bn0gYXQgKDAsMCkgc2l6ZSAyNHgyNAorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4g
e3BhdHRlcm59IFtpZD0ic2xpY2VYbWluWW1pZCJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25V
c2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0IFt0cmFuc2Zvcm09e209KCg4
LjAwLDAuMDApKDAuMDAsOC4wMCkpIHQ9KDAuMDAsMC4wMCl9XQpAQCAtMjgyLDcgKzI1Miw3IEBA
IGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQ
YXRoIHtjaXJjbGV9IGF0ICgxNiwwKSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jRkZBNTAwXX1dIFtkYXRhPSJNMS4wMCwwLjUwIEwxLjAwLDAuNTMgTDEuMDAsMC41NiBMMC45
OSwwLjU5IEwwLjk4LDAuNjIgTDAuOTgsMC42NSBMMC45NiwwLjY4IEwwLjk1LDAuNzEgTDAuOTQs
MC43NCBMMC45MiwwLjc3IEwwLjkwLDAuNzkgTDAuODksMC44MiBMMC44NiwwLjg0IEwwLjg0LDAu
ODYgTDAuODIsMC44OSBMMC43OSwwLjkwIEwwLjc3LDAuOTIgTDAuNzQsMC45NCBMMC43MSwwLjk1
IEwwLjY4LDAuOTYgTDAuNjUsMC45OCBMMC42MiwwLjk4IEwwLjU5LDAuOTkgTDAuNTYsMS4wMCBM
MC41MywxLjAwIEwwLjUwLDEuMDAgTDAuNDcsMS4wMCBMMC40NCwxLjAwIEwwLjQxLDAuOTkgTDAu
MzgsMC45OCBMMC4zNSwwLjk4IEwwLjMyLDAuOTYgTDAuMjksMC45NSBMMC4yNiwwLjk0IEwwLjIz
LDAuOTIgTDAuMjEsMC45MCBMMC4xOCwwLjg5IEwwLjE2LDAuODYgTDAuMTQsMC44NCBMMC4xMSww
LjgyIEwwLjEwLDAuNzkgTDAuMDgsMC43NyBMMC4wNiwwLjc0IEwwLjA1LDAuNzEgTDAuMDQsMC42
OCBMMC4wMiwwLjY1IEwwLjAyLDAuNjIgTDAuMDEsMC41OSBMMC4wMCwwLjU2IEwwLjAwLDAuNTMg
TDAuMDAsMC41MCBMMC4wMCwwLjQ3IEwwLjAwLDAuNDQgTDAuMDEsMC40MSBMMC4wMiwwLjM4IEww
LjAyLDAuMzUgTDAuMDQsMC4zMiBMMC4wNSwwLjI5IEwwLjA2LDAuMjYgTDAuMDgsMC4yMyBMMC4x
MCwwLjIxIEwwLjExLDAuMTggTDAuMTQsMC4xNiBMMC4xNiwwLjE0IEwwLjE4LDAuMTEgTDAuMjEs
MC4xMCBMMC4yMywwLjA4IEwwLjI2LDAuMDYgTDAuMjksMC4wNSBMMC4zMiwwLjA0IEwwLjM1LDAu
MDIgTDAuMzgsMC4wMiBMMC40MSwwLjAxIEwwLjQ0LDAuMDAgTDAuNDcsMC4wMCBMMC41MCwwLjAw
IEwwLjUzLDAuMDAgTDAuNTYsMC4wMCBMMC41OSwwLjAxIEwwLjYyLDAuMDIgTDAuNjUsMC4wMiBM
MC42OCwwLjA0IEwwLjcxLDAuMDUgTDAuNzQsMC4wNiBMMC43NywwLjA4IEwwLjc5LDAuMTAgTDAu
ODIsMC4xMSBMMC44NCwwLjE0IEwwLjg2LDAuMTYgTDAuODksMC4xOCBMMC45MCwwLjIxIEwwLjky
LDAuMjMgTDAuOTQsMC4yNiBMMC45NSwwLjI5IEwwLjk2LDAuMzIgTDAuOTgsMC4zNSBMMC45OCww
LjM4IEwwLjk5LDAuNDEgTDEuMDAsMC40NCBMMS4wMCwwLjQ3IFoiXQogICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsOCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMS4wMCBMMS4wMCwxLjAwIEwxLjAw
LDIuMDAgTDAuMDAsMi4wMCBaIl0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0
aH0gYXQgKDE2LDE2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAw
XX1dIFtkYXRhPSJNMC4wMCwzLjAwIEwxLjAwLDMuMDAgTDAuNTAsMi4wMCBaIl0KLSAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDI0eDI0CisgICAgICAg
IFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJzbGljZVhtaW5ZbWF4Il0g
W3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNw
YWNlT25Vc2VdCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNp
emUgMjR4MjQKICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6
ZSAyNHgyNAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNp
emUgMjR4MjQgW3RyYW5zZm9ybT17bT0oKDguMDAsMC4wMCkoMC4wMCw4LjAwKSkgdD0oMC4wMCww
LjAwKX1dCkBAIC0zMDIsNyArMjcyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAg
ICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDE2LDApIHNpemUgOHg4
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0xLjAwLDAuNTAg
TDEuMDAsMC41MyBMMS4wMCwwLjU2IEwwLjk5LDAuNTkgTDAuOTgsMC42MiBMMC45OCwwLjY1IEww
Ljk2LDAuNjggTDAuOTUsMC43MSBMMC45NCwwLjc0IEwwLjkyLDAuNzcgTDAuOTAsMC43OSBMMC44
OSwwLjgyIEwwLjg2LDAuODQgTDAuODQsMC44NiBMMC44MiwwLjg5IEwwLjc5LDAuOTAgTDAuNzcs
MC45MiBMMC43NCwwLjk0IEwwLjcxLDAuOTUgTDAuNjgsMC45NiBMMC42NSwwLjk4IEwwLjYyLDAu
OTggTDAuNTksMC45OSBMMC41NiwxLjAwIEwwLjUzLDEuMDAgTDAuNTAsMS4wMCBMMC40NywxLjAw
IEwwLjQ0LDEuMDAgTDAuNDEsMC45OSBMMC4zOCwwLjk4IEwwLjM1LDAuOTggTDAuMzIsMC45NiBM
MC4yOSwwLjk1IEwwLjI2LDAuOTQgTDAuMjMsMC45MiBMMC4yMSwwLjkwIEwwLjE4LDAuODkgTDAu
MTYsMC44NiBMMC4xNCwwLjg0IEwwLjExLDAuODIgTDAuMTAsMC43OSBMMC4wOCwwLjc3IEwwLjA2
LDAuNzQgTDAuMDUsMC43MSBMMC4wNCwwLjY4IEwwLjAyLDAuNjUgTDAuMDIsMC42MiBMMC4wMSww
LjU5IEwwLjAwLDAuNTYgTDAuMDAsMC41MyBMMC4wMCwwLjUwIEwwLjAwLDAuNDcgTDAuMDAsMC40
NCBMMC4wMSwwLjQxIEwwLjAyLDAuMzggTDAuMDIsMC4zNSBMMC4wNCwwLjMyIEwwLjA1LDAuMjkg
TDAuMDYsMC4yNiBMMC4wOCwwLjIzIEwwLjEwLDAuMjEgTDAuMTEsMC4xOCBMMC4xNCwwLjE2IEww
LjE2LDAuMTQgTDAuMTgsMC4xMSBMMC4yMSwwLjEwIEwwLjIzLDAuMDggTDAuMjYsMC4wNiBMMC4y
OSwwLjA1IEwwLjMyLDAuMDQgTDAuMzUsMC4wMiBMMC4zOCwwLjAyIEwwLjQxLDAuMDEgTDAuNDQs
MC4wMCBMMC40NywwLjAwIEwwLjUwLDAuMDAgTDAuNTMsMC4wMCBMMC41NiwwLjAwIEwwLjU5LDAu
MDEgTDAuNjIsMC4wMiBMMC42NSwwLjAyIEwwLjY4LDAuMDQgTDAuNzEsMC4wNSBMMC43NCwwLjA2
IEwwLjc3LDAuMDggTDAuNzksMC4xMCBMMC44MiwwLjExIEwwLjg0LDAuMTQgTDAuODYsMC4xNiBM
MC44OSwwLjE4IEwwLjkwLDAuMjEgTDAuOTIsMC4yMyBMMC45NCwwLjI2IEwwLjk1LDAuMjkgTDAu
OTYsMC4zMiBMMC45OCwwLjM1IEwwLjk4LDAuMzggTDAuOTksMC40MSBMMS4wMCwwLjQ0IEwxLjAw
LDAuNDcgWiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNiw4
KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJN
MC4wMCwxLjAwIEwxLjAwLDEuMDAgTDEuMDAsMi4wMCBMMC4wMCwyLjAwIFoiXQogICAgICAgICAg
ICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTYsMTYpIHNpemUgOHg4IFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDMuMDAgTDEuMDAsMy4w
MCBMMC41MCwyLjAwIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0
ICgwLDApIHNpemUgMjR4MjQKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0
ZXJufSBbaWQ9InNsaWNlWG1pZFltaW4iXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBb
cGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyNHgyNCBbdHJhbnNmb3JtPXttPSgoOC4wMCww
LjAwKSgwLjAwLDguMDApKSB0PSgwLjAwLDAuMDApfV0KQEAgLTMyMiw3ICsyOTIsNyBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7
Y2lyY2xlfSBhdCAoMTYsMCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZG
QTUwMF19XSBbZGF0YT0iTTEuMDAsMC41MCBMMS4wMCwwLjUzIEwxLjAwLDAuNTYgTDAuOTksMC41
OSBMMC45OCwwLjYyIEwwLjk4LDAuNjUgTDAuOTYsMC42OCBMMC45NSwwLjcxIEwwLjk0LDAuNzQg
TDAuOTIsMC43NyBMMC45MCwwLjc5IEwwLjg5LDAuODIgTDAuODYsMC44NCBMMC44NCwwLjg2IEww
LjgyLDAuODkgTDAuNzksMC45MCBMMC43NywwLjkyIEwwLjc0LDAuOTQgTDAuNzEsMC45NSBMMC42
OCwwLjk2IEwwLjY1LDAuOTggTDAuNjIsMC45OCBMMC41OSwwLjk5IEwwLjU2LDEuMDAgTDAuNTMs
MS4wMCBMMC41MCwxLjAwIEwwLjQ3LDEuMDAgTDAuNDQsMS4wMCBMMC40MSwwLjk5IEwwLjM4LDAu
OTggTDAuMzUsMC45OCBMMC4zMiwwLjk2IEwwLjI5LDAuOTUgTDAuMjYsMC45NCBMMC4yMywwLjky
IEwwLjIxLDAuOTAgTDAuMTgsMC44OSBMMC4xNiwwLjg2IEwwLjE0LDAuODQgTDAuMTEsMC44MiBM
MC4xMCwwLjc5IEwwLjA4LDAuNzcgTDAuMDYsMC43NCBMMC4wNSwwLjcxIEwwLjA0LDAuNjggTDAu
MDIsMC42NSBMMC4wMiwwLjYyIEwwLjAxLDAuNTkgTDAuMDAsMC41NiBMMC4wMCwwLjUzIEwwLjAw
LDAuNTAgTDAuMDAsMC40NyBMMC4wMCwwLjQ0IEwwLjAxLDAuNDEgTDAuMDIsMC4zOCBMMC4wMiww
LjM1IEwwLjA0LDAuMzIgTDAuMDUsMC4yOSBMMC4wNiwwLjI2IEwwLjA4LDAuMjMgTDAuMTAsMC4y
MSBMMC4xMSwwLjE4IEwwLjE0LDAuMTYgTDAuMTYsMC4xNCBMMC4xOCwwLjExIEwwLjIxLDAuMTAg
TDAuMjMsMC4wOCBMMC4yNiwwLjA2IEwwLjI5LDAuMDUgTDAuMzIsMC4wNCBMMC4zNSwwLjAyIEww
LjM4LDAuMDIgTDAuNDEsMC4wMSBMMC40NCwwLjAwIEwwLjQ3LDAuMDAgTDAuNTAsMC4wMCBMMC41
MywwLjAwIEwwLjU2LDAuMDAgTDAuNTksMC4wMSBMMC42MiwwLjAyIEwwLjY1LDAuMDIgTDAuNjgs
MC4wNCBMMC43MSwwLjA1IEwwLjc0LDAuMDYgTDAuNzcsMC4wOCBMMC43OSwwLjEwIEwwLjgyLDAu
MTEgTDAuODQsMC4xNCBMMC44NiwwLjE2IEwwLjg5LDAuMTggTDAuOTAsMC4yMSBMMC45MiwwLjIz
IEwwLjk0LDAuMjYgTDAuOTUsMC4yOSBMMC45NiwwLjMyIEwwLjk4LDAuMzUgTDAuOTgsMC4zOCBM
MC45OSwwLjQxIEwxLjAwLDAuNDQgTDEuMDAsMC40NyBaIl0KICAgICAgICAgICAgICAgICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE2LDgpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDEuMDAgTDEuMDAsMS4wMCBMMS4wMCwyLjAw
IEwwLjAwLDIuMDAgWiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0
ICgxNiwxNikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBb
ZGF0YT0iTTAuMDAsMy4wMCBMMS4wMCwzLjAwIEwwLjUwLDIuMDAgWiJdCi0gICAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAyNHgyNAorICAgICAgICBSZW5k
ZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0ic2xpY2VYbWlkWW1pZCJdIFtwYXR0
ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9u
VXNlXQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDI0
eDI0CiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4
MjQKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0
eDI0IFt0cmFuc2Zvcm09e209KCg4LjAwLDAuMDApKDAuMDAsOC4wMCkpIHQ9KDAuMDAsMC4wMCl9
XQpAQCAtMzQyLDcgKzMxMiw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgxNiwwKSBzaXplIDh4OCBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMS4wMCwwLjUwIEwxLjAw
LDAuNTMgTDEuMDAsMC41NiBMMC45OSwwLjU5IEwwLjk4LDAuNjIgTDAuOTgsMC42NSBMMC45Niww
LjY4IEwwLjk1LDAuNzEgTDAuOTQsMC43NCBMMC45MiwwLjc3IEwwLjkwLDAuNzkgTDAuODksMC44
MiBMMC44NiwwLjg0IEwwLjg0LDAuODYgTDAuODIsMC44OSBMMC43OSwwLjkwIEwwLjc3LDAuOTIg
TDAuNzQsMC45NCBMMC43MSwwLjk1IEwwLjY4LDAuOTYgTDAuNjUsMC45OCBMMC42MiwwLjk4IEww
LjU5LDAuOTkgTDAuNTYsMS4wMCBMMC41MywxLjAwIEwwLjUwLDEuMDAgTDAuNDcsMS4wMCBMMC40
NCwxLjAwIEwwLjQxLDAuOTkgTDAuMzgsMC45OCBMMC4zNSwwLjk4IEwwLjMyLDAuOTYgTDAuMjks
MC45NSBMMC4yNiwwLjk0IEwwLjIzLDAuOTIgTDAuMjEsMC45MCBMMC4xOCwwLjg5IEwwLjE2LDAu
ODYgTDAuMTQsMC44NCBMMC4xMSwwLjgyIEwwLjEwLDAuNzkgTDAuMDgsMC43NyBMMC4wNiwwLjc0
IEwwLjA1LDAuNzEgTDAuMDQsMC42OCBMMC4wMiwwLjY1IEwwLjAyLDAuNjIgTDAuMDEsMC41OSBM
MC4wMCwwLjU2IEwwLjAwLDAuNTMgTDAuMDAsMC41MCBMMC4wMCwwLjQ3IEwwLjAwLDAuNDQgTDAu
MDEsMC40MSBMMC4wMiwwLjM4IEwwLjAyLDAuMzUgTDAuMDQsMC4zMiBMMC4wNSwwLjI5IEwwLjA2
LDAuMjYgTDAuMDgsMC4yMyBMMC4xMCwwLjIxIEwwLjExLDAuMTggTDAuMTQsMC4xNiBMMC4xNiww
LjE0IEwwLjE4LDAuMTEgTDAuMjEsMC4xMCBMMC4yMywwLjA4IEwwLjI2LDAuMDYgTDAuMjksMC4w
NSBMMC4zMiwwLjA0IEwwLjM1LDAuMDIgTDAuMzgsMC4wMiBMMC40MSwwLjAxIEwwLjQ0LDAuMDAg
TDAuNDcsMC4wMCBMMC41MCwwLjAwIEwwLjUzLDAuMDAgTDAuNTYsMC4wMCBMMC41OSwwLjAxIEww
LjYyLDAuMDIgTDAuNjUsMC4wMiBMMC42OCwwLjA0IEwwLjcxLDAuMDUgTDAuNzQsMC4wNiBMMC43
NywwLjA4IEwwLjc5LDAuMTAgTDAuODIsMC4xMSBMMC44NCwwLjE0IEwwLjg2LDAuMTYgTDAuODks
MC4xOCBMMC45MCwwLjIxIEwwLjkyLDAuMjMgTDAuOTQsMC4yNiBMMC45NSwwLjI5IEwwLjk2LDAu
MzIgTDAuOTgsMC4zNSBMMC45OCwwLjM4IEwwLjk5LDAuNDEgTDEuMDAsMC40NCBMMS4wMCwwLjQ3
IFoiXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsOCkgc2l6
ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAs
MS4wMCBMMS4wMCwxLjAwIEwxLjAwLDIuMDAgTDAuMDAsMi4wMCBaIl0KICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDE2LDE2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwzLjAwIEwxLjAwLDMuMDAgTDAu
NTAsMi4wMCBaIl0KLSAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCww
KSBzaXplIDI0eDI0CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0g
W2lkPSJzbGljZVhtaWRZbWF4Il0gW3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRl
cm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQgW3RyYW5zZm9ybT17bT0oKDguMDAsMC4wMCko
MC4wMCw4LjAwKSkgdD0oMC4wMCwwLjAwKX1dCkBAIC0zNjIsNyArMzMyLDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNs
ZX0gYXQgKDE2LDApIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBd
fV0gW2RhdGE9Ik0xLjAwLDAuNTAgTDEuMDAsMC41MyBMMS4wMCwwLjU2IEwwLjk5LDAuNTkgTDAu
OTgsMC42MiBMMC45OCwwLjY1IEwwLjk2LDAuNjggTDAuOTUsMC43MSBMMC45NCwwLjc0IEwwLjky
LDAuNzcgTDAuOTAsMC43OSBMMC44OSwwLjgyIEwwLjg2LDAuODQgTDAuODQsMC44NiBMMC44Miww
Ljg5IEwwLjc5LDAuOTAgTDAuNzcsMC45MiBMMC43NCwwLjk0IEwwLjcxLDAuOTUgTDAuNjgsMC45
NiBMMC42NSwwLjk4IEwwLjYyLDAuOTggTDAuNTksMC45OSBMMC41NiwxLjAwIEwwLjUzLDEuMDAg
TDAuNTAsMS4wMCBMMC40NywxLjAwIEwwLjQ0LDEuMDAgTDAuNDEsMC45OSBMMC4zOCwwLjk4IEww
LjM1LDAuOTggTDAuMzIsMC45NiBMMC4yOSwwLjk1IEwwLjI2LDAuOTQgTDAuMjMsMC45MiBMMC4y
MSwwLjkwIEwwLjE4LDAuODkgTDAuMTYsMC44NiBMMC4xNCwwLjg0IEwwLjExLDAuODIgTDAuMTAs
MC43OSBMMC4wOCwwLjc3IEwwLjA2LDAuNzQgTDAuMDUsMC43MSBMMC4wNCwwLjY4IEwwLjAyLDAu
NjUgTDAuMDIsMC42MiBMMC4wMSwwLjU5IEwwLjAwLDAuNTYgTDAuMDAsMC41MyBMMC4wMCwwLjUw
IEwwLjAwLDAuNDcgTDAuMDAsMC40NCBMMC4wMSwwLjQxIEwwLjAyLDAuMzggTDAuMDIsMC4zNSBM
MC4wNCwwLjMyIEwwLjA1LDAuMjkgTDAuMDYsMC4yNiBMMC4wOCwwLjIzIEwwLjEwLDAuMjEgTDAu
MTEsMC4xOCBMMC4xNCwwLjE2IEwwLjE2LDAuMTQgTDAuMTgsMC4xMSBMMC4yMSwwLjEwIEwwLjIz
LDAuMDggTDAuMjYsMC4wNiBMMC4yOSwwLjA1IEwwLjMyLDAuMDQgTDAuMzUsMC4wMiBMMC4zOCww
LjAyIEwwLjQxLDAuMDEgTDAuNDQsMC4wMCBMMC40NywwLjAwIEwwLjUwLDAuMDAgTDAuNTMsMC4w
MCBMMC41NiwwLjAwIEwwLjU5LDAuMDEgTDAuNjIsMC4wMiBMMC42NSwwLjAyIEwwLjY4LDAuMDQg
TDAuNzEsMC4wNSBMMC43NCwwLjA2IEwwLjc3LDAuMDggTDAuNzksMC4xMCBMMC44MiwwLjExIEww
Ljg0LDAuMTQgTDAuODYsMC4xNiBMMC44OSwwLjE4IEwwLjkwLDAuMjEgTDAuOTIsMC4yMyBMMC45
NCwwLjI2IEwwLjk1LDAuMjkgTDAuOTYsMC4zMiBMMC45OCwwLjM1IEwwLjk4LDAuMzggTDAuOTks
MC40MSBMMS4wMCwwLjQ0IEwxLjAwLDAuNDcgWiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxNiw4KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwxLjAwIEwxLjAwLDEuMDAgTDEuMDAsMi4wMCBMMC4w
MCwyLjAwIFoiXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTYs
MTYpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9
Ik0wLjAwLDMuMDAgTDEuMDAsMy4wMCBMMC41MCwyLjAwIFoiXQotICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMjR4MjQKKyAgICAgICAgUmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InNsaWNlWG1heFltaW4iXSBbcGF0dGVyblVu
aXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0K
ICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAyNHgyNAog
ICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAg
ICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyNHgyNCBb
dHJhbnNmb3JtPXttPSgoOC4wMCwwLjAwKSgwLjAwLDguMDApKSB0PSgwLjAwLDAuMDApfV0KQEAg
LTM4Miw3ICszNTIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAgICAg
ICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMTYsMCkgc2l6ZSA4eDggW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTEuMDAsMC41MCBMMS4wMCwwLjUz
IEwxLjAwLDAuNTYgTDAuOTksMC41OSBMMC45OCwwLjYyIEwwLjk4LDAuNjUgTDAuOTYsMC42OCBM
MC45NSwwLjcxIEwwLjk0LDAuNzQgTDAuOTIsMC43NyBMMC45MCwwLjc5IEwwLjg5LDAuODIgTDAu
ODYsMC44NCBMMC44NCwwLjg2IEwwLjgyLDAuODkgTDAuNzksMC45MCBMMC43NywwLjkyIEwwLjc0
LDAuOTQgTDAuNzEsMC45NSBMMC42OCwwLjk2IEwwLjY1LDAuOTggTDAuNjIsMC45OCBMMC41OSww
Ljk5IEwwLjU2LDEuMDAgTDAuNTMsMS4wMCBMMC41MCwxLjAwIEwwLjQ3LDEuMDAgTDAuNDQsMS4w
MCBMMC40MSwwLjk5IEwwLjM4LDAuOTggTDAuMzUsMC45OCBMMC4zMiwwLjk2IEwwLjI5LDAuOTUg
TDAuMjYsMC45NCBMMC4yMywwLjkyIEwwLjIxLDAuOTAgTDAuMTgsMC44OSBMMC4xNiwwLjg2IEww
LjE0LDAuODQgTDAuMTEsMC44MiBMMC4xMCwwLjc5IEwwLjA4LDAuNzcgTDAuMDYsMC43NCBMMC4w
NSwwLjcxIEwwLjA0LDAuNjggTDAuMDIsMC42NSBMMC4wMiwwLjYyIEwwLjAxLDAuNTkgTDAuMDAs
MC41NiBMMC4wMCwwLjUzIEwwLjAwLDAuNTAgTDAuMDAsMC40NyBMMC4wMCwwLjQ0IEwwLjAxLDAu
NDEgTDAuMDIsMC4zOCBMMC4wMiwwLjM1IEwwLjA0LDAuMzIgTDAuMDUsMC4yOSBMMC4wNiwwLjI2
IEwwLjA4LDAuMjMgTDAuMTAsMC4yMSBMMC4xMSwwLjE4IEwwLjE0LDAuMTYgTDAuMTYsMC4xNCBM
MC4xOCwwLjExIEwwLjIxLDAuMTAgTDAuMjMsMC4wOCBMMC4yNiwwLjA2IEwwLjI5LDAuMDUgTDAu
MzIsMC4wNCBMMC4zNSwwLjAyIEwwLjM4LDAuMDIgTDAuNDEsMC4wMSBMMC40NCwwLjAwIEwwLjQ3
LDAuMDAgTDAuNTAsMC4wMCBMMC41MywwLjAwIEwwLjU2LDAuMDAgTDAuNTksMC4wMSBMMC42Miww
LjAyIEwwLjY1LDAuMDIgTDAuNjgsMC4wNCBMMC43MSwwLjA1IEwwLjc0LDAuMDYgTDAuNzcsMC4w
OCBMMC43OSwwLjEwIEwwLjgyLDAuMTEgTDAuODQsMC4xNCBMMC44NiwwLjE2IEwwLjg5LDAuMTgg
TDAuOTAsMC4yMSBMMC45MiwwLjIzIEwwLjk0LDAuMjYgTDAuOTUsMC4yOSBMMC45NiwwLjMyIEww
Ljk4LDAuMzUgTDAuOTgsMC4zOCBMMC45OSwwLjQxIEwxLjAwLDAuNDQgTDEuMDAsMC40NyBaIl0K
ICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE2LDgpIHNpemUgOHg4
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDEuMDAg
TDEuMDAsMS4wMCBMMS4wMCwyLjAwIEwwLjAwLDIuMDAgWiJdCiAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclBhdGgge3BhdGh9IGF0ICgxNiwxNikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMy4wMCBMMS4wMCwzLjAwIEwwLjUwLDIu
MDAgWiJdCi0gICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6
ZSAyNHgyNAorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0i
c2xpY2VYbWF4WW1pZCJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29u
dGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
dXNlfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0IFt0cmFuc2Zvcm09e209KCg4LjAwLDAuMDApKDAuMDAs
OC4wMCkpIHQ9KDAuMDAsMC4wMCl9XQpAQCAtNDAyLDcgKzM3Miw3IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgNDUweDUwMAogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0
ICgxNiwwKSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtk
YXRhPSJNMS4wMCwwLjUwIEwxLjAwLDAuNTMgTDEuMDAsMC41NiBMMC45OSwwLjU5IEwwLjk4LDAu
NjIgTDAuOTgsMC42NSBMMC45NiwwLjY4IEwwLjk1LDAuNzEgTDAuOTQsMC43NCBMMC45MiwwLjc3
IEwwLjkwLDAuNzkgTDAuODksMC44MiBMMC44NiwwLjg0IEwwLjg0LDAuODYgTDAuODIsMC44OSBM
MC43OSwwLjkwIEwwLjc3LDAuOTIgTDAuNzQsMC45NCBMMC43MSwwLjk1IEwwLjY4LDAuOTYgTDAu
NjUsMC45OCBMMC42MiwwLjk4IEwwLjU5LDAuOTkgTDAuNTYsMS4wMCBMMC41MywxLjAwIEwwLjUw
LDEuMDAgTDAuNDcsMS4wMCBMMC40NCwxLjAwIEwwLjQxLDAuOTkgTDAuMzgsMC45OCBMMC4zNSww
Ljk4IEwwLjMyLDAuOTYgTDAuMjksMC45NSBMMC4yNiwwLjk0IEwwLjIzLDAuOTIgTDAuMjEsMC45
MCBMMC4xOCwwLjg5IEwwLjE2LDAuODYgTDAuMTQsMC44NCBMMC4xMSwwLjgyIEwwLjEwLDAuNzkg
TDAuMDgsMC43NyBMMC4wNiwwLjc0IEwwLjA1LDAuNzEgTDAuMDQsMC42OCBMMC4wMiwwLjY1IEww
LjAyLDAuNjIgTDAuMDEsMC41OSBMMC4wMCwwLjU2IEwwLjAwLDAuNTMgTDAuMDAsMC41MCBMMC4w
MCwwLjQ3IEwwLjAwLDAuNDQgTDAuMDEsMC40MSBMMC4wMiwwLjM4IEwwLjAyLDAuMzUgTDAuMDQs
MC4zMiBMMC4wNSwwLjI5IEwwLjA2LDAuMjYgTDAuMDgsMC4yMyBMMC4xMCwwLjIxIEwwLjExLDAu
MTggTDAuMTQsMC4xNiBMMC4xNiwwLjE0IEwwLjE4LDAuMTEgTDAuMjEsMC4xMCBMMC4yMywwLjA4
IEwwLjI2LDAuMDYgTDAuMjksMC4wNSBMMC4zMiwwLjA0IEwwLjM1LDAuMDIgTDAuMzgsMC4wMiBM
MC40MSwwLjAxIEwwLjQ0LDAuMDAgTDAuNDcsMC4wMCBMMC41MCwwLjAwIEwwLjUzLDAuMDAgTDAu
NTYsMC4wMCBMMC41OSwwLjAxIEwwLjYyLDAuMDIgTDAuNjUsMC4wMiBMMC42OCwwLjA0IEwwLjcx
LDAuMDUgTDAuNzQsMC4wNiBMMC43NywwLjA4IEwwLjc5LDAuMTAgTDAuODIsMC4xMSBMMC44NCww
LjE0IEwwLjg2LDAuMTYgTDAuODksMC4xOCBMMC45MCwwLjIxIEwwLjkyLDAuMjMgTDAuOTQsMC4y
NiBMMC45NSwwLjI5IEwwLjk2LDAuMzIgTDAuOTgsMC4zNSBMMC45OCwwLjM4IEwwLjk5LDAuNDEg
TDEuMDAsMC40NCBMMS4wMCwwLjQ3IFoiXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMTYsOCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZG
QTUwMF19XSBbZGF0YT0iTTAuMDAsMS4wMCBMMS4wMCwxLjAwIEwxLjAwLDIuMDAgTDAuMDAsMi4w
MCBaIl0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDE2LDE2KSBz
aXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4w
MCwzLjAwIEwxLjAwLDMuMDAgTDAuNTAsMi4wMCBaIl0KLSAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDI0eDI0CisgICAgICAgIFJlbmRlclNWR1Jlc291
cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJzbGljZVhtYXhZbWF4Il0gW3BhdHRlcm5Vbml0cz11
c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAg
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQgW3RyYW5z
Zm9ybT17bT0oKDguMDAsMC4wMCkoMC4wMCw4LjAwKSkgdD0oMC4wMCwwLjAwKX1dCkBAIC00MjIs
NyArMzkyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgICAg
ICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDE2LDApIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0xLjAwLDAuNTAgTDEuMDAsMC41MyBMMS4w
MCwwLjU2IEwwLjk5LDAuNTkgTDAuOTgsMC42MiBMMC45OCwwLjY1IEwwLjk2LDAuNjggTDAuOTUs
MC43MSBMMC45NCwwLjc0IEwwLjkyLDAuNzcgTDAuOTAsMC43OSBMMC44OSwwLjgyIEwwLjg2LDAu
ODQgTDAuODQsMC44NiBMMC44MiwwLjg5IEwwLjc5LDAuOTAgTDAuNzcsMC45MiBMMC43NCwwLjk0
IEwwLjcxLDAuOTUgTDAuNjgsMC45NiBMMC42NSwwLjk4IEwwLjYyLDAuOTggTDAuNTksMC45OSBM
MC41NiwxLjAwIEwwLjUzLDEuMDAgTDAuNTAsMS4wMCBMMC40NywxLjAwIEwwLjQ0LDEuMDAgTDAu
NDEsMC45OSBMMC4zOCwwLjk4IEwwLjM1LDAuOTggTDAuMzIsMC45NiBMMC4yOSwwLjk1IEwwLjI2
LDAuOTQgTDAuMjMsMC45MiBMMC4yMSwwLjkwIEwwLjE4LDAuODkgTDAuMTYsMC44NiBMMC4xNCww
Ljg0IEwwLjExLDAuODIgTDAuMTAsMC43OSBMMC4wOCwwLjc3IEwwLjA2LDAuNzQgTDAuMDUsMC43
MSBMMC4wNCwwLjY4IEwwLjAyLDAuNjUgTDAuMDIsMC42MiBMMC4wMSwwLjU5IEwwLjAwLDAuNTYg
TDAuMDAsMC41MyBMMC4wMCwwLjUwIEwwLjAwLDAuNDcgTDAuMDAsMC40NCBMMC4wMSwwLjQxIEww
LjAyLDAuMzggTDAuMDIsMC4zNSBMMC4wNCwwLjMyIEwwLjA1LDAuMjkgTDAuMDYsMC4yNiBMMC4w
OCwwLjIzIEwwLjEwLDAuMjEgTDAuMTEsMC4xOCBMMC4xNCwwLjE2IEwwLjE2LDAuMTQgTDAuMTgs
MC4xMSBMMC4yMSwwLjEwIEwwLjIzLDAuMDggTDAuMjYsMC4wNiBMMC4yOSwwLjA1IEwwLjMyLDAu
MDQgTDAuMzUsMC4wMiBMMC4zOCwwLjAyIEwwLjQxLDAuMDEgTDAuNDQsMC4wMCBMMC40NywwLjAw
IEwwLjUwLDAuMDAgTDAuNTMsMC4wMCBMMC41NiwwLjAwIEwwLjU5LDAuMDEgTDAuNjIsMC4wMiBM
MC42NSwwLjAyIEwwLjY4LDAuMDQgTDAuNzEsMC4wNSBMMC43NCwwLjA2IEwwLjc3LDAuMDggTDAu
NzksMC4xMCBMMC44MiwwLjExIEwwLjg0LDAuMTQgTDAuODYsMC4xNiBMMC44OSwwLjE4IEwwLjkw
LDAuMjEgTDAuOTIsMC4yMyBMMC45NCwwLjI2IEwwLjk1LDAuMjkgTDAuOTYsMC4zMiBMMC45OCww
LjM1IEwwLjk4LDAuMzggTDAuOTksMC40MSBMMS4wMCwwLjQ0IEwxLjAwLDAuNDcgWiJdCiAgICAg
ICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNiw4KSBzaXplIDh4OCBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwxLjAwIEwxLjAw
LDEuMDAgTDEuMDAsMi4wMCBMMC4wMCwyLjAwIFoiXQogICAgICAgICAgICAgICAgICAgICBSZW5k
ZXJQYXRoIHtwYXRofSBhdCAoMTYsMTYpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDMuMDAgTDEuMDAsMy4wMCBMMC41MCwyLjAwIFoi
XQotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMjR4
MjQKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9Im5vbmVY
bWluWW1pbiJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVu
aXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBh
dCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMCwwKSBzaXplIDI0eDI0IFt0cmFuc2Zvcm09e209KCg4LjAwLDAuMDApKDAuMDAsOC4wMCkp
IHQ9KDAuMDAsMC4wMCl9XQpAQCAtNDQyLDcgKzQxMiw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUg
NDUweDUwMAogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgxNiww
KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJN
MS4wMCwwLjUwIEwxLjAwLDAuNTMgTDEuMDAsMC41NiBMMC45OSwwLjU5IEwwLjk4LDAuNjIgTDAu
OTgsMC42NSBMMC45NiwwLjY4IEwwLjk1LDAuNzEgTDAuOTQsMC43NCBMMC45MiwwLjc3IEwwLjkw
LDAuNzkgTDAuODksMC44MiBMMC44NiwwLjg0IEwwLjg0LDAuODYgTDAuODIsMC44OSBMMC43OSww
LjkwIEwwLjc3LDAuOTIgTDAuNzQsMC45NCBMMC43MSwwLjk1IEwwLjY4LDAuOTYgTDAuNjUsMC45
OCBMMC42MiwwLjk4IEwwLjU5LDAuOTkgTDAuNTYsMS4wMCBMMC41MywxLjAwIEwwLjUwLDEuMDAg
TDAuNDcsMS4wMCBMMC40NCwxLjAwIEwwLjQxLDAuOTkgTDAuMzgsMC45OCBMMC4zNSwwLjk4IEww
LjMyLDAuOTYgTDAuMjksMC45NSBMMC4yNiwwLjk0IEwwLjIzLDAuOTIgTDAuMjEsMC45MCBMMC4x
OCwwLjg5IEwwLjE2LDAuODYgTDAuMTQsMC44NCBMMC4xMSwwLjgyIEwwLjEwLDAuNzkgTDAuMDgs
MC43NyBMMC4wNiwwLjc0IEwwLjA1LDAuNzEgTDAuMDQsMC42OCBMMC4wMiwwLjY1IEwwLjAyLDAu
NjIgTDAuMDEsMC41OSBMMC4wMCwwLjU2IEwwLjAwLDAuNTMgTDAuMDAsMC41MCBMMC4wMCwwLjQ3
IEwwLjAwLDAuNDQgTDAuMDEsMC40MSBMMC4wMiwwLjM4IEwwLjAyLDAuMzUgTDAuMDQsMC4zMiBM
MC4wNSwwLjI5IEwwLjA2LDAuMjYgTDAuMDgsMC4yMyBMMC4xMCwwLjIxIEwwLjExLDAuMTggTDAu
MTQsMC4xNiBMMC4xNiwwLjE0IEwwLjE4LDAuMTEgTDAuMjEsMC4xMCBMMC4yMywwLjA4IEwwLjI2
LDAuMDYgTDAuMjksMC4wNSBMMC4zMiwwLjA0IEwwLjM1LDAuMDIgTDAuMzgsMC4wMiBMMC40MSww
LjAxIEwwLjQ0LDAuMDAgTDAuNDcsMC4wMCBMMC41MCwwLjAwIEwwLjUzLDAuMDAgTDAuNTYsMC4w
MCBMMC41OSwwLjAxIEwwLjYyLDAuMDIgTDAuNjUsMC4wMiBMMC42OCwwLjA0IEwwLjcxLDAuMDUg
TDAuNzQsMC4wNiBMMC43NywwLjA4IEwwLjc5LDAuMTAgTDAuODIsMC4xMSBMMC44NCwwLjE0IEww
Ljg2LDAuMTYgTDAuODksMC4xOCBMMC45MCwwLjIxIEwwLjkyLDAuMjMgTDAuOTQsMC4yNiBMMC45
NSwwLjI5IEwwLjk2LDAuMzIgTDAuOTgsMC4zNSBMMC45OCwwLjM4IEwwLjk5LDAuNDEgTDEuMDAs
MC40NCBMMS4wMCwwLjQ3IFoiXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMTYsOCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19
XSBbZGF0YT0iTTAuMDAsMS4wMCBMMS4wMCwxLjAwIEwxLjAwLDIuMDAgTDAuMDAsMi4wMCBaIl0K
ICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDE2LDE2KSBzaXplIDh4
OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwzLjAw
IEwxLjAwLDMuMDAgTDAuNTAsMi4wMCBaIl0KLSAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtw
YXR0ZXJufSBhdCAoMCwwKSBzaXplIDI0eDI0CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybiB7cGF0dGVybn0gW2lkPSJub25lWG1pblltaWQiXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFj
ZU9uVXNlXSBbcGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyNHgyNCBbdHJhbnNmb3JtPXtt
PSgoOC4wMCwwLjAwKSgwLjAwLDguMDApKSB0PSgwLjAwLDAuMDApfV0KQEAgLTQ2Miw3ICs0MzIs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMTYsMCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTEuMDAsMC41MCBMMS4wMCwwLjUzIEwxLjAwLDAuNTYg
TDAuOTksMC41OSBMMC45OCwwLjYyIEwwLjk4LDAuNjUgTDAuOTYsMC42OCBMMC45NSwwLjcxIEww
Ljk0LDAuNzQgTDAuOTIsMC43NyBMMC45MCwwLjc5IEwwLjg5LDAuODIgTDAuODYsMC44NCBMMC44
NCwwLjg2IEwwLjgyLDAuODkgTDAuNzksMC45MCBMMC43NywwLjkyIEwwLjc0LDAuOTQgTDAuNzEs
MC45NSBMMC42OCwwLjk2IEwwLjY1LDAuOTggTDAuNjIsMC45OCBMMC41OSwwLjk5IEwwLjU2LDEu
MDAgTDAuNTMsMS4wMCBMMC41MCwxLjAwIEwwLjQ3LDEuMDAgTDAuNDQsMS4wMCBMMC40MSwwLjk5
IEwwLjM4LDAuOTggTDAuMzUsMC45OCBMMC4zMiwwLjk2IEwwLjI5LDAuOTUgTDAuMjYsMC45NCBM
MC4yMywwLjkyIEwwLjIxLDAuOTAgTDAuMTgsMC44OSBMMC4xNiwwLjg2IEwwLjE0LDAuODQgTDAu
MTEsMC44MiBMMC4xMCwwLjc5IEwwLjA4LDAuNzcgTDAuMDYsMC43NCBMMC4wNSwwLjcxIEwwLjA0
LDAuNjggTDAuMDIsMC42NSBMMC4wMiwwLjYyIEwwLjAxLDAuNTkgTDAuMDAsMC41NiBMMC4wMCww
LjUzIEwwLjAwLDAuNTAgTDAuMDAsMC40NyBMMC4wMCwwLjQ0IEwwLjAxLDAuNDEgTDAuMDIsMC4z
OCBMMC4wMiwwLjM1IEwwLjA0LDAuMzIgTDAuMDUsMC4yOSBMMC4wNiwwLjI2IEwwLjA4LDAuMjMg
TDAuMTAsMC4yMSBMMC4xMSwwLjE4IEwwLjE0LDAuMTYgTDAuMTYsMC4xNCBMMC4xOCwwLjExIEww
LjIxLDAuMTAgTDAuMjMsMC4wOCBMMC4yNiwwLjA2IEwwLjI5LDAuMDUgTDAuMzIsMC4wNCBMMC4z
NSwwLjAyIEwwLjM4LDAuMDIgTDAuNDEsMC4wMSBMMC40NCwwLjAwIEwwLjQ3LDAuMDAgTDAuNTAs
MC4wMCBMMC41MywwLjAwIEwwLjU2LDAuMDAgTDAuNTksMC4wMSBMMC42MiwwLjAyIEwwLjY1LDAu
MDIgTDAuNjgsMC4wNCBMMC43MSwwLjA1IEwwLjc0LDAuMDYgTDAuNzcsMC4wOCBMMC43OSwwLjEw
IEwwLjgyLDAuMTEgTDAuODQsMC4xNCBMMC44NiwwLjE2IEwwLjg5LDAuMTggTDAuOTAsMC4yMSBM
MC45MiwwLjIzIEwwLjk0LDAuMjYgTDAuOTUsMC4yOSBMMC45NiwwLjMyIEwwLjk4LDAuMzUgTDAu
OTgsMC4zOCBMMC45OSwwLjQxIEwxLjAwLDAuNDQgTDEuMDAsMC40NyBaIl0KICAgICAgICAgICAg
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE2LDgpIHNpemUgOHg4IFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDEuMDAgTDEuMDAsMS4wMCBM
MS4wMCwyLjAwIEwwLjAwLDIuMDAgWiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgg
e3BhdGh9IGF0ICgxNiwxNikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZG
QTUwMF19XSBbZGF0YT0iTTAuMDAsMy4wMCBMMS4wMCwzLjAwIEwwLjUwLDIuMDAgWiJdCi0gICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAyNHgyNAorICAg
ICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0ibm9uZVhtaW5ZbWF4
Il0gW3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNl
clNwYWNlT25Vc2VdCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDAp
IHNpemUgMjR4MjQKICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkg
c2l6ZSAyNHgyNAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDAp
IHNpemUgMjR4MjQgW3RyYW5zZm9ybT17bT0oKDguMDAsMC4wMCkoMC4wMCw4LjAwKSkgdD0oMC4w
MCwwLjAwKX1dCkBAIC00ODIsNyArNDUyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAw
CiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDE2LDApIHNpemUg
OHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0xLjAwLDAu
NTAgTDEuMDAsMC41MyBMMS4wMCwwLjU2IEwwLjk5LDAuNTkgTDAuOTgsMC42MiBMMC45OCwwLjY1
IEwwLjk2LDAuNjggTDAuOTUsMC43MSBMMC45NCwwLjc0IEwwLjkyLDAuNzcgTDAuOTAsMC43OSBM
MC44OSwwLjgyIEwwLjg2LDAuODQgTDAuODQsMC44NiBMMC44MiwwLjg5IEwwLjc5LDAuOTAgTDAu
NzcsMC45MiBMMC43NCwwLjk0IEwwLjcxLDAuOTUgTDAuNjgsMC45NiBMMC42NSwwLjk4IEwwLjYy
LDAuOTggTDAuNTksMC45OSBMMC41NiwxLjAwIEwwLjUzLDEuMDAgTDAuNTAsMS4wMCBMMC40Nywx
LjAwIEwwLjQ0LDEuMDAgTDAuNDEsMC45OSBMMC4zOCwwLjk4IEwwLjM1LDAuOTggTDAuMzIsMC45
NiBMMC4yOSwwLjk1IEwwLjI2LDAuOTQgTDAuMjMsMC45MiBMMC4yMSwwLjkwIEwwLjE4LDAuODkg
TDAuMTYsMC44NiBMMC4xNCwwLjg0IEwwLjExLDAuODIgTDAuMTAsMC43OSBMMC4wOCwwLjc3IEww
LjA2LDAuNzQgTDAuMDUsMC43MSBMMC4wNCwwLjY4IEwwLjAyLDAuNjUgTDAuMDIsMC42MiBMMC4w
MSwwLjU5IEwwLjAwLDAuNTYgTDAuMDAsMC41MyBMMC4wMCwwLjUwIEwwLjAwLDAuNDcgTDAuMDAs
MC40NCBMMC4wMSwwLjQxIEwwLjAyLDAuMzggTDAuMDIsMC4zNSBMMC4wNCwwLjMyIEwwLjA1LDAu
MjkgTDAuMDYsMC4yNiBMMC4wOCwwLjIzIEwwLjEwLDAuMjEgTDAuMTEsMC4xOCBMMC4xNCwwLjE2
IEwwLjE2LDAuMTQgTDAuMTgsMC4xMSBMMC4yMSwwLjEwIEwwLjIzLDAuMDggTDAuMjYsMC4wNiBM
MC4yOSwwLjA1IEwwLjMyLDAuMDQgTDAuMzUsMC4wMiBMMC4zOCwwLjAyIEwwLjQxLDAuMDEgTDAu
NDQsMC4wMCBMMC40NywwLjAwIEwwLjUwLDAuMDAgTDAuNTMsMC4wMCBMMC41NiwwLjAwIEwwLjU5
LDAuMDEgTDAuNjIsMC4wMiBMMC42NSwwLjAyIEwwLjY4LDAuMDQgTDAuNzEsMC4wNSBMMC43NCww
LjA2IEwwLjc3LDAuMDggTDAuNzksMC4xMCBMMC44MiwwLjExIEwwLjg0LDAuMTQgTDAuODYsMC4x
NiBMMC44OSwwLjE4IEwwLjkwLDAuMjEgTDAuOTIsMC4yMyBMMC45NCwwLjI2IEwwLjk1LDAuMjkg
TDAuOTYsMC4zMiBMMC45OCwwLjM1IEwwLjk4LDAuMzggTDAuOTksMC40MSBMMS4wMCwwLjQ0IEwx
LjAwLDAuNDcgWiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgx
Niw4KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRh
PSJNMC4wMCwxLjAwIEwxLjAwLDEuMDAgTDEuMDAsMi4wMCBMMC4wMCwyLjAwIFoiXQogICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTYsMTYpIHNpemUgOHg4IFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDMuMDAgTDEuMDAs
My4wMCBMMC41MCwyLjAwIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59
IGF0ICgwLDApIHNpemUgMjR4MjQKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtw
YXR0ZXJufSBbaWQ9Im5vbmVYbWlkWW1pbiJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2Vd
IFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0IFt0cmFuc2Zvcm09e209KCg4LjAw
LDAuMDApKDAuMDAsOC4wMCkpIHQ9KDAuMDAsMC4wMCl9XQpAQCAtNTAyLDcgKzQ3Miw3IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRo
IHtjaXJjbGV9IGF0ICgxNiwwKSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
RkZBNTAwXX1dIFtkYXRhPSJNMS4wMCwwLjUwIEwxLjAwLDAuNTMgTDEuMDAsMC41NiBMMC45OSww
LjU5IEwwLjk4LDAuNjIgTDAuOTgsMC42NSBMMC45NiwwLjY4IEwwLjk1LDAuNzEgTDAuOTQsMC43
NCBMMC45MiwwLjc3IEwwLjkwLDAuNzkgTDAuODksMC44MiBMMC44NiwwLjg0IEwwLjg0LDAuODYg
TDAuODIsMC44OSBMMC43OSwwLjkwIEwwLjc3LDAuOTIgTDAuNzQsMC45NCBMMC43MSwwLjk1IEww
LjY4LDAuOTYgTDAuNjUsMC45OCBMMC42MiwwLjk4IEwwLjU5LDAuOTkgTDAuNTYsMS4wMCBMMC41
MywxLjAwIEwwLjUwLDEuMDAgTDAuNDcsMS4wMCBMMC40NCwxLjAwIEwwLjQxLDAuOTkgTDAuMzgs
MC45OCBMMC4zNSwwLjk4IEwwLjMyLDAuOTYgTDAuMjksMC45NSBMMC4yNiwwLjk0IEwwLjIzLDAu
OTIgTDAuMjEsMC45MCBMMC4xOCwwLjg5IEwwLjE2LDAuODYgTDAuMTQsMC44NCBMMC4xMSwwLjgy
IEwwLjEwLDAuNzkgTDAuMDgsMC43NyBMMC4wNiwwLjc0IEwwLjA1LDAuNzEgTDAuMDQsMC42OCBM
MC4wMiwwLjY1IEwwLjAyLDAuNjIgTDAuMDEsMC41OSBMMC4wMCwwLjU2IEwwLjAwLDAuNTMgTDAu
MDAsMC41MCBMMC4wMCwwLjQ3IEwwLjAwLDAuNDQgTDAuMDEsMC40MSBMMC4wMiwwLjM4IEwwLjAy
LDAuMzUgTDAuMDQsMC4zMiBMMC4wNSwwLjI5IEwwLjA2LDAuMjYgTDAuMDgsMC4yMyBMMC4xMCww
LjIxIEwwLjExLDAuMTggTDAuMTQsMC4xNiBMMC4xNiwwLjE0IEwwLjE4LDAuMTEgTDAuMjEsMC4x
MCBMMC4yMywwLjA4IEwwLjI2LDAuMDYgTDAuMjksMC4wNSBMMC4zMiwwLjA0IEwwLjM1LDAuMDIg
TDAuMzgsMC4wMiBMMC40MSwwLjAxIEwwLjQ0LDAuMDAgTDAuNDcsMC4wMCBMMC41MCwwLjAwIEww
LjUzLDAuMDAgTDAuNTYsMC4wMCBMMC41OSwwLjAxIEwwLjYyLDAuMDIgTDAuNjUsMC4wMiBMMC42
OCwwLjA0IEwwLjcxLDAuMDUgTDAuNzQsMC4wNiBMMC43NywwLjA4IEwwLjc5LDAuMTAgTDAuODIs
MC4xMSBMMC44NCwwLjE0IEwwLjg2LDAuMTYgTDAuODksMC4xOCBMMC45MCwwLjIxIEwwLjkyLDAu
MjMgTDAuOTQsMC4yNiBMMC45NSwwLjI5IEwwLjk2LDAuMzIgTDAuOTgsMC4zNSBMMC45OCwwLjM4
IEwwLjk5LDAuNDEgTDEuMDAsMC40NCBMMS4wMCwwLjQ3IFoiXQogICAgICAgICAgICAgICAgICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsOCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMS4wMCBMMS4wMCwxLjAwIEwxLjAwLDIu
MDAgTDAuMDAsMi4wMCBaIl0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0g
YXQgKDE2LDE2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1d
IFtkYXRhPSJNMC4wMCwzLjAwIEwxLjAwLDMuMDAgTDAuNTAsMi4wMCBaIl0KLSAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDI0eDI0CisgICAgICAgIFJl
bmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJub25lWG1pZFltaWQiXSBbcGF0
dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VP
blVzZV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAy
NHgyNAogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0
eDI0CiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAy
NHgyNCBbdHJhbnNmb3JtPXttPSgoOC4wMCwwLjAwKSgwLjAwLDguMDApKSB0PSgwLjAwLDAuMDAp
fV0KQEAgLTUyMiw3ICs0OTIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAg
ICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMTYsMCkgc2l6ZSA4eDggW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTEuMDAsMC41MCBMMS4w
MCwwLjUzIEwxLjAwLDAuNTYgTDAuOTksMC41OSBMMC45OCwwLjYyIEwwLjk4LDAuNjUgTDAuOTYs
MC42OCBMMC45NSwwLjcxIEwwLjk0LDAuNzQgTDAuOTIsMC43NyBMMC45MCwwLjc5IEwwLjg5LDAu
ODIgTDAuODYsMC44NCBMMC44NCwwLjg2IEwwLjgyLDAuODkgTDAuNzksMC45MCBMMC43NywwLjky
IEwwLjc0LDAuOTQgTDAuNzEsMC45NSBMMC42OCwwLjk2IEwwLjY1LDAuOTggTDAuNjIsMC45OCBM
MC41OSwwLjk5IEwwLjU2LDEuMDAgTDAuNTMsMS4wMCBMMC41MCwxLjAwIEwwLjQ3LDEuMDAgTDAu
NDQsMS4wMCBMMC40MSwwLjk5IEwwLjM4LDAuOTggTDAuMzUsMC45OCBMMC4zMiwwLjk2IEwwLjI5
LDAuOTUgTDAuMjYsMC45NCBMMC4yMywwLjkyIEwwLjIxLDAuOTAgTDAuMTgsMC44OSBMMC4xNiww
Ljg2IEwwLjE0LDAuODQgTDAuMTEsMC44MiBMMC4xMCwwLjc5IEwwLjA4LDAuNzcgTDAuMDYsMC43
NCBMMC4wNSwwLjcxIEwwLjA0LDAuNjggTDAuMDIsMC42NSBMMC4wMiwwLjYyIEwwLjAxLDAuNTkg
TDAuMDAsMC41NiBMMC4wMCwwLjUzIEwwLjAwLDAuNTAgTDAuMDAsMC40NyBMMC4wMCwwLjQ0IEww
LjAxLDAuNDEgTDAuMDIsMC4zOCBMMC4wMiwwLjM1IEwwLjA0LDAuMzIgTDAuMDUsMC4yOSBMMC4w
NiwwLjI2IEwwLjA4LDAuMjMgTDAuMTAsMC4yMSBMMC4xMSwwLjE4IEwwLjE0LDAuMTYgTDAuMTYs
MC4xNCBMMC4xOCwwLjExIEwwLjIxLDAuMTAgTDAuMjMsMC4wOCBMMC4yNiwwLjA2IEwwLjI5LDAu
MDUgTDAuMzIsMC4wNCBMMC4zNSwwLjAyIEwwLjM4LDAuMDIgTDAuNDEsMC4wMSBMMC40NCwwLjAw
IEwwLjQ3LDAuMDAgTDAuNTAsMC4wMCBMMC41MywwLjAwIEwwLjU2LDAuMDAgTDAuNTksMC4wMSBM
MC42MiwwLjAyIEwwLjY1LDAuMDIgTDAuNjgsMC4wNCBMMC43MSwwLjA1IEwwLjc0LDAuMDYgTDAu
NzcsMC4wOCBMMC43OSwwLjEwIEwwLjgyLDAuMTEgTDAuODQsMC4xNCBMMC44NiwwLjE2IEwwLjg5
LDAuMTggTDAuOTAsMC4yMSBMMC45MiwwLjIzIEwwLjk0LDAuMjYgTDAuOTUsMC4yOSBMMC45Niww
LjMyIEwwLjk4LDAuMzUgTDAuOTgsMC4zOCBMMC45OSwwLjQxIEwxLjAwLDAuNDQgTDEuMDAsMC40
NyBaIl0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE2LDgpIHNp
emUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAw
LDEuMDAgTDEuMDAsMS4wMCBMMS4wMCwyLjAwIEwwLjAwLDIuMDAgWiJdCiAgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxNiwxNikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMy4wMCBMMS4wMCwzLjAwIEww
LjUwLDIuMDAgWiJdCi0gICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDAs
MCkgc2l6ZSAyNHgyNAorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59
IFtpZD0ibm9uZVhtaWRZbWF4Il0gW3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRl
cm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQgW3RyYW5zZm9ybT17bT0oKDguMDAsMC4wMCko
MC4wMCw4LjAwKSkgdD0oMC4wMCwwLjAwKX1dCkBAIC01NDIsNyArNTEyLDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNs
ZX0gYXQgKDE2LDApIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBd
fV0gW2RhdGE9Ik0xLjAwLDAuNTAgTDEuMDAsMC41MyBMMS4wMCwwLjU2IEwwLjk5LDAuNTkgTDAu
OTgsMC42MiBMMC45OCwwLjY1IEwwLjk2LDAuNjggTDAuOTUsMC43MSBMMC45NCwwLjc0IEwwLjky
LDAuNzcgTDAuOTAsMC43OSBMMC44OSwwLjgyIEwwLjg2LDAuODQgTDAuODQsMC44NiBMMC44Miww
Ljg5IEwwLjc5LDAuOTAgTDAuNzcsMC45MiBMMC43NCwwLjk0IEwwLjcxLDAuOTUgTDAuNjgsMC45
NiBMMC42NSwwLjk4IEwwLjYyLDAuOTggTDAuNTksMC45OSBMMC41NiwxLjAwIEwwLjUzLDEuMDAg
TDAuNTAsMS4wMCBMMC40NywxLjAwIEwwLjQ0LDEuMDAgTDAuNDEsMC45OSBMMC4zOCwwLjk4IEww
LjM1LDAuOTggTDAuMzIsMC45NiBMMC4yOSwwLjk1IEwwLjI2LDAuOTQgTDAuMjMsMC45MiBMMC4y
MSwwLjkwIEwwLjE4LDAuODkgTDAuMTYsMC44NiBMMC4xNCwwLjg0IEwwLjExLDAuODIgTDAuMTAs
MC43OSBMMC4wOCwwLjc3IEwwLjA2LDAuNzQgTDAuMDUsMC43MSBMMC4wNCwwLjY4IEwwLjAyLDAu
NjUgTDAuMDIsMC42MiBMMC4wMSwwLjU5IEwwLjAwLDAuNTYgTDAuMDAsMC41MyBMMC4wMCwwLjUw
IEwwLjAwLDAuNDcgTDAuMDAsMC40NCBMMC4wMSwwLjQxIEwwLjAyLDAuMzggTDAuMDIsMC4zNSBM
MC4wNCwwLjMyIEwwLjA1LDAuMjkgTDAuMDYsMC4yNiBMMC4wOCwwLjIzIEwwLjEwLDAuMjEgTDAu
MTEsMC4xOCBMMC4xNCwwLjE2IEwwLjE2LDAuMTQgTDAuMTgsMC4xMSBMMC4yMSwwLjEwIEwwLjIz
LDAuMDggTDAuMjYsMC4wNiBMMC4yOSwwLjA1IEwwLjMyLDAuMDQgTDAuMzUsMC4wMiBMMC4zOCww
LjAyIEwwLjQxLDAuMDEgTDAuNDQsMC4wMCBMMC40NywwLjAwIEwwLjUwLDAuMDAgTDAuNTMsMC4w
MCBMMC41NiwwLjAwIEwwLjU5LDAuMDEgTDAuNjIsMC4wMiBMMC42NSwwLjAyIEwwLjY4LDAuMDQg
TDAuNzEsMC4wNSBMMC43NCwwLjA2IEwwLjc3LDAuMDggTDAuNzksMC4xMCBMMC44MiwwLjExIEww
Ljg0LDAuMTQgTDAuODYsMC4xNiBMMC44OSwwLjE4IEwwLjkwLDAuMjEgTDAuOTIsMC4yMyBMMC45
NCwwLjI2IEwwLjk1LDAuMjkgTDAuOTYsMC4zMiBMMC45OCwwLjM1IEwwLjk4LDAuMzggTDAuOTks
MC40MSBMMS4wMCwwLjQ0IEwxLjAwLDAuNDcgWiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxNiw4KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwxLjAwIEwxLjAwLDEuMDAgTDEuMDAsMi4wMCBMMC4w
MCwyLjAwIFoiXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTYs
MTYpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9
Ik0wLjAwLDMuMDAgTDEuMDAsMy4wMCBMMC41MCwyLjAwIFoiXQotICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMjR4MjQKKyAgICAgICAgUmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9Im5vbmVYbWF4WW1pbiJdIFtwYXR0ZXJuVW5p
dHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQog
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAg
ICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQKICAg
ICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0IFt0
cmFuc2Zvcm09e209KCg4LjAwLDAuMDApKDAuMDAsOC4wMCkpIHQ9KDAuMDAsMC4wMCl9XQpAQCAt
NTYyLDcgKzUzMiw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICAgICAg
ICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgxNiwwKSBzaXplIDh4OCBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMS4wMCwwLjUwIEwxLjAwLDAuNTMg
TDEuMDAsMC41NiBMMC45OSwwLjU5IEwwLjk4LDAuNjIgTDAuOTgsMC42NSBMMC45NiwwLjY4IEww
Ljk1LDAuNzEgTDAuOTQsMC43NCBMMC45MiwwLjc3IEwwLjkwLDAuNzkgTDAuODksMC44MiBMMC44
NiwwLjg0IEwwLjg0LDAuODYgTDAuODIsMC44OSBMMC43OSwwLjkwIEwwLjc3LDAuOTIgTDAuNzQs
MC45NCBMMC43MSwwLjk1IEwwLjY4LDAuOTYgTDAuNjUsMC45OCBMMC42MiwwLjk4IEwwLjU5LDAu
OTkgTDAuNTYsMS4wMCBMMC41MywxLjAwIEwwLjUwLDEuMDAgTDAuNDcsMS4wMCBMMC40NCwxLjAw
IEwwLjQxLDAuOTkgTDAuMzgsMC45OCBMMC4zNSwwLjk4IEwwLjMyLDAuOTYgTDAuMjksMC45NSBM
MC4yNiwwLjk0IEwwLjIzLDAuOTIgTDAuMjEsMC45MCBMMC4xOCwwLjg5IEwwLjE2LDAuODYgTDAu
MTQsMC44NCBMMC4xMSwwLjgyIEwwLjEwLDAuNzkgTDAuMDgsMC43NyBMMC4wNiwwLjc0IEwwLjA1
LDAuNzEgTDAuMDQsMC42OCBMMC4wMiwwLjY1IEwwLjAyLDAuNjIgTDAuMDEsMC41OSBMMC4wMCww
LjU2IEwwLjAwLDAuNTMgTDAuMDAsMC41MCBMMC4wMCwwLjQ3IEwwLjAwLDAuNDQgTDAuMDEsMC40
MSBMMC4wMiwwLjM4IEwwLjAyLDAuMzUgTDAuMDQsMC4zMiBMMC4wNSwwLjI5IEwwLjA2LDAuMjYg
TDAuMDgsMC4yMyBMMC4xMCwwLjIxIEwwLjExLDAuMTggTDAuMTQsMC4xNiBMMC4xNiwwLjE0IEww
LjE4LDAuMTEgTDAuMjEsMC4xMCBMMC4yMywwLjA4IEwwLjI2LDAuMDYgTDAuMjksMC4wNSBMMC4z
MiwwLjA0IEwwLjM1LDAuMDIgTDAuMzgsMC4wMiBMMC40MSwwLjAxIEwwLjQ0LDAuMDAgTDAuNDcs
MC4wMCBMMC41MCwwLjAwIEwwLjUzLDAuMDAgTDAuNTYsMC4wMCBMMC41OSwwLjAxIEwwLjYyLDAu
MDIgTDAuNjUsMC4wMiBMMC42OCwwLjA0IEwwLjcxLDAuMDUgTDAuNzQsMC4wNiBMMC43NywwLjA4
IEwwLjc5LDAuMTAgTDAuODIsMC4xMSBMMC44NCwwLjE0IEwwLjg2LDAuMTYgTDAuODksMC4xOCBM
MC45MCwwLjIxIEwwLjkyLDAuMjMgTDAuOTQsMC4yNiBMMC45NSwwLjI5IEwwLjk2LDAuMzIgTDAu
OTgsMC4zNSBMMC45OCwwLjM4IEwwLjk5LDAuNDEgTDEuMDAsMC40NCBMMS4wMCwwLjQ3IFoiXQog
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsOCkgc2l6ZSA4eDgg
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMS4wMCBM
MS4wMCwxLjAwIEwxLjAwLDIuMDAgTDAuMDAsMi4wMCBaIl0KICAgICAgICAgICAgICAgICAgICAg
UmVuZGVyUGF0aCB7cGF0aH0gYXQgKDE2LDE2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURd
IFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwzLjAwIEwxLjAwLDMuMDAgTDAuNTAsMi4w
MCBaIl0KLSAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXpl
IDI0eDI0CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJu
b25lWG1heFltaWQiXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVybkNvbnRl
bnRVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3Vz
ZX0gYXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDAsMCkgc2l6ZSAyNHgyNCBbdHJhbnNmb3JtPXttPSgoOC4wMCwwLjAwKSgwLjAwLDgu
MDApKSB0PSgwLjAwLDAuMDApfV0KQEAgLTU4Miw3ICs1NTIsNyBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDQ1MHg1MDAKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAo
MTYsMCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0
YT0iTTEuMDAsMC41MCBMMS4wMCwwLjUzIEwxLjAwLDAuNTYgTDAuOTksMC41OSBMMC45OCwwLjYy
IEwwLjk4LDAuNjUgTDAuOTYsMC42OCBMMC45NSwwLjcxIEwwLjk0LDAuNzQgTDAuOTIsMC43NyBM
MC45MCwwLjc5IEwwLjg5LDAuODIgTDAuODYsMC44NCBMMC44NCwwLjg2IEwwLjgyLDAuODkgTDAu
NzksMC45MCBMMC43NywwLjkyIEwwLjc0LDAuOTQgTDAuNzEsMC45NSBMMC42OCwwLjk2IEwwLjY1
LDAuOTggTDAuNjIsMC45OCBMMC41OSwwLjk5IEwwLjU2LDEuMDAgTDAuNTMsMS4wMCBMMC41MCwx
LjAwIEwwLjQ3LDEuMDAgTDAuNDQsMS4wMCBMMC40MSwwLjk5IEwwLjM4LDAuOTggTDAuMzUsMC45
OCBMMC4zMiwwLjk2IEwwLjI5LDAuOTUgTDAuMjYsMC45NCBMMC4yMywwLjkyIEwwLjIxLDAuOTAg
TDAuMTgsMC44OSBMMC4xNiwwLjg2IEwwLjE0LDAuODQgTDAuMTEsMC44MiBMMC4xMCwwLjc5IEww
LjA4LDAuNzcgTDAuMDYsMC43NCBMMC4wNSwwLjcxIEwwLjA0LDAuNjggTDAuMDIsMC42NSBMMC4w
MiwwLjYyIEwwLjAxLDAuNTkgTDAuMDAsMC41NiBMMC4wMCwwLjUzIEwwLjAwLDAuNTAgTDAuMDAs
MC40NyBMMC4wMCwwLjQ0IEwwLjAxLDAuNDEgTDAuMDIsMC4zOCBMMC4wMiwwLjM1IEwwLjA0LDAu
MzIgTDAuMDUsMC4yOSBMMC4wNiwwLjI2IEwwLjA4LDAuMjMgTDAuMTAsMC4yMSBMMC4xMSwwLjE4
IEwwLjE0LDAuMTYgTDAuMTYsMC4xNCBMMC4xOCwwLjExIEwwLjIxLDAuMTAgTDAuMjMsMC4wOCBM
MC4yNiwwLjA2IEwwLjI5LDAuMDUgTDAuMzIsMC4wNCBMMC4zNSwwLjAyIEwwLjM4LDAuMDIgTDAu
NDEsMC4wMSBMMC40NCwwLjAwIEwwLjQ3LDAuMDAgTDAuNTAsMC4wMCBMMC41MywwLjAwIEwwLjU2
LDAuMDAgTDAuNTksMC4wMSBMMC42MiwwLjAyIEwwLjY1LDAuMDIgTDAuNjgsMC4wNCBMMC43MSww
LjA1IEwwLjc0LDAuMDYgTDAuNzcsMC4wOCBMMC43OSwwLjEwIEwwLjgyLDAuMTEgTDAuODQsMC4x
NCBMMC44NiwwLjE2IEwwLjg5LDAuMTggTDAuOTAsMC4yMSBMMC45MiwwLjIzIEwwLjk0LDAuMjYg
TDAuOTUsMC4yOSBMMC45NiwwLjMyIEwwLjk4LDAuMzUgTDAuOTgsMC4zOCBMMC45OSwwLjQxIEwx
LjAwLDAuNDQgTDEuMDAsMC40NyBaIl0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDE2LDgpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1
MDBdfV0gW2RhdGE9Ik0wLjAwLDEuMDAgTDEuMDAsMS4wMCBMMS4wMCwyLjAwIEwwLjAwLDIuMDAg
WiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxNiwxNikgc2l6
ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAs
My4wMCBMMS4wMCwzLjAwIEwwLjUwLDIuMDAgWiJdCi0gICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAyNHgyNAorICAgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0ibm9uZVhtYXhZbWF4Il0gW3BhdHRlcm5Vbml0cz11c2Vy
U3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyNHgyNAogICAgICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQgW3RyYW5zZm9y
bT17bT0oKDguMDAsMC4wMCkoMC4wMCw4LjAwKSkgdD0oMC4wMCwwLjAwKX1dCkBAIC02MDIsNyAr
NTcyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDE2LDApIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0xLjAwLDAuNTAgTDEuMDAsMC41MyBMMS4wMCww
LjU2IEwwLjk5LDAuNTkgTDAuOTgsMC42MiBMMC45OCwwLjY1IEwwLjk2LDAuNjggTDAuOTUsMC43
MSBMMC45NCwwLjc0IEwwLjkyLDAuNzcgTDAuOTAsMC43OSBMMC44OSwwLjgyIEwwLjg2LDAuODQg
TDAuODQsMC44NiBMMC44MiwwLjg5IEwwLjc5LDAuOTAgTDAuNzcsMC45MiBMMC43NCwwLjk0IEww
LjcxLDAuOTUgTDAuNjgsMC45NiBMMC42NSwwLjk4IEwwLjYyLDAuOTggTDAuNTksMC45OSBMMC41
NiwxLjAwIEwwLjUzLDEuMDAgTDAuNTAsMS4wMCBMMC40NywxLjAwIEwwLjQ0LDEuMDAgTDAuNDEs
MC45OSBMMC4zOCwwLjk4IEwwLjM1LDAuOTggTDAuMzIsMC45NiBMMC4yOSwwLjk1IEwwLjI2LDAu
OTQgTDAuMjMsMC45MiBMMC4yMSwwLjkwIEwwLjE4LDAuODkgTDAuMTYsMC44NiBMMC4xNCwwLjg0
IEwwLjExLDAuODIgTDAuMTAsMC43OSBMMC4wOCwwLjc3IEwwLjA2LDAuNzQgTDAuMDUsMC43MSBM
MC4wNCwwLjY4IEwwLjAyLDAuNjUgTDAuMDIsMC42MiBMMC4wMSwwLjU5IEwwLjAwLDAuNTYgTDAu
MDAsMC41MyBMMC4wMCwwLjUwIEwwLjAwLDAuNDcgTDAuMDAsMC40NCBMMC4wMSwwLjQxIEwwLjAy
LDAuMzggTDAuMDIsMC4zNSBMMC4wNCwwLjMyIEwwLjA1LDAuMjkgTDAuMDYsMC4yNiBMMC4wOCww
LjIzIEwwLjEwLDAuMjEgTDAuMTEsMC4xOCBMMC4xNCwwLjE2IEwwLjE2LDAuMTQgTDAuMTgsMC4x
MSBMMC4yMSwwLjEwIEwwLjIzLDAuMDggTDAuMjYsMC4wNiBMMC4yOSwwLjA1IEwwLjMyLDAuMDQg
TDAuMzUsMC4wMiBMMC4zOCwwLjAyIEwwLjQxLDAuMDEgTDAuNDQsMC4wMCBMMC40NywwLjAwIEww
LjUwLDAuMDAgTDAuNTMsMC4wMCBMMC41NiwwLjAwIEwwLjU5LDAuMDEgTDAuNjIsMC4wMiBMMC42
NSwwLjAyIEwwLjY4LDAuMDQgTDAuNzEsMC4wNSBMMC43NCwwLjA2IEwwLjc3LDAuMDggTDAuNzks
MC4xMCBMMC44MiwwLjExIEwwLjg0LDAuMTQgTDAuODYsMC4xNiBMMC44OSwwLjE4IEwwLjkwLDAu
MjEgTDAuOTIsMC4yMyBMMC45NCwwLjI2IEwwLjk1LDAuMjkgTDAuOTYsMC4zMiBMMC45OCwwLjM1
IEwwLjk4LDAuMzggTDAuOTksMC40MSBMMS4wMCwwLjQ0IEwxLjAwLDAuNDcgWiJdCiAgICAgICAg
ICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNiw4KSBzaXplIDh4OCBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRhPSJNMC4wMCwxLjAwIEwxLjAwLDEu
MDAgTDEuMDAsMi4wMCBMMC4wMCwyLjAwIFoiXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQ
YXRoIHtwYXRofSBhdCAoMTYsMTYpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDMuMDAgTDEuMDAsMy4wMCBMMC41MCwyLjAwIFoiXQot
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMjR4MjQK
KyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9Im1lZXROb25l
Il0gW3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNl
clNwYWNlT25Vc2VdCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDAp
IHNpemUgMjR4MjQKICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkg
c2l6ZSAyNHgyNAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDAp
IHNpemUgMjR4MjQgW3RyYW5zZm9ybT17bT0oKDguMDAsMC4wMCkoMC4wMCw4LjAwKSkgdD0oMC4w
MCwwLjAwKX1dCkBAIC02MjIsNyArNTkyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAw
CiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDE2LDApIHNpemUg
OHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0xLjAwLDAu
NTAgTDEuMDAsMC41MyBMMS4wMCwwLjU2IEwwLjk5LDAuNTkgTDAuOTgsMC42MiBMMC45OCwwLjY1
IEwwLjk2LDAuNjggTDAuOTUsMC43MSBMMC45NCwwLjc0IEwwLjkyLDAuNzcgTDAuOTAsMC43OSBM
MC44OSwwLjgyIEwwLjg2LDAuODQgTDAuODQsMC44NiBMMC44MiwwLjg5IEwwLjc5LDAuOTAgTDAu
NzcsMC45MiBMMC43NCwwLjk0IEwwLjcxLDAuOTUgTDAuNjgsMC45NiBMMC42NSwwLjk4IEwwLjYy
LDAuOTggTDAuNTksMC45OSBMMC41NiwxLjAwIEwwLjUzLDEuMDAgTDAuNTAsMS4wMCBMMC40Nywx
LjAwIEwwLjQ0LDEuMDAgTDAuNDEsMC45OSBMMC4zOCwwLjk4IEwwLjM1LDAuOTggTDAuMzIsMC45
NiBMMC4yOSwwLjk1IEwwLjI2LDAuOTQgTDAuMjMsMC45MiBMMC4yMSwwLjkwIEwwLjE4LDAuODkg
TDAuMTYsMC44NiBMMC4xNCwwLjg0IEwwLjExLDAuODIgTDAuMTAsMC43OSBMMC4wOCwwLjc3IEww
LjA2LDAuNzQgTDAuMDUsMC43MSBMMC4wNCwwLjY4IEwwLjAyLDAuNjUgTDAuMDIsMC42MiBMMC4w
MSwwLjU5IEwwLjAwLDAuNTYgTDAuMDAsMC41MyBMMC4wMCwwLjUwIEwwLjAwLDAuNDcgTDAuMDAs
MC40NCBMMC4wMSwwLjQxIEwwLjAyLDAuMzggTDAuMDIsMC4zNSBMMC4wNCwwLjMyIEwwLjA1LDAu
MjkgTDAuMDYsMC4yNiBMMC4wOCwwLjIzIEwwLjEwLDAuMjEgTDAuMTEsMC4xOCBMMC4xNCwwLjE2
IEwwLjE2LDAuMTQgTDAuMTgsMC4xMSBMMC4yMSwwLjEwIEwwLjIzLDAuMDggTDAuMjYsMC4wNiBM
MC4yOSwwLjA1IEwwLjMyLDAuMDQgTDAuMzUsMC4wMiBMMC4zOCwwLjAyIEwwLjQxLDAuMDEgTDAu
NDQsMC4wMCBMMC40NywwLjAwIEwwLjUwLDAuMDAgTDAuNTMsMC4wMCBMMC41NiwwLjAwIEwwLjU5
LDAuMDEgTDAuNjIsMC4wMiBMMC42NSwwLjAyIEwwLjY4LDAuMDQgTDAuNzEsMC4wNSBMMC43NCww
LjA2IEwwLjc3LDAuMDggTDAuNzksMC4xMCBMMC44MiwwLjExIEwwLjg0LDAuMTQgTDAuODYsMC4x
NiBMMC44OSwwLjE4IEwwLjkwLDAuMjEgTDAuOTIsMC4yMyBMMC45NCwwLjI2IEwwLjk1LDAuMjkg
TDAuOTYsMC4zMiBMMC45OCwwLjM1IEwwLjk4LDAuMzggTDAuOTksMC40MSBMMS4wMCwwLjQ0IEwx
LjAwLDAuNDcgWiJdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgx
Niw4KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtkYXRh
PSJNMC4wMCwxLjAwIEwxLjAwLDEuMDAgTDEuMDAsMi4wMCBMMC4wMCwyLjAwIFoiXQogICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTYsMTYpIHNpemUgOHg4IFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1MDBdfV0gW2RhdGE9Ik0wLjAwLDMuMDAgTDEuMDAs
My4wMCBMMC41MCwyLjAwIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59
IGF0ICgwLDApIHNpemUgMjR4MjQKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtw
YXR0ZXJufSBbaWQ9InNsaWNlTm9uZSJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtw
YXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAgICAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQKICAgICAgICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0IFt0cmFuc2Zvcm09e209KCg4LjAwLDAu
MDApKDAuMDAsOC4wMCkpIHQ9KDAuMDAsMC4wMCl9XQpAQCAtNjQyLDcgKzYxMiw3IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtj
aXJjbGV9IGF0ICgxNiwwKSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZB
NTAwXX1dIFtkYXRhPSJNMS4wMCwwLjUwIEwxLjAwLDAuNTMgTDEuMDAsMC41NiBMMC45OSwwLjU5
IEwwLjk4LDAuNjIgTDAuOTgsMC42NSBMMC45NiwwLjY4IEwwLjk1LDAuNzEgTDAuOTQsMC43NCBM
MC45MiwwLjc3IEwwLjkwLDAuNzkgTDAuODksMC44MiBMMC44NiwwLjg0IEwwLjg0LDAuODYgTDAu
ODIsMC44OSBMMC43OSwwLjkwIEwwLjc3LDAuOTIgTDAuNzQsMC45NCBMMC43MSwwLjk1IEwwLjY4
LDAuOTYgTDAuNjUsMC45OCBMMC42MiwwLjk4IEwwLjU5LDAuOTkgTDAuNTYsMS4wMCBMMC41Mywx
LjAwIEwwLjUwLDEuMDAgTDAuNDcsMS4wMCBMMC40NCwxLjAwIEwwLjQxLDAuOTkgTDAuMzgsMC45
OCBMMC4zNSwwLjk4IEwwLjMyLDAuOTYgTDAuMjksMC45NSBMMC4yNiwwLjk0IEwwLjIzLDAuOTIg
TDAuMjEsMC45MCBMMC4xOCwwLjg5IEwwLjE2LDAuODYgTDAuMTQsMC44NCBMMC4xMSwwLjgyIEww
LjEwLDAuNzkgTDAuMDgsMC43NyBMMC4wNiwwLjc0IEwwLjA1LDAuNzEgTDAuMDQsMC42OCBMMC4w
MiwwLjY1IEwwLjAyLDAuNjIgTDAuMDEsMC41OSBMMC4wMCwwLjU2IEwwLjAwLDAuNTMgTDAuMDAs
MC41MCBMMC4wMCwwLjQ3IEwwLjAwLDAuNDQgTDAuMDEsMC40MSBMMC4wMiwwLjM4IEwwLjAyLDAu
MzUgTDAuMDQsMC4zMiBMMC4wNSwwLjI5IEwwLjA2LDAuMjYgTDAuMDgsMC4yMyBMMC4xMCwwLjIx
IEwwLjExLDAuMTggTDAuMTQsMC4xNiBMMC4xNiwwLjE0IEwwLjE4LDAuMTEgTDAuMjEsMC4xMCBM
MC4yMywwLjA4IEwwLjI2LDAuMDYgTDAuMjksMC4wNSBMMC4zMiwwLjA0IEwwLjM1LDAuMDIgTDAu
MzgsMC4wMiBMMC40MSwwLjAxIEwwLjQ0LDAuMDAgTDAuNDcsMC4wMCBMMC41MCwwLjAwIEwwLjUz
LDAuMDAgTDAuNTYsMC4wMCBMMC41OSwwLjAxIEwwLjYyLDAuMDIgTDAuNjUsMC4wMiBMMC42OCww
LjA0IEwwLjcxLDAuMDUgTDAuNzQsMC4wNiBMMC43NywwLjA4IEwwLjc5LDAuMTAgTDAuODIsMC4x
MSBMMC44NCwwLjE0IEwwLjg2LDAuMTYgTDAuODksMC4xOCBMMC45MCwwLjIxIEwwLjkyLDAuMjMg
TDAuOTQsMC4yNiBMMC45NSwwLjI5IEwwLjk2LDAuMzIgTDAuOTgsMC4zNSBMMC45OCwwLjM4IEww
Ljk5LDAuNDEgTDEuMDAsMC40NCBMMS4wMCwwLjQ3IFoiXQogICAgICAgICAgICAgICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsOCkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGQTUwMF19XSBbZGF0YT0iTTAuMDAsMS4wMCBMMS4wMCwxLjAwIEwxLjAwLDIuMDAg
TDAuMDAsMi4wMCBaIl0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQg
KDE2LDE2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZBNTAwXX1dIFtk
YXRhPSJNMC4wMCwzLjAwIEwxLjAwLDMuMDAgTDAuNTAsMi4wMCBaIl0KLSAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDI0eDI0CisgICAgICAgIFJlbmRl
clNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJub25lTm9uZSJdIFtwYXR0ZXJuVW5p
dHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQog
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDI0eDI0CiAg
ICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjR4MjQKICAg
ICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDI0eDI0IFt0
cmFuc2Zvcm09e209KCg4LjAwLDAuMDApKDAuMDAsOC4wMCkpIHQ9KDAuMDAsMC4wMCl9XQpAQCAt
ODgzLDEwMSArODUzLDEwMSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoOTUsODUpIHNpemUgOTB4MzUwCiAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICg5NSw4NSkgc2l6ZSA5MHgzMAogICAgICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoOTUsODUpIHNpemUgOTB4MzAKLSAgICAgICAg
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDk1LDg1KSBzaXplIDkweDMwIFt0cmFuc2Zvcm09
e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW2ZpbGw9e1t0eXBl
PVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfV0gW2RhdGE9Ik0wLjAwLDAuMDAg
TDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoOTUsODUpIHNpemUgOTB4MzAgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbZmlsbD17W3R5cGU9UEFUVEVS
Tl0gW2lkPSJtZWV0WG1pblltaW4iXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5
MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e3VzZX0gYXQgKDk1LDEyNSkgc2l6ZSA5MHgzMAogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoOTUsMTI1KSBzaXplIDkweDMwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDAp
KDAuMDAsMS4wMCkpIHQ9KDAuMDAsNDAuMDApfV0KLSAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDk1LDEyNSkgc2l6ZSA5MHgzMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgw
LjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1h
dCAoMCwwKSBzaXplIDMyeDE2XX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4w
MCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KKyAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDk1LDEyNSkgc2l6ZSA5MHgzMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSg0NS4wMCw1LjAwKX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9Im1lZXRYbWlu
WW1pZCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAw
LDMwLjAwIFoiXQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoOTUsMTY1
KSBzaXplIDkweDMwCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg5NSwx
NjUpIHNpemUgOTB4MzAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0o
MC4wMCw4MC4wMCl9XQotICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoOTUsMTY1
KSBzaXplIDkweDMwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1
LjAwLDUuMDApfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4
MTZdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMw
LjAwIFoiXQorICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoOTUsMTY1KSBzaXpl
IDkweDMwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUu
MDApfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0ibWVldFhtaW5ZbWF4Il19XSBbZGF0YT0i
TTAuMDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCiAgICAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoOTUsMjA1KSBzaXplIDkweDExMCBbdHJh
bnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDEyMC4wMCl9XQogICAg
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICg5NSwyMDUpIHNpemUgOTB4MzAK
ICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoOTUsMjA1KSBzaXplIDkw
eDMwCi0gICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDk1LDIwNSkgc2l6ZSA5
MHgzMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAw
KX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMyeDE2XX1dIFtk
YXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0K
KyAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoOTUsMjA1KSBzaXplIDkweDMw
IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0g
W2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0ibWVldFhtaWRZbWluIl19XSBbZGF0YT0iTTAuMDAs
MC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDk1LDI0NSkgc2l6ZSA5MHgzMAogICAgICAg
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg5NSwyNDUpIHNpemUgOTB4MzAgW3Ry
YW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCw0MC4wMCl9XQotICAg
ICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg5NSwyNDUpIHNpemUgOTB4MzAgW3Ry
YW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbZmls
bD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19XSBbZGF0YT0iTTAu
MDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCisgICAgICAg
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDk1LDI0NSkgc2l6ZSA5MHgzMCBbdHJhbnNm
b3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtmaWxsPXtb
dHlwZT1QQVRURVJOXSBbaWQ9Im1lZXRYbWlkWW1pZCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkw
LjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQogICAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHt1c2V9IGF0ICg5NSwyODUpIHNpemUgOTB4MzAKICAgICAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoOTUsMjg1KSBzaXplIDkweDMwIFt0cmFuc2Zvcm09
e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsODAuMDApfV0KLSAgICAgICAgICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoOTUsMjg1KSBzaXplIDkweDMwIFt0cmFuc2Zvcm09
e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW2ZpbGw9e1t0eXBl
PVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfV0gW2RhdGE9Ik0wLjAwLDAuMDAg
TDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAgICAgICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICg5NSwyODUpIHNpemUgOTB4MzAgW3RyYW5zZm9ybT17bT0o
KDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbZmlsbD17W3R5cGU9UEFU
VEVSTl0gW2lkPSJtZWV0WG1pZFltYXgiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAw
IEw5MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICg5NSwzMjUpIHNpemUgOTB4MTEwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDAp
KDAuMDAsMS4wMCkpIHQ9KDAuMDAsMjQwLjAwKX1dCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge3VzZX0gYXQgKDk1LDMyNSkgc2l6ZSA5MHgzMAogICAgICAgICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICg5NSwzMjUpIHNpemUgOTB4MzAKLSAgICAgICAgICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoOTUsMzI1KSBzaXplIDkweDMwIFt0cmFuc2Zvcm09e209KCgx
LjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW2ZpbGw9e1t0eXBlPVBBVFRF
Uk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAw
LDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICg5NSwzMjUpIHNpemUgOTB4MzAgW3RyYW5zZm9ybT17bT0oKDEuMDAs
MC4wMCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0g
W2lkPSJtZWV0WG1heFltaW4iXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4w
MCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
dXNlfSBhdCAoOTUsMzY1KSBzaXplIDkweDMwCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDk1LDM2NSkgc2l6ZSA5MHgzMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAw
KSgwLjAwLDEuMDApKSB0PSgwLjAwLDQwLjAwKX1dCi0gICAgICAgICAgICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDk1LDM2NSkgc2l6ZSA5MHgzMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAw
KSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJv
eD1hdCAoMCwwKSBzaXplIDMyeDE2XX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5
MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KKyAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoOTUsMzY1KSBzaXplIDkweDMwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAu
MDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0ibWVl
dFhtYXhZbWlkIl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAg
TDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQg
KDk1LDQwNSkgc2l6ZSA5MHgzMAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9
IGF0ICg5NSw0MDUpIHNpemUgOTB4MzAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwx
LjAwKSkgdD0oMC4wMCw4MC4wMCl9XQotICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICg5NSw0MDUpIHNpemUgOTB4MzAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwx
LjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAs
MCkgc2l6ZSAzMngxNl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAu
MDAgTDAuMDAsMzAuMDAgWiJdCisgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDk1LDQwNSkgc2l6ZSA5MHgzMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDAp
KSB0PSg0NS4wMCw1LjAwKX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9Im1lZXRYbWF4WW1h
eCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMw
LjAwIFoiXQogICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxOTQsODQpIHNpemUg
OTJ4MzUyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwMC4wMCww
LjAwKX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5k
TWFya2VyXQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMTk0LDg0KSBz
aXplIDkyeDMyIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0
RW5kTWFya2VyXQogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTk0LDg0
KSBzaXplIDkyeDMyIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0
YXJ0RW5kTWFya2VyXQotICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTk0LDg0
KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1
LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxs
PXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMyeDE2XX1dIFtzdGFydCBtYXJr
ZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAu
MDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCisgICAgICAg
ICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxOTQsODQpIHNpemUgOTJ4MzIgW3RyYW5zZm9y
bT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0i
c2xpY2VYbWluWW1pbiJdfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJr
ZXI9c3RhcnRFbmRNYXJrZXJdIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwz
MC4wMCBMMC4wMCwzMC4wMCBaIl0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0g
YXQgKDE5NCwxMjQpIHNpemUgOTJ4MzIgW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2Vu
ZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICgxOTQsMTI0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAu
MDAsMS4wMCkpIHQ9KDAuMDAsNDAuMDApfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0g
W2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdCi0gICAgICAgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgxOTQsMTI0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAu
MDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMyeDE2
XX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFy
a2VyXSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAu
MDAgWiJdCisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxOTQsMTI0KSBzaXpl
IDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUu
MDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlw
ZT1QQVRURVJOXSBbaWQ9InNsaWNlWG1pblltaWQiXX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRN
YXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAu
MDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHt1c2V9IGF0ICgxOTQsMTY0KSBzaXplIDkyeDMyIFtzdGFydCBtYXJrZXI9c3Rh
cnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXQogICAgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTk0LDE2NCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXtt
PSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDgwLjAwKX1dIFtzdGFydCBtYXJrZXI9
c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXQotICAgICAgICAgICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTk0LDE2NCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXtt
PSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQg
KDAsMCkgc2l6ZSAzMngxNl19XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1h
cmtlcj1zdGFydEVuZE1hcmtlcl0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAw
LDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoMTk0LDE2NCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSg0NS4wMCw1LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJzbGljZVhtaW5ZbWF4Il19XSBbc3RhcnQg
bWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2RhdGE9
Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQogICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE5NCwyMDQpIHNpemUgOTJ4MTEyIFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMTIwLjAwKX1dIFtz
dGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXQog
ICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxOTQsMjA0KSBzaXplIDky
eDMyIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFy
a2VyXQogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxOTQsMjA0KSBz
aXplIDkyeDMyIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0
RW5kTWFya2VyXQotICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxOTQsMjA0
KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1
LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxs
PXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMyeDE2XX1dIFtzdGFydCBtYXJr
ZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAu
MDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCisgICAgICAg
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE5NCwyMDQpIHNpemUgOTJ4MzIgW3RyYW5z
Zm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtp
ZD0ic2xpY2VYbWlkWW1pbiJdfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBt
YXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4w
MCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
dXNlfSBhdCAoMTk0LDI0NCkgc2l6ZSA5MngzMiBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2Vy
XSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0KICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoMTk0LDI0NCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCww
LjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDQwLjAwKX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRN
YXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXQotICAgICAgICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxOTQsMjQ0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBz
aXplIDMyeDE2XX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0
YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAg
TDAuMDAsMzAuMDAgWiJdCisgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE5
NCwyNDQpIHNpemUgOTJ4MzIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkg
dD0oNDUuMDAsNS4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0g
W2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0ic2xpY2VYbWlkWW1pZCJdfV0gW3N0YXJ0IG1hcmtl
cj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtkYXRhPSJNMC4w
MCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KICAgICAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMTk0LDI4NCkgc2l6ZSA5MngzMiBbc3Rh
cnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0KICAg
ICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTk0LDI4NCkgc2l6ZSA5Mngz
MiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDgwLjAwKX1d
IFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2Vy
XQotICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxOTQsMjg0KSBzaXplIDky
eDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDAp
fV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1Q
QVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMyeDE2XX1dIFtzdGFydCBtYXJrZXI9c3RhcnRF
bmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAsMC4wMCBM
OTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCisgICAgICAgICAgICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE5NCwyODQpIHNpemUgOTJ4MzIgW3RyYW5zZm9ybT17bT0o
KDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0ic2xpY2VY
bWlkWW1heCJdfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3Rh
cnRFbmRNYXJrZXJdIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwzMC4wMCBM
MC4wMCwzMC4wMCBaIl0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxOTQs
MzI0KSBzaXplIDkyeDExMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0
PSgwLjAwLDI0MC4wMCl9XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtl
cj1zdGFydEVuZE1hcmtlcl0KICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBh
dCAoMTk0LDMyNCkgc2l6ZSA5MngzMiBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5k
IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0KICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMTk0LDMyNCkgc2l6ZSA5MngzMiBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2Vy
XSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0KLSAgICAgICAgICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMTk0LDMyNCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAw
KSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAz
MngxNl19XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVu
ZE1hcmtlcl0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAw
LDMwLjAwIFoiXQorICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxOTQsMzI0
KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1
LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxs
PXtbdHlwZT1QQVRURVJOXSBbaWQ9InNsaWNlWG1heFltaW4iXX1dIFtzdGFydCBtYXJrZXI9c3Rh
cnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAsMC4w
MCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDE5NCwzNjQpIHNpemUgOTJ4MzIgW3N0YXJ0IG1h
cmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdCiAgICAgICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE5NCwzNjQpIHNpemUgOTJ4MzIgW3Ry
YW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCw0MC4wMCl9XSBbc3Rh
cnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0KLSAg
ICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTk0LDM2NCkgc2l6ZSA5MngzMiBb
dHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVS
Tl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFy
a2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAw
LDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxOTQsMzY0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9InNsaWNlWG1heFlt
aWQiXX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5k
TWFya2VyXSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAs
MzAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDE5NCw0
MDQpIHNpemUgOTJ4MzIgW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9
c3RhcnRFbmRNYXJrZXJdCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDE5NCw0MDQpIHNpemUgOTJ4MzIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAw
KSkgdD0oMC4wMCw4MC4wMCl9XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1h
cmtlcj1zdGFydEVuZE1hcmtlcl0KLSAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoMTk0LDQwNCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSg0NS4wMCw1LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19XSBb
c3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0g
W2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoi
XQorICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxOTQsNDA0KSBzaXplIDky
eDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDAp
fV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1Q
QVRURVJOXSBbaWQ9InNsaWNlWG1heFltYXgiXX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJr
ZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAs
MC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCiAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDI5NCw4NCkgc2l6ZSA5MngzNTIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4w
MCkoMC4wMCwxLjAwKSkgdD0oMjAwLjAwLDAuMDApfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1h
cmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdCiAgICAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHt1c2V9IGF0ICgyOTQsODQpIHNpemUgOTJ4MzIgW3N0YXJ0IG1hcmtlcj1zdGFydEVu
ZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdCiAgICAgICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICgyOTQsODQpIHNpemUgOTJ4MzIgW3N0YXJ0IG1hcmtlcj1zdGFy
dEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdCi0gICAgICAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgyOTQsODQpIHNpemUgOTJ4MzIgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDAp
IHNpemUgMzJ4MTZdfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9
c3RhcnRFbmRNYXJrZXJdIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwzMC4w
MCBMMC4wMCwzMC4wMCBaIl0KKyAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5
NCw4NCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0
PSg0NS4wMCw1LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBb
ZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJub25lWG1pblltaW4iXX1dIFtzdGFydCBtYXJrZXI9
c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAs
MC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgyOTQsMTI0KSBzaXplIDkyeDMyIFtzdGFydCBt
YXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXQogICAgICAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjk0LDEyNCkgc2l6ZSA5MngzMiBbdHJh
bnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDQwLjAwKX1dIFtzdGFy
dCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXQotICAg
ICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjk0LDEyNCkgc2l6ZSA5MngzMiBbdHJh
bnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0g
W2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2Vy
XSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAu
MDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMjk0LDEyNCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAw
KSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJub25lWG1pblltaWQiXX1d
IFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2Vy
XSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAg
WiJdCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgyOTQsMTY0KSBzaXpl
IDkyeDMyIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5k
TWFya2VyXQogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjk0LDE2NCkg
c2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAw
LDgwLjAwKX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0
RW5kTWFya2VyXQotICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjk0LDE2NCkg
c2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4w
MCw1LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17
W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19XSBbc3RhcnQgbWFya2Vy
PXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2RhdGE9Ik0wLjAw
LDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjk0LDE2NCkgc2l6ZSA5MngzMiBbdHJhbnNmb3Jt
PXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJu
b25lWG1pblltYXgiXX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2Vy
PXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAu
MDAgTDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
Mjk0LDIwNCkgc2l6ZSA5MngxMTIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAw
KSkgdD0oMC4wMCwxMjAuMDApfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBt
YXJrZXI9c3RhcnRFbmRNYXJrZXJdCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3Vz
ZX0gYXQgKDI5NCwyMDQpIHNpemUgOTJ4MzIgW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0g
W2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDI5NCwyMDQpIHNpemUgOTJ4MzIgW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1h
cmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdCi0gICAgICAgICAgICAgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDI5NCwyMDQpIHNpemUgOTJ4MzIgW3RyYW5zZm9ybT17bT0oKDEuMDAs
MC4wMCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNp
emUgMzJ4MTZdfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3Rh
cnRFbmRNYXJrZXJdIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwzMC4wMCBM
MC4wMCwzMC4wMCBaIl0KKyAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjk0
LDIwNCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0
PSg0NS4wMCw1LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBb
ZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJub25lWG1pZFltaW4iXX1dIFtzdGFydCBtYXJrZXI9
c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAs
MC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDI5NCwyNDQpIHNpemUgOTJ4MzIgW3N0YXJ0
IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdCiAgICAg
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI5NCwyNDQpIHNpemUgOTJ4MzIg
W3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCw0MC4wMCl9XSBb
c3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0K
LSAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjk0LDI0NCkgc2l6ZSA5Mngz
MiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1d
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFU
VEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5k
TWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkw
LjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgyOTQsMjQ0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgx
LjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9Im5vbmVYbWlk
WW1pZCJdfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRF
bmRNYXJrZXJdIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwzMC4wMCBMMC4w
MCwzMC4wMCBaIl0KICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMjk0
LDI4NCkgc2l6ZSA5MngzMiBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtl
cj1zdGFydEVuZE1hcmtlcl0KICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMjk0LDI4NCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgwLjAwLDgwLjAwKX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQg
bWFya2VyPXN0YXJ0RW5kTWFya2VyXQotICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgyOTQsMjg0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAs
MS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMyeDE2XX1d
IFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2Vy
XSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAg
WiJdCisgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5NCwyODQpIHNpemUg
OTJ4MzIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4w
MCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBl
PVBBVFRFUk5dIFtpZD0ibm9uZVhtaWRZbWF4Il19XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFy
a2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAw
LDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQogICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDI5NCwzMjQpIHNpemUgOTJ4MTEyIFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMjQwLjAwKX1dIFtzdGFydCBtYXJrZXI9c3RhcnRF
bmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXQogICAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgyOTQsMzI0KSBzaXplIDkyeDMyIFtzdGFydCBtYXJrZXI9
c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXQogICAgICAgICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyOTQsMzI0KSBzaXplIDkyeDMyIFtzdGFydCBt
YXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXQotICAgICAg
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyOTQsMzI0KSBzaXplIDkyeDMyIFt0cmFu
c2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBb
YmJveD1hdCAoMCwwKSBzaXplIDMyeDE2XX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJd
IFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAsMC4w
MCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCisgICAgICAgICAgICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDI5NCwzMjQpIHNpemUgOTJ4MzIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4w
MCkoMC4wMCwxLjAwKSkgdD0oNDUuMDAsNS4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0ibm9uZVhtYXhZbWluIl19
XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtl
cl0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAw
IFoiXQogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgyOTQsMzY0KSBz
aXplIDkyeDMyIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0
RW5kTWFya2VyXQogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyOTQs
MzY0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9
KDAuMDAsNDAuMDApfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9
c3RhcnRFbmRNYXJrZXJdCi0gICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5
NCwzNjQpIHNpemUgOTJ4MzIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkg
dD0oNDUuMDAsNS4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0g
W2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzJ4MTZdfV0gW3N0YXJ0
IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtkYXRh
PSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KKyAg
ICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjk0LDM2NCkgc2l6ZSA5MngzMiBb
dHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVS
Tl0gW2lkPSJub25lWG1heFltaWQiXX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtl
bmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAsMC4wMCBMOTAuMDAsMC4wMCBM
OTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge3VzZX0gYXQgKDI5NCw0MDQpIHNpemUgOTJ4MzIgW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1h
cmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdCiAgICAgICAgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDI5NCw0MDQpIHNpemUgOTJ4MzIgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCw4MC4wMCl9XSBbc3RhcnQgbWFya2VyPXN0YXJ0
RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0KLSAgICAgICAgICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjk0LDQwNCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgo
MS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAs
MCkgc2l6ZSAzMngxNl19XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtl
cj1zdGFydEVuZE1hcmtlcl0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMw
LjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgyOTQsNDA0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4w
MCkpIHQ9KDQ1LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAw
XX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9Im5vbmVYbWF4WW1heCJdfV0gW3N0YXJ0IG1h
cmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtkYXRhPSJN
MC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoOTQsNDQ0KSBzaXplIDI5MngzMiBbdHJhbnNm
b3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDM2MC4wMCl9XSBbc3RhcnQg
bWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0KICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDk0LDQ0NCkgc2l6ZSA5MngzMiBbc3Rh
cnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0KICAg
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDk0LDQ0NCkgc2l6ZSA5MngzMiBb
c3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0K
LSAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDk0LDQ0NCkgc2l6ZSA5MngzMiBb
dHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1dIFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVS
Tl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19XSBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFy
a2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAw
LDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAgICAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoOTQsNDQ0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAu
MDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtj
b2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9Im1lZXROb25lIl19XSBb
c3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0g
W2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoi
XQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMTk0LDQ0NCkgc2l6ZSA5
MngzMiBbc3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1h
cmtlcl0KICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE5NCw0NDQpIHNp
emUgOTJ4MzIgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAwLjAw
LDAuMDApfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3RhcnRF
bmRNYXJrZXJdCi0gICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxOTQsNDQ0KSBz
aXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAw
LDUuMDApfV0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtb
dHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMyeDE2XX1dIFtzdGFydCBtYXJrZXI9
c3RhcnRFbmRNYXJrZXJdIFtlbmQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZGF0YT0iTTAuMDAs
MC4wMCBMOTAuMDAsMC4wMCBMOTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCisgICAgICAgICAg
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxOTQsNDQ0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09
e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDQ1LjAwLDUuMDApfV0gW3N0cm9rZT17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9InNs
aWNlTm9uZSJdfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJrZXI9c3Rh
cnRFbmRNYXJrZXJdIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5MC4wMCwzMC4wMCBM
MC4wMCwzMC4wMCBaIl0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDI5
NCw0NDQpIHNpemUgOTJ4MzIgW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2VuZCBtYXJr
ZXI9c3RhcnRFbmRNYXJrZXJdCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICgyOTQsNDQ0KSBzaXplIDkyeDMyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4w
MCkpIHQ9KDIwMC4wMCwwLjAwKX1dIFtzdGFydCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtlbmQg
bWFya2VyPXN0YXJ0RW5kTWFya2VyXQotICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoMjk0LDQ0NCkgc2l6ZSA5MngzMiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSg0NS4wMCw1LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMngxNl19XSBb
c3RhcnQgbWFya2VyPXN0YXJ0RW5kTWFya2VyXSBbZW5kIG1hcmtlcj1zdGFydEVuZE1hcmtlcl0g
W2RhdGE9Ik0wLjAwLDAuMDAgTDkwLjAwLDAuMDAgTDkwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoi
XQorICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjk0LDQ0NCkgc2l6ZSA5Mngz
MiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg0NS4wMCw1LjAwKX1d
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFU
VEVSTl0gW2lkPSJub25lTm9uZSJdfV0gW3N0YXJ0IG1hcmtlcj1zdGFydEVuZE1hcmtlcl0gW2Vu
ZCBtYXJrZXI9c3RhcnRFbmRNYXJrZXJdIFtkYXRhPSJNMC4wMCwwLjAwIEw5MC4wMCwwLjAwIEw5
MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0g
YXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvYmF0
aWsvcGFpbnRzL3BhdHRlcm5SZWdpb25BLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL3BhaW50cy9wYXR0ZXJuUmVnaW9uQS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9iYXRpay9wYWludHMvcGF0dGVyblJlZ2lvbkEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDEwICsxLDMgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InBhdHRlcm5FeGFj
dEZpdCIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAwLjIweDAuNDBdfQotS1Jl
bmRlcmluZ1BhaW50U2VydmVyIHtpZD0icGF0dGVyblRyYW5zbGF0ZVJlZ2lvblgiIFt0eXBlPVBB
VFRFUk5dIFtiYm94PWF0ICgtMC4wNSwwKSBzaXplIDAuMjB4MC40MF19Ci1LUmVuZGVyaW5nUGFp
bnRTZXJ2ZXIge2lkPSJwYXR0ZXJuVHJhbnNsYXRlUmVnaW9uWSIgW3R5cGU9UEFUVEVSTl0gW2Ji
b3g9YXQgKDAsLTAuMTApIHNpemUgMC4yMHgwLjQwXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7
aWQ9InBhdHRlcm5UcmFuc2xhdGVSZWdpb25YWSIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAu
MTAsMC4yMCkgc2l6ZSAwLjIweDAuNDBdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0icGF0
dGVybldpZGVyUmVnaW9uIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDAuNDB4
MC40MF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXR0ZXJuSGlnaGVyUmVnaW9uIiBb
dHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDAuMjB4MC44MF19Ci1LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXIge2lkPSJwYXR0ZXJuV2lkZXJIaWdoZXJSZWdpb24iIFt0eXBlPVBBVFRFUk5d
IFtiYm94PWF0ICgwLDApIHNpemUgMC40MHgwLjgwXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA0NTB4NTAwCkBAIC0yOCw3ICsyMSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUw
MAogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEwLDEwKSBzaXplIDEweDEw
IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLDEwLjAwKX1d
CiAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUgNXg1IFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM2NDY0RkZdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUuMDAs
MC4wMCBMNS4wMCw1LjAwIEwwLjAwLDUuMDAgWiJdCiAgICAgICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMTUsMTUpIHNpemUgNXg1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM2NDY0
RkZdfV0gW2RhdGE9Ik01LjAwLDUuMDAgTDEwLjAwLDUuMDAgTDEwLjAwLDEwLjAwIEw1LjAwLDEw
LjAwIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNp
emUgMjB4MjAKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9
InBhdHRlcm5FeGFjdEZpdCJdIFtwYXR0ZXJuVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwYXR0
ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDIweDIwCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgwLDApIHNpemUgMjB4MjAKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDIweDIwCkBAIC00NSw3ICszOCw3IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDEwLDEwKSBzaXplIDEweDEwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAs
MS4wMCkpIHQ9KDEwLjAwLDEwLjAwKX1dCiAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMTAsMTApIHNpemUgNXg1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM2NDY0
RkZdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUuMDAsMC4wMCBMNS4wMCw1LjAwIEwwLjAwLDUuMDAg
WiJdCiAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTUsMTUpIHNpemUg
NXg1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM2NDY0RkZdfV0gW2RhdGE9Ik01LjAwLDUu
MDAgTDEwLjAwLDUuMDAgTDEwLjAwLDEwLjAwIEw1LjAwLDEwLjAwIFoiXQotICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMjB4MjAKKyAgICAgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdHRlcm5UcmFuc2xhdGVSZWdp
b25YIl0gW3BhdHRlcm5Vbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3BhdHRlcm5Db250ZW50VW5p
dHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0
ICgwLDApIHNpemUgMjB4MjAKICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDAsMCkgc2l6ZSAyMHgyMAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICgwLDApIHNpemUgMjB4MjAKQEAgLTYyLDcgKzU1LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0
NTB4NTAwCiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAsMTAp
IHNpemUgMTB4MTAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAu
MDAsMTAuMDApfV0KICAgICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwx
MCkgc2l6ZSA1eDUgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzY0NjRGRl19XSBbZGF0YT0i
TTAuMDAsMC4wMCBMNS4wMCwwLjAwIEw1LjAwLDUuMDAgTDAuMDAsNS4wMCBaIl0KICAgICAgICAg
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNSwxNSkgc2l6ZSA1eDUgW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzY0NjRGRl19XSBbZGF0YT0iTTUuMDAsNS4wMCBMMTAuMDAsNS4w
MCBMMTAuMDAsMTAuMDAgTDUuMDAsMTAuMDAgWiJdCi0gICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAyMHgyMAorICAgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0icGF0dGVyblRyYW5zbGF0ZVJlZ2lvblkiXSBbcGF0dGVy
blVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VP
blVzZV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAy
MHgyMAogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDIw
eDIwCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAy
MHgyMApAQCAtNzksNyArNzIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAg
ICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMCwxMCkgc2l6ZSAxMHgxMCBb
dHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMC4wMCwxMC4wMCl9XQog
ICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDEwKSBzaXplIDV4NSBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jNjQ2NEZGXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw1
LjAwLDAuMDAgTDUuMDAsNS4wMCBMMC4wMCw1LjAwIFoiXQogICAgICAgICAgICAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDE1LDE1KSBzaXplIDV4NSBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jNjQ2NEZGXX1dIFtkYXRhPSJNNS4wMCw1LjAwIEwxMC4wMCw1LjAwIEwxMC4wMCwxMC4w
MCBMNS4wMCwxMC4wMCBaIl0KLSAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBh
dCAoMCwwKSBzaXplIDIweDIwCisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0
dGVybn0gW2lkPSJwYXR0ZXJuVHJhbnNsYXRlUmVnaW9uWFkiXSBbcGF0dGVyblVuaXRzPW9iamVj
dEJvdW5kaW5nQm94XSBbcGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAyMHgyMAogICAgICAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDIweDIwCiAgICAgICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyMHgyMApAQCAtOTYs
NyArODksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAgICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMCwxMCkgc2l6ZSAxMHgxMCBbdHJhbnNmb3JtPXtt
PSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMC4wMCwxMC4wMCl9XQogICAgICAgICAgICAg
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDEwKSBzaXplIDV4NSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jNjQ2NEZGXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw1LjAwLDAuMDAgTDUu
MDAsNS4wMCBMMC4wMCw1LjAwIFoiXQogICAgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDE1LDE1KSBzaXplIDV4NSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jNjQ2NEZG
XX1dIFtkYXRhPSJNNS4wMCw1LjAwIEwxMC4wMCw1LjAwIEwxMC4wMCwxMC4wMCBMNS4wMCwxMC4w
MCBaIl0KLSAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXpl
IDIweDIwCisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJw
YXR0ZXJuV2lkZXJSZWdpb24iXSBbcGF0dGVyblVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcGF0
dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAyMHgyMAogICAgICAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDIweDIwCiAgICAgICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAyMHgyMApAQCAtMTEzLDcgKzEwNiw3IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDEwLDEwKSBzaXplIDEweDEwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAu
MDAsMS4wMCkpIHQ9KDEwLjAwLDEwLjAwKX1dCiAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMTAsMTApIHNpemUgNXg1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM2
NDY0RkZdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUuMDAsMC4wMCBMNS4wMCw1LjAwIEwwLjAwLDUu
MDAgWiJdCiAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTUsMTUpIHNp
emUgNXg1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM2NDY0RkZdfV0gW2RhdGE9Ik01LjAw
LDUuMDAgTDEwLjAwLDUuMDAgTDEwLjAwLDEwLjAwIEw1LjAwLDEwLjAwIFoiXQotICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMjB4MjAKKyAgICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdHRlcm5IaWdoZXJSZWdp
b24iXSBbcGF0dGVyblVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcGF0dGVybkNvbnRlbnRVbml0
cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQg
KDAsMCkgc2l6ZSAyMHgyMAogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MCwwKSBzaXplIDIweDIwCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDAsMCkgc2l6ZSAyMHgyMApAQCAtMTMwLDcgKzEyMyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUg
NDUweDUwMAogICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEwLDEw
KSBzaXplIDEweDEwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEw
LjAwLDEwLjAwKX1dCiAgICAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAs
MTApIHNpemUgNXg1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM2NDY0RkZdfV0gW2RhdGE9
Ik0wLjAwLDAuMDAgTDUuMDAsMC4wMCBMNS4wMCw1LjAwIEwwLjAwLDUuMDAgWiJdCiAgICAgICAg
ICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTUsMTUpIHNpemUgNXg1IFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSM2NDY0RkZdfV0gW2RhdGE9Ik01LjAwLDUuMDAgTDEwLjAwLDUu
MDAgTDEwLjAwLDEwLjAwIEw1LjAwLDEwLjAwIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMjB4MjAKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdHRlcm5XaWRlckhpZ2hlclJlZ2lvbiJdIFtwYXR0
ZXJuVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFj
ZU9uVXNlXQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXpl
IDIweDIwCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUg
MjB4MjAKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXpl
IDIweDIwCkBAIC0xNzIsNDMgKzE2NSw0MyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAK
ICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtNSkgc2l6ZSAxODR4MTcgY29u
dGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xNCkgc2l6ZSAxODR4MTcKICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAx
IGF0ICgwLjAwLC01LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyNiB3aWR0aCAxODQuMDA6
ICJFeGFjdCBGaXQgaW4gcGF0dGVyblJlZ2lvbiIKLSAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMjksMTk5KSBzaXplIDEwMng1MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMC4yMHgw
LjQwXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDUwLjAwIEwwLjAw
LDUwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyOSwxOTkpIHNpemUg
MTAyeDUyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5
cGU9UEFUVEVSTl0gW2lkPSJwYXR0ZXJuRXhhY3RGaXQiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwx
MDAuMDAsMC4wMCBMMTAwLjAwLDUwLjAwIEwwLjAwLDUwLjAwIFoiXQogICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgyOSwxOTkpIHNpemUgMjJ4MjIgW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jRkZGRkZGXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtv
cGFjaXR5PTAuMTJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDIwLjAwLDAuMDAgTDIwLjAwLDIwLjAw
IEwwLjAwLDIwLjAwIFoiXQogICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNCwy
NTEpIHNpemUgMjE3eDcwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9
KDAuMDAsNzAuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtNSkg
c2l6ZSAyMTF4MTcgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAyMTF4MTcKICAgICAgICAgICAgICAgY2h1
bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLC01LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAz
MiB3aWR0aCAyMTEuMDA6ICJwYXR0ZXJuUmVnaW9uIG9mZnNldCB0byB0aGUgbGVmdCIKLSAgICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjksMjY5KSBzaXplIDEwMng1MiBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94
PWF0ICgtMC4wNSwwKSBzaXplIDAuMjB4MC40MF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAw
LDAuMDAgTDEwMC4wMCw1MC4wMCBMMC4wMCw1MC4wMCBaIl0KKyAgICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMjksMjY5KSBzaXplIDEwMng1MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0icGF0dGVyblRyYW5zbGF0
ZVJlZ2lvblgiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDUwLjAw
IEwwLjAwLDUwLjAwIFoiXQogICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNCwyNjkp
IHNpemUgMjJ4MjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZGRkZGXX1dIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTAuMTJdfV0gW2RhdGE9Ik0t
NS4wMCwwLjAwIEwxNS4wMCwwLjAwIEwxNS4wMCwyMC4wMCBMLTUuMDAsMjAuMDAgWiJdCiAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI5LDMyMSkgc2l6ZSAyMTN4NzAgW3RyYW5z
Zm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCwxNDAuMDApfV0KICAgICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtNSkgc2l6ZSAyMTJ4MTcgY29udGFpbnMg
MSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LC0xNCkgc2l6ZSAyMTJ4MTcKICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgw
LjAwLC01LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzMSB3aWR0aCAyMTIuMDA6ICJwYXR0
ZXJuUmVnaW9uIG9mZnNldCB0byB0aGUgdG9wIgotICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgyOSwzMzkpIHNpemUgMTAyeDUyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsLTAuMTApIHNpemUgMC4y
MHgwLjQwXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDUwLjAwIEww
LjAwLDUwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyOSwzMzkpIHNp
emUgMTAyeDUyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17
W3R5cGU9UEFUVEVSTl0gW2lkPSJwYXR0ZXJuVHJhbnNsYXRlUmVnaW9uWSJdfV0gW2RhdGE9Ik0w
LjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsNTAuMDAgTDAuMDAsNTAuMDAgWiJdCiAgICAg
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5LDMzNCkgc2l6ZSAyMngyMiBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGRkZdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwMDAwMF0gW29wYWNpdHk9MC4xMl19XSBbZGF0YT0iTTAuMDAsLTUuMDAgTDIwLjAwLC01LjAw
IEwyMC4wMCwxNS4wMCBMMC4wMCwxNS4wMCBaIl0KICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMjksMzkxKSBzaXplIDIzOHg3MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgw
LjAwLDEuMDApKSB0PSgwLjAwLDIxMC4wMCl9XQogICAgICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICgwLC01KSBzaXplIDIzN3gxNyBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDIzN3gxNwogICAg
ICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDAuMDAsLTUuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDM2IHdpZHRoIDIzNy4wMDogInBhdHRlcm5SZWdpb24gb2Zmc2V0IHRvIHRo
ZSB0b3AvbGVmdCIKLSAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjksNDA5KSBzaXpl
IDEwMng1MiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0
eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLjEwLDAuMjApIHNpemUgMC4yMHgwLjQwXX1dIFtkYXRh
PSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDUwLjAwIEwwLjAwLDUwLjAwIFoiXQor
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyOSw0MDkpIHNpemUgMTAyeDUyIFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0g
W2lkPSJwYXR0ZXJuVHJhbnNsYXRlUmVnaW9uWFkiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAu
MDAsMC4wMCBMMTAwLjAwLDUwLjAwIEwwLjAwLDUwLjAwIFoiXQogICAgICAgICAgIFJlbmRlclBh
dGgge3JlY3R9IGF0ICgzOSw0MTkpIHNpemUgMjJ4MjIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtj
b2xvcj0jRkZGRkZGXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFj
aXR5PTAuMTJdfV0gW2RhdGE9Ik0xMC4wMCwxMC4wMCBMMzAuMDAsMTAuMDAgTDMwLjAwLDMwLjAw
IEwxMC4wMCwzMC4wMCBaIl0KICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI1NCwx
ODEpIHNpemUgMTk2eDIxMCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0
PSgyNTUuMDAsMjAwLjAwKX1dCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI1
NCwxODEpIHNpemUgMTk2eDcwCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAs
LTUpIHNpemUgMjM1eDE3IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMjM1eDE3CiAgICAgICAgICAgICAg
IGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMC4wMCwtNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZz
ZXQgMzIgd2lkdGggMjM1LjAwOiAicGF0dGVyblJlZ2lvbiB3aWRlciB0aGFuIGNvbnRlbnQiCi0g
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI1NCwxOTkpIHNpemUgMTAyeDUyIFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0g
W2Jib3g9YXQgKDAsMCkgc2l6ZSAwLjQweDAuNDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4w
MCwwLjAwIEwxMDAuMDAsNTAuMDAgTDAuMDAsNTAuMDAgWiJdCisgICAgICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDI1NCwxOTkpIHNpemUgMTAyeDUyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJwYXR0ZXJuV2lkZXJS
ZWdpb24iXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDUwLjAwIEww
LjAwLDUwLjAwIFoiXQogICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNTQsMTk5KSBz
aXplIDQyeDIyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkZGRl19XSBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbb3BhY2l0eT0wLjEyXX1dIFtkYXRhPSJNMC4w
MCwwLjAwIEw0MC4wMCwwLjAwIEw0MC4wMCwyMC4wMCBMMC4wMCwyMC4wMCBaIl0KICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjU0LDI1MSkgc2l6ZSAxOTZ4NzAgW3RyYW5zZm9y
bT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCw3MC4wMCl9XQogICAgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLC01KSBzaXplIDI0MXgxNyBjb250YWlucyAxIGNo
dW5rKHMpCiAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0
KSBzaXplIDI0MXgxNwogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDAuMDAs
LTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMzIHdpZHRoIDI0MS4wMDogInBhdHRlcm5S
ZWdpb24gaGlnaGVyIHRoYW4gY29udGVudCIKLSAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoMjU0LDI2OSkgc2l6ZSAxMDJ4NTIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDAuMjB4MC44
MF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCw1MC4wMCBMMC4wMCw1
MC4wMCBaIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjU0LDI2OSkgc2l6ZSAx
MDJ4NTIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlw
ZT1QQVRURVJOXSBbaWQ9InBhdHRlcm5IaWdoZXJSZWdpb24iXX1dIFtkYXRhPSJNMC4wMCwwLjAw
IEwxMDAuMDAsMC4wMCBMMTAwLjAwLDUwLjAwIEwwLjAwLDUwLjAwIFoiXQogICAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICgyNTQsMjY5KSBzaXplIDIyeDQyIFtzdHJva2U9e1t0eXBlPVNP
TElEXSBbY29sb3I9I0ZGRkZGRl19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAw
XSBbb3BhY2l0eT0wLjEyXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwyMC4wMCwwLjAwIEwyMC4wMCw0
MC4wMCBMMC4wMCw0MC4wMCBaIl0KICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MjU0LDMyMSkgc2l6ZSAxOTZ4NzAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAw
KSkgdD0oMC4wMCwxNDAuMDApfV0KICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MCwtNSkgc2l6ZSAyNDF4MTcgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAyNDF4MTcKICAgICAgICAgICAg
ICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLC01LjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAzMyB3aWR0aCAyNDEuMDA6ICJwYXR0ZXJuUmVnaW9uIGhpZ2hlciB0aGFuIGNvbnRlbnQi
Ci0gICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI1NCwzMzkpIHNpemUgMTAyeDUyIFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVS
Tl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAwLjQweDAuODBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEw
MC4wMCwwLjAwIEwxMDAuMDAsNTAuMDAgTDAuMDAsNTAuMDAgWiJdCisgICAgICAgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDI1NCwzMzkpIHNpemUgMTAyeDUyIFtzdHJva2U9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJwYXR0ZXJuV2lk
ZXJIaWdoZXJSZWdpb24iXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAw
LDUwLjAwIEwwLjAwLDUwLjAwIFoiXQogICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgy
NTQsMzM5KSBzaXplIDQyeDQyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkZGRl19
XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbb3BhY2l0eT0wLjEyXX1dIFtk
YXRhPSJNMC4wMCwwLjAwIEw0MC4wMCwwLjAwIEw0MC4wMCw0MC4wMCBMMC4wMCw0MC4wMCBaIl0K
ICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvYmF0aWsvcGFpbnRzL3BhdHRlcm5SZWdpb25zLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2Jh
dGlrL3BhaW50cy9wYXR0ZXJuUmVnaW9ucy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay9wYWludHMvcGF0dGVyblJlZ2lv
bnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzICsxLDMgQEAKLUtSZW5kZXJp
bmdQYWludFNlcnZlciB7aWQ9InBhdHRlcm4xIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCww
KSBzaXplIDAuNzV4MC41MF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXR0ZXJuMiIg
W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAwLjc1eDAuNTBdfQotS1JlbmRlcmlu
Z1BhaW50U2VydmVyIHtpZD0icGF0dGVybjMiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDAp
IHNpemUgMzB4MTVdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0icGF0dGVybjQiIFt0eXBl
PVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMC43NXgwLjUwXX0KLUtSZW5kZXJpbmdQYWlu
dFNlcnZlciB7aWQ9InBhdHRlcm41IiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXpl
IDAuNzV4MC41MF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXR0ZXJuNiIgW3R5cGU9
UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMHgxNV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2
ZXIge2lkPSJwYXR0ZXJuNyIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAzMHgx
NV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXR0ZXJuOCIgW3R5cGU9UEFUVEVSTl0g
W2Jib3g9YXQgKDAsMCkgc2l6ZSAzMHgxNV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJy
ZWRUb1llbGxvdyIgW3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDAp
LCAoMS4wMCwjRkZGRjAwKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUw
KV0gW3JhZGl1cz0wLjUwXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InBhdHRlcm45IiBb
dHlwZT1QQVRURVJOXSBbYmJveD1hdCAoLTIyLjUwLC0yMi41MCkgc2l6ZSAzMHgxNV19CiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMApAQCAtMjAsMzYgKzEwLDM2IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0
ZXh0IHJ1biAxIGF0ICgxNjguMDAsNzUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE1IHdp
ZHRoIDExNC4wMDogInBhdHRlcm4gdmlld0JveCIKICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9
IGF0ICgxNCwxMDgpIHNpemUgNDEweDI5MwogICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVy
IHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3Bh
dHRlcm59IGF0ICgwLDApIHNpemUgMjV4MjUKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0
ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdHRlcm4xIl0gW3BhdHRlcm5Vbml0cz1vYmplY3RCb3VuZGlu
Z0JveF0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgICAgUmVu
ZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMCwwKSBzaXplIDIweDIwIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0yMC4wMCwxMC4wMCBMMTkuOTgsMTAuNjMgTDE5Ljky
LDExLjI1IEwxOS44MiwxMS44NyBMMTkuNjksMTIuNDkgTDE5LjUxLDEzLjA5IEwxOS4zMCwxMy42
OCBMMTkuMDUsMTQuMjYgTDE4Ljc2LDE0LjgyIEwxOC40NCwxNS4zNiBMMTguMDksMTUuODggTDE3
LjcxLDE2LjM3IEwxNy4yOSwxNi44NSBMMTYuODUsMTcuMjkgTDE2LjM3LDE3LjcxIEwxNS44OCwx
OC4wOSBMMTUuMzYsMTguNDQgTDE0LjgyLDE4Ljc2IEwxNC4yNiwxOS4wNSBMMTMuNjgsMTkuMzAg
TDEzLjA5LDE5LjUxIEwxMi40OSwxOS42OSBMMTEuODcsMTkuODIgTDExLjI1LDE5LjkyIEwxMC42
MywxOS45OCBMMTAuMDAsMjAuMDAgTDkuMzcsMTkuOTggTDguNzUsMTkuOTIgTDguMTMsMTkuODIg
TDcuNTEsMTkuNjkgTDYuOTEsMTkuNTEgTDYuMzIsMTkuMzAgTDUuNzQsMTkuMDUgTDUuMTgsMTgu
NzYgTDQuNjQsMTguNDQgTDQuMTIsMTguMDkgTDMuNjMsMTcuNzEgTDMuMTUsMTcuMjkgTDIuNzEs
MTYuODUgTDIuMjksMTYuMzcgTDEuOTEsMTUuODggTDEuNTYsMTUuMzYgTDEuMjQsMTQuODIgTDAu
OTUsMTQuMjYgTDAuNzAsMTMuNjggTDAuNDksMTMuMDkgTDAuMzEsMTIuNDkgTDAuMTgsMTEuODcg
TDAuMDgsMTEuMjUgTDAuMDIsMTAuNjMgTDAuMDAsMTAuMDAgTDAuMDIsOS4zNyBMMC4wOCw4Ljc1
IEwwLjE4LDguMTMgTDAuMzEsNy41MSBMMC40OSw2LjkxIEwwLjcwLDYuMzIgTDAuOTUsNS43NCBM
MS4yNCw1LjE4IEwxLjU2LDQuNjQgTDEuOTEsNC4xMiBMMi4yOSwzLjYzIEwyLjcxLDMuMTUgTDMu
MTUsMi43MSBMMy42MywyLjI5IEw0LjEyLDEuOTEgTDQuNjQsMS41NiBMNS4xOCwxLjI0IEw1Ljc0
LDAuOTUgTDYuMzIsMC43MCBMNi45MSwwLjQ5IEw3LjUxLDAuMzEgTDguMTMsMC4xOCBMOC43NSww
LjA4IEw5LjM3LDAuMDIgTDEwLjAwLDAuMDAgTDEwLjYzLDAuMDIgTDExLjI1LDAuMDggTDExLjg3
LDAuMTggTDEyLjQ5LDAuMzEgTDEzLjA5LDAuNDkgTDEzLjY4LDAuNzAgTDE0LjI2LDAuOTUgTDE0
LjgyLDEuMjQgTDE1LjM2LDEuNTYgTDE1Ljg4LDEuOTEgTDE2LjM3LDIuMjkgTDE2Ljg1LDIuNzEg
TDE3LjI5LDMuMTUgTDE3LjcxLDMuNjMgTDE4LjA5LDQuMTIgTDE4LjQ0LDQuNjQgTDE4Ljc2LDUu
MTggTDE5LjA1LDUuNzQgTDE5LjMwLDYuMzIgTDE5LjUxLDYuOTEgTDE5LjY5LDcuNTEgTDE5Ljgy
LDguMTMgTDE5LjkyLDguNzUgTDE5Ljk4LDkuMzcgWiJdCiAgICAgICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDEwLDEwKSBzaXplIDE1eDE1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDgwMDBdfV0gW2RhdGE9Ik0xMC4wMCwxMC4wMCBMMjUuMDAsMTAuMDAgTDI1LjAwLDI1LjAwIEwx
MC4wMCwyNS4wMCBaIl0KLSAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAo
MCwwKSBzaXplIDI1eDI1CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVy
bn0gW2lkPSJwYXR0ZXJuMiJdIFtwYXR0ZXJuVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwYXR0
ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICAgIFJlbmRlclBhdGgge2Np
cmNsZX0gYXQgKDAsMCkgc2l6ZSAyMHgyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYw
MDAwXX1dIFtkYXRhPSJNMjAuMDAsMTAuMDAgTDE5Ljk4LDEwLjYzIEwxOS45MiwxMS4yNSBMMTku
ODIsMTEuODcgTDE5LjY5LDEyLjQ5IEwxOS41MSwxMy4wOSBMMTkuMzAsMTMuNjggTDE5LjA1LDE0
LjI2IEwxOC43NiwxNC44MiBMMTguNDQsMTUuMzYgTDE4LjA5LDE1Ljg4IEwxNy43MSwxNi4zNyBM
MTcuMjksMTYuODUgTDE2Ljg1LDE3LjI5IEwxNi4zNywxNy43MSBMMTUuODgsMTguMDkgTDE1LjM2
LDE4LjQ0IEwxNC44MiwxOC43NiBMMTQuMjYsMTkuMDUgTDEzLjY4LDE5LjMwIEwxMy4wOSwxOS41
MSBMMTIuNDksMTkuNjkgTDExLjg3LDE5LjgyIEwxMS4yNSwxOS45MiBMMTAuNjMsMTkuOTggTDEw
LjAwLDIwLjAwIEw5LjM3LDE5Ljk4IEw4Ljc1LDE5LjkyIEw4LjEzLDE5LjgyIEw3LjUxLDE5LjY5
IEw2LjkxLDE5LjUxIEw2LjMyLDE5LjMwIEw1Ljc0LDE5LjA1IEw1LjE4LDE4Ljc2IEw0LjY0LDE4
LjQ0IEw0LjEyLDE4LjA5IEwzLjYzLDE3LjcxIEwzLjE1LDE3LjI5IEwyLjcxLDE2Ljg1IEwyLjI5
LDE2LjM3IEwxLjkxLDE1Ljg4IEwxLjU2LDE1LjM2IEwxLjI0LDE0LjgyIEwwLjk1LDE0LjI2IEww
LjcwLDEzLjY4IEwwLjQ5LDEzLjA5IEwwLjMxLDEyLjQ5IEwwLjE4LDExLjg3IEwwLjA4LDExLjI1
IEwwLjAyLDEwLjYzIEwwLjAwLDEwLjAwIEwwLjAyLDkuMzcgTDAuMDgsOC43NSBMMC4xOCw4LjEz
IEwwLjMxLDcuNTEgTDAuNDksNi45MSBMMC43MCw2LjMyIEwwLjk1LDUuNzQgTDEuMjQsNS4xOCBM
MS41Niw0LjY0IEwxLjkxLDQuMTIgTDIuMjksMy42MyBMMi43MSwzLjE1IEwzLjE1LDIuNzEgTDMu
NjMsMi4yOSBMNC4xMiwxLjkxIEw0LjY0LDEuNTYgTDUuMTgsMS4yNCBMNS43NCwwLjk1IEw2LjMy
LDAuNzAgTDYuOTEsMC40OSBMNy41MSwwLjMxIEw4LjEzLDAuMTggTDguNzUsMC4wOCBMOS4zNyww
LjAyIEwxMC4wMCwwLjAwIEwxMC42MywwLjAyIEwxMS4yNSwwLjA4IEwxMS44NywwLjE4IEwxMi40
OSwwLjMxIEwxMy4wOSwwLjQ5IEwxMy42OCwwLjcwIEwxNC4yNiwwLjk1IEwxNC44MiwxLjI0IEwx
NS4zNiwxLjU2IEwxNS44OCwxLjkxIEwxNi4zNywyLjI5IEwxNi44NSwyLjcxIEwxNy4yOSwzLjE1
IEwxNy43MSwzLjYzIEwxOC4wOSw0LjEyIEwxOC40NCw0LjY0IEwxOC43Niw1LjE4IEwxOS4wNSw1
Ljc0IEwxOS4zMCw2LjMyIEwxOS41MSw2LjkxIEwxOS42OSw3LjUxIEwxOS44Miw4LjEzIEwxOS45
Miw4Ljc1IEwxOS45OCw5LjM3IFoiXQogICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgx
MCwxMCkgc2l6ZSAxNXgxNSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtk
YXRhPSJNMTAuMDAsMTAuMDAgTDI1LjAwLDEwLjAwIEwyNS4wMCwyNS4wMCBMMTAuMDAsMjUuMDAg
WiJdCi0gICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAy
NXgyNQorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0icGF0
dGVybjMiXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVybkNvbnRlbnRVbml0
cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgwLDAp
IHNpemUgMjB4MjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0i
TTIwLjAwLDEwLjAwIEwxOS45OCwxMC42MyBMMTkuOTIsMTEuMjUgTDE5LjgyLDExLjg3IEwxOS42
OSwxMi40OSBMMTkuNTEsMTMuMDkgTDE5LjMwLDEzLjY4IEwxOS4wNSwxNC4yNiBMMTguNzYsMTQu
ODIgTDE4LjQ0LDE1LjM2IEwxOC4wOSwxNS44OCBMMTcuNzEsMTYuMzcgTDE3LjI5LDE2Ljg1IEwx
Ni44NSwxNy4yOSBMMTYuMzcsMTcuNzEgTDE1Ljg4LDE4LjA5IEwxNS4zNiwxOC40NCBMMTQuODIs
MTguNzYgTDE0LjI2LDE5LjA1IEwxMy42OCwxOS4zMCBMMTMuMDksMTkuNTEgTDEyLjQ5LDE5LjY5
IEwxMS44NywxOS44MiBMMTEuMjUsMTkuOTIgTDEwLjYzLDE5Ljk4IEwxMC4wMCwyMC4wMCBMOS4z
NywxOS45OCBMOC43NSwxOS45MiBMOC4xMywxOS44MiBMNy41MSwxOS42OSBMNi45MSwxOS41MSBM
Ni4zMiwxOS4zMCBMNS43NCwxOS4wNSBMNS4xOCwxOC43NiBMNC42NCwxOC40NCBMNC4xMiwxOC4w
OSBMMy42MywxNy43MSBMMy4xNSwxNy4yOSBMMi43MSwxNi44NSBMMi4yOSwxNi4zNyBMMS45MSwx
NS44OCBMMS41NiwxNS4zNiBMMS4yNCwxNC44MiBMMC45NSwxNC4yNiBMMC43MCwxMy42OCBMMC40
OSwxMy4wOSBMMC4zMSwxMi40OSBMMC4xOCwxMS44NyBMMC4wOCwxMS4yNSBMMC4wMiwxMC42MyBM
MC4wMCwxMC4wMCBMMC4wMiw5LjM3IEwwLjA4LDguNzUgTDAuMTgsOC4xMyBMMC4zMSw3LjUxIEww
LjQ5LDYuOTEgTDAuNzAsNi4zMiBMMC45NSw1Ljc0IEwxLjI0LDUuMTggTDEuNTYsNC42NCBMMS45
MSw0LjEyIEwyLjI5LDMuNjMgTDIuNzEsMy4xNSBMMy4xNSwyLjcxIEwzLjYzLDIuMjkgTDQuMTIs
MS45MSBMNC42NCwxLjU2IEw1LjE4LDEuMjQgTDUuNzQsMC45NSBMNi4zMiwwLjcwIEw2LjkxLDAu
NDkgTDcuNTEsMC4zMSBMOC4xMywwLjE4IEw4Ljc1LDAuMDggTDkuMzcsMC4wMiBMMTAuMDAsMC4w
MCBMMTAuNjMsMC4wMiBMMTEuMjUsMC4wOCBMMTEuODcsMC4xOCBMMTIuNDksMC4zMSBMMTMuMDks
MC40OSBMMTMuNjgsMC43MCBMMTQuMjYsMC45NSBMMTQuODIsMS4yNCBMMTUuMzYsMS41NiBMMTUu
ODgsMS45MSBMMTYuMzcsMi4yOSBMMTYuODUsMi43MSBMMTcuMjksMy4xNSBMMTcuNzEsMy42MyBM
MTguMDksNC4xMiBMMTguNDQsNC42NCBMMTguNzYsNS4xOCBMMTkuMDUsNS43NCBMMTkuMzAsNi4z
MiBMMTkuNTEsNi45MSBMMTkuNjksNy41MSBMMTkuODIsOC4xMyBMMTkuOTIsOC43NSBMMTkuOTgs
OS4zNyBaIl0KICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUgMTV4
MTUgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTEwLjAwLDEw
LjAwIEwyNS4wMCwxMC4wMCBMMjUuMDAsMjUuMDAgTDEwLjAwLDI1LjAwIFoiXQotICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMXgxCisgICAgICAgIFJl
bmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJwYXR0ZXJuNCJdIFtwYXR0ZXJu
VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwYXR0ZXJuQ29udGVudFVuaXRzPW9iamVjdEJvdW5k
aW5nQm94XQogICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDAsMCkgc2l6ZSAxeDEg
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTAuNTAsMC4zMyBM
MC41MCwwLjM1IEwwLjUwLDAuMzYgTDAuNTAsMC4zOCBMMC40OSwwLjQwIEwwLjQ5LDAuNDEgTDAu
NDgsMC40MyBMMC40OCwwLjQ0IEwwLjQ3LDAuNDUgTDAuNDYsMC40NyBMMC40NSwwLjQ4IEwwLjQ0
LDAuNDkgTDAuNDMsMC41MCBMMC40MiwwLjUyIEwwLjQxLDAuNTMgTDAuNDAsMC41NCBMMC4zOCww
LjU0IEwwLjM3LDAuNTUgTDAuMzYsMC41NiBMMC4zNCwwLjU3IEwwLjMzLDAuNTcgTDAuMzEsMC41
OCBMMC4zMCwwLjU4IEwwLjI4LDAuNTggTDAuMjcsMC41OCBMMC4yNSwwLjU4IEwwLjIzLDAuNTgg
TDAuMjIsMC41OCBMMC4yMCwwLjU4IEwwLjE5LDAuNTggTDAuMTcsMC41NyBMMC4xNiwwLjU3IEww
LjE0LDAuNTYgTDAuMTMsMC41NSBMMC4xMiwwLjU0IEwwLjEwLDAuNTQgTDAuMDksMC41MyBMMC4w
OCwwLjUyIEwwLjA3LDAuNTAgTDAuMDYsMC40OSBMMC4wNSwwLjQ4IEwwLjA0LDAuNDcgTDAuMDMs
MC40NSBMMC4wMiwwLjQ0IEwwLjAyLDAuNDMgTDAuMDEsMC40MSBMMC4wMSwwLjQwIEwwLjAwLDAu
MzggTDAuMDAsMC4zNiBMMC4wMCwwLjM1IEwwLjAwLDAuMzMgTDAuMDAsMC4zMiBMMC4wMCwwLjMw
IEwwLjAwLDAuMjkgTDAuMDEsMC4yNyBMMC4wMSwwLjI2IEwwLjAyLDAuMjQgTDAuMDIsMC4yMyBM
MC4wMywwLjIxIEwwLjA0LDAuMjAgTDAuMDUsMC4xOSBMMC4wNiwwLjE3IEwwLjA3LDAuMTYgTDAu
MDgsMC4xNSBMMC4wOSwwLjE0IEwwLjEwLDAuMTMgTDAuMTIsMC4xMiBMMC4xMywwLjExIEwwLjE0
LDAuMTEgTDAuMTYsMC4xMCBMMC4xNywwLjEwIEwwLjE5LDAuMDkgTDAuMjAsMC4wOSBMMC4yMiww
LjA5IEwwLjIzLDAuMDggTDAuMjUsMC4wOCBMMC4yNywwLjA4IEwwLjI4LDAuMDkgTDAuMzAsMC4w
OSBMMC4zMSwwLjA5IEwwLjMzLDAuMTAgTDAuMzQsMC4xMCBMMC4zNiwwLjExIEwwLjM3LDAuMTEg
TDAuMzgsMC4xMiBMMC40MCwwLjEzIEwwLjQxLDAuMTQgTDAuNDIsMC4xNSBMMC40MywwLjE2IEww
LjQ0LDAuMTcgTDAuNDUsMC4xOSBMMC40NiwwLjIwIEwwLjQ3LDAuMjEgTDAuNDgsMC4yMyBMMC40
OCwwLjI0IEwwLjQ5LDAuMjYgTDAuNDksMC4yNyBMMC41MCwwLjI5IEwwLjUwLDAuMzAgTDAuNTAs
MC4zMiBaIl0KICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDF4MSBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4yNSwwLjMzIEww
LjYyLDAuMzMgTDAuNjIsMC44MyBMMC4yNSwwLjgzIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgMXgxCisgICAgICAgIFJlbmRlclNWR1Jlc291
cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJwYXR0ZXJuNSJdIFtwYXR0ZXJuVW5pdHM9b2JqZWN0
Qm91bmRpbmdCb3hdIFtwYXR0ZXJuQ29udGVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XQogICAg
ICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDAsMCkgc2l6ZSAxeDEgW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTAuNTAsMC4zMyBMMC41MCwwLjM1IEww
LjUwLDAuMzYgTDAuNTAsMC4zOCBMMC40OSwwLjQwIEwwLjQ5LDAuNDEgTDAuNDgsMC40MyBMMC40
OCwwLjQ0IEwwLjQ3LDAuNDUgTDAuNDYsMC40NyBMMC40NSwwLjQ4IEwwLjQ0LDAuNDkgTDAuNDMs
MC41MCBMMC40MiwwLjUyIEwwLjQxLDAuNTMgTDAuNDAsMC41NCBMMC4zOCwwLjU0IEwwLjM3LDAu
NTUgTDAuMzYsMC41NiBMMC4zNCwwLjU3IEwwLjMzLDAuNTcgTDAuMzEsMC41OCBMMC4zMCwwLjU4
IEwwLjI4LDAuNTggTDAuMjcsMC41OCBMMC4yNSwwLjU4IEwwLjIzLDAuNTggTDAuMjIsMC41OCBM
MC4yMCwwLjU4IEwwLjE5LDAuNTggTDAuMTcsMC41NyBMMC4xNiwwLjU3IEwwLjE0LDAuNTYgTDAu
MTMsMC41NSBMMC4xMiwwLjU0IEwwLjEwLDAuNTQgTDAuMDksMC41MyBMMC4wOCwwLjUyIEwwLjA3
LDAuNTAgTDAuMDYsMC40OSBMMC4wNSwwLjQ4IEwwLjA0LDAuNDcgTDAuMDMsMC40NSBMMC4wMiww
LjQ0IEwwLjAyLDAuNDMgTDAuMDEsMC40MSBMMC4wMSwwLjQwIEwwLjAwLDAuMzggTDAuMDAsMC4z
NiBMMC4wMCwwLjM1IEwwLjAwLDAuMzMgTDAuMDAsMC4zMiBMMC4wMCwwLjMwIEwwLjAwLDAuMjkg
TDAuMDEsMC4yNyBMMC4wMSwwLjI2IEwwLjAyLDAuMjQgTDAuMDIsMC4yMyBMMC4wMywwLjIxIEww
LjA0LDAuMjAgTDAuMDUsMC4xOSBMMC4wNiwwLjE3IEwwLjA3LDAuMTYgTDAuMDgsMC4xNSBMMC4w
OSwwLjE0IEwwLjEwLDAuMTMgTDAuMTIsMC4xMiBMMC4xMywwLjExIEwwLjE0LDAuMTEgTDAuMTYs
MC4xMCBMMC4xNywwLjEwIEwwLjE5LDAuMDkgTDAuMjAsMC4wOSBMMC4yMiwwLjA5IEwwLjIzLDAu
MDggTDAuMjUsMC4wOCBMMC4yNywwLjA4IEwwLjI4LDAuMDkgTDAuMzAsMC4wOSBMMC4zMSwwLjA5
IEwwLjMzLDAuMTAgTDAuMzQsMC4xMCBMMC4zNiwwLjExIEwwLjM3LDAuMTEgTDAuMzgsMC4xMiBM
MC40MCwwLjEzIEwwLjQxLDAuMTQgTDAuNDIsMC4xNSBMMC40MywwLjE2IEwwLjQ0LDAuMTcgTDAu
NDUsMC4xOSBMMC40NiwwLjIwIEwwLjQ3LDAuMjEgTDAuNDgsMC4yMyBMMC40OCwwLjI0IEwwLjQ5
LDAuMjYgTDAuNDksMC4yNyBMMC41MCwwLjI5IEwwLjUwLDAuMzAgTDAuNTAsMC4zMiBaIl0KICAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDF4MSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4yNSwwLjMzIEwwLjYyLDAuMzMgTDAu
NjIsMC44MyBMMC4yNSwwLjgzIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRl
cm59IGF0ICgwLDApIHNpemUgMXgxCisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7
cGF0dGVybn0gW2lkPSJwYXR0ZXJuNiJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtw
YXR0ZXJuQ29udGVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XQogICAgICAgICAgIFJlbmRlclBh
dGgge2NpcmNsZX0gYXQgKDAsMCkgc2l6ZSAxeDEgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
I0ZGMDAwMF19XSBbZGF0YT0iTTAuNTAsMC4zMyBMMC41MCwwLjM1IEwwLjUwLDAuMzYgTDAuNTAs
MC4zOCBMMC40OSwwLjQwIEwwLjQ5LDAuNDEgTDAuNDgsMC40MyBMMC40OCwwLjQ0IEwwLjQ3LDAu
NDUgTDAuNDYsMC40NyBMMC40NSwwLjQ4IEwwLjQ0LDAuNDkgTDAuNDMsMC41MCBMMC40MiwwLjUy
IEwwLjQxLDAuNTMgTDAuNDAsMC41NCBMMC4zOCwwLjU0IEwwLjM3LDAuNTUgTDAuMzYsMC41NiBM
MC4zNCwwLjU3IEwwLjMzLDAuNTcgTDAuMzEsMC41OCBMMC4zMCwwLjU4IEwwLjI4LDAuNTggTDAu
MjcsMC41OCBMMC4yNSwwLjU4IEwwLjIzLDAuNTggTDAuMjIsMC41OCBMMC4yMCwwLjU4IEwwLjE5
LDAuNTggTDAuMTcsMC41NyBMMC4xNiwwLjU3IEwwLjE0LDAuNTYgTDAuMTMsMC41NSBMMC4xMiww
LjU0IEwwLjEwLDAuNTQgTDAuMDksMC41MyBMMC4wOCwwLjUyIEwwLjA3LDAuNTAgTDAuMDYsMC40
OSBMMC4wNSwwLjQ4IEwwLjA0LDAuNDcgTDAuMDMsMC40NSBMMC4wMiwwLjQ0IEwwLjAyLDAuNDMg
TDAuMDEsMC40MSBMMC4wMSwwLjQwIEwwLjAwLDAuMzggTDAuMDAsMC4zNiBMMC4wMCwwLjM1IEww
LjAwLDAuMzMgTDAuMDAsMC4zMiBMMC4wMCwwLjMwIEwwLjAwLDAuMjkgTDAuMDEsMC4yNyBMMC4w
MSwwLjI2IEwwLjAyLDAuMjQgTDAuMDIsMC4yMyBMMC4wMywwLjIxIEwwLjA0LDAuMjAgTDAuMDUs
MC4xOSBMMC4wNiwwLjE3IEwwLjA3LDAuMTYgTDAuMDgsMC4xNSBMMC4wOSwwLjE0IEwwLjEwLDAu
MTMgTDAuMTIsMC4xMiBMMC4xMywwLjExIEwwLjE0LDAuMTEgTDAuMTYsMC4xMCBMMC4xNywwLjEw
IEwwLjE5LDAuMDkgTDAuMjAsMC4wOSBMMC4yMiwwLjA5IEwwLjIzLDAuMDggTDAuMjUsMC4wOCBM
MC4yNywwLjA4IEwwLjI4LDAuMDkgTDAuMzAsMC4wOSBMMC4zMSwwLjA5IEwwLjMzLDAuMTAgTDAu
MzQsMC4xMCBMMC4zNiwwLjExIEwwLjM3LDAuMTEgTDAuMzgsMC4xMiBMMC40MCwwLjEzIEwwLjQx
LDAuMTQgTDAuNDIsMC4xNSBMMC40MywwLjE2IEwwLjQ0LDAuMTcgTDAuNDUsMC4xOSBMMC40Niww
LjIwIEwwLjQ3LDAuMjEgTDAuNDgsMC4yMyBMMC40OCwwLjI0IEwwLjQ5LDAuMjYgTDAuNDksMC4y
NyBMMC41MCwwLjI5IEwwLjUwLDAuMzAgTDAuNTAsMC4zMiBaIl0KICAgICAgICAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDF4MSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDA4MDAwXX1dIFtkYXRhPSJNMC4yNSwwLjMzIEwwLjYyLDAuMzMgTDAuNjIsMC44MyBMMC4yNSww
LjgzIFoiXQotICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNp
emUgNDB4NDAKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9
InBhdHRlcm43Il0gW3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50
VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdCiAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBh
dCAoMCwwKSBzaXplIDQweDQwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0g
W2RhdGE9Ik00MC4wMCwyMC4wMCBMMzkuOTYsMjEuMjYgTDM5Ljg0LDIyLjUxIEwzOS42NSwyMy43
NSBMMzkuMzcsMjQuOTcgTDM5LjAyLDI2LjE4IEwzOC42MCwyNy4zNiBMMzguMTAsMjguNTIgTDM3
LjUzLDI5LjY0IEwzNi44OSwzMC43MiBMMzYuMTgsMzEuNzYgTDM1LjQxLDMyLjc1IEwzNC41OCwz
My42OSBMMzMuNjksMzQuNTggTDMyLjc1LDM1LjQxIEwzMS43NiwzNi4xOCBMMzAuNzIsMzYuODkg
TDI5LjY0LDM3LjUzIEwyOC41MiwzOC4xMCBMMjcuMzYsMzguNjAgTDI2LjE4LDM5LjAyIEwyNC45
NywzOS4zNyBMMjMuNzUsMzkuNjUgTDIyLjUxLDM5Ljg0IEwyMS4yNiwzOS45NiBMMjAuMDAsNDAu
MDAgTDE4Ljc0LDM5Ljk2IEwxNy40OSwzOS44NCBMMTYuMjUsMzkuNjUgTDE1LjAzLDM5LjM3IEwx
My44MiwzOS4wMiBMMTIuNjQsMzguNjAgTDExLjQ4LDM4LjEwIEwxMC4zNiwzNy41MyBMOS4yOCwz
Ni44OSBMOC4yNCwzNi4xOCBMNy4yNSwzNS40MSBMNi4zMSwzNC41OCBMNS40MiwzMy42OSBMNC41
OSwzMi43NSBMMy44MiwzMS43NiBMMy4xMSwzMC43MiBMMi40NywyOS42NCBMMS45MCwyOC41MiBM
MS40MCwyNy4zNiBMMC45OCwyNi4xOCBMMC42MywyNC45NyBMMC4zNSwyMy43NSBMMC4xNiwyMi41
MSBMMC4wNCwyMS4yNiBMMC4wMCwyMC4wMCBMMC4wNCwxOC43NCBMMC4xNiwxNy40OSBMMC4zNSwx
Ni4yNSBMMC42MywxNS4wMyBMMC45OCwxMy44MiBMMS40MCwxMi42NCBMMS45MCwxMS40OCBMMi40
NywxMC4zNiBMMy4xMSw5LjI4IEwzLjgyLDguMjQgTDQuNTksNy4yNSBMNS40Miw2LjMxIEw2LjMx
LDUuNDIgTDcuMjUsNC41OSBMOC4yNCwzLjgyIEw5LjI4LDMuMTEgTDEwLjM2LDIuNDcgTDExLjQ4
LDEuOTAgTDEyLjY0LDEuNDAgTDEzLjgyLDAuOTggTDE1LjAzLDAuNjMgTDE2LjI1LDAuMzUgTDE3
LjQ5LDAuMTYgTDE4Ljc0LDAuMDQgTDIwLjAwLDAuMDAgTDIxLjI2LDAuMDQgTDIyLjUxLDAuMTYg
TDIzLjc1LDAuMzUgTDI0Ljk3LDAuNjMgTDI2LjE4LDAuOTggTDI3LjM2LDEuNDAgTDI4LjUyLDEu
OTAgTDI5LjY0LDIuNDcgTDMwLjcyLDMuMTEgTDMxLjc2LDMuODIgTDMyLjc1LDQuNTkgTDMzLjY5
LDUuNDIgTDM0LjU4LDYuMzEgTDM1LjQxLDcuMjUgTDM2LjE4LDguMjQgTDM2Ljg5LDkuMjggTDM3
LjUzLDEwLjM2IEwzOC4xMCwxMS40OCBMMzguNjAsMTIuNjQgTDM5LjAyLDEzLjgyIEwzOS4zNywx
NS4wMyBMMzkuNjUsMTYuMjUgTDM5Ljg0LDE3LjQ5IEwzOS45NiwxOC43NCBaIl0KLSAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDQweDQwCisgICAgICAg
IFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJwYXR0ZXJuOCJdIFtwYXR0
ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPW9iamVjdEJvdW5k
aW5nQm94XQogICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDAsMCkgc2l6ZSA0MHg0
MCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNNDAuMDAsMjAu
MDAgTDM5Ljk2LDIxLjI2IEwzOS44NCwyMi41MSBMMzkuNjUsMjMuNzUgTDM5LjM3LDI0Ljk3IEwz
OS4wMiwyNi4xOCBMMzguNjAsMjcuMzYgTDM4LjEwLDI4LjUyIEwzNy41MywyOS42NCBMMzYuODks
MzAuNzIgTDM2LjE4LDMxLjc2IEwzNS40MSwzMi43NSBMMzQuNTgsMzMuNjkgTDMzLjY5LDM0LjU4
IEwzMi43NSwzNS40MSBMMzEuNzYsMzYuMTggTDMwLjcyLDM2Ljg5IEwyOS42NCwzNy41MyBMMjgu
NTIsMzguMTAgTDI3LjM2LDM4LjYwIEwyNi4xOCwzOS4wMiBMMjQuOTcsMzkuMzcgTDIzLjc1LDM5
LjY1IEwyMi41MSwzOS44NCBMMjEuMjYsMzkuOTYgTDIwLjAwLDQwLjAwIEwxOC43NCwzOS45NiBM
MTcuNDksMzkuODQgTDE2LjI1LDM5LjY1IEwxNS4wMywzOS4zNyBMMTMuODIsMzkuMDIgTDEyLjY0
LDM4LjYwIEwxMS40OCwzOC4xMCBMMTAuMzYsMzcuNTMgTDkuMjgsMzYuODkgTDguMjQsMzYuMTgg
TDcuMjUsMzUuNDEgTDYuMzEsMzQuNTggTDUuNDIsMzMuNjkgTDQuNTksMzIuNzUgTDMuODIsMzEu
NzYgTDMuMTEsMzAuNzIgTDIuNDcsMjkuNjQgTDEuOTAsMjguNTIgTDEuNDAsMjcuMzYgTDAuOTgs
MjYuMTggTDAuNjMsMjQuOTcgTDAuMzUsMjMuNzUgTDAuMTYsMjIuNTEgTDAuMDQsMjEuMjYgTDAu
MDAsMjAuMDAgTDAuMDQsMTguNzQgTDAuMTYsMTcuNDkgTDAuMzUsMTYuMjUgTDAuNjMsMTUuMDMg
TDAuOTgsMTMuODIgTDEuNDAsMTIuNjQgTDEuOTAsMTEuNDggTDIuNDcsMTAuMzYgTDMuMTEsOS4y
OCBMMy44Miw4LjI0IEw0LjU5LDcuMjUgTDUuNDIsNi4zMSBMNi4zMSw1LjQyIEw3LjI1LDQuNTkg
TDguMjQsMy44MiBMOS4yOCwzLjExIEwxMC4zNiwyLjQ3IEwxMS40OCwxLjkwIEwxMi42NCwxLjQw
IEwxMy44MiwwLjk4IEwxNS4wMywwLjYzIEwxNi4yNSwwLjM1IEwxNy40OSwwLjE2IEwxOC43NCww
LjA0IEwyMC4wMCwwLjAwIEwyMS4yNiwwLjA0IEwyMi41MSwwLjE2IEwyMy43NSwwLjM1IEwyNC45
NywwLjYzIEwyNi4xOCwwLjk4IEwyNy4zNiwxLjQwIEwyOC41MiwxLjkwIEwyOS42NCwyLjQ3IEwz
MC43MiwzLjExIEwzMS43NiwzLjgyIEwzMi43NSw0LjU5IEwzMy42OSw1LjQyIEwzNC41OCw2LjMx
IEwzNS40MSw3LjI1IEwzNi4xOCw4LjI0IEwzNi44OSw5LjI4IEwzNy41MywxMC4zNiBMMzguMTAs
MTEuNDggTDM4LjYwLDEyLjY0IEwzOS4wMiwxMy44MiBMMzkuMzcsMTUuMDMgTDM5LjY1LDE2LjI1
IEwzOS44NCwxNy40OSBMMzkuOTYsMTguNzQgWiJdCi0gICAgICAgIFJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDYweDYwCi0gICAgICAgICAg
UmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMCwwKSBzaXplIDYweDYwIFtmaWxsPXtbdHlwZT1SQURJ
QUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCNGRkZGMDApXV0gW2Nl
bnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdfV0gW2Rh
dGE9Ik02MC4wMCwyMC4wMCBMNTkuOTIsMjIuNTEgTDU5LjY4LDI1LjAxIEw1OS4yOSwyNy41MCBM
NTguNzQsMjkuOTUgTDU4LjA0LDMyLjM2IEw1Ny4xOSwzNC43MiBMNTYuMTksMzcuMDMgTDU1LjA1
LDM5LjI3IEw1My43Nyw0MS40MyBMNTIuMzYsNDMuNTEgTDUwLjgyLDQ1LjUwIEw0OS4xNiw0Ny4z
OCBMNDcuMzgsNDkuMTYgTDQ1LjUwLDUwLjgyIEw0My41MSw1Mi4zNiBMNDEuNDMsNTMuNzcgTDM5
LjI3LDU1LjA1IEwzNy4wMyw1Ni4xOSBMMzQuNzIsNTcuMTkgTDMyLjM2LDU4LjA0IEwyOS45NSw1
OC43NCBMMjcuNTAsNTkuMjkgTDI1LjAxLDU5LjY4IEwyMi41MSw1OS45MiBMMjAuMDAsNjAuMDAg
TDE3LjQ5LDU5LjkyIEwxNC45OSw1OS42OCBMMTIuNTAsNTkuMjkgTDEwLjA1LDU4Ljc0IEw3LjY0
LDU4LjA0IEw1LjI4LDU3LjE5IEwyLjk3LDU2LjE5IEwwLjczLDU1LjA1IEwtMS40Myw1My43NyBM
LTMuNTEsNTIuMzYgTC01LjUwLDUwLjgyIEwtNy4zOCw0OS4xNiBMLTkuMTYsNDcuMzggTC0xMC44
Miw0NS41MCBMLTEyLjM2LDQzLjUxIEwtMTMuNzcsNDEuNDMgTC0xNS4wNSwzOS4yNyBMLTE2LjE5
LDM3LjAzIEwtMTcuMTksMzQuNzIgTC0xOC4wNCwzMi4zNiBMLTE4Ljc0LDI5Ljk1IEwtMTkuMjks
MjcuNTAgTC0xOS42OCwyNS4wMSBMLTE5LjkyLDIyLjUxIEwtMjAuMDAsMjAuMDAgTC0xOS45Miwx
Ny40OSBMLTE5LjY4LDE0Ljk5IEwtMTkuMjksMTIuNTAgTC0xOC43NCwxMC4wNSBMLTE4LjA0LDcu
NjQgTC0xNy4xOSw1LjI4IEwtMTYuMTksMi45NyBMLTE1LjA1LDAuNzMgTC0xMy43NywtMS40MyBM
LTEyLjM2LC0zLjUxIEwtMTAuODIsLTUuNTAgTC05LjE2LC03LjM4IEwtNy4zOCwtOS4xNiBMLTUu
NTAsLTEwLjgyIEwtMy41MSwtMTIuMzYgTC0xLjQzLC0xMy43NyBMMC43MywtMTUuMDUgTDIuOTcs
LTE2LjE5IEw1LjI4LC0xNy4xOSBMNy42NCwtMTguMDQgTDEwLjA1LC0xOC43NCBMMTIuNTAsLTE5
LjI5IEwxNC45OSwtMTkuNjggTDE3LjQ5LC0xOS45MiBMMjAuMDAsLTIwLjAwIEwyMi41MSwtMTku
OTIgTDI1LjAxLC0xOS42OCBMMjcuNTAsLTE5LjI5IEwyOS45NSwtMTguNzQgTDMyLjM2LC0xOC4w
NCBMMzQuNzIsLTE3LjE5IEwzNy4wMywtMTYuMTkgTDM5LjI3LC0xNS4wNSBMNDEuNDMsLTEzLjc3
IEw0My41MSwtMTIuMzYgTDQ1LjUwLC0xMC44MiBMNDcuMzgsLTkuMTYgTDQ5LjE2LC03LjM4IEw1
MC44MiwtNS41MCBMNTIuMzYsLTMuNTEgTDUzLjc3LC0xLjQzIEw1NS4wNSwwLjczIEw1Ni4xOSwy
Ljk3IEw1Ny4xOSw1LjI4IEw1OC4wNCw3LjY0IEw1OC43NCwxMC4wNSBMNTkuMjksMTIuNTAgTDU5
LjY4LDE0Ljk5IEw1OS45MiwxNy40OSBaIl0KKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRp
YWxHcmFkaWVudCB7cmFkaWFsR3JhZGllbnR9IFtpZD0icmVkVG9ZZWxsb3ciXSBbZ3JhZGllbnRV
bml0cz1vYmplY3RCb3VuZGluZ0JveF0gW2NlbnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUw
LDAuNTApXSBbcmFkaXVzPTAuNTBdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGRkYwMF0KKyAgICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdHRlcm45Il0gW3BhdHRl
cm5Vbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9b2JqZWN0Qm91bmRp
bmdCb3hdCisgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMCwwKSBzaXplIDYweDYw
IFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0icmVkVG9ZZWxsb3ciXX1dIFtkYXRh
PSJNNjAuMDAsMjAuMDAgTDU5LjkyLDIyLjUxIEw1OS42OCwyNS4wMSBMNTkuMjksMjcuNTAgTDU4
Ljc0LDI5Ljk1IEw1OC4wNCwzMi4zNiBMNTcuMTksMzQuNzIgTDU2LjE5LDM3LjAzIEw1NS4wNSwz
OS4yNyBMNTMuNzcsNDEuNDMgTDUyLjM2LDQzLjUxIEw1MC44Miw0NS41MCBMNDkuMTYsNDcuMzgg
TDQ3LjM4LDQ5LjE2IEw0NS41MCw1MC44MiBMNDMuNTEsNTIuMzYgTDQxLjQzLDUzLjc3IEwzOS4y
Nyw1NS4wNSBMMzcuMDMsNTYuMTkgTDM0LjcyLDU3LjE5IEwzMi4zNiw1OC4wNCBMMjkuOTUsNTgu
NzQgTDI3LjUwLDU5LjI5IEwyNS4wMSw1OS42OCBMMjIuNTEsNTkuOTIgTDIwLjAwLDYwLjAwIEwx
Ny40OSw1OS45MiBMMTQuOTksNTkuNjggTDEyLjUwLDU5LjI5IEwxMC4wNSw1OC43NCBMNy42NCw1
OC4wNCBMNS4yOCw1Ny4xOSBMMi45Nyw1Ni4xOSBMMC43Myw1NS4wNSBMLTEuNDMsNTMuNzcgTC0z
LjUxLDUyLjM2IEwtNS41MCw1MC44MiBMLTcuMzgsNDkuMTYgTC05LjE2LDQ3LjM4IEwtMTAuODIs
NDUuNTAgTC0xMi4zNiw0My41MSBMLTEzLjc3LDQxLjQzIEwtMTUuMDUsMzkuMjcgTC0xNi4xOSwz
Ny4wMyBMLTE3LjE5LDM0LjcyIEwtMTguMDQsMzIuMzYgTC0xOC43NCwyOS45NSBMLTE5LjI5LDI3
LjUwIEwtMTkuNjgsMjUuMDEgTC0xOS45MiwyMi41MSBMLTIwLjAwLDIwLjAwIEwtMTkuOTIsMTcu
NDkgTC0xOS42OCwxNC45OSBMLTE5LjI5LDEyLjUwIEwtMTguNzQsMTAuMDUgTC0xOC4wNCw3LjY0
IEwtMTcuMTksNS4yOCBMLTE2LjE5LDIuOTcgTC0xNS4wNSwwLjczIEwtMTMuNzcsLTEuNDMgTC0x
Mi4zNiwtMy41MSBMLTEwLjgyLC01LjUwIEwtOS4xNiwtNy4zOCBMLTcuMzgsLTkuMTYgTC01LjUw
LC0xMC44MiBMLTMuNTEsLTEyLjM2IEwtMS40MywtMTMuNzcgTDAuNzMsLTE1LjA1IEwyLjk3LC0x
Ni4xOSBMNS4yOCwtMTcuMTkgTDcuNjQsLTE4LjA0IEwxMC4wNSwtMTguNzQgTDEyLjUwLC0xOS4y
OSBMMTQuOTksLTE5LjY4IEwxNy40OSwtMTkuOTIgTDIwLjAwLC0yMC4wMCBMMjIuNTEsLTE5Ljky
IEwyNS4wMSwtMTkuNjggTDI3LjUwLC0xOS4yOSBMMjkuOTUsLTE4Ljc0IEwzMi4zNiwtMTguMDQg
TDM0LjcyLC0xNy4xOSBMMzcuMDMsLTE2LjE5IEwzOS4yNywtMTUuMDUgTDQxLjQzLC0xMy43NyBM
NDMuNTEsLTEyLjM2IEw0NS41MCwtMTAuODIgTDQ3LjM4LC05LjE2IEw0OS4xNiwtNy4zOCBMNTAu
ODIsLTUuNTAgTDUyLjM2LC0zLjUxIEw1My43NywtMS40MyBMNTUuMDUsMC43MyBMNTYuMTksMi45
NyBMNTcuMTksNS4yOCBMNTguMDQsNy42NCBMNTguNzQsMTAuMDUgTDU5LjI5LDEyLjUwIEw1OS42
OCwxNC45OSBMNTkuOTIsMTcuNDkgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICgxNCwxMDgpIHNpemUgNDEweDI5MyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgtNS4wMCwxMDAuMDApfV0KICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMTQsMTA4KSBzaXplIDEzNXg0NCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgyMC4wMCwyMC4wMCl9XQotICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgx
NCwxMTkpIHNpemUgNDJ4MzIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1d
IFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDAuNzV4MC41MF19XSBb
ZGF0YT0iTTAuMDAsMC4wMCBMNDAuMDAsMC4wMCBMNDAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJd
CisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE0LDExOSkgc2l6ZSA0MngzMiBbc3Ry
b2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5d
IFtpZD0icGF0dGVybjEiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw0MC4wMCwwLjAwIEw0MC4wMCwz
MC4wMCBMMC4wMCwzMC4wMCBaIl0KICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MCwtMikgc2l6ZSAzN3gxMyBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDM3eDEzCiAgICAgICAgICAgICAg
IGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMC4wMCwtMi4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZz
ZXQgOSB3aWR0aCAzNy4wMDogIiNwYXR0ZXJuMSIKQEAgLTY0LDcgKzU0LDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMTApIHNpemUgNDd4MTMKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQg
cnVuIDEgYXQgKDAuMDAsMjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEwIHdpZHRoIDQ3
LjAwOiAibm8gdmlld2JveCIKICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTQs
MTU4KSBzaXplIDE4N3g0MyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0
PSgyMC4wMCw3MC4wMCl9XQotICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNCwxNjkp
IHNpemUgNDJ4MzIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxs
PXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDAuNzV4MC41MF19XSBbZGF0YT0i
TTAuMDAsMC4wMCBMNDAuMDAsMC4wMCBMNDAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCisgICAg
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE0LDE2OSkgc2l6ZSA0MngzMiBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0i
cGF0dGVybjIiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw0MC4wMCwwLjAwIEw0MC4wMCwzMC4wMCBM
MC4wMCwzMC4wMCBaIl0KICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtMikg
c2l6ZSAzN3gxMyBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDM3eDEzCiAgICAgICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMSBhdCAoMC4wMCwtMi4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgOSB3
aWR0aCAzNy4wMDogIiNwYXR0ZXJuMiIKQEAgLTc2LDcgKzY2LDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtMTApIHNpemUgODR4MTMKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEg
YXQgKDAuMDAsMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDIwIHdpZHRoIDg0LjAwOiAi
Y29udGVudFVuaXRzPWRlZmF1bHQiCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDE0LDIwOCkgc2l6ZSAxNzJ4NDQgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAw
KSkgdD0oMjAuMDAsMTIwLjAwKX1dCi0gICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE0
LDIxOSkgc2l6ZSA0MngzMiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0g
W2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzB4MTVdfV0gW2RhdGE9
Ik0wLjAwLDAuMDAgTDQwLjAwLDAuMDAgTDQwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAg
ICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNCwyMTkpIHNpemUgNDJ4MzIgW3N0cm9rZT17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9
InBhdHRlcm4zIl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNDAuMDAsMC4wMCBMNDAuMDAsMzAuMDAg
TDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsLTIp
IHNpemUgMzd4MTMgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSAzN3gxMwogICAgICAgICAgICAgICBjaHVu
ayAxIHRleHQgcnVuIDEgYXQgKDAuMDAsLTIuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDkg
d2lkdGggMzcuMDA6ICIjcGF0dGVybjMiCkBAIC05MSw3ICs4MSw3IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgNDUweDUwMAogICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsLTEwKSBzaXplIDY4eDEzCiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAx
IGF0ICgwLjAwLDIwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNiB3aWR0aCA2OC4wMDog
Im92ZXJmbG93PXZpc2libGUiCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE0
LDI1OCkgc2l6ZSAxODl4NDQgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkg
dD0oMjAuMDAsMTcwLjAwKX1dCi0gICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE0LDI2
OSkgc2l6ZSA0MngzMiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2Zp
bGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMC43NXgwLjUwXX1dIFtkYXRh
PSJNMC4wMCwwLjAwIEw0MC4wMCwwLjAwIEw0MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KKyAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTQsMjY5KSBzaXplIDQyeDMyIFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lk
PSJwYXR0ZXJuNCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDQwLjAwLDAuMDAgTDQwLjAwLDMwLjAw
IEwwLjAwLDMwLjAwIFoiXQogICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLC0y
KSBzaXplIDM3eDEzIGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgMzd4MTMKICAgICAgICAgICAgICAgY2h1
bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLC0yLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA5
IHdpZHRoIDM3LjAwOiAiI3BhdHRlcm40IgpAQCAtMTA2LDcgKzk2LDcgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwtMTApIHNpemUgNjh4MTMKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVu
IDEgYXQgKDAuMDAsMjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE2IHdpZHRoIDY4LjAw
OiAib3ZlcmZsb3c9dmlzaWJsZSIKICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MTQsMzA4KSBzaXplIDE4OXg0MyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDAp
KSB0PSgyMC4wMCwyMjAuMDApfV0KLSAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTQs
MzE5KSBzaXplIDQyeDMyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBb
ZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAwLjc1eDAuNTBdfV0gW2Rh
dGE9Ik0wLjAwLDAuMDAgTDQwLjAwLDAuMDAgTDQwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQor
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNCwzMTkpIHNpemUgNDJ4MzIgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBb
aWQ9InBhdHRlcm41Il19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNDAuMDAsMC4wMCBMNDAuMDAsMzAu
MDAgTDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAs
LTIpIHNpemUgMzd4MTMgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSAzN3gxMwogICAgICAgICAgICAgICBj
aHVuayAxIHRleHQgcnVuIDEgYXQgKDAuMDAsLTIuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDkgd2lkdGggMzcuMDA6ICIjcGF0dGVybjUiCkBAIC0xMTgsNyArMTA4LDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwtMTApIHNpemUgMTM4eDEzCiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0
IHJ1biAxIGF0ICgwLjAwLDEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzMCB3aWR0aCAx
MzguMDA6ICJjb250ZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3giCiAgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDE0LDM1OCkgc2l6ZSAxODl4NDMgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMjAuMDAsMjcwLjAwKX1dCi0gICAgICAgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDE0LDM2OSkgc2l6ZSA0MngzMiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNp
emUgMzB4MTVdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDQwLjAwLDAuMDAgTDQwLjAwLDMwLjAwIEww
LjAwLDMwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNCwzNjkpIHNp
emUgNDJ4MzIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtb
dHlwZT1QQVRURVJOXSBbaWQ9InBhdHRlcm42Il19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNDAuMDAs
MC4wMCBMNDAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDAsLTIpIHNpemUgMzd4MTMgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMCkgc2l6ZSAzN3gxMwog
ICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDAuMDAsLTIuMDApIHN0YXJ0T2Zm
c2V0IDAgZW5kT2Zmc2V0IDkgd2lkdGggMzcuMDA6ICIjcGF0dGVybjYiCkBAIC0xMzAsNyArMTIw
LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgMTM4eDEzCiAgICAgICAgICAgICAg
ICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLDEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAzMCB3aWR0aCAxMzguMDA6ICJjb250ZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3giCiAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIxOSwxMDgpIHNpemUgMTk2eDQ0IFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDIyNS4wMCwyMC4wMCl9XQot
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyMTksMTE5KSBzaXplIDQyeDMyIFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0g
W2Jib3g9YXQgKDAsMCkgc2l6ZSAzMHgxNV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNDAuMDAsMC4w
MCBMNDAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCisgICAgICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDIxOSwxMTkpIHNpemUgNDJ4MzIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9InBhdHRlcm43Il19XSBbZGF0YT0i
TTAuMDAsMC4wMCBMNDAuMDAsMC4wMCBMNDAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCiAgICAg
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsLTIpIHNpemUgMzd4MTMgY29udGFpbnMg
MSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LC0xMCkgc2l6ZSAzN3gxMwogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDAu
MDAsLTIuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDkgd2lkdGggMzcuMDA6ICIjcGF0dGVy
bjciCkBAIC0xNDUsNyArMTM1LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTApIHNpemUgMTQ1
eDEzCiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLDIwLjAwKSBz
dGFydE9mZnNldCAwIGVuZE9mZnNldCAzMiB3aWR0aCAxNDUuMDA6ICJ2aWV3Qm94IHByZXNlcnZl
QXNwZWN0UmF0aW89bm9uZSIKICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjE5
LDE1OCkgc2l6ZSAyMDV4NDMgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkg
dD0oMjI1LjAwLDcwLjAwKX1dCi0gICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIxOSwx
NjkpIHNpemUgNDJ4MzIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtm
aWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDMweDE1XX1dIFtkYXRhPSJN
MC4wMCwwLjAwIEw0MC4wMCwwLjAwIEw0MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KKyAgICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjE5LDE2OSkgc2l6ZSA0MngzMiBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0i
cGF0dGVybjgiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw0MC4wMCwwLjAwIEw0MC4wMCwzMC4wMCBM
MC4wMCwzMC4wMCBaIl0KICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtMikg
c2l6ZSAzN3gxMyBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsLTEwKSBzaXplIDM3eDEzCiAgICAgICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMSBhdCAoMC4wMCwtMi4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgOSB3
aWR0aCAzNy4wMDogIiNwYXR0ZXJuOCIKQEAgLTE1Nyw3ICsxNDcsNyBAQCBsYXllciBhdCAoMCww
KSBzaXplIDQ1MHg1MDAKICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xMCkgc2l6ZSAxNTR4MTMKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVu
IDEgYXQgKDAuMDAsMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMzIHdpZHRoIDE1NC4w
MDogInByZXNlcnZlQXNwZWN0UmF0aW89eE1pblltaW4gbWVldCIKICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMjE5LDIwOCkgc2l6ZSAyMDR4NDMgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMjI1LjAwLDEyMC4wMCl9XQotICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgyMTksMjE5KSBzaXplIDQyeDMyIFtzdHJva2U9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKC0yMi41
MCwtMjIuNTApIHNpemUgMzB4MTVdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDQwLjAwLDAuMDAgTDQw
LjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgyMTksMjE5KSBzaXplIDQyeDMyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJwYXR0ZXJuOSJdfV0gW2RhdGE9Ik0wLjAw
LDAuMDAgTDQwLjAwLDAuMDAgTDQwLjAwLDMwLjAwIEwwLjAwLDMwLjAwIFoiXQogICAgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLC0yKSBzaXplIDM3eDEzIGNvbnRhaW5zIDEgY2h1
bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTAp
IHNpemUgMzd4MTMKICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLC0y
LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA5IHdpZHRoIDM3LjAwOiAiI3BhdHRlcm45IgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3Qy
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2JhdGlrL3RleHQvdGV4dEVmZmVjdDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0Mi1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSwzIEBACi1LUmVuZGVyaW5nUGFpbnRT
ZXJ2ZXIge2lkPSJncmFkIiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZG
RDcwMCksICgwLjUwLCNGRkE1MDApLCAoMS4wMCwjREMxNDNDKV1dIFtzdGFydD0oMCwwKV0gW2Vu
ZD0oMSwwKV19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMApAQCAtMTEsMTAg
KzEwLDEwIEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMAogICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDIzOHgxNwogICAgICAgICAgIGNodW5r
IDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDEwNi4wMCw1MC4wMCkgc3RhcnRPZmZz
ZXQgMCBlbmRPZmZzZXQgMzIgd2lkdGggMjM4LjAwOiAiKFVzaW5nIFN5c3RlbSBmb250IGFuZCBT
VkcgZm9udCkiCiAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGll
bnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFy
R3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImdyYWQiXSBbZ3JhZGllbnRVbml0cz1vYmpl
Y3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZGRDcwMF0KKyAg
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9y
PSNGRkE1MDBdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTEuMDBdIFtjb2xvcj0jREMxNDNDXQogICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIg
e2NsaXBQYXRofSBbaWQ9ImNsaXAiXSBbY2xpcFBhdGhVbml0cz11c2VyU3BhY2VPblVzZV0KICAg
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAwLDIwMCkgc2l6ZSAxNTJ4NTkgY29u
dGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC00OCkgc2l6ZSAxNTJ4NTkKQEAgLTIzLDEyICsyMiwxMiBAQCBsYXllciBhdCAoMCww
KSBzaXplIDQ1MHg1MDAKICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAwLDMw
MCkgc2l6ZSAxNTJ4NTkgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC00OCkgc2l6ZSAxNTJ4NTkKICAgICAgICAgICAgICAg
Y2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMDAuMDAsMzAwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCA1IHdpZHRoIDE1Mi4wMDogIkJBVElLIgotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDEwMCwxNjApIHNpemUgMTUyeDQ1IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9w
cz1bKDAuMDAsI0ZGRDcwMCksICgwLjUwLCNGRkE1MDApLCAoMS4wMCwjREMxNDNDKV1dIFtzdGFy
dD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTEwMC4wMCwxNjAuMDAgTDMwMC4wMCwxNjAu
MDAgTDMwMC4wMCwyMDUuMDAgTDEwMC4wMCwyMDUuMDAgWiJdCisgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMTAwLDE2MCkgc2l6ZSAxNTJ4NDUgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVO
VF0gW2lkPSJncmFkIl19XSBbZGF0YT0iTTEwMC4wMCwxNjAuMDAgTDMwMC4wMCwxNjAuMDAgTDMw
MC4wMCwyMDUuMDAgTDEwMC4wMCwyMDUuMDAgWiJdCiAgICAgICAgIFtjbGlwUGF0aD0iY2xpcCJd
IFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciB7Y2xpcFBhdGh9IGF0ICgxMDAsMTUyKSBzaXplIDE1
Mng1OQogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDMwMCwyMDApIHNpemUgNjV4MTQg
Y29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsLTExKSBzaXplIDY1eDE0CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgz
MDAuMDAsMjAwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxMyB3aWR0aCA2NS4wMDogIihT
eXN0ZW0gZm9udCkiCi0gICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAwLDI2MCkgc2l6ZSAx
NTJ4NDUgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZENzAw
KSwgKDAuNTAsI0ZGQTUwMCksICgxLjAwLCNEQzE0M0MpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgx
LDApXX1dIFtkYXRhPSJNMTAwLjAwLDI2MC4wMCBMMzAwLjAwLDI2MC4wMCBMMzAwLjAwLDMwNS4w
MCBMMTAwLjAwLDMwNS4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMDAsMjYw
KSBzaXplIDE1Mng0NSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImdyYWQiXX1d
IFtkYXRhPSJNMTAwLjAwLDI2MC4wMCBMMzAwLjAwLDI2MC4wMCBMMzAwLjAwLDMwNS4wMCBMMTAw
LjAwLDMwNS4wMCBaIl0KICAgICAgICAgW2NsaXBQYXRoPSJzdmdDbGlwIl0gUmVuZGVyU1ZHUmVz
b3VyY2VDbGlwcGVyIHtjbGlwUGF0aH0gYXQgKDEwMCwyNTIpIHNpemUgMTUyeDU5CiAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMzAwLDMwMCkgc2l6ZSA1NXgxNCBjb250YWlucyAxIGNo
dW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNp
emUgNTV4MTQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvYmF0aWsvdGV4dC90
ZXh0RWZmZWN0My1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL3RleHQvdGV4dEVm
ZmVjdDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsMyBAQAotS1JlbmRl
cmluZ1BhaW50U2VydmVyIHtpZD0ibGluZWFyR3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVO
VF0gW3N0b3BzPVsoMC4wMCwjRkZENzAwKSwgKDAuNTAsI0ZGQTUwMCksICgxLjAwLCNEQzE0M0Mp
XV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9
InJhZGlhbEdyYWRpZW50IiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZG
RDcwMCksICgwLjUwLCNGRkE1MDApLCAoMS4wMCwjREMxNDNDKV1dIFtjZW50ZXI9KDAuNTAsMC41
MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjUwXX0KIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0NTB4NTAwCkBAIC0xMiwxNCArMTAsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA0NTB4NTAwCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQp
IHNpemUgMjM4eDE3CiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4g
MSBhdCAoMTA2LjAwLDUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzMiB3aWR0aCAyMzgu
MDA6ICIoVXNpbmcgU3lzdGVtIGZvbnQgYW5kIFNWRyBmb250KSIKICAgICAgIFJlbmRlclNWR0hp
ZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAs
MCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGlu
ZWFyR3JhZGllbnR9IFtpZD0ibGluZWFyR3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RC
b3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZGRDcwMF0KKyAgICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9yPSNG
RkE1MDBdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEu
MDBdIFtjb2xvcj0jREMxNDNDXQorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRp
ZW50IHtyYWRpYWxHcmFkaWVudH0gW2lkPSJyYWRpYWxHcmFkaWVudCJdIFtncmFkaWVudFVuaXRz
PW9iamVjdEJvdW5kaW5nQm94XSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuNTAsMC41
MCldIFtyYWRpdXM9MC41MF0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9
IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRkQ3MDBdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuNTBdIFtjb2xvcj0jRkZBNTAwXQorICAgICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0RDMTQzQ10K
ICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJkcm9wU2hhZG93
Il0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNw
YWNlT25Vc2VdCiAgICAgICAgICAgW2xhc3QgcHJpbWl0aXZlIF0KICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICg1NCwxNDApIHNpemUgMTQ2eDc5IGNvbnRhaW5zIDEgY2h1bmsocykKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2Jh
dGlrL3RleHQvdGV4dEVmZmVjdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsMyBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVy
IHtpZD0ibGluZWFyR3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4w
MCwjRkZENzAwKSwgKDAuNTAsI0ZGQTUwMCksICgxLjAwLCNEQzE0M0MpXV0gW3N0YXJ0PSgwLDAp
XSBbZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InJhZGlhbEdyYWRpZW50
IiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRDcwMCksICgwLjUwLCNG
RkE1MDApLCAoMS4wMCwjREMxNDNDKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41
MCwwLjUwKV0gW3JhZGl1cz0wLjUwXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4
NTAwCkBAIC0xMiwxNCArMTAsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMjM4eDE3CiAg
ICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTA2LjAwLDUw
LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzMiB3aWR0aCAyMzguMDA6ICIoVXNpbmcgU3lz
dGVtIGZvbnQgYW5kIFNWRyBmb250KSIKICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7
ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVy
IHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtp
ZD0ibGluZWFyR3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZGRDcwMF0KKyAgICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9yPSNGRkE1MDBdCisgICAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jREMx
NDNDXQorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFk
aWVudH0gW2lkPSJyYWRpYWxHcmFkaWVudCJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5n
Qm94XSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuNTAsMC41MCldIFtyYWRpdXM9MC41
MF0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0g
W2NvbG9yPSNGRkQ3MDBdCisgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBb
b2Zmc2V0PTAuNTBdIFtjb2xvcj0jRkZBNTAwXQorICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50
U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0RDMTQzQ10KICAgICAgICAgUmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJkcm9wU2hhZG93Il0gW2ZpbHRlclVuaXRz
PW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAg
ICAgICAgW2xhc3QgcHJpbWl0aXZlIF0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg0
NCwxNjApIHNpemUgMTUyeDU5IGNvbnRhaW5zIDEgY2h1bmsocykKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvYmF0aWsvdGV4dC90ZXh0UHJvcGVydGllcy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay90ZXh0L3Rl
eHRQcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL3RleHQvdGV4dFByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtp
ZD0iZ3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMEZG
KSwgKDEuMDAsIzAwODAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgtNTAsLTI1
KV0gW2VuZD0oNTAsMjUpXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCkBA
IC0xMzcsMTEgKzEzNiwxMSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTQyLDApIHNpemUgODR4MzYgY29udGFpbnMgMSBj
aHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0y
OCkgc2l6ZSA4NHgzNgogICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biAxIGF0ICgtNDIuMDAsMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNiB3aWR0aCA4
NC4wMDogInNhbXBsZSIKLSAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJH
cmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxp
bmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJncmFkaWVudCJdIFtncmFkaWVudFVu
aXRzPXVzZXJTcGFjZU9uVXNlXSBbc3RhcnQ9KC01MCwtMjUpXSBbZW5kPSg1MCwyNSldCisgICAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0j
MDAwMEZGXQorICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0x
LjAwXSBbY29sb3I9IzAwODAwMF0KICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMw
MCwzNDUpIHNpemUgMTAweDQ0IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkp
IHQ9KDM1MC4wMCwzNzAuMDApfV0KLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMwOCwz
NDUpIHNpemUgODR4MzMgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4w
MCwjMDAwMEZGKSwgKDEuMDAsIzAwODAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0
PSgtNTAsLTI1KV0gW2VuZD0oNTAsMjUpXX1dIFtkYXRhPSJNLTUwLjAwLC0yNS4wMCBMNTAuMDAs
LTI1LjAwIEw1MC4wMCwyNS4wMCBMLTUwLjAwLDI1LjAwIFoiXQorICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMzA4LDM0NSkgc2l6ZSA4NHgzMyBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJ
RU5UXSBbaWQ9ImdyYWRpZW50Il19XSBbZGF0YT0iTS01MC4wMCwtMjUuMDAgTDUwLjAwLC0yNS4w
MCBMNTAuMDAsMjUuMDAgTC01MC4wMCwyNS4wMCBaIl0KICAgICAgICAgICBbY2xpcFBhdGg9InRl
eHRDbGlwIl0gUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyIHtjbGlwUGF0aH0gYXQgKC00MiwtMjgp
IHNpemUgODR4MzYKICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC01MCwxNSkgc2l6
ZSAxMDB4MTggY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTAweDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL2NhcnRvLm5ldC9jb2xvdXJwaWNrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY2FydG8ubmV0L2NvbG91cnBpY2tl
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9jYXJ0by5uZXQvY29sb3VycGlja2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw4OCArMSw3NCBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iY29sb3VyUGlj
a2VyMV9odWVHcmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNG
RjAwMDApLCAoMC4xNywjRkZGRjAwKSwgKDAuMzMsIzAwRkYwMCksICgwLjUwLCMwMEZGRkYpLCAo
MC42NywjMDAwMEZGKSwgKDAuODMsI0ZGMDBGRiksICgxLjAwLCNGRjAwMDApXV0gW3N0YXJ0PSgw
LDApXSBbZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImNvbG91clBpY2tl
cjFfc2F0R3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZG
RkZGKSwgKDEuMDAsIzAwRkYwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfQotS1JlbmRl
cmluZ1BhaW50U2VydmVyIHtpZD0iY29sb3VyUGlja2VyMV92YWxHcmFkaWVudCIgW3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDApLCAoMS4wMCwjMDBGRjAwKV1dIFtz
dGFydD0oMCwwKV0gW2VuZD0oMSwwKV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJjb2xv
dXJQaWNrZXIxX2FscGhhR3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjMDBGRjAwMDApLCAoMS4wMCwjMDBGRjAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSww
KV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJjb2xvdXJQaWNrZXIyX2h1ZUdyYWRpZW50
IiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzgwRkYwMCksICgwLjIwLCMw
MEZGMDApLCAoMC40MCwjMDBGRjgwKSwgKDAuNjAsIzAwRkZGRiksICgwLjgwLCMwMDgwRkYpLCAo
MS4wMCwjMDAwMEZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19Ci1LUmVuZGVyaW5nUGFp
bnRTZXJ2ZXIge2lkPSJjb2xvdXJQaWNrZXIyX3NhdEdyYWRpZW50IiBbdHlwZT1MSU5FQVItR1JB
RElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgxLjAwLCMwMEZGRkYpXV0gW3N0YXJ0PSgw
LDApXSBbZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImNvbG91clBpY2tl
cjJfYWxwaGFHcmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMw
MEZGRkYwMCksICgxLjAwLCMwMEZGRkYpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KLUtS
ZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImNvbG91clBpY2tlcjNfaHVlR3JhZGllbnQiIFt0eXBl
PUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDAuMTcsI0ZGODAwMCks
ICgwLjMzLCNGRkZGMDApLCAoMC41MCwjODBGRjAwKSwgKDAuNjcsIzAwRkYwMCksICgwLjgzLCMw
MEZGODApLCAoMS4wMCwjMDBGRkZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19Ci1LUmVu
ZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJjb2xvdXJQaWNrZXIzX3NhdEdyYWRpZW50IiBbdHlwZT1M
SU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgxLjAwLCNGRjAwMDApXV0g
W3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImNv
bG91clBpY2tlcjNfdmFsR3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjMDAwMDAwKSwgKDEuMDAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCld
fQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iY29sb3VyUGlja2VyNF9odWVHcmFkaWVudCIg
W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMC4xNywjRkZG
RjAwKSwgKDAuMzMsIzAwRkYwMCksICgwLjUwLCMwMEZGRkYpLCAoMC42NywjMDAwMEZGKSwgKDAu
ODMsI0ZGMDBGRiksICgxLjAwLCNGRjAwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0K
LUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImNvbG91clBpY2tlcjRfc2F0R3JhZGllbnQiIFt0
eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjNzg3ODc4KSwgKDEuMDAsIzc4MDAw
MCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtp
ZD0iY29sb3VyUGlja2VyNF92YWxHcmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3Rv
cHM9WygwLjAwLCMwMDAwMDApLCAoMS4wMCwjRkZGRkZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0o
MSwwKV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJjb2xvdXJQaWNrZXI0X2FscGhhR3Jh
ZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjNzg3ODc4MDApLCAo
MS4wMCwjNzg3ODc4KV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19CiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNp
emUgNjI1eDQ2OQogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0
ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGll
bnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5l
YXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5k
ZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdI
aWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJl
bmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4
MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFy
R3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGlu
ZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50
U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRk
ZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRl
clNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImNvbG91clBp
Y2tlcjFfaHVlR3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjE3XSBbY29sb3I9I0ZGRkYwMF0KKyAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMzNdIFtjb2xvcj0jMDBGRjAwXQor
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9y
PSMwMEZGRkZdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0w
LjY3XSBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTAuODNdIFtjb2xvcj0jRkYwMEZGXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICBSZW5kZXJT
VkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJjb2xvdXJQaWNr
ZXIxX3NhdEdyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFy
dD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkZGRkZGXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMEZGMDBdCisgICAgICBSZW5kZXJT
VkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJjb2xvdXJQaWNr
ZXIxX3ZhbEdyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFy
dD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMEZGMDBdCisgICAgICBSZW5kZXJT
VkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJjb2xvdXJQaWNr
ZXIxX2FscGhhR3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMEZGMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDBGRjAwXQorICAgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iY29sb3Vy
UGlja2VyMl9odWVHcmFkaWVudCJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBb
c3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzgwRkYwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMjBdIFtjb2xvcj0jMDBGRjAwXQorICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC40MF0gW2NvbG9yPSMwMEZGODBd
CisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjYwXSBbY29s
b3I9IzAwRkZGRl0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTAuODBdIFtjb2xvcj0jMDA4MEZGXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwRkZdCisgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJjb2xvdXJQaWNrZXIyX3NhdEdy
YWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0g
W2VuZD0oMSwwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTAuMDBdIFtjb2xvcj0jRkZGRkZGXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMEZGRkZdCisgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJjb2xvdXJQaWNrZXIyX2FscGhh
R3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDAp
XSBbZW5kPSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZz
ZXQ9MC4wMF0gW2NvbG9yPSMwMEZGRkYwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDBGRkZGXQorICAgICAgUmVuZGVyU1ZHUmVz
b3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iY29sb3VyUGlja2VyM19o
dWVHcmFkaWVudCJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAs
MCldIFtlbmQ9KDEsMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29m
ZnNldD0wLjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBbb2Zmc2V0PTAuMTddIFtjb2xvcj0jRkY4MDAwXQorICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4zM10gW2NvbG9yPSNGRkZGMDBdCisgICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjUwXSBbY29sb3I9IzgwRkYw
MF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuNjddIFtj
b2xvcj0jMDBGRjAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZz
ZXQ9MC44M10gW2NvbG9yPSMwMEZGODBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9IzAwRkZGRl0KKyAgICAgIFJlbmRlclNWR1Jlc291
cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImNvbG91clBpY2tlcjNfc2F0
R3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDAp
XSBbZW5kPSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZz
ZXQ9MC4wMF0gW2NvbG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291
cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImNvbG91clBpY2tlcjNfdmFs
R3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDAp
XSBbZW5kPSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZz
ZXQ9MC4wMF0gW2NvbG9yPSMwMDAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291
cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImNvbG91clBpY2tlcjRfaHVl
R3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDAp
XSBbZW5kPSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZz
ZXQ9MC4wMF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gW29mZnNldD0wLjE3XSBbY29sb3I9I0ZGRkYwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMzNdIFtjb2xvcj0jMDBGRjAwXQorICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9yPSMwMEZGRkZd
CisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjY3XSBbY29s
b3I9IzAwMDBGRl0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTAuODNdIFtjb2xvcj0jRkYwMEZGXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJjb2xvdXJQaWNrZXI0X3NhdEdy
YWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0g
W2VuZD0oMSwwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTAuMDBdIFtjb2xvcj0jNzg3ODc4XQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSM3ODAwMDBdCisgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJjb2xvdXJQaWNrZXI0X3ZhbEdy
YWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0g
W2VuZD0oMSwwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTAuMDBdIFtjb2xvcj0jMDAwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSNGRkZGRkZdCisgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJjb2xvdXJQaWNrZXI0X2FscGhh
R3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDAp
XSBbZW5kPSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZz
ZXQ9MC4wMF0gW2NvbG9yPSM3ODc4NzgwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jNzg3ODc4XQogICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgwLDApIHNpemUgODAweDYwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZG
RkZGXX1dIFtkYXRhPSJNLTIwMDAuMDAsLTIwMDAuMDAgTDQwMDAuMDAsLTIwMDAuMDAgTDQwMDAu
MDAsNDAwMC4wMCBMLTIwMDAuMDAsNDAwMC4wMCBaIl0KICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICgxNTYsMTU2KSBzaXplIDYyNngzMjkKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDE1NiwzMTIpIHNpemUgMjM1eDk1CiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgxNTYsMzEyKSBzaXplIDIzNXg5NSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRENEQ0RD
XX1dIFtkYXRhPSJNMjAwLjAwLDQwMC4wMCBMNTAwLjAwLDQwMC4wMCBMNTAwLjAwLDUyMC4wMCBM
MjAwLjAwLDUyMC4wMCBaIl0KLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE2NSwzMjEp
IHNpemUgMTU2eDggW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwj
RkYwMDAwKSwgKDAuMTcsI0ZGRkYwMCksICgwLjMzLCMwMEZGMDApLCAoMC41MCwjMDBGRkZGKSwg
KDAuNjcsIzAwMDBGRiksICgwLjgzLCNGRjAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0o
MCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTIxMi4wMCw0MTEuODUgTDQxMC4wMCw0MTEuODUg
TDQxMC4wMCw0MTkuMzUgTDIxMi4wMCw0MTkuMzUgWiJdCisgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgxNjUsMzIxKSBzaXplIDE1Nng4IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRd
IFtpZD0iY29sb3VyUGlja2VyMV9odWVHcmFkaWVudCJdfV0gW2RhdGE9Ik0yMTIuMDAsNDExLjg1
IEw0MTAuMDAsNDExLjg1IEw0MTAuMDAsNDE5LjM1IEwyMTIuMDAsNDE5LjM1IFoiXQogICAgICAg
ICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMTU5LDMxOCkgc2l6ZSAxNjh4MTQgW3N0cm9rZT17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbb3BhY2l0eT0wLjAwXSBbc3Ryb2tlIHdpZHRoPTE1
LjAwXSBbbGluZSBjYXA9U1FVQVJFXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAw
MDBdIFtvcGFjaXR5PTAuMDBdfV0gW2RhdGE9Ik0yMTIuMDAsNDE1LjYwIEw0MTAuMDAsNDE1LjYw
Il0KICAgICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDE2NSwzMjQpIHNpemUgMTU2eDEgW2Rh
dGE9Ik0yMTIuMDAsNDE1LjYwIEw0MTAuMDAsNDE1LjYwIl0KICAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHt1c2V9IGF0ICgyMTQsMzE2KSBzaXplIDZ4MTcgW3RyYW5zZm9ybT17bT0oKDEuMDAs
MC4wMCkoMC4wMCwxLjAwKSkgdD0oMjc4LjAwLDQxNS42MCl9XQpAQCAtOTQsNyArODAsNyBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4g
MSBhdCAoNDE2LjAwLDQyMC4xMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTMgd2lkdGggNzYu
MDA6ICJIdWUgKDBceHtCMH0tMzYwXHh7QjB9KSIKICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDE4NSwzNTEpIHNpemUgNDN4MzUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MDAwXSBbb3BhY2l0eT0wLjcwXSBbc3Ryb2tlIHdpZHRoPTcuNTBdfV0gW2RhdGE9Ik0yNDIuMDAs
NDU0LjAwIEwyODcuMDAsNDU0LjAwIEwyODcuMDAsNDkwLjAwIEwyNDIuMDAsNDkwLjAwIFoiXQog
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTY1LDM0MCkgc2l6ZSAzNngyOSBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDBGRjAwXX1dIFtkYXRhPSJNMjEyLjAwLDQzNi4wMCBMMjU3
LjAwLDQzNi4wMCBMMjU3LjAwLDQ3Mi4wMCBMMjEyLjAwLDQ3Mi4wMCBaIl0KLSAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDIzNSwzMzkpIHNpemUgODZ4OCBbZmlsbD17W3R5cGU9TElORUFS
LUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRkZGRkYpLCAoMS4wMCwjMDBGRjAwKV1dIFtzdGFy
dD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTMwMi4wMCw0MzUuODUgTDQxMC4wMCw0MzUu
ODUgTDQxMC4wMCw0NDMuMzUgTDMwMi4wMCw0NDMuMzUgWiJdCisgICAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgyMzUsMzM5KSBzaXplIDg2eDggW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVO
VF0gW2lkPSJjb2xvdXJQaWNrZXIxX3NhdEdyYWRpZW50Il19XSBbZGF0YT0iTTMwMi4wMCw0MzUu
ODUgTDQxMC4wMCw0MzUuODUgTDQxMC4wMCw0NDMuMzUgTDMwMi4wMCw0NDMuMzUgWiJdCiAgICAg
ICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgyMjksMzM3KSBzaXplIDk4eDEzIFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW29wYWNpdHk9MC4wMF0gW3N0cm9rZSB3aWR0aD0x
NS4wMF0gW2xpbmUgY2FwPVNRVUFSRV19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MDAwXSBbb3BhY2l0eT0wLjAwXX1dIFtkYXRhPSJNMzAyLjAwLDQzOS42MCBMNDEwLjAwLDQzOS42
MCJdCiAgICAgICAgIFJlbmRlclBhdGgge2xpbmV9IGF0ICgyMzUsMzQyKSBzaXplIDg2eDIgW2Rh
dGE9Ik0zMDIuMDAsNDM5LjYwIEw0MTAuMDAsNDM5LjYwIl0KICAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHt1c2V9IGF0ICgzMTcsMzM1KSBzaXplIDZ4MTcgW3RyYW5zZm9ybT17bT0oKDEuMDAs
MC4wMCkoMC4wMCwxLjAwKSkgdD0oNDEwLjAwLDQzOS42MCl9XQpAQCAtMTA0LDcgKzkwLDcgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICg0MTYsNDQ0KSBzaXplIDc4eDE1IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTExKSBzaXplIDc4eDE1CiAgICAgICAg
ICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDQxNi4wMCw0NDQuMTApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDE0IHdpZHRoIDc4LjAwOiAiU2F0dXJhdGlvbiAoJSkiCi0gICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgyMzUsMzU4KSBzaXplIDg2eDggW2ZpbGw9e1t0eXBlPUxJTkVBUi1H
UkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwKSwgKDEuMDAsIzAwRkYwMCldXSBbc3RhcnQ9
KDAsMCldIFtlbmQ9KDEsMCldfV0gW2RhdGE9Ik0zMDIuMDAsNDU5Ljg1IEw0MTAuMDAsNDU5Ljg1
IEw0MTAuMDAsNDY3LjM1IEwzMDIuMDAsNDY3LjM1IFoiXQorICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMjM1LDM1OCkgc2l6ZSA4Nng4IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRd
IFtpZD0iY29sb3VyUGlja2VyMV92YWxHcmFkaWVudCJdfV0gW2RhdGE9Ik0zMDIuMDAsNDU5Ljg1
IEw0MTAuMDAsNDU5Ljg1IEw0MTAuMDAsNDY3LjM1IEwzMDIuMDAsNDY3LjM1IFoiXQogICAgICAg
ICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMjI5LDM1Nikgc2l6ZSA5OHgxMyBbc3Ryb2tlPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTAuMDBdIFtzdHJva2Ugd2lkdGg9MTUu
MDBdIFtsaW5lIGNhcD1TUVVBUkVdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF0gW29wYWNpdHk9MC4wMF19XSBbZGF0YT0iTTMwMi4wMCw0NjMuNjAgTDQxMC4wMCw0NjMuNjAi
XQogICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMjM1LDM2MSkgc2l6ZSA4NngyIFtkYXRh
PSJNMzAyLjAwLDQ2My42MCBMNDEwLjAwLDQ2My42MCJdCiAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7dXNlfSBhdCAoMzE3LDM1Mykgc2l6ZSA2eDE4IFt0cmFuc2Zvcm09e209KCgxLjAwLDAu
MDApKDAuMDAsMS4wMCkpIHQ9KDQxMC4wMCw0NjMuNjApfV0KQEAgLTExNCw3ICsxMDAsNyBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDQxNiw0NjgpIHNpemUgNTR4MTUgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgNTR4MTUKICAgICAgICAg
ICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNDE2LjAwLDQ2OC4xMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgOSB3aWR0aCA1NC4wMDogIlZhbHVlICglKSIKLSAgICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDIzNSwzNzcpIHNpemUgODZ4OCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5U
XSBbc3RvcHM9WygwLjAwLCMwMEZGMDAwMCksICgxLjAwLCMwMEZGMDApXV0gW3N0YXJ0PSgwLDAp
XSBbZW5kPSgxLDApXX1dIFtkYXRhPSJNMzAyLjAwLDQ4My44NSBMNDEwLjAwLDQ4My44NSBMNDEw
LjAwLDQ5MS4zNSBMMzAyLjAwLDQ5MS4zNSBaIl0KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDIzNSwzNzcpIHNpemUgODZ4OCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9
ImNvbG91clBpY2tlcjFfYWxwaGFHcmFkaWVudCJdfV0gW2RhdGE9Ik0zMDIuMDAsNDgzLjg1IEw0
MTAuMDAsNDgzLjg1IEw0MTAuMDAsNDkxLjM1IEwzMDIuMDAsNDkxLjM1IFoiXQogICAgICAgICBS
ZW5kZXJQYXRoIHtsaW5lfSBhdCAoMjI5LDM3NSkgc2l6ZSA5OHgxMyBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTAuMDBdIFtzdHJva2Ugd2lkdGg9MTUuMDBd
IFtsaW5lIGNhcD1TUVVBUkVdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0g
W29wYWNpdHk9MC4wMF19XSBbZGF0YT0iTTMwMi4wMCw0ODcuNjAgTDQxMC4wMCw0ODcuNjAiXQog
ICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMjM1LDM4MCkgc2l6ZSA4NngyIFtkYXRhPSJN
MzAyLjAwLDQ4Ny42MCBMNDEwLjAwLDQ4Ny42MCJdCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7dXNlfSBhdCAoMzE3LDM3Mikgc2l6ZSA2eDE4IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDAp
KDAuMDAsMS4wMCkpIHQ9KDQxMC4wMCw0ODcuNjApfV0KQEAgLTEyOSw3ICsxMTUsNyBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMjEyLjAwLDUxNC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNDAgd2lkdGggMjQzLjAw
OiAiUkdCQTogMCwyNTUsMCwxMDA7IEhTVkE6IDEyMCwxMDAsMTAwLDEwMCIKICAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDM5MCwxNTYpIHNpemUgMjM1eDc5CiAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgzOTAsMTU2KSBzaXplIDIzNXg3OSBbZmlsbD17W3R5cGU9U09MSURd
IFtjb2xvcj0jRENEQ0RDXX1dIFtkYXRhPSJNNTAwLjAwLDIwMC4wMCBMODAwLjAwLDIwMC4wMCBM
ODAwLjAwLDMwMC4wMCBMNTAwLjAwLDMwMC4wMCBaIl0KLSAgICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDQwMCwxNjMpIHNpemUgMTU1eDcgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0g
W3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDAuMTcsI0ZGODAwMCksICgwLjMzLCNGRkZGMDApLCAo
MC41MCwjODBGRjAwKSwgKDAuNjcsIzAwRkYwMCksICgwLjgzLCMwMEZGODApLCAoMS4wMCwjMDBG
RkZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTUxMi4wMCwyMDkuMjUg
TDcxMC4wMCwyMDkuMjUgTDcxMC4wMCwyMTYuNzUgTDUxMi4wMCwyMTYuNzUgWiJdCisgICAgICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICg0MDAsMTYzKSBzaXplIDE1NXg3IFtmaWxsPXtbdHlwZT1M
SU5FQVItR1JBRElFTlRdIFtpZD0iY29sb3VyUGlja2VyM19odWVHcmFkaWVudCJdfV0gW2RhdGE9
Ik01MTIuMDAsMjA5LjI1IEw3MTAuMDAsMjA5LjI1IEw3MTAuMDAsMjE2Ljc1IEw1MTIuMDAsMjE2
Ljc1IFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoMzkzLDE2MCkgc2l6ZSAxNjh4
MTMgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbb3BhY2l0eT0wLjAwXSBb
c3Ryb2tlIHdpZHRoPTE1LjAwXSBbbGluZSBjYXA9U1FVQVJFXX1dIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTAuMDBdfV0gW2RhdGE9Ik01MTIuMDAsMjEzLjAw
IEw3MTAuMDAsMjEzLjAwIl0KICAgICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDQwMCwxNjYp
IHNpemUgMTU1eDEgW2RhdGE9Ik01MTIuMDAsMjEzLjAwIEw3MTAuMDAsMjEzLjAwIl0KICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgzOTcsMTU4KSBzaXplIDZ4MTcgW3RyYW5z
Zm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNTEyLjAwLDIxMy4wMCl9XQpAQCAt
MTQxLDcgKzEyNyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgICAg
Y2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg3MTYuMDAsMjE3LjUwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAxMyB3aWR0aCA3Ni4wMDogIkh1ZSAoMFx4e0IwfS0xODBceHtCMH0pIgogICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDIwLDE4OCkgc2l6ZSA0MngzMCBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSM3ODc4NzhdIFtzdHJva2Ugd2lkdGg9Ny41MF19XSBbZGF0YT0iTTU0Mi4w
MCwyNDUuMDAgTDU4Ny4wMCwyNDUuMDAgTDU4Ny4wMCwyNzUuMDAgTDU0Mi4wMCwyNzUuMDAgWiJd
CiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg0MDAsMTc5KSBzaXplIDM2eDI1IFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik01MTIuMDAsMjMwLjAwIEw1
NTcuMDAsMjMwLjAwIEw1NTcuMDAsMjYwLjAwIEw1MTIuMDAsMjYwLjAwIFoiXQotICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDcwLDE4Mykgc2l6ZSA4NXg4IFtmaWxsPXtbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgxLjAwLCNGRjAwMDApXV0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgxLDApXX1dIFtkYXRhPSJNNjAyLjAwLDIzNS45MiBMNzEwLjAwLDIz
NS45MiBMNzEwLjAwLDI0My40MiBMNjAyLjAwLDI0My40MiBaIl0KKyAgICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDQ3MCwxODMpIHNpemUgODV4OCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJ
RU5UXSBbaWQ9ImNvbG91clBpY2tlcjNfc2F0R3JhZGllbnQiXX1dIFtkYXRhPSJNNjAyLjAwLDIz
NS45MiBMNzEwLjAwLDIzNS45MiBMNzEwLjAwLDI0My40MiBMNjAyLjAwLDI0My40MiBaIl0KICAg
ICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDQ2NCwxODEpIHNpemUgOTd4MTMgW3N0cm9rZT17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbb3BhY2l0eT0wLjAwXSBbc3Ryb2tlIHdpZHRo
PTE1LjAwXSBbbGluZSBjYXA9U1FVQVJFXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwMDBdIFtvcGFjaXR5PTAuMDBdfV0gW2RhdGE9Ik02MDIuMDAsMjM5LjY3IEw3MTAuMDAsMjM5
LjY3Il0KICAgICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDQ3MCwxODYpIHNpemUgODV4MiBb
ZGF0YT0iTTYwMi4wMCwyMzkuNjcgTDcxMC4wMCwyMzkuNjciXQogICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge3VzZX0gYXQgKDU1MiwxNzgpIHNpemUgNngxOCBbdHJhbnNmb3JtPXttPSgoMS4w
MCwwLjAwKSgwLjAwLDEuMDApKSB0PSg3MTAuMDAsMjM5LjY3KX1dCkBAIC0xNTEsNyArMTM3LDcg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICg3MTYsMjQ0KSBzaXplIDc4eDE1IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTExKSBzaXplIDc4eDE1CiAgICAg
ICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDcxNi4wMCwyNDQuMTcpIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDE0IHdpZHRoIDc4LjAwOiAiU2F0dXJhdGlvbiAoJSkiCi0gICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICg0NzAsMjA0KSBzaXplIDg1eDggW2ZpbGw9e1t0eXBlPUxJTkVB
Ui1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMDAwKSwgKDEuMDAsI0ZGMDAwMCldXSBbc3Rh
cnQ9KDAsMCldIFtlbmQ9KDEsMCldfV0gW2RhdGE9Ik02MDIuMDAsMjYyLjU4IEw3MTAuMDAsMjYy
LjU4IEw3MTAuMDAsMjcwLjA4IEw2MDIuMDAsMjcwLjA4IFoiXQorICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoNDcwLDIwNCkgc2l6ZSA4NXg4IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElF
TlRdIFtpZD0iY29sb3VyUGlja2VyM192YWxHcmFkaWVudCJdfV0gW2RhdGE9Ik02MDIuMDAsMjYy
LjU4IEw3MTAuMDAsMjYyLjU4IEw3MTAuMDAsMjcwLjA4IEw2MDIuMDAsMjcwLjA4IFoiXQogICAg
ICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNDY0LDIwMSkgc2l6ZSA5N3gxNCBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTAuMDBdIFtzdHJva2Ugd2lkdGg9
MTUuMDBdIFtsaW5lIGNhcD1TUVVBUkVdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF0gW29wYWNpdHk9MC4wMF19XSBbZGF0YT0iTTYwMi4wMCwyNjYuMzMgTDcxMC4wMCwyNjYu
MzMiXQogICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNDcwLDIwNykgc2l6ZSA4NXgyIFtk
YXRhPSJNNjAyLjAwLDI2Ni4zMyBMNzEwLjAwLDI2Ni4zMyJdCiAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7dXNlfSBhdCAoNTUyLDIwMCkgc2l6ZSA2eDE3IFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS4wMCkpIHQ9KDcxMC4wMCwyNjYuMzMpfV0KQEAgLTE2Niw3ICsxNTIsNyBA
QCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBy
dW4gMSBhdCAoNTEyLjAwLDI5NS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMzggd2lkdGgg
MjI5LjAwOiAiUkdCQTogMjU1LDAsMCwxMDA7IEhTVkE6IDAsMTAwLDEwMCwxMDAiCiAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1NDYsMzkwKSBzaXplIDIzNng5NQogICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoNTQ2LDM5MCkgc2l6ZSAyMzZ4OTUgW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9I0RDRENEQ119XSBbZGF0YT0iTTcwMC4wMCw1MDAuMDAgTDEwMDAuMDAsNTAw
LjAwIEwxMDAwLjAwLDYyMC4wMCBMNzAwLjAwLDYyMC4wMCBaIl0KLSAgICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDU1NiwzOTkpIHNpemUgMTU1eDggW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFE
SUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDAuMTcsI0ZGRkYwMCksICgwLjMzLCMwMEZG
MDApLCAoMC41MCwjMDBGRkZGKSwgKDAuNjcsIzAwMDBGRiksICgwLjgzLCNGRjAwRkYpLCAoMS4w
MCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTcxMi4wMCw1
MTEuODUgTDkxMC4wMCw1MTEuODUgTDkxMC4wMCw1MTkuMzUgTDcxMi4wMCw1MTkuMzUgWiJdCisg
ICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg1NTYsMzk5KSBzaXplIDE1NXg4IFtmaWxsPXtb
dHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iY29sb3VyUGlja2VyNF9odWVHcmFkaWVudCJdfV0g
W2RhdGE9Ik03MTIuMDAsNTExLjg1IEw5MTAuMDAsNTExLjg1IEw5MTAuMDAsNTE5LjM1IEw3MTIu
MDAsNTE5LjM1IFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNTUwLDM5Nikgc2l6
ZSAxNjh4MTQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbb3BhY2l0eT0w
LjAwXSBbc3Ryb2tlIHdpZHRoPTE1LjAwXSBbbGluZSBjYXA9U1FVQVJFXX1dIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTAuMDBdfV0gW2RhdGE9Ik03MTIuMDAs
NTE1LjYwIEw5MTAuMDAsNTE1LjYwIl0KICAgICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDU1
Niw0MDIpIHNpemUgMTU1eDIgW2RhdGE9Ik03MTIuMDAsNTE1LjYwIEw5MTAuMDAsNTE1LjYwIl0K
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICg1NTMsMzk0KSBzaXplIDZ4MTcg
W3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNzEyLjAwLDUxNS42MCl9
XQpAQCAtMTc3LDcgKzE2Myw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgNzZ4MTUKICAg
ICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoOTE2LjAwLDUyMC4xMCkgc3RhcnRPZmZz
ZXQgMCBlbmRPZmZzZXQgMTMgd2lkdGggNzYuMDA6ICJIdWUgKDBceHtCMH0tMzYwXHh7QjB9KSIK
ICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDU1Myw0MTUpIHNpemUgNDJ4MzUgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jNzg3ODc4XSBbc3Ryb2tlIHdpZHRoPTcuNTBdfV0gW2Rh
dGE9Ik03MTIuMDAsNTM2LjAwIEw3NTcuMDAsNTM2LjAwIEw3NTcuMDAsNTcyLjAwIEw3MTIuMDAs
NTcyLjAwIFoiXQotICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNjAzLDQxNykgc2l6ZSAx
MDh4OCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCM3ODc4Nzgp
LCAoMS4wMCwjNzgwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTc3
Mi4wMCw1MzUuODUgTDkxMC4wMCw1MzUuODUgTDkxMC4wMCw1NDMuMzUgTDc3Mi4wMCw1NDMuMzUg
WiJdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg2MDMsNDE3KSBzaXplIDEwOHg4IFtm
aWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iY29sb3VyUGlja2VyNF9zYXRHcmFkaWVu
dCJdfV0gW2RhdGE9Ik03NzIuMDAsNTM1Ljg1IEw5MTAuMDAsNTM1Ljg1IEw5MTAuMDAsNTQzLjM1
IEw3NzIuMDAsNTQzLjM1IFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNTk2LDQx
NSkgc2l6ZSAxMjJ4MTQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbb3Bh
Y2l0eT0wLjAwXSBbc3Ryb2tlIHdpZHRoPTE1LjAwXSBbbGluZSBjYXA9U1FVQVJFXX1dIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTAuMDBdfV0gW2RhdGE9Ik03
NzIuMDAsNTM5LjYwIEw5MTAuMDAsNTM5LjYwIl0KICAgICAgICAgUmVuZGVyUGF0aCB7bGluZX0g
YXQgKDYwMyw0MjEpIHNpemUgMTA4eDEgW2RhdGE9Ik03NzIuMDAsNTM5LjYwIEw5MTAuMDAsNTM5
LjYwIl0KICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICg2MDAsNDEzKSBzaXpl
IDZ4MTcgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNzcyLjAwLDUz
OS42MCl9XQpAQCAtMTg3LDcgKzE3Myw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoOTE2LDU0NCkgc2l6ZSA3OHgxNSBjb250
YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLC0xMSkgc2l6ZSA3OHgxNQogICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg5
MTYuMDAsNTQ0LjEwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCA3OC4wMDogIlNh
dHVyYXRpb24gKCUpIgotICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNjAzLDQzNikgc2l6
ZSAxMDh4OCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAw
MDApLCAoMS4wMCwjRkZGRkZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0i
TTc3Mi4wMCw1NTkuODUgTDkxMC4wMCw1NTkuODUgTDkxMC4wMCw1NjcuMzUgTDc3Mi4wMCw1Njcu
MzUgWiJdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg2MDMsNDM2KSBzaXplIDEwOHg4
IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iY29sb3VyUGlja2VyNF92YWxHcmFk
aWVudCJdfV0gW2RhdGE9Ik03NzIuMDAsNTU5Ljg1IEw5MTAuMDAsNTU5Ljg1IEw5MTAuMDAsNTY3
LjM1IEw3NzIuMDAsNTY3LjM1IFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtsaW5lfSBhdCAoNTk2
LDQzNCkgc2l6ZSAxMjJ4MTMgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBb
b3BhY2l0eT0wLjAwXSBbc3Ryb2tlIHdpZHRoPTE1LjAwXSBbbGluZSBjYXA9U1FVQVJFXX1dIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTAuMDBdfV0gW2RhdGE9
Ik03NzIuMDAsNTYzLjYwIEw5MTAuMDAsNTYzLjYwIl0KICAgICAgICAgUmVuZGVyUGF0aCB7bGlu
ZX0gYXQgKDYwMyw0MzkpIHNpemUgMTA4eDIgW2RhdGE9Ik03NzIuMDAsNTYzLjYwIEw5MTAuMDAs
NTYzLjYwIl0KICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICg2NTAsNDMyKSBz
aXplIDd4MTcgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oODM2Ljg2
LDU2My42MCl9XQpAQCAtMTk3LDcgKzE4Myw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoOTE2LDU2OCkgc2l6ZSA1NHgxNSBj
b250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xMSkgc2l6ZSA1NHgxNQogICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0
ICg5MTYuMDAsNTY4LjEwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA5IHdpZHRoIDU0LjAwOiAi
VmFsdWUgKCUpIgotICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNjAzLDQ1NSkgc2l6ZSAx
MDh4OCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCM3ODc4Nzgw
MCksICgxLjAwLCM3ODc4NzgpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX1dIFtkYXRhPSJN
NzcyLjAwLDU4My44NSBMOTEwLjAwLDU4My44NSBMOTEwLjAwLDU5MS4zNSBMNzcyLjAwLDU5MS4z
NSBaIl0KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDYwMyw0NTUpIHNpemUgMTA4eDgg
W2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJjb2xvdXJQaWNrZXI0X2FscGhhR3Jh
ZGllbnQiXX1dIFtkYXRhPSJNNzcyLjAwLDU4My44NSBMOTEwLjAwLDU4My44NSBMOTEwLjAwLDU5
MS4zNSBMNzcyLjAwLDU5MS4zNSBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7bGluZX0gYXQgKDU5
Niw0NTMpIHNpemUgMTIyeDEzIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0g
W29wYWNpdHk9MC4wMF0gW3N0cm9rZSB3aWR0aD0xNS4wMF0gW2xpbmUgY2FwPVNRVUFSRV19XSBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbb3BhY2l0eT0wLjAwXX1dIFtkYXRh
PSJNNzcyLjAwLDU4Ny42MCBMOTEwLjAwLDU4Ny42MCJdCiAgICAgICAgIFJlbmRlclBhdGgge2xp
bmV9IGF0ICg2MDMsNDU4KSBzaXplIDEwOHgyIFtkYXRhPSJNNzcyLjAwLDU4Ny42MCBMOTEwLjAw
LDU4Ny42MCJdCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoNzA4LDQ1MCkg
c2l6ZSA2eDE4IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDkxMC4w
MCw1ODcuNjApfV0KQEAgLTIyMCw3ICsyMDYsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICAgICAgICAgIGNodW5rIDIgdGV4dCBydW4gMSBhdCAoNTAwLjAwLDMzOS4yMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgNDIgd2lkdGggMzA5LjAwOiAiYXR0YWNoZWQgdGhhdCBjaGFu
Z2VzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIgogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMTE1LDczKSBzaXplIDIxOHgyMTcKICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEx
NSw3Mykgc2l6ZSAyMTh4MjE3IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNEQ0RDRENdfV0g
W2RhdGE9Ik01MDAuMDAsMjAwLjAwIEw4MDAuMDAsMjAwLjAwIEw4MDAuMDAsMjkwLjAwIEw1MDAu
MDAsMjkwLjAwIFoiXQotICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYzLDg0KSBzaXpl
IDExNngxMTYgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjODBG
RjAwKSwgKDAuMjAsIzAwRkYwMCksICgwLjQwLCMwMEZGODApLCAoMC42MCwjMDBGRkZGKSwgKDAu
ODAsIzAwODBGRiksICgxLjAwLCMwMDAwRkYpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX1d
IFtkYXRhPSJNNTEyLjAwLDIwNy45NSBMNzEwLjAwLDIwNy45NSBMNzEwLjAwLDIxNS40NSBMNTEy
LjAwLDIxNS40NSBaIl0KKyAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE2Myw4NCkgc2l6
ZSAxMTZ4MTE2IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iY29sb3VyUGlja2Vy
Ml9odWVHcmFkaWVudCJdfV0gW2RhdGE9Ik01MTIuMDAsMjA3Ljk1IEw3MTAuMDAsMjA3Ljk1IEw3
MTAuMDAsMjE1LjQ1IEw1MTIuMDAsMjE1LjQ1IFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtsaW5l
fSBhdCAoMTU2LDc4KSBzaXplIDEyOXgxMjkgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMDAwXSBbb3BhY2l0eT0wLjAwXSBbc3Ryb2tlIHdpZHRoPTE1LjAwXSBbbGluZSBjYXA9U1FV
QVJFXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTAuMDBd
fV0gW2RhdGE9Ik01MTIuMDAsMjExLjcwIEw3MTAuMDAsMjExLjcwIl0KICAgICAgICAgUmVuZGVy
UGF0aCB7bGluZX0gYXQgKDE2NSw4Nikgc2l6ZSAxMTF4MTExIFtkYXRhPSJNNTEyLjAwLDIxMS43
MCBMNzEwLjAwLDIxMS43MCJdCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAo
MjIzLDE0NCkgc2l6ZSAxN3gxNyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDAp
KSB0PSg2MzAuODAsMjExLjcwKX1dCkBAIC0yMzEsNyArMjE3LDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LC0xMSkgc2l6ZSA4M3gxNQogICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg3MTYu
MDAsMjE2LjIwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCA4My4wMDogIkh1ZSAo
OTBceHtCMH0tMjQwXHh7QjB9KSIKICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE0Miw5
NSkgc2l6ZSA0MXg0MSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDBGRkZGXSBbb3BhY2l0
eT0wLjUwXX1dIFtkYXRhPSJNNTEyLjAwLDIyNy4wMCBMNTU3LjAwLDIyNy4wMCBMNTU3LjAwLDI1
NC4wMCBMNTEyLjAwLDI1NC4wMCBaIl0KLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE4
MiwxMzApIHNpemUgODN4ODMgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjRkZGRkZGKSwgKDEuMDAsIzAwRkZGRildXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCld
fV0gW2RhdGE9Ik01NzIuMDAsMjMxLjk1IEw3MTAuMDAsMjMxLjk1IEw3MTAuMDAsMjM5LjQ1IEw1
NzIuMDAsMjM5LjQ1IFoiXQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTgyLDEzMCkg
c2l6ZSA4M3g4MyBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImNvbG91clBpY2tl
cjJfc2F0R3JhZGllbnQiXX1dIFtkYXRhPSJNNTcyLjAwLDIzMS45NSBMNzEwLjAwLDIzMS45NSBM
NzEwLjAwLDIzOS40NSBMNTcyLjAwLDIzOS40NSBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7bGlu
ZX0gYXQgKDE3NiwxMjUpIHNpemUgOTZ4OTUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDAwMDAwXSBbb3BhY2l0eT0wLjAwXSBbc3Ryb2tlIHdpZHRoPTE1LjAwXSBbbGluZSBjYXA9U1FV
QVJFXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTAuMDBd
fV0gW2RhdGE9Ik01NzIuMDAsMjM1LjcwIEw3MTAuMDAsMjM1LjcwIl0KICAgICAgICAgUmVuZGVy
UGF0aCB7bGluZX0gYXQgKDE4NSwxMzIpIHNpemUgNzh4NzkgW2RhdGE9Ik01NzIuMDAsMjM1Ljcw
IEw3MTAuMDAsMjM1LjcwIl0KICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgy
NTMsMjAyKSBzaXplIDE4eDE2IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkp
IHQ9KDcxMC4wMCwyMzUuNzApfV0KQEAgLTI0MSw3ICsyMjcsNyBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDcxNiwyNDApIHNp
emUgNzh4MTUgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgNzh4MTUKICAgICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoNzE2LjAwLDI0MC4yMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTQgd2lk
dGggNzguMDA6ICJTYXR1cmF0aW9uICglKSIKLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDE2OSwxNDMpIHNpemUgODN4ODMgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3Bz
PVsoMC4wMCwjMDBGRkZGMDApLCAoMS4wMCwjMDBGRkZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0o
MSwwKV19XSBbZGF0YT0iTTU3Mi4wMCwyNTUuOTUgTDcxMC4wMCwyNTUuOTUgTDcxMC4wMCwyNjMu
NDUgTDU3Mi4wMCwyNjMuNDUgWiJdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNjks
MTQzKSBzaXplIDgzeDgzIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iY29sb3Vy
UGlja2VyMl9hbHBoYUdyYWRpZW50Il19XSBbZGF0YT0iTTU3Mi4wMCwyNTUuOTUgTDcxMC4wMCwy
NTUuOTUgTDcxMC4wMCwyNjMuNDUgTDU3Mi4wMCwyNjMuNDUgWiJdCiAgICAgICAgIFJlbmRlclBh
dGgge2xpbmV9IGF0ICgxNjMsMTM3KSBzaXplIDk1eDk2IFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF0gW29wYWNpdHk9MC4wMF0gW3N0cm9rZSB3aWR0aD0xNS4wMF0gW2xpbmUg
Y2FwPVNRVUFSRV19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbb3BhY2l0
eT0wLjAwXX1dIFtkYXRhPSJNNTcyLjAwLDI1OS43MCBMNzEwLjAwLDI1OS43MCJdCiAgICAgICAg
IFJlbmRlclBhdGgge2xpbmV9IGF0ICgxNzEsMTQ2KSBzaXplIDc5eDc4IFtkYXRhPSJNNTcyLjAw
LDI1OS43MCBMNzEwLjAwLDI1OS43MCJdCiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNl
fSBhdCAoMjAzLDE3Nykgc2l6ZSAxNngxNiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAw
LDEuMDApKSB0PSg2NDEuMDAsMjU5LjcwKX1dCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2NhcnRvLm5ldC90YWJncm91cC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jYXJ0by5uZXQvdGFiZ3JvdXAtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY2FydG8u
bmV0L3RhYmdyb3VwLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNywzICs3LDEzIEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDAsMCkgc2l6ZSAweDAKICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNp
emUgMHgwCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDB4MCBbdHJh
bnNmb3JtPXttPSgoMC43MSwwLjcxKSgtMC43MSwwLjcxKSkgdD0oNzI3LjQ5LC0xNzEuNzUpfV0K
KyAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzAsMTQ3KSBzaXplIDE3NHg5NiBbc3Ryb2tlPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSM2OTY5NjldfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF19XSBbZGF0YT0iTTQwLjAwLDE5MC4wMCBMMjYwLjAwLDE5MC4wMCBMMjYwLjAwLDMxMC4w
MCBMNDAuMDAsMzEwLjAwIFoiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMxLDE0Nikg
c2l6ZSAxNzN4OTcgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0YwRjhGRl19XSBbZGF0YT0i
TTQwLjUwLDE4OC4wMCBMMjU5LjUwLDE4OC4wMCBMMjU5LjUwLDMwOS41MCBMNDAuNTAsMzA5LjUw
IFoiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIzLDE0Nikgc2l6ZSAxODh4MTEgW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0YwRjhGRl19XSBbZGF0YT0iTTMwLjAwLDE4OC4wMCBM
MjcwLjAwLDE4OC4wMCBMMjcwLjAwLDE5OS41MCBMMzAuMDAsMTk5LjUwIFoiXQorICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDU1KSBzaXplIDE5MHgyOSBjb250YWlucyAyIGNodW5r
KHMpCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUg
MTkweDE0CisgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCw1NS4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMzYgd2lkdGggMTkwLjAwOiAiVGhpcyBpcyBvdmVyc2l6ZSBj
b250ZW50IHRoYXQgY2FuIGJlIgorICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgw
LDApIHNpemUgMTIweDE0CisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLDQpIHNpemUgMTIweDE0CisgICAgICAgICAgICBjaHVuayAyIHRleHQgcnVuIDEgYXQgKDEw
LjAwLDcwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyMCB3aWR0aCAxMjAuMDA6ICJoaWRk
ZW4gb24gdGFiLWNoYW5nZSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Nz
L2NpcmNsZS1pbi1tYXNrLXdpdGgtc2hhZG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2Nzcy9jaXJjbGUtaW4tbWFzay13aXRoLXNoYWRv
dy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9jc3MvY2lyY2xlLWluLW1hc2std2l0aC1zaGFkb3ctZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDE0ICsxLDEzIEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJt
YXNrZWRHcmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAw
RkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwxKV19CiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
IGxheWVyIGF0ICgwLDApIHNpemUgNDUweDUwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgw
LDApIHNpemUgNDUweDUwMAogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6
ZSAzMDB4MzAwCiAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGll
bnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAs
MCkgc2l6ZSAzMDB4MzAwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAu
MDAsIzAwMDBGRiksICgxLjAwLCNGRjAwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDEpXX1d
IFtkYXRhPSJNMC4wMCwwLjAwIEwzMDAuMDAsMC4wMCBMMzAwLjAwLDMwMC4wMCBMMC4wMCwzMDAu
MDAgWiJdCisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdy
YWRpZW50fSBbaWQ9Im1hc2tlZEdyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRp
bmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwxKV0KKyAgICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMDAwRkZdCisgICAgICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkYwMDAw
XQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDMwMHgzMDAgW2ZpbGw9
e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJtYXNrZWRHcmFkaWVudCJdfV0gW2RhdGE9Ik0w
LjAwLDAuMDAgTDMwMC4wMCwwLjAwIEwzMDAuMDAsMzAwLjAwIEwwLjAwLDMwMC4wMCBaIl0KICAg
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIge21hc2t9IFtpZD0ibWFza18xIl0gW21hc2tV
bml0cz1vYmplY3RCb3VuZGluZ0JveF0gW21hc2tDb250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2Vd
CiAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoNSw1KSBzaXplIDEyMHgxMjAgW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkZGRl19XSBbZGF0YT0iTTEwNS4wMCw1NS4wMCBM
MTA0LjkwLDU4LjE0IEwxMDQuNjEsNjEuMjcgTDEwNC4xMSw2NC4zNyBMMTAzLjQzLDY3LjQzIEwx
MDIuNTUsNzAuNDUgTDEwMS40OSw3My40MSBMMTAwLjI0LDc2LjI5IEw5OC44Miw3OS4wOSBMOTcu
MjIsODEuNzkgTDk1LjQ1LDg0LjM5IEw5My41Myw4Ni44NyBMOTEuNDUsODkuMjMgTDg5LjIzLDkx
LjQ1IEw4Ni44Nyw5My41MyBMODQuMzksOTUuNDUgTDgxLjc5LDk3LjIyIEw3OS4wOSw5OC44MiBM
NzYuMjksMTAwLjI0IEw3My40MSwxMDEuNDkgTDcwLjQ1LDEwMi41NSBMNjcuNDMsMTAzLjQzIEw2
NC4zNywxMDQuMTEgTDYxLjI3LDEwNC42MSBMNTguMTQsMTA0LjkwIEw1NS4wMCwxMDUuMDAgTDUx
Ljg2LDEwNC45MCBMNDguNzMsMTA0LjYxIEw0NS42MywxMDQuMTEgTDQyLjU3LDEwMy40MyBMMzku
NTUsMTAyLjU1IEwzNi41OSwxMDEuNDkgTDMzLjcxLDEwMC4yNCBMMzAuOTEsOTguODIgTDI4LjIx
LDk3LjIyIEwyNS42MSw5NS40NSBMMjMuMTMsOTMuNTMgTDIwLjc3LDkxLjQ1IEwxOC41NSw4OS4y
MyBMMTYuNDcsODYuODcgTDE0LjU1LDg0LjM5IEwxMi43OCw4MS43OSBMMTEuMTgsNzkuMDkgTDku
NzYsNzYuMjkgTDguNTEsNzMuNDEgTDcuNDUsNzAuNDUgTDYuNTcsNjcuNDMgTDUuODksNjQuMzcg
TDUuMzksNjEuMjcgTDUuMTAsNTguMTQgTDUuMDAsNTUuMDAgTDUuMTAsNTEuODYgTDUuMzksNDgu
NzMgTDUuODksNDUuNjMgTDYuNTcsNDIuNTcgTDcuNDUsMzkuNTUgTDguNTEsMzYuNTkgTDkuNzYs
MzMuNzEgTDExLjE4LDMwLjkxIEwxMi43OCwyOC4yMSBMMTQuNTUsMjUuNjEgTDE2LjQ3LDIzLjEz
IEwxOC41NSwyMC43NyBMMjAuNzcsMTguNTUgTDIzLjEzLDE2LjQ3IEwyNS42MSwxNC41NSBMMjgu
MjEsMTIuNzggTDMwLjkxLDExLjE4IEwzMy43MSw5Ljc2IEwzNi41OSw4LjUxIEwzOS41NSw3LjQ1
IEw0Mi41Nyw2LjU3IEw0NS42Myw1Ljg5IEw0OC43Myw1LjM5IEw1MS44Niw1LjEwIEw1NS4wMCw1
LjAwIEw1OC4xNCw1LjEwIEw2MS4yNyw1LjM5IEw2NC4zNyw1Ljg5IEw2Ny40Myw2LjU3IEw3MC40
NSw3LjQ1IEw3My40MSw4LjUxIEw3Ni4yOSw5Ljc2IEw3OS4wOSwxMS4xOCBMODEuNzksMTIuNzgg
TDg0LjM5LDE0LjU1IEw4Ni44NywxNi40NyBMODkuMjMsMTguNTUgTDkxLjQ1LDIwLjc3IEw5My41
MywyMy4xMyBMOTUuNDUsMjUuNjEgTDk3LjIyLDI4LjIxIEw5OC44MiwzMC45MSBMMTAwLjI0LDMz
LjcxIEwxMDEuNDksMzYuNTkgTDEwMi41NSwzOS41NSBMMTAzLjQzLDQyLjU3IEwxMDQuMTEsNDUu
NjMgTDEwNC42MSw0OC43MyBMMTA0LjkwLDUxLjg2IFoiXQogICAgICAgICAgIFJlbmRlclBhdGgg
e2NpcmNsZX0gYXQgKDUsMTE1KSBzaXplIDEyMHgxMjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9I0ZGRkZGRl19XSBbZGF0YT0iTTEwNS4wMCwxNjUuMDAgTDEwNC45MCwxNjguMTQgTDEwNC42
MSwxNzEuMjcgTDEwNC4xMSwxNzQuMzcgTDEwMy40MywxNzcuNDMgTDEwMi41NSwxODAuNDUgTDEw
MS40OSwxODMuNDEgTDEwMC4yNCwxODYuMjkgTDk4LjgyLDE4OS4wOSBMOTcuMjIsMTkxLjc5IEw5
NS40NSwxOTQuMzkgTDkzLjUzLDE5Ni44NyBMOTEuNDUsMTk5LjIzIEw4OS4yMywyMDEuNDUgTDg2
Ljg3LDIwMy41MyBMODQuMzksMjA1LjQ1IEw4MS43OSwyMDcuMjIgTDc5LjA5LDIwOC44MiBMNzYu
MjksMjEwLjI0IEw3My40MSwyMTEuNDkgTDcwLjQ1LDIxMi41NSBMNjcuNDMsMjEzLjQzIEw2NC4z
NywyMTQuMTEgTDYxLjI3LDIxNC42MSBMNTguMTQsMjE0LjkwIEw1NS4wMCwyMTUuMDAgTDUxLjg2
LDIxNC45MCBMNDguNzMsMjE0LjYxIEw0NS42MywyMTQuMTEgTDQyLjU3LDIxMy40MyBMMzkuNTUs
MjEyLjU1IEwzNi41OSwyMTEuNDkgTDMzLjcxLDIxMC4yNCBMMzAuOTEsMjA4LjgyIEwyOC4yMSwy
MDcuMjIgTDI1LjYxLDIwNS40NSBMMjMuMTMsMjAzLjUzIEwyMC43NywyMDEuNDUgTDE4LjU1LDE5
OS4yMyBMMTYuNDcsMTk2Ljg3IEwxNC41NSwxOTQuMzkgTDEyLjc4LDE5MS43OSBMMTEuMTgsMTg5
LjA5IEw5Ljc2LDE4Ni4yOSBMOC41MSwxODMuNDEgTDcuNDUsMTgwLjQ1IEw2LjU3LDE3Ny40MyBM
NS44OSwxNzQuMzcgTDUuMzksMTcxLjI3IEw1LjEwLDE2OC4xNCBMNS4wMCwxNjUuMDAgTDUuMTAs
MTYxLjg2IEw1LjM5LDE1OC43MyBMNS44OSwxNTUuNjMgTDYuNTcsMTUyLjU3IEw3LjQ1LDE0OS41
NSBMOC41MSwxNDYuNTkgTDkuNzYsMTQzLjcxIEwxMS4xOCwxNDAuOTEgTDEyLjc4LDEzOC4yMSBM
MTQuNTUsMTM1LjYxIEwxNi40NywxMzMuMTMgTDE4LjU1LDEzMC43NyBMMjAuNzcsMTI4LjU1IEwy
My4xMywxMjYuNDcgTDI1LjYxLDEyNC41NSBMMjguMjEsMTIyLjc4IEwzMC45MSwxMjEuMTggTDMz
LjcxLDExOS43NiBMMzYuNTksMTE4LjUxIEwzOS41NSwxMTcuNDUgTDQyLjU3LDExNi41NyBMNDUu
NjMsMTE1Ljg5IEw0OC43MywxMTUuMzkgTDUxLjg2LDExNS4xMCBMNTUuMDAsMTE1LjAwIEw1OC4x
NCwxMTUuMTAgTDYxLjI3LDExNS4zOSBMNjQuMzcsMTE1Ljg5IEw2Ny40MywxMTYuNTcgTDcwLjQ1
LDExNy40NSBMNzMuNDEsMTE4LjUxIEw3Ni4yOSwxMTkuNzYgTDc5LjA5LDEyMS4xOCBMODEuNzks
MTIyLjc4IEw4NC4zOSwxMjQuNTUgTDg2Ljg3LDEyNi40NyBMODkuMjMsMTI4LjU1IEw5MS40NSwx
MzAuNzcgTDkzLjUzLDEzMy4xMyBMOTUuNDUsMTM1LjYxIEw5Ny4yMiwxMzguMjEgTDk4LjgyLDE0
MC45MSBMMTAwLjI0LDE0My43MSBMMTAxLjQ5LDE0Ni41OSBMMTAyLjU1LDE0OS41NSBMMTAzLjQz
LDE1Mi41NyBMMTA0LjExLDE1NS42MyBMMTA0LjYxLDE1OC43MyBMMTA0LjkwLDE2MS44NiBaIl0K
QEAgLTE4LDQgKzE3LDQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDMwMHgzMDAKICAgICAgICAgICBb
bWFza2VyPSJtYXNrXzEiXSBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlciB7bWFza30gYXQgKC0zMCwt
MzApIHNpemUgMzYweDM2MAogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAs
MCkgc2l6ZSAzMDB4MzAwCi0gICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBz
aXplIDMwMHgzMDAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwj
MDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMSldfV0gW2Rh
dGE9Ik0wLjAwLDAuMDAgTDMwMC4wMCwwLjAwIEwzMDAuMDAsMzAwLjAwIEwwLjAwLDMwMC4wMCBa
Il0KKyAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMzAweDMwMCBb
ZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Im1hc2tlZEdyYWRpZW50Il19XSBbZGF0
YT0iTTAuMDAsMC4wMCBMMzAwLjAwLDAuMDAgTDMwMC4wMCwzMDAuMDAgTDAuMDAsMzAwLjAwIFoi
XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jc3MvbWFzay13aXRoLXNoYWRv
dy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9jc3MvbWFzay13aXRoLXNoYWRvdy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jc3MvbWFzay13aXRoLXNoYWRvdy1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTQgKzEsMTMgQEAKLUtSZW5kZXJpbmdQYWludFNl
cnZlciB7aWQ9Im1hc2tlZEdyYWRpZW50IiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1b
KDAuMDAsIzAwMDBGRiksICgxLjAwLCNGRjAwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDEp
XX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgIFJlbmRlclNWR1Jvb3Qg
e3N2Z30gYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMCwwKSBzaXplIDMwMHgzMDAKICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVm
c30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHts
aW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMCwwKSBzaXplIDMwMHgzMDAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0g
W3N0b3BzPVsoMC4wMCwjMDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtl
bmQ9KDEsMSldfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDMwMC4wMCwwLjAwIEwzMDAuMDAsMzAwLjAw
IEwwLjAwLDMwMC4wMCBaIl0KKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVu
dCB7bGluZWFyR3JhZGllbnR9IFtpZD0ibWFza2VkR3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1v
YmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDEpXQorICAgICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwMDBGRl0K
KyAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2Nv
bG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMzAw
eDMwMCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Im1hc2tlZEdyYWRpZW50Il19
XSBbZGF0YT0iTTAuMDAsMC4wMCBMMzAwLjAwLDAuMDAgTDMwMC4wMCwzMDAuMDAgTDAuMDAsMzAw
LjAwIFoiXQogICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlciB7bWFza30gW2lkPSJtYXNr
XzEiXSBbbWFza1VuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbbWFza0NvbnRlbnRVbml0cz11c2Vy
U3BhY2VPblVzZV0KICAgICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICg1LDUpIHNpemUg
MTEweDExMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZGRkZGXX1dIFtkYXRhPSJNMTA1
LjAwLDU1LjAwIEwxMDQuOTAsNTguMTQgTDEwNC42MSw2MS4yNyBMMTA0LjExLDY0LjM3IEwxMDMu
NDMsNjcuNDMgTDEwMi41NSw3MC40NSBMMTAxLjQ5LDczLjQxIEwxMDAuMjQsNzYuMjkgTDk4Ljgy
LDc5LjA5IEw5Ny4yMiw4MS43OSBMOTUuNDUsODQuMzkgTDkzLjUzLDg2Ljg3IEw5MS40NSw4OS4y
MyBMODkuMjMsOTEuNDUgTDg2Ljg3LDkzLjUzIEw4NC4zOSw5NS40NSBMODEuNzksOTcuMjIgTDc5
LjA5LDk4LjgyIEw3Ni4yOSwxMDAuMjQgTDczLjQxLDEwMS40OSBMNzAuNDUsMTAyLjU1IEw2Ny40
MywxMDMuNDMgTDY0LjM3LDEwNC4xMSBMNjEuMjcsMTA0LjYxIEw1OC4xNCwxMDQuOTAgTDU1LjAw
LDEwNS4wMCBMNTEuODYsMTA0LjkwIEw0OC43MywxMDQuNjEgTDQ1LjYzLDEwNC4xMSBMNDIuNTcs
MTAzLjQzIEwzOS41NSwxMDIuNTUgTDM2LjU5LDEwMS40OSBMMzMuNzEsMTAwLjI0IEwzMC45MSw5
OC44MiBMMjguMjEsOTcuMjIgTDI1LjYxLDk1LjQ1IEwyMy4xMyw5My41MyBMMjAuNzcsOTEuNDUg
TDE4LjU1LDg5LjIzIEwxNi40Nyw4Ni44NyBMMTQuNTUsODQuMzkgTDEyLjc4LDgxLjc5IEwxMS4x
OCw3OS4wOSBMOS43Niw3Ni4yOSBMOC41MSw3My40MSBMNy40NSw3MC40NSBMNi41Nyw2Ny40MyBM
NS44OSw2NC4zNyBMNS4zOSw2MS4yNyBMNS4xMCw1OC4xNCBMNS4wMCw1NS4wMCBMNS4xMCw1MS44
NiBMNS4zOSw0OC43MyBMNS44OSw0NS42MyBMNi41Nyw0Mi41NyBMNy40NSwzOS41NSBMOC41MSwz
Ni41OSBMOS43NiwzMy43MSBMMTEuMTgsMzAuOTEgTDEyLjc4LDI4LjIxIEwxNC41NSwyNS42MSBM
MTYuNDcsMjMuMTMgTDE4LjU1LDIwLjc3IEwyMC43NywxOC41NSBMMjMuMTMsMTYuNDcgTDI1LjYx
LDE0LjU1IEwyOC4yMSwxMi43OCBMMzAuOTEsMTEuMTggTDMzLjcxLDkuNzYgTDM2LjU5LDguNTEg
TDM5LjU1LDcuNDUgTDQyLjU3LDYuNTcgTDQ1LjYzLDUuODkgTDQ4LjczLDUuMzkgTDUxLjg2LDUu
MTAgTDU1LjAwLDUuMDAgTDU4LjE0LDUuMTAgTDYxLjI3LDUuMzkgTDY0LjM3LDUuODkgTDY3LjQz
LDYuNTcgTDcwLjQ1LDcuNDUgTDczLjQxLDguNTEgTDc2LjI5LDkuNzYgTDc5LjA5LDExLjE4IEw4
MS43OSwxMi43OCBMODQuMzksMTQuNTUgTDg2Ljg3LDE2LjQ3IEw4OS4yMywxOC41NSBMOTEuNDUs
MjAuNzcgTDkzLjUzLDIzLjEzIEw5NS40NSwyNS42MSBMOTcuMjIsMjguMjEgTDk4LjgyLDMwLjkx
IEwxMDAuMjQsMzMuNzEgTDEwMS40OSwzNi41OSBMMTAyLjU1LDM5LjU1IEwxMDMuNDMsNDIuNTcg
TDEwNC4xMSw0NS42MyBMMTA0LjYxLDQ4LjczIEwxMDQuOTAsNTEuODYgWiJdCiAgICAgICAgICAg
UmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoNSwxMTUpIHNpemUgMTEweDExMCBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jRkZGRkZGXX1dIFtkYXRhPSJNMTA1LjAwLDE2NS4wMCBMMTA0LjkwLDE2
OC4xNCBMMTA0LjYxLDE3MS4yNyBMMTA0LjExLDE3NC4zNyBMMTAzLjQzLDE3Ny40MyBMMTAyLjU1
LDE4MC40NSBMMTAxLjQ5LDE4My40MSBMMTAwLjI0LDE4Ni4yOSBMOTguODIsMTg5LjA5IEw5Ny4y
MiwxOTEuNzkgTDk1LjQ1LDE5NC4zOSBMOTMuNTMsMTk2Ljg3IEw5MS40NSwxOTkuMjMgTDg5LjIz
LDIwMS40NSBMODYuODcsMjAzLjUzIEw4NC4zOSwyMDUuNDUgTDgxLjc5LDIwNy4yMiBMNzkuMDks
MjA4LjgyIEw3Ni4yOSwyMTAuMjQgTDczLjQxLDIxMS40OSBMNzAuNDUsMjEyLjU1IEw2Ny40Mywy
MTMuNDMgTDY0LjM3LDIxNC4xMSBMNjEuMjcsMjE0LjYxIEw1OC4xNCwyMTQuOTAgTDU1LjAwLDIx
NS4wMCBMNTEuODYsMjE0LjkwIEw0OC43MywyMTQuNjEgTDQ1LjYzLDIxNC4xMSBMNDIuNTcsMjEz
LjQzIEwzOS41NSwyMTIuNTUgTDM2LjU5LDIxMS40OSBMMzMuNzEsMjEwLjI0IEwzMC45MSwyMDgu
ODIgTDI4LjIxLDIwNy4yMiBMMjUuNjEsMjA1LjQ1IEwyMy4xMywyMDMuNTMgTDIwLjc3LDIwMS40
NSBMMTguNTUsMTk5LjIzIEwxNi40NywxOTYuODcgTDE0LjU1LDE5NC4zOSBMMTIuNzgsMTkxLjc5
IEwxMS4xOCwxODkuMDkgTDkuNzYsMTg2LjI5IEw4LjUxLDE4My40MSBMNy40NSwxODAuNDUgTDYu
NTcsMTc3LjQzIEw1Ljg5LDE3NC4zNyBMNS4zOSwxNzEuMjcgTDUuMTAsMTY4LjE0IEw1LjAwLDE2
NS4wMCBMNS4xMCwxNjEuODYgTDUuMzksMTU4LjczIEw1Ljg5LDE1NS42MyBMNi41NywxNTIuNTcg
TDcuNDUsMTQ5LjU1IEw4LjUxLDE0Ni41OSBMOS43NiwxNDMuNzEgTDExLjE4LDE0MC45MSBMMTIu
NzgsMTM4LjIxIEwxNC41NSwxMzUuNjEgTDE2LjQ3LDEzMy4xMyBMMTguNTUsMTMwLjc3IEwyMC43
NywxMjguNTUgTDIzLjEzLDEyNi40NyBMMjUuNjEsMTI0LjU1IEwyOC4yMSwxMjIuNzggTDMwLjkx
LDEyMS4xOCBMMzMuNzEsMTE5Ljc2IEwzNi41OSwxMTguNTEgTDM5LjU1LDExNy40NSBMNDIuNTcs
MTE2LjU3IEw0NS42MywxMTUuODkgTDQ4LjczLDExNS4zOSBMNTEuODYsMTE1LjEwIEw1NS4wMCwx
MTUuMDAgTDU4LjE0LDExNS4xMCBMNjEuMjcsMTE1LjM5IEw2NC4zNywxMTUuODkgTDY3LjQzLDEx
Ni41NyBMNzAuNDUsMTE3LjQ1IEw3My40MSwxMTguNTEgTDc2LjI5LDExOS43NiBMNzkuMDksMTIx
LjE4IEw4MS43OSwxMjIuNzggTDg0LjM5LDEyNC41NSBMODYuODcsMTI2LjQ3IEw4OS4yMywxMjgu
NTUgTDkxLjQ1LDEzMC43NyBMOTMuNTMsMTMzLjEzIEw5NS40NSwxMzUuNjEgTDk3LjIyLDEzOC4y
MSBMOTguODIsMTQwLjkxIEwxMDAuMjQsMTQzLjcxIEwxMDEuNDksMTQ2LjU5IEwxMDIuNTUsMTQ5
LjU1IEwxMDMuNDMsMTUyLjU3IEwxMDQuMTEsMTU1LjYzIEwxMDQuNjEsMTU4LjczIEwxMDQuOTAs
MTYxLjg2IFoiXQpAQCAtMTgsNCArMTcsNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAK
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgwLDApIHNpemUgMzAweDMwMAog
ICAgICAgICAgIFttYXNrZXI9Im1hc2tfMSJdIFJlbmRlclNWR1Jlc291cmNlTWFza2VyIHttYXNr
fSBhdCAoLTMwLC0zMCkgc2l6ZSAzNjB4MzYwCiAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMCwwKSBzaXplIDMwMHgzMDAKLSAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgwLDApIHNpemUgMzAweDMwMCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3Rv
cHM9WygwLjAwLCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0o
MSwxKV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMzAwLjAwLDAuMDAgTDMwMC4wMCwzMDAuMDAgTDAu
MDAsMzAwLjAwIFoiXQorICAgICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6
ZSAzMDB4MzAwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0ibWFza2VkR3JhZGll
bnQiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwzMDAuMDAsMC4wMCBMMzAwLjAwLDMwMC4wMCBMMC4w
MCwzMDAuMDAgWiJdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9k
ZWVwLWR5bmFtaWMtdXBkYXRlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZGVlcC1keW5hbWljLXVwZGF0ZXMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL2RlZXAtZHluYW1pYy11cGRhdGVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwxNiArMSwxNCBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iR3JhZGllbnQiIFt0eXBl
PUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4zMCwjMDAwMEZGKSwgKDEuMDAsI0ZGMDAwMCld
XSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgwLDApXSBbZW5kPSg2MCwxMCldfQotS1Jl
bmRlcmluZ1BhaW50U2VydmVyIHtpZD0iUGF0dGVybiIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQg
KDAsMCkgc2l6ZSA2MHgxMF19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgNDUweDQ1MAog
ICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgNDUweDQ1MAogICAgIFJlbmRlclNW
R0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNW
R0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDEyMXgyMQotICAgICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEyMngyMiBbdHJhbnNmb3JtPXttPSgo
Mi4wMCwwLjAwKSgwLjAwLDIuMDApKSB0PSgwLjAwLDAuMDApfV0gW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9w
cz1bKDAuMzAsIzAwMDBGRiksICgxLjAwLCNGRjAwMDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBd
IFtzdGFydD0oMCwwKV0gW2VuZD0oNjAsMTApXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw2MC4wMCww
LjAwIEw2MC4wMCwxMC4wMCBMMC4wMCwxMC4wMCBaIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNl
TGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9IkdyYWRpZW50Il0gW2dyYWRpZW50
VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtzdGFydD0oMCwwKV0gW2VuZD0oNjAsMTApXQorICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4zMF0gW2NvbG9yPSMwMDAw
RkZdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBb
Y29sb3I9I0ZGMDAwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0g
W2lkPSJQYXR0ZXJuIl0gW3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5Db250
ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgw
LDApIHNpemUgMTIyeDIyIFt0cmFuc2Zvcm09e209KCgyLjAwLDAuMDApKDAuMDAsMi4wMCkpIHQ9
KDAuMDAsMC4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2Zp
bGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJHcmFkaWVudCJdfV0gW2RhdGE9Ik0wLjAw
LDAuMDAgTDYwLjAwLDAuMDAgTDYwLjAwLDEwLjAwIEwwLjAwLDEwLjAwIFoiXQogICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMjQsMjQpIHNpemUgNDAyeDQwMgogICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoMjQsMjQpIHNpemUgNDAyeDQwMiBbdHJhbnNmb3JtPXttPSgo
MS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgyNS4wMCwyNS4wMCl9XQogICAgICAgICBSZW5kZXJT
VkdWaWV3cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMjQsMjQpIHNpemUgNDAyeDQwMgotICAgICAg
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNCwyNCkgc2l6ZSA0MDJ4NDAyIFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDA4MF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9
YXQgKDAsMCkgc2l6ZSA2MHgxMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNDAwLjAwLDAuMDAgTDQw
MC4wMCw0MDAuMDAgTDAuMDAsNDAwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgyNCwyNCkgc2l6ZSA0MDJ4NDAyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDA4MF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJQYXR0ZXJuIl19XSBbZGF0YT0iTTAu
MDAsMC4wMCBMNDAwLjAwLDAuMDAgTDQwMC4wMCw0MDAuMDAgTDAuMDAsNDAwLjAwIFoiXQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZG9taW5hbnQtYmFzZWxpbmUt
aGFuZ2luZy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL2N1c3RvbS9kb21pbmFudC1iYXNlbGluZS1oYW5naW5nLWV4cGVjdGVkLmNo
ZWNrc3VtCShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
Y3VzdG9tL2RvbWluYW50LWJhc2VsaW5lLWhhbmdpbmctZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtp
bmcgY29weSkKQEAgLTEgKzEgQEAKLWZmN2JjZDFhMGU2YTRhYzVjMzhjMGMzZWMxYmJiNTUyClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorOTk0YzgzNWVmNzJiN2QwZTU1NmNkYzFhOTQxN2Fi
MzcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2N1c3RvbS9kb21pbmFudC1iYXNlbGluZS1oYW5naW5nLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9kb21pbmFu
dC1iYXNlbGluZS1oYW5naW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9kb21pbmFudC1iYXNlbGluZS1oYW5naW5n
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyMSArMSwxOCBAQAotS1JlbmRlcmlu
Z1BhaW50U2VydmVyIHtpZD0iZ3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3Bz
PVsoMC4wMCwjRkY3MkI0N0YpLCAoMS4wMCwjRkYwMDdCKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0o
MCwxKV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJoX3N0cm9rZV9ncmFkaWVudCIgW3R5
cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDApLCAoMS4wMCwjMDAwMDAw
MDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7
aWQ9InZfc3Ryb2tlX2dyYWRpZW50IiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAu
MDAsIzAwMDAwMCksICgxLjAwLCMwMDAwMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDAsMSld
fQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDQwMHg0MDAKICAgUmVuZGVyU1ZHUm9vdCB7
c3ZnfSBhdCAoMCwwKSBzaXplIDQwMHg0MDAKICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIg
e2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIg
e2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSA0MDB4NDAwIFtmaWxsPXtbdHlwZT1MSU5FQVIt
R1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGNzJCNDdGKSwgKDEuMDAsI0ZGMDA3QildXSBbc3Rh
cnQ9KDAsMCldIFtlbmQ9KDAsMSldfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDQwMC4wMCwwLjAwIEw0
MDAuMDAsNDAwLjAwIEwwLjAwLDQwMC4wMCBaIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGlu
ZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImdyYWRpZW50Il0gW2dyYWRpZW50VW5p
dHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMCwxKV0KKyAgICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkY3MkI0
ODBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBb
Y29sb3I9I0ZGMDA3Ql0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xp
bmVhckdyYWRpZW50fSBbaWQ9Imhfc3Ryb2tlX2dyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2Jq
ZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMDAwXQorICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMw
MDAwMDAwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdy
YWRpZW50fSBbaWQ9InZfc3Ryb2tlX2dyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91
bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMCwxKV0KKyAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMDAwXQorICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwMDAw
MF0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDQwMHg0MDAgW2ZpbGw9e1t0
eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkaWVudCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAg
TDQwMC4wMCwwLjAwIEw0MDAuMDAsNDAwLjAwIEwwLjAwLDQwMC4wMCBaIl0KICAgICBSZW5kZXJT
VkdDb250YWluZXIge2d9IGF0ICg5LDYpIHNpemUgMzgxeDI5IFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLDEwLjAwKX1dCiAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMTAsMTApIHNpemUgMzgweDI1IFtvcGFjaXR5PTAuNTBdIFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNGRkZGRkZdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDM4MC4wMCwwLjAwIEwz
ODAuMDAsMjUuMDAgTDAuMDAsMjUuMDAgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9
IGF0ICg4LDgpIHNpemUgMzgyeDI3IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4w
MCkpIHQ9KC0wLjUwLC0wLjUwKX1dCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLURpc2NyZXRlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRy
YW5zZmVyLURpc2NyZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLURpc2NyZXRl
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDMgQEAKLUtSZW5kZXJpbmdQ
YWludFNlcnZlciB7aWQ9Ik15R3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3Bz
PVsoMC4wMCwjMDBGRjAwKSwgKDEuMDAsIzAwMDAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0g
W3N0YXJ0PSgxMCwwKV0gW2VuZD0oNTkwLDApXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCkBAIC02LDkgKzUsOSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNSwxNSkgc2l6ZSA3NTB4NDg3CiAgICAgICBS
ZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMjUsMTUpIHNpemUgNzUweDQ4Nwog
ICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdy
YWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJNeUdyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9
dXNlclNwYWNlT25Vc2VdIFtzdGFydD0oMTAsMCldIFtlbmQ9KDU5MCwwKV0KKyAgICAgICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwRkYw
MF0KKyAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAw
XSBbY29sb3I9IzAwMDAwMF0KICAgICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7Zmls
dGVyfSBbaWQ9IklkZW50aXR5Il0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJp
bWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgICAgICBbbGFzdCBwcmltaXRpdmUg
XQogICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iRGlzY3Jl
dGVCbGFuayJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRz
PXVzZXJTcGFjZU9uVXNlXQpAQCAtMjAsMjIgKzE5LDIyIEBAIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjUsMTUpIHNpemUgNzUweDQ4
NyBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdfV0gW2RhdGE9Ik0xLjAwLDEu
MDAgTDY0OS4wMCwxLjAwIEw2NDkuMDAsNDE5LjAwIEwxLjAwLDQxOS4wMCBaIl0KICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjUsMTUpIHNpemUgNzUweDQ4NwogICAgICAgICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNSwxNSkgc2l6ZSA3NTB4NDg3IFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbZGF0YT0iTTEuMDAsMS4wMCBMNjQ5LjAwLDEuMDAg
TDY0OS4wMCw0MTkuMDAgTDEuMDAsNDE5LjAwIFoiXQotICAgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICg0NiwyNikgc2l6ZSA2NzN4NDkgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0g
W3N0b3BzPVsoMC4wMCwjMDBGRjAwKSwgKDEuMDAsIzAwMDAwMCldXSBbYm91bmRpbmcgYm94IG1v
ZGU9MF0gW3N0YXJ0PSgxMCwwKV0gW2VuZD0oNTkwLDApXX1dIFtkYXRhPSJNMjAuMDAsMTAuMDAg
TDYwMC4wMCwxMC4wMCBMNjAwLjAwLDUwLjAwIEwyMC4wMCw1MC4wMCBaIl0KKyAgICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYsMjYpIHNpemUgNjczeDQ5IFtmaWxsPXtbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtpZD0iTXlHcmFkaWVudCJdfV0gW2RhdGE9Ik0yMC4wMCwxMC4wMCBMNjAw
LjAwLDEwLjAwIEw2MDAuMDAsNTAuMDAgTDIwLjAwLDUwLjAwIFoiXQogICAgICAgICAgICAgW2Zp
bHRlcj0iSWRlbnRpdHkiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMjAs
MTApIHNpemUgNTgweDQwCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDcw
KSBzaXplIDEwMXgxOCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE1KSBzaXplIDEwMXgxOAogICAgICAgICAgICAgICBj
aHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDcwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNl
dCAxNCB3aWR0aCAxMDEuMDA6ICJ0eXBlOiBpZGVudGl0eSIKLSAgICAgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoNDYsMTQxKSBzaXplIDY3M3g0OSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJ
RU5UXSBbc3RvcHM9WygwLjAwLCMwMEZGMDApLCAoMS4wMCwjMDAwMDAwKV1dIFtib3VuZGluZyBi
b3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDApXSBbZW5kPSg1OTAsMCldfV0gW2RhdGE9Ik0yMC4wMCwx
MTAuMDAgTDYwMC4wMCwxMTAuMDAgTDYwMC4wMCwxNTAuMDAgTDIwLjAwLDE1MC4wMCBaIl0KKyAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYsMTQxKSBzaXplIDY3M3g0OSBbZmlsbD17
W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Ik15R3JhZGllbnQiXX1dIFtkYXRhPSJNMjAuMDAs
MTEwLjAwIEw2MDAuMDAsMTEwLjAwIEw2MDAuMDAsMTUwLjAwIEwyMC4wMCwxNTAuMDAgWiJdCiAg
ICAgICAgICAgICBbZmlsdGVyPSJEaXNjcmV0ZUJsYW5rIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIge2ZpbHRlcn0gYXQgKDIwLDExMCkgc2l6ZSA1ODB4NDAKICAgICAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMjAsMTcwKSBzaXplIDMyM3gxOCBjb250YWlucyAxIGNodW5rKHMpCiAg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE1KSBzaXplIDMy
M3gxOAogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDE3MC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNDQgd2lkdGggMzIzLjAwOiAidHlwZTogZGlzY3JldGUg
WzBdIC0tIFJlc3VsdCBzaG91bGQgYmUgYmxhY2siCi0gICAgICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDQ2LDI1OCkgc2l6ZSA2NzN4NDcgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0g
W3N0b3BzPVsoMC4wMCwjMDBGRjAwKSwgKDEuMDAsIzAwMDAwMCldXSBbYm91bmRpbmcgYm94IG1v
ZGU9MF0gW3N0YXJ0PSgxMCwwKV0gW2VuZD0oNTkwLDApXX1dIFtkYXRhPSJNMjAuMDAsMjEwLjAw
IEw2MDAuMDAsMjEwLjAwIEw2MDAuMDAsMjUwLjAwIEwyMC4wMCwyNTAuMDAgWiJdCisgICAgICAg
ICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDQ2LDI1OCkgc2l6ZSA2NzN4NDcgW2ZpbGw9e1t0eXBl
PUxJTkVBUi1HUkFESUVOVF0gW2lkPSJNeUdyYWRpZW50Il19XSBbZGF0YT0iTTIwLjAwLDIxMC4w
MCBMNjAwLjAwLDIxMC4wMCBMNjAwLjAwLDI1MC4wMCBMMjAuMDAsMjUwLjAwIFoiXQogICAgICAg
ICAgICAgW2ZpbHRlcj0iRGlzY3JldGVGdWxsIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2Zp
bHRlcn0gYXQgKDIwLDIxMCkgc2l6ZSA1ODB4NDAKICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMjAsMjcwKSBzaXplIDMyNngxOCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE1KSBzaXplIDMyNngxOAog
ICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDI3MC4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgNDQgd2lkdGggMzI2LjAwOiAidHlwZTogZGlzY3JldGUgWzFdIC0t
IFJlc3VsdCBzaG91bGQgYmUgZ3JlZW4iCi0gICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDQ2LDM3Mykgc2l6ZSA2NzN4NDcgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3Bz
PVsoMC4wMCwjMDBGRjAwKSwgKDEuMDAsIzAwMDAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0g
W3N0YXJ0PSgxMCwwKV0gW2VuZD0oNTkwLDApXX1dIFtkYXRhPSJNMjAuMDAsMzEwLjAwIEw2MDAu
MDAsMzEwLjAwIEw2MDAuMDAsMzUwLjAwIEwyMC4wMCwzNTAuMDAgWiJdCisgICAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDQ2LDM3Mykgc2l6ZSA2NzN4NDcgW2ZpbGw9e1t0eXBlPUxJTkVB
Ui1HUkFESUVOVF0gW2lkPSJNeUdyYWRpZW50Il19XSBbZGF0YT0iTTIwLjAwLDMxMC4wMCBMNjAw
LjAwLDMxMC4wMCBMNjAwLjAwLDM1MC4wMCBMMjAuMDAsMzUwLjAwIFoiXQogICAgICAgICAgICAg
W2ZpbHRlcj0iRGlzY3JldGVPcmQiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBh
dCAoMjAsMzEwKSBzaXplIDU4MHg0MAogICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgyMCwzNzApIHNpemUgNTYyeDE4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTUpIHNpemUgNTYyeDE4CkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLUdh
bW1hLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRyYW5zZmVyLUdhbW1hLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9mZUNvbXBv
bmVudFRyYW5zZmVyLUdhbW1hLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsx
LDMgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9Ik15R3JhZGllbnQiIFt0eXBlPUxJTkVB
Ui1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDBGRjAwKSwgKDEuMDAsIzAwMDAwMCldXSBbYm91
bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgxMCwwKV0gW2VuZD0oNTkwLDApXX0KIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCkBAIC02LDkgKzUsOSBAQCBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNSwxNSkgc2l6
ZSA3NTB4NDg3CiAgICAgICBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoMjUs
MTUpIHNpemUgNzUweDQ4NwogICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHts
aW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJT
VkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJNeUdyYWRpZW50
Il0gW2dyYWRpZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtzdGFydD0oMTAsMCldIFtlbmQ9KDU5
MCwwKV0KKyAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0w
LjAwXSBbY29sb3I9IzAwRkYwMF0KKyAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9IzAwMDAwMF0KICAgICAgICAgICBSZW5kZXJTVkdS
ZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9IklkZW50aXR5Il0gW2ZpbHRlclVuaXRzPW9iamVj
dEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgICAg
ICBbbGFzdCBwcmltaXRpdmUgXQogICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtm
aWx0ZXJ9IFtpZD0iR2FtbWFCbGFuayJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0g
W3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQpAQCAtMjAsMTcgKzE5LDE3IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjUs
MTUpIHNpemUgNzUweDQ4NyBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdfV0g
W2RhdGE9Ik0xLjAwLDEuMDAgTDY0OS4wMCwxLjAwIEw2NDkuMDAsNDE5LjAwIEwxLjAwLDQxOS4w
MCBaIl0KICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjUsMTUpIHNpemUgNzUw
eDQ4NwogICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNSwxNSkgc2l6ZSA3NTB4NDg3
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbZGF0YT0iTTEuMDAsMS4w
MCBMNjQ5LjAwLDEuMDAgTDY0OS4wMCw0MTkuMDAgTDEuMDAsNDE5LjAwIFoiXQotICAgICAgICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICg0NiwyNikgc2l6ZSA2NzN4NDkgW2ZpbGw9e1t0eXBlPUxJ
TkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDBGRjAwKSwgKDEuMDAsIzAwMDAwMCldXSBb
Ym91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgxMCwwKV0gW2VuZD0oNTkwLDApXX1dIFtkYXRh
PSJNMjAuMDAsMTAuMDAgTDYwMC4wMCwxMC4wMCBMNjAwLjAwLDUwLjAwIEwyMC4wMCw1MC4wMCBa
Il0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYsMjYpIHNpemUgNjczeDQ5IFtm
aWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iTXlHcmFkaWVudCJdfV0gW2RhdGE9Ik0y
MC4wMCwxMC4wMCBMNjAwLjAwLDEwLjAwIEw2MDAuMDAsNTAuMDAgTDIwLjAwLDUwLjAwIFoiXQog
ICAgICAgICAgICAgW2ZpbHRlcj0iSWRlbnRpdHkiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7
ZmlsdGVyfSBhdCAoMjAsMTApIHNpemUgNTgweDQwCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDIwLDcwKSBzaXplIDEwMXgxOCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE1KSBzaXplIDEwMXgxOAog
ICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDcwLjAwKSBzdGFydE9m
ZnNldCAwIGVuZE9mZnNldCAxNCB3aWR0aCAxMDEuMDA6ICJ0eXBlOiBpZGVudGl0eSIKLSAgICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYsMTQxKSBzaXplIDY3M3g0OSBbZmlsbD17W3R5
cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMEZGMDApLCAoMS4wMCwjMDAwMDAw
KV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDApXSBbZW5kPSg1OTAsMCldfV0g
W2RhdGE9Ik0yMC4wMCwxMTAuMDAgTDYwMC4wMCwxMTAuMDAgTDYwMC4wMCwxNTAuMDAgTDIwLjAw
LDE1MC4wMCBaIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYsMTQxKSBzaXpl
IDY3M3g0OSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Ik15R3JhZGllbnQiXX1d
IFtkYXRhPSJNMjAuMDAsMTEwLjAwIEw2MDAuMDAsMTEwLjAwIEw2MDAuMDAsMTUwLjAwIEwyMC4w
MCwxNTAuMDAgWiJdCiAgICAgICAgICAgICBbZmlsdGVyPSJHYW1tYUJsYW5rIl0gUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDIwLDExMCkgc2l6ZSA1ODB4NDAKICAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMTcwKSBzaXplIDU3NXgxOCBjb250YWlucyAx
IGNodW5rKHMpCiAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
LTE1KSBzaXplIDU3NXgxOAogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIw
LjAwLDE3MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNzIgd2lkdGggNTc1LjAwOiAidHlw
ZTogZ2FtbWEgYW1wbGl0dWRlPTEgZXhwb25lbnQ9MSBvZmZzZXQ9MCAtLSBSZXN1bHQgc2hvdWxk
IGJlIGlkZW50aXR5IgotICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg0NiwyNTgpIHNp
emUgNjczeDQ3IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAw
RkYwMCksICgxLjAwLCMwMDAwMDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMTAs
MCldIFtlbmQ9KDU5MCwwKV19XSBbZGF0YT0iTTIwLjAwLDIxMC4wMCBMNjAwLjAwLDIxMC4wMCBM
NjAwLjAwLDI1MC4wMCBMMjAuMDAsMjUwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICg0NiwyNTgpIHNpemUgNjczeDQ3IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRd
IFtpZD0iTXlHcmFkaWVudCJdfV0gW2RhdGE9Ik0yMC4wMCwyMTAuMDAgTDYwMC4wMCwyMTAuMDAg
TDYwMC4wMCwyNTAuMDAgTDIwLjAwLDI1MC4wMCBaIl0KICAgICAgICAgICAgIFtmaWx0ZXI9Ikdh
bW1hRnVsbCJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgyMCwyMTApIHNp
emUgNTgweDQwCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDI3MCkgc2l6
ZSA1Mjl4MTggY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLC0xNSkgc2l6ZSA1Mjl4MTgKQEAgLTM4LDcgKzM3LDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDIwLDI5MCkgc2l6ZSAxODh4MTggY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNSkgc2l6ZSAxODh4MTgKICAgICAg
ICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCwyOTAuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDI3IHdpZHRoIDE4OC4wMDogImRlbGF5ZWQgZmFsbG9mZiBpbiBncmFkaWVu
dCIKLSAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYsMzczKSBzaXplIDY3M3g0NyBb
ZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMEZGMDApLCAoMS4w
MCwjMDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDApXSBbZW5kPSg1
OTAsMCldfV0gW2RhdGE9Ik0yMC4wMCwzMTAuMDAgTDYwMC4wMCwzMTAuMDAgTDYwMC4wMCwzNTAu
MDAgTDIwLjAwLDM1MC4wMCBaIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYs
MzczKSBzaXplIDY3M3g0NyBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Ik15R3Jh
ZGllbnQiXX1dIFtkYXRhPSJNMjAuMDAsMzEwLjAwIEw2MDAuMDAsMzEwLjAwIEw2MDAuMDAsMzUw
LjAwIEwyMC4wMCwzNTAuMDAgWiJdCiAgICAgICAgICAgICBbZmlsdGVyPSJHYW1tYU9yZCJdIFJl
bmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgyMCwzMTApIHNpemUgNTgweDQwCiAg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDM3MCkgc2l6ZSA1Njh4MTggY29u
dGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xNSkgc2l6ZSA1Njh4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItTGluZWFyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9mZUNvbXBvbmVudFRy
YW5zZmVyLUxpbmVhci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZmVDb21wb25lbnRUcmFuc2Zlci1MaW5lYXItZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAotS1JlbmRlcmluZ1BhaW50
U2VydmVyIHtpZD0iTXlHcmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9Wygw
LjAwLCMwMEZGMDApLCAoMS4wMCwjMDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3Rh
cnQ9KDEwLDApXSBbZW5kPSg1OTAsMCldfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKQEAgLTYsOSArNSw5IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI1LDE1KSBzaXplIDc1MHg0ODcKICAgICAgIFJlbmRl
clNWR1ZpZXdwb3J0Q29udGFpbmVyIHtzdmd9IGF0ICgyNSwxNSkgc2l6ZSA3NTB4NDg3CiAgICAg
ICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBh
dCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGll
bnQge2xpbmVhckdyYWRpZW50fSBbaWQ9Ik15R3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz11c2Vy
U3BhY2VPblVzZV0gW3N0YXJ0PSgxMCwwKV0gW2VuZD0oNTkwLDApXQorICAgICAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDBGRjAwXQor
ICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtj
b2xvcj0jMDAwMDAwXQogICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9
IFtpZD0iSWRlbnRpdHkiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRp
dmVVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICAgIFtsYXN0IHByaW1pdGl2ZSBdCiAg
ICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJEaXNjcmV0ZUJs
YW5rIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNl
clNwYWNlT25Vc2VdCkBAIC0yMCwyMiArMTksMjIgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNSwxNSkgc2l6ZSA3NTB4NDg3IFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbZGF0YT0iTTEuMDAsMS4wMCBM
NjQ5LjAwLDEuMDAgTDY0OS4wMCw0MTkuMDAgTDEuMDAsNDE5LjAwIFoiXQogICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgyNSwxNSkgc2l6ZSA3NTB4NDg3CiAgICAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDI1LDE1KSBzaXplIDc1MHg0ODcgW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMS4wMCwxLjAwIEw2NDkuMDAsMS4wMCBMNjQ5
LjAwLDQxOS4wMCBMMS4wMCw0MTkuMDAgWiJdCi0gICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDQ2LDI2KSBzaXplIDY3M3g0OSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3Rv
cHM9WygwLjAwLCMwMEZGMDApLCAoMS4wMCwjMDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0w
XSBbc3RhcnQ9KDEwLDApXSBbZW5kPSg1OTAsMCldfV0gW2RhdGE9Ik0yMC4wMCwxMC4wMCBMNjAw
LjAwLDEwLjAwIEw2MDAuMDAsNTAuMDAgTDIwLjAwLDUwLjAwIFoiXQorICAgICAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICg0NiwyNikgc2l6ZSA2NzN4NDkgW2ZpbGw9e1t0eXBlPUxJTkVBUi1H
UkFESUVOVF0gW2lkPSJNeUdyYWRpZW50Il19XSBbZGF0YT0iTTIwLjAwLDEwLjAwIEw2MDAuMDAs
MTAuMDAgTDYwMC4wMCw1MC4wMCBMMjAuMDAsNTAuMDAgWiJdCiAgICAgICAgICAgICBbZmlsdGVy
PSJJZGVudGl0eSJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgyMCwxMCkg
c2l6ZSA1ODB4NDAKICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsNzApIHNp
emUgMTAxeDE4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTUpIHNpemUgMTAxeDE4CiAgICAgICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMSBhdCAoMjAuMDAsNzAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE0
IHdpZHRoIDEwMS4wMDogInR5cGU6IGlkZW50aXR5IgotICAgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICg0NiwxNDEpIHNpemUgNjczeDQ5IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRd
IFtzdG9wcz1bKDAuMDAsIzAwRkYwMCksICgxLjAwLCMwMDAwMDApXV0gW2JvdW5kaW5nIGJveCBt
b2RlPTBdIFtzdGFydD0oMTAsMCldIFtlbmQ9KDU5MCwwKV19XSBbZGF0YT0iTTIwLjAwLDExMC4w
MCBMNjAwLjAwLDExMC4wMCBMNjAwLjAwLDE1MC4wMCBMMjAuMDAsMTUwLjAwIFoiXQorICAgICAg
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg0NiwxNDEpIHNpemUgNjczeDQ5IFtmaWxsPXtbdHlw
ZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iTXlHcmFkaWVudCJdfV0gW2RhdGE9Ik0yMC4wMCwxMTAu
MDAgTDYwMC4wMCwxMTAuMDAgTDYwMC4wMCwxNTAuMDAgTDIwLjAwLDE1MC4wMCBaIl0KICAgICAg
ICAgICAgIFtmaWx0ZXI9IkRpc2NyZXRlQmxhbmsiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7
ZmlsdGVyfSBhdCAoMjAsMTEwKSBzaXplIDU4MHg0MAogICAgICAgICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgyMCwxNzApIHNpemUgNDUyeDE4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTUpIHNpemUgNDUyeDE4
CiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjAuMDAsMTcwLjAwKSBzdGFy
dE9mZnNldCAwIGVuZE9mZnNldCA2MSB3aWR0aCA0NTIuMDA6ICJ0eXBlOiBsaW5lYXIgc2xvcGU9
MSBpbnRlcmNlcHQ9MCAtLSBSZXN1bHQgc2hvdWxkIGJlIGlkZW50aXR5IgotICAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICg0NiwyNTgpIHNpemUgNjczeDQ3IFtmaWxsPXtbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwRkYwMCksICgxLjAwLCMwMDAwMDApXV0gW2Jv
dW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMTAsMCldIFtlbmQ9KDU5MCwwKV19XSBbZGF0YT0i
TTIwLjAwLDIxMC4wMCBMNjAwLjAwLDIxMC4wMCBMNjAwLjAwLDI1MC4wMCBMMjAuMDAsMjUwLjAw
IFoiXQorICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg0NiwyNTgpIHNpemUgNjczeDQ3
IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iTXlHcmFkaWVudCJdfV0gW2RhdGE9
Ik0yMC4wMCwyMTAuMDAgTDYwMC4wMCwyMTAuMDAgTDYwMC4wMCwyNTAuMDAgTDIwLjAwLDI1MC4w
MCBaIl0KICAgICAgICAgICAgIFtmaWx0ZXI9IkRpc2NyZXRlRnVsbCJdIFJlbmRlclNWR1Jlc291
cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgyMCwyMTApIHNpemUgNTgweDQwCiAgICAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDI3MCkgc2l6ZSA0Njl4MTggY29udGFpbnMgMSBjaHVu
ayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNSkg
c2l6ZSA0Njl4MTgKICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCwy
NzAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDYzIHdpZHRoIDQ2OS4wMDogInR5cGU6IGxp
bmVhciBzbG9wZT0tMSBpbnRlcmNlcHQ9MCAtLSBTaG91bGQgaW52ZXJ0IHRoZSBncmFkaWVudCIK
LSAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYsMzczKSBzaXplIDY3M3g0NyBbZmls
bD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMEZGMDApLCAoMS4wMCwj
MDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDApXSBbZW5kPSg1OTAs
MCldfV0gW2RhdGE9Ik0yMC4wMCwzMTAuMDAgTDYwMC4wMCwzMTAuMDAgTDYwMC4wMCwzNTAuMDAg
TDIwLjAwLDM1MC4wMCBaIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYsMzcz
KSBzaXplIDY3M3g0NyBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Ik15R3JhZGll
bnQiXX1dIFtkYXRhPSJNMjAuMDAsMzEwLjAwIEw2MDAuMDAsMzEwLjAwIEw2MDAuMDAsMzUwLjAw
IEwyMC4wMCwzNTAuMDAgWiJdCiAgICAgICAgICAgICBbZmlsdGVyPSJEaXNjcmV0ZU9yZCJdIFJl
bmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgyMCwzMTApIHNpemUgNTgweDQwCiAg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDM3MCkgc2l6ZSA1OTl4MTggY29u
dGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xNSkgc2l6ZSA1OTl4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItVGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJh
bnNmZXItVGFibGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2ZlQ29tcG9uZW50VHJhbnNmZXItVGFibGUtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAotS1JlbmRlcmluZ1BhaW50U2Vy
dmVyIHtpZD0iTXlHcmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAw
LCMwMEZGMDApLCAoMS4wMCwjMDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9
KDEwLDApXSBbZW5kPSg1OTAsMCldfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKQEAgLTYsOSArNSw5IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDI1LDE1KSBzaXplIDc1MHg0ODcKICAgICAgIFJlbmRlclNW
R1ZpZXdwb3J0Q29udGFpbmVyIHtzdmd9IGF0ICgyNSwxNSkgc2l6ZSA3NTB4NDg3CiAgICAgICAg
IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQg
e2xpbmVhckdyYWRpZW50fSBbaWQ9Ik15R3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz11c2VyU3Bh
Y2VPblVzZV0gW3N0YXJ0PSgxMCwwKV0gW2VuZD0oNTkwLDApXQorICAgICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDBGRjAwXQorICAg
ICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xv
cj0jMDAwMDAwXQogICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtp
ZD0iSWRlbnRpdHkiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVV
bml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgICAgIFtsYXN0IHByaW1pdGl2ZSBdCiAgICAg
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJUYWJsZUJsYW5rIl0g
W2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNl
T25Vc2VdCkBAIC0yMCwyMiArMTksMjIgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
ICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNSwxNSkgc2l6ZSA3NTB4NDg3IFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbZGF0YT0iTTEuMDAsMS4wMCBMNjQ5LjAw
LDEuMDAgTDY0OS4wMCw0MTkuMDAgTDEuMDAsNDE5LjAwIFoiXQogICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgyNSwxNSkgc2l6ZSA3NTB4NDg3CiAgICAgICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDI1LDE1KSBzaXplIDc1MHg0ODcgW3N0cm9rZT17W3R5cGU9U09MSURdIFtj
b2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMS4wMCwxLjAwIEw2NDkuMDAsMS4wMCBMNjQ5LjAwLDQx
OS4wMCBMMS4wMCw0MTkuMDAgWiJdCi0gICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDQ2
LDI2KSBzaXplIDY3M3g0OSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9Wygw
LjAwLCMwMEZGMDApLCAoMS4wMCwjMDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3Rh
cnQ9KDEwLDApXSBbZW5kPSg1OTAsMCldfV0gW2RhdGE9Ik0yMC4wMCwxMC4wMCBMNjAwLjAwLDEw
LjAwIEw2MDAuMDAsNTAuMDAgTDIwLjAwLDUwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICg0NiwyNikgc2l6ZSA2NzN4NDkgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVO
VF0gW2lkPSJNeUdyYWRpZW50Il19XSBbZGF0YT0iTTIwLjAwLDEwLjAwIEw2MDAuMDAsMTAuMDAg
TDYwMC4wMCw1MC4wMCBMMjAuMDAsNTAuMDAgWiJdCiAgICAgICAgICAgICBbZmlsdGVyPSJJZGVu
dGl0eSJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgyMCwxMCkgc2l6ZSA1
ODB4NDAKICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsNzApIHNpemUgMTAx
eDE4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwtMTUpIHNpemUgMTAxeDE4CiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMjAuMDAsNzAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDE0IHdpZHRo
IDEwMS4wMDogInR5cGU6IGlkZW50aXR5IgotICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICg0NiwxNDEpIHNpemUgNjczeDQ5IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9w
cz1bKDAuMDAsIzAwRkYwMCksICgxLjAwLCMwMDAwMDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBd
IFtzdGFydD0oMTAsMCldIFtlbmQ9KDU5MCwwKV19XSBbZGF0YT0iTTIwLjAwLDExMC4wMCBMNjAw
LjAwLDExMC4wMCBMNjAwLjAwLDE1MC4wMCBMMjAuMDAsMTUwLjAwIFoiXQorICAgICAgICAgIFJl
bmRlclBhdGgge3JlY3R9IGF0ICg0NiwxNDEpIHNpemUgNjczeDQ5IFtmaWxsPXtbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtpZD0iTXlHcmFkaWVudCJdfV0gW2RhdGE9Ik0yMC4wMCwxMTAuMDAgTDYw
MC4wMCwxMTAuMDAgTDYwMC4wMCwxNTAuMDAgTDIwLjAwLDE1MC4wMCBaIl0KICAgICAgICAgICAg
IFtmaWx0ZXI9IlRhYmxlQmxhbmsiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBh
dCAoMjAsMTEwKSBzaXplIDU4MHg0MAogICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgyMCwxNzApIHNpemUgMzAxeDE4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTUpIHNpemUgMzAxeDE4CiAgICAgICAg
ICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjAuMDAsMTcwLjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCA0MSB3aWR0aCAzMDEuMDA6ICJ0eXBlOiB0YWJsZSBbMF0gLS0gUmVzdWx0IHNo
b3VsZCBiZSBibGFjayIKLSAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYsMjU4KSBz
aXplIDY3M3g0NyBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMw
MEZGMDApLCAoMS4wMCwjMDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEw
LDApXSBbZW5kPSg1OTAsMCldfV0gW2RhdGE9Ik0yMC4wMCwyMTAuMDAgTDYwMC4wMCwyMTAuMDAg
TDYwMC4wMCwyNTAuMDAgTDIwLjAwLDI1MC4wMCBaIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoNDYsMjU4KSBzaXplIDY3M3g0NyBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5U
XSBbaWQ9Ik15R3JhZGllbnQiXX1dIFtkYXRhPSJNMjAuMDAsMjEwLjAwIEw2MDAuMDAsMjEwLjAw
IEw2MDAuMDAsMjUwLjAwIEwyMC4wMCwyNTAuMDAgWiJdCiAgICAgICAgICAgICBbZmlsdGVyPSJU
YWJsZUZ1bGwiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMjAsMjEwKSBz
aXplIDU4MHg0MAogICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMCwyNzApIHNp
emUgMzA0eDE4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTUpIHNpemUgMzA0eDE4CiAgICAgICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMSBhdCAoMjAuMDAsMjcwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA0
MSB3aWR0aCAzMDQuMDA6ICJ0eXBlOiB0YWJsZSBbMV0gLS0gUmVzdWx0IHNob3VsZCBiZSBncmVl
biIKLSAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYsMzczKSBzaXplIDY3M3g0NyBb
ZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMEZGMDApLCAoMS4w
MCwjMDAwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDApXSBbZW5kPSg1
OTAsMCldfV0gW2RhdGE9Ik0yMC4wMCwzMTAuMDAgTDYwMC4wMCwzMTAuMDAgTDYwMC4wMCwzNTAu
MDAgTDIwLjAwLDM1MC4wMCBaIl0KKyAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoNDYs
MzczKSBzaXplIDY3M3g0NyBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9Ik15R3Jh
ZGllbnQiXX1dIFtkYXRhPSJNMjAuMDAsMzEwLjAwIEw2MDAuMDAsMzEwLjAwIEw2MDAuMDAsMzUw
LjAwIEwyMC4wMCwzNTAuMDAgWiJdCiAgICAgICAgICAgICBbZmlsdGVyPSJUYWJsZU9yZCJdIFJl
bmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgyMCwzMTApIHNpemUgNTgweDQwCiAg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIwLDM3MCkgc2l6ZSA0NjN4MTggY29u
dGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLC0xNSkgc2l6ZSA0NjN4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvY3VzdG9tL2ZpbGwtZmFsbGJhY2stZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2ZpbGwtZmFsbGJhY2stZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9t
L2ZpbGwtZmFsbGJhY2stZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICsxLDEx
IEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkIiBbdHlwZT1MSU5FQVItR1JBRElF
TlRdIFtzdG9wcz1bKDAuMDAsIzAwODAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfQog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3Zn
fSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBz
aXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0i
TTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCwxMDAuMDAgTDAuMDAsMTAwLjAwIFoiXQot
ICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE1MCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9
e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDA4MDAwKV1dIFtzdGFydD0o
MCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTE1MC4wMCwwLjAwIEwyNTAuMDAsMC4wMCBMMjUw
LjAwLDEwMC4wMCBMMTUwLjAwLDEwMC4wMCBaIl0KKyAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJncmFkIl0gW2dyYWRpZW50VW5pdHM9b2Jq
ZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwODAwMF0KKyAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTUwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbaWQ9ImdyYWQiXX1dIFtkYXRhPSJNMTUwLjAwLDAuMDAgTDI1MC4wMCww
LjAwIEwyNTAuMDAsMTAwLjAwIEwxNTAuMDAsMTAwLjAwIFoiXQogICAgIFJlbmRlclNWR1RleHQg
e3RleHR9IGF0ICgwLDE1MCkgc2l6ZSAzMTB4MTggY29udGFpbnMgMSBjaHVuayhzKQogICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xNCkgc2l6ZSAzMTB4MTgKICAgICAg
ICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgNDcgd2lkdGggMzEwLjAwOiAiQWJvdmUgdHdvIGdyZWVuIHJlY3RhbmdsZXMgc2hvdWxk
IGJlIGRpc3BsYXllZC4iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3Rv
bS9ncmFkaWVudC1hZGQtc3RvcHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRpZW50LWFkZC1zdG9wcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vZ3JhZGllbnQtYWRkLXN0b3BzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwx
MCArMSw5IEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJ0ZXN0IiBbdHlwZT1MSU5FQVIt
R1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgwLjAwLCMwMDgwMDApXV0gW3N0YXJ0
PSgwLDApXSBbZW5kPSgxLDApXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgwLjAwLCMwMDgwMDApXV0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgxLDApXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBM
MTAwLjAwLDEwMC4wMCBMMC4wMCwxMDAuMDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxp
bmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJ0ZXN0Il0gW2dyYWRpZW50VW5pdHM9
b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkYwMDAwXQor
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9y
PSMwMDgwMDBdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtm
aWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0idGVzdCJdfV0gW2RhdGE9Ik0wLjAwLDAu
MDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRpZW50LWF0dHItdXBkYXRlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1
c3RvbS9ncmFkaWVudC1hdHRyLXVwZGF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGllbnQtYXR0ci11cGRh
dGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICsxLDkgQEAKLUtSZW5kZXJp
bmdQYWludFNlcnZlciB7aWQ9ImdyYWRpZW50MSIgW3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3Rv
cHM9WygwLjAwLCMwMDgwMDApLCAoMS4wMCwjMDA4MDAwKV1dW21ldGhvZD1SRUZMRUNUXSBbYm91
bmRpbmcgYm94IG1vZGU9MF0gW2NlbnRlcj0oMzYwLDI4OCldIFtmb2NhbD0oNDAwLDMxMildIFty
YWRpdXM9MjAwLjAwXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyU1ZHSGlk
ZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlk
ZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JB
RElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwODAwMCksICgxLjAwLCMwMDgwMDApXV1bbWV0aG9kPVJF
RkxFQ1RdIFtib3VuZGluZyBib3ggbW9kZT0wXSBbY2VudGVyPSgzNjAsMjg4KV0gW2ZvY2FsPSg0
MDAsMzEyKV0gW3JhZGl1cz0yMDAuMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAw
IEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNl
UmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9ImdyYWRpZW50MSJdIFtncmFkaWVu
dFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbc3ByZWFkTWV0aG9kPVJFRkxFQ1RdIFtjZW50ZXI9KDM2
MCwyODgpXSBbZm9jYWw9KDQwMCwzMTIpXSBbcmFkaXVzPTIwMC4wMF0KKyAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDA4MDAwXQorICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMw
MDgwMDBdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxs
PXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0iZ3JhZGllbnQxIl19XSBbZGF0YT0iTTAuMDAs
MC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCwxMDAuMDAgTDAuMDAsMTAwLjAwIFoiXQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGllbnQtY3ljbGUtZGV0ZWN0
aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2N1c3RvbS9ncmFkaWVudC1jeWNsZS1kZXRlY3Rpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRpZW50
LWN5Y2xlLWRldGVjdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzEs
MTMgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImN5Y2xlMiIgW3R5cGU9TElORUFSLUdS
QURJRU5UXSBbc3RvcHM9W11dIFtzdGFydD0oMCwwKV0gW2VuZD0oMCwwKV19Ci1LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXIge2lkPSJjeWNsZTEiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVtd
XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDAsMCldfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
ICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAw
IFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bXV0gW3N0YXJ0PSgwLDApXSBb
ZW5kPSgwLDApXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4w
MCBMMC4wMCwxMDAuMDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50
IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJjeWNsZTIiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3Vu
ZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGQTUwMF0K
KyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBb
aWQ9ImN5Y2xlMSJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAs
MCldIFtlbmQ9KDEsMCldCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4
MTAwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iY3ljbGUxIl19XSBbZGF0YT0i
TTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCwxMDAuMDAgTDAuMDAsMTAwLjAwIFoiXQog
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwxNTApIHNpemUgNTQ1eDE4IGNvbnRhaW5z
IDEgY2h1bmsocykKICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQp
IHNpemUgNTQ1eDE4CiAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsMTUwLjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA4NSB3aWR0aCA1NDUuMDA6ICJUaGUgc3F1YXJlIGFi
b3ZlIHNob3VsZCBzaG93IGEgZ3JhZGllbnQgbm93IHRoYXQgd2Via2l0IHN1cHBvcnRzIHByb3Bl
ciBmaWxsIGZhbGxiYWNrIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vZ3JhZGllbnQtZGVlcC1yZWZlcmVuY2luZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGllbnQtZGVlcC1yZWZlcmVu
Y2luZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGllbnQtZGVlcC1yZWZlcmVuY2luZy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMzAgKzEsMjIgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7
aWQ9ImdyYWRpZW50MWYiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYw
MDAwKSwgKDEuMDAsIzAwMDBGRildXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgwLDEw
MCldIFtlbmQ9KDEwMCwxMDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImdyYWRpZW50
MWUiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAs
IzAwMDBGRildXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgwLDEwMCldIFtlbmQ9KDEw
MCwwKV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkaWVudDFkIiBbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCMwMDAwRkYpXV0gW2Jv
dW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMCwxMDApXSBbZW5kPSgxMDAsMCldfQotS1JlbmRl
cmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZGllbnQxYyIgW3R5cGU9UkFESUFMLUdSQURJRU5UXSBb
c3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDAwMEZGKV1dIFtib3VuZGluZyBib3ggbW9k
ZT0wXSBbY2VudGVyPSg0MDAsNDAwKV0gW2ZvY2FsPSg0MDAsNDAwKV0gW3JhZGl1cz00MDAuMDBd
fQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZGllbnQxYiIgW3R5cGU9TElORUFSLUdS
QURJRU5UXSBbc3RvcHM9W11dIFtzdGFydD0oMCwwKV0gW2VuZD0oMCwwKV19Ci1LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXIge2lkPSJncmFkaWVudDFhIiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9w
cz1bXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgwLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7
aWQ9ImdyYWRpZW50MSIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAw
MDApLCAoMS4wMCwjMDAwMEZGKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDAsMTAw
KV0gW2VuZD0oMTAwLDEwMCldfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZGllbnQy
IiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCMw
MDAwRkYpXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMCwxMDApXSBbZW5kPSgxMDAs
MTAwKV19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJTVkdS
b290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRh
aW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRh
aW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdI
aWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVu
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGlu
ZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDUwLDEwKSBzaXplIDEwMHgxMDAgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNTAuMDAsMTAuMDApfV0gW2ZpbGw9e1t0eXBlPUxJTkVB
Ui1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsIzAwMDBGRildXSBbYm91
bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgwLDEwMCldIFtlbmQ9KDEwMCwxMDApXX1dIFtkYXRh
PSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBMMC4wMCwxMDAuMDAgWiJd
Ci0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwMCwxMCkgc2l6ZSAxMDB4MTAwIFt0cmFuc2Zv
cm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDIwMC4wMCwxMC4wMCl9XSBbZmlsbD17
W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDAw
MEZGKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDAsMTAwKV0gW2VuZD0oMTAwLDEw
MCldfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAw
LDEwMC4wMCBaIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVh
ckdyYWRpZW50fSBbaWQ9ImdyYWRpZW50MWYiXSBbZ3JhZGllbnRVbml0cz11c2VyU3BhY2VPblVz
ZV0gW3N0YXJ0PSgwLDEwMCldIFtlbmQ9KDEwMCwxMDApXQorICAgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZ3JhZGllbnQxZSJdIFtncmFk
aWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbc3RhcnQ9KDAsMTAwKV0gW2VuZD0oMTAwLDApXQor
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtp
ZD0iZ3JhZGllbnQxZCJdIFtncmFkaWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbc3RhcnQ9KDAs
MTAwKV0gW2VuZD0oMTAwLDApXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVu
dCB7cmFkaWFsR3JhZGllbnR9IFtpZD0iZ3JhZGllbnQxYyJdIFtncmFkaWVudFVuaXRzPXVzZXJT
cGFjZU9uVXNlXSBbY2VudGVyPSg0MDAsNDAwKV0gW2ZvY2FsPSg0MDAsNDAwKV0gW3JhZGl1cz00
MDAuMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAw
XSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBb
b2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDAwMEZGXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5l
YXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZ3JhZGllbnQxYiJdIFtncmFkaWVudFVu
aXRzPXVzZXJTcGFjZU9uVXNlXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEwMCwwKV0KKyAgICAgIFJl
bmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImdyYWRp
ZW50MWEiXSBbZ3JhZGllbnRVbml0cz11c2VyU3BhY2VPblVzZV0gW3N0YXJ0PSgwLDApXSBbZW5k
PSg4MDAsMCldCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJH
cmFkaWVudH0gW2lkPSJncmFkaWVudDEiXSBbZ3JhZGllbnRVbml0cz11c2VyU3BhY2VPblVzZV0g
W3N0YXJ0PSgwLDEwMCldIFtlbmQ9KDEwMCwxMDApXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZ3JhZGllbnQyIl0gW2dyYWRpZW50
VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtzdGFydD0oMCwxMDApXSBbZW5kPSgxMDAsMTAwKV0KKyAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0j
RkYwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4w
MF0gW2NvbG9yPSMwMDAwRkZdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDUwLDEwKSBzaXpl
IDEwMHgxMDAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNTAuMDAs
MTAuMDApfV0gW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkaWVudDEiXX1d
IFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBMMC4wMCwxMDAu
MDAgWiJdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIwMCwxMCkgc2l6ZSAxMDB4MTAwIFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDIwMC4wMCwxMC4wMCl9XSBb
ZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImdyYWRpZW50MiJdfV0gW2RhdGE9Ik0w
LjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMTUwKSBzaXplIDQ0NHgxOCBjb250YWlucyAx
IGNodW5rKHMpCiAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBz
aXplIDQ0NHgxOAogICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDE1MC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNjkgd2lkdGggNDQ0LjAwOiAiVGhlIGFib3ZlIHR3byBz
cXVhcmVzIHNob3VsZCBiZSBibHVlLXJlZCBncmFkaWVudHMgYW5kIGxvb2sgaWRlbnRpY2FsIgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGllbnQtcm90YXRl
ZC1iYm94LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2N1c3RvbS9ncmFkaWVudC1yb3RhdGVkLWJib3gtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRpZW50
LXJvdGF0ZWQtYmJveC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTYgKzEsMTQg
QEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9Im15X2dyYWRpZW50IiBbdHlwZT1MSU5FQVIt
R1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgwLjUwLCMwMDgwMDApLCAoMS4wMCwj
MDAwMEZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMCwxKV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2
ZXIge2lkPSJteV9ncmFkaWVudDIiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4w
MCwjRkYwMDAwKSwgKDAuNTAsIzAwODAwMCksICgxLjAwLCMwMDAwRkYpXV0gW2NlbnRlcj0oMC41
MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTEuMDBdfQogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLSAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyNTAsMTUwKSBzaXplIDMwMHgz
MDAgW3RyYW5zZm9ybT17bT0oKDAuMjEsMC4yMSkoLTAuMjEsMC4yMSkpIHQ9KDE4OS4zOSw3NS43
NSl9XSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDAp
LCAoMC41MCwjMDA4MDAwKSwgKDEuMDAsIzAwMDBGRildXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDAs
MSldfV0gW2RhdGE9Ik0yMC4wMCwwLjAwIEwzODAuMDAsMC4wMCBDMzkxLjA0LDAuMDAsNDAwLjAw
LDguOTYsNDAwLjAwLDIwLjAwIEw0MDAuMDAsMjgwLjAwIEM0MDAuMDAsMjkxLjA0LDM5MS4wNCwz
MDAuMDAsMzgwLjAwLDMwMC4wMCBMMjAuMDAsMzAwLjAwIEM4Ljk2LDMwMC4wMCwwLjAwLDI5MS4w
NCwwLjAwLDI4MC4wMCBMMC4wMCwyMC4wMCBDMC4wMCw4Ljk2LDguOTYsMC4wMCwyMC4wMCwwLjAw
IFoiXQotICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIsMjEwKSBzaXplIDI5MngxODAgW3RyYW5z
Zm9ybT17bT0oKDAuMzAsMC4wMCkoMC4wOCwwLjMwKSkgdD0oMS45NCwxMDUuMDApfV0gW2ZpbGw9
e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDAuNTAsIzAw
ODAwMCksICgxLjAwLCMwMDAwRkYpXV0gW2NlbnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUw
LDAuNTApXSBbcmFkaXVzPTEuMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDQwMC4wMCwwLjAwIEw0
MDAuMDAsMzAwLjAwIEwwLjAwLDMwMC4wMCBaIl0KKyAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJteV9ncmFkaWVudCJdIFtncmFkaWVudFVu
aXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDAsMSldCisgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRjAwMDBd
CisgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9y
PSMwMDgwMDBdCisgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4w
MF0gW2NvbG9yPSMwMDAwRkZdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI1MCwxNTApIHNp
emUgMzAweDMwMCBbdHJhbnNmb3JtPXttPSgoMC4yMSwwLjIxKSgtMC4yMSwwLjIxKSkgdD0oMTg5
LjM5LDc1Ljc1KX1dIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0ibXlfZ3JhZGll
bnQiXX1dIFtkYXRhPSJNMjAuMDAsMC4wMCBMMzgwLjAwLDAuMDAgQzM5MS4wNCwwLjAwLDQwMC4w
MCw4Ljk2LDQwMC4wMCwyMC4wMCBMNDAwLjAwLDI4MC4wMCBDNDAwLjAwLDI5MS4wNCwzOTEuMDQs
MzAwLjAwLDM4MC4wMCwzMDAuMDAgTDIwLjAwLDMwMC4wMCBDOC45NiwzMDAuMDAsMC4wMCwyOTEu
MDQsMC4wMCwyODAuMDAgTDAuMDAsMjAuMDAgQzAuMDAsOC45Niw4Ljk2LDAuMDAsMjAuMDAsMC4w
MCBaIl0KKyAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFkaWVu
dH0gW2lkPSJteV9ncmFkaWVudDIiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0g
W2NlbnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTEuMDBdCisg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNG
RjAwMDBdCisgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0g
W2NvbG9yPSMwMDgwMDBdCisgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZz
ZXQ9MS4wMF0gW2NvbG9yPSMwMDAwRkZdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIsMjEw
KSBzaXplIDI5MngxODAgW3RyYW5zZm9ybT17bT0oKDAuMzAsMC4wMCkoMC4wOCwwLjMwKSkgdD0o
MS45NCwxMDUuMDApfV0gW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJteV9ncmFk
aWVudDIiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw0MDAuMDAsMC4wMCBMNDAwLjAwLDMwMC4wMCBM
MC4wMCwzMDAuMDAgWiJdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3Rv
bS9ncmFkaWVudC1zdG9wLWNvcm5lci1jYXNlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGllbnQtc3RvcC1jb3JuZXIt
Y2FzZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvY3VzdG9tL2dyYWRpZW50LXN0b3AtY29ybmVyLWNhc2VzLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSwzOCArMSwzMiBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVy
IHtpZD0iZGVmczEiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVtdXSBbc3RhcnQ9KDAs
MCldIFtlbmQ9KDAsMCldfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZGVmczIiIFt0eXBl
PUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMS4wMCwjMDAwMDAwKV1dIFtzdGFydD0oMCwwKV0g
W2VuZD0oMSwwKV19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJkZWZzMyIgW3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRkZGMDApLCAoMC4yNSwjRkYwMDAwKSwgKDAu
NTAsIzAwODAwMCksICgwLjEwLCMwMDAwRkYpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0K
LUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImRlZnM0IiBbdHlwZT1MSU5FQVItR1JBRElFTlRd
IFtzdG9wcz1bKC0xMC4wMCwjMDA4MDAwKSwgKDEuMDAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCld
IFtlbmQ9KDEsMCldfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZGVmczUiIFt0eXBlPUxJ
TkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEwLjAwLCMwMDgwMDApXV0g
W3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImRl
ZnM2IiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDBGRiksICgwLjUw
LCMwMDgwMDApLCAoMC41MCwjRkYwMDAwKSwgKDAuNTAsIzAwODAwMCksICgxLjAwLCMwMDAwRkYp
XV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzEsMTUpIHNpemUgNzM4eDQ2OQotICAgICAg
UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGll
bnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFy
R3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVy
IHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5D
b250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5k
ZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgzMSwxNSkgc2l6ZSA3Mzh4NTQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bXV0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgwLDApXX1dIFtkYXRhPSJNMjAuMDAsMTAuMDAgTDQ2MC4wMCwxMC4w
MCBMNDYwLjAwLDQwLjAwIEwyMC4wMCw0MC4wMCBaIl0KLSAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgzMywxMDApIHNpemUgNzM0eDUwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtz
dG9wcz1bKDEuMDAsIzAwMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfV0gW2RhdGE9
Ik0yMC4wMCw2MC4wMCBMNDYwLjAwLDYwLjAwIEw0NjAuMDAsOTAuMDAgTDIwLjAwLDkwLjAwIFoi
XQotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMzLDE4Mykgc2l6ZSA3MzR4NTEgW2ZpbGw9
e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZGRjAwKSwgKDAuMjUsI0ZG
MDAwMCksICgwLjUwLCMwMDgwMDApLCAoMC4xMCwjMDAwMEZGKV1dIFtzdGFydD0oMCwwKV0gW2Vu
ZD0oMSwwKV19XSBbZGF0YT0iTTIwLjAwLDExMC4wMCBMNDYwLjAwLDExMC4wMCBMNDYwLjAwLDE0
MC4wMCBMMjAuMDAsMTQwLjAwIFoiXQotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMxLDI2
NSkgc2l6ZSA3Mzh4NTQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtm
aWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKC0xMC4wMCwjMDA4MDAwKSwgKDEu
MDAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfV0gW2RhdGE9Ik0yMC4wMCwx
NjAuMDAgTDQ2MC4wMCwxNjAuMDAgTDQ2MC4wMCwxOTAuMDAgTDIwLjAwLDE5MC4wMCBaIl0KLSAg
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzMSwzNDgpIHNpemUgNzM4eDU0IFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5U
XSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMTAuMDAsIzAwODAwMCldXSBbc3RhcnQ9KDAsMCld
IFtlbmQ9KDEsMCldfV0gW2RhdGE9Ik0yMC4wMCwyMTAuMDAgTDQ2MC4wMCwyMTAuMDAgTDQ2MC4w
MCwyNDAuMDAgTDIwLjAwLDI0MC4wMCBaIl0KLSAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgz
Myw0MzMpIHNpemUgNzM0eDUxIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1b
KDAuMDAsIzAwMDBGRiksICgwLjUwLCMwMDgwMDApLCAoMC41MCwjRkYwMDAwKSwgKDAuNTAsIzAw
ODAwMCksICgxLjAwLCMwMDAwRkYpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX1dIFtkYXRh
PSJNMjAuMDAsMjYwLjAwIEw0NjAuMDAsMjYwLjAwIEw0NjAuMDAsMjkwLjAwIEwyMC4wMCwyOTAu
MDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFk
aWVudH0gW2lkPSJkZWZzMSJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3Rh
cnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRp
ZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJkZWZzMiJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJv
dW5kaW5nQm94XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9IzAwMDAwMF0KKyAgICAgIFJl
bmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImRlZnMz
Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0o
MSwwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBd
IFtjb2xvcj0jRkZGRjAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtv
ZmZzZXQ9MC4yNV0gW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gW29mZnNldD0wLjUwXSBbY29sb3I9IzAwODAwMF0KKyAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMTBdIFtjb2xvcj0jMDAwMEZGXQorICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZGVm
czQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5k
PSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9LTEw
LjAwXSBbY29sb3I9IzAwODAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZGVmczUiXSBbZ3JhZGllbnRVbml0
cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRjAwMDBd
CisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xMC4wMF0gW2Nv
bG9yPSMwMDgwMDBdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5l
YXJHcmFkaWVudH0gW2lkPSJkZWZzNiJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94
XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuNTBdIFtjb2xvcj0jMDA4MDAwXQorICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC41MF0gW2NvbG9yPSNGRjAw
MDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjUwXSBb
Y29sb3I9IzAwODAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zm
c2V0PTEuMDBdIFtjb2xvcj0jMDAwMEZGXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMx
LDE1KSBzaXplIDczOHg1NCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0g
W2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJkZWZzMSJdfV0gW2RhdGE9Ik0yMC4w
MCwxMC4wMCBMNDYwLjAwLDEwLjAwIEw0NjAuMDAsNDAuMDAgTDIwLjAwLDQwLjAwIFoiXQorICAg
ICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMzLDEwMCkgc2l6ZSA3MzR4NTAgW2ZpbGw9e1t0eXBl
PUxJTkVBUi1HUkFESUVOVF0gW2lkPSJkZWZzMiJdfV0gW2RhdGE9Ik0yMC4wMCw2MC4wMCBMNDYw
LjAwLDYwLjAwIEw0NjAuMDAsOTAuMDAgTDIwLjAwLDkwLjAwIFoiXQorICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDMzLDE4Mykgc2l6ZSA3MzR4NTEgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFE
SUVOVF0gW2lkPSJkZWZzMyJdfV0gW2RhdGE9Ik0yMC4wMCwxMTAuMDAgTDQ2MC4wMCwxMTAuMDAg
TDQ2MC4wMCwxNDAuMDAgTDIwLjAwLDE0MC4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgzMSwyNjUpIHNpemUgNzM4eDU0IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
ODAwMF19XSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImRlZnM0Il19XSBbZGF0
YT0iTTIwLjAwLDE2MC4wMCBMNDYwLjAwLDE2MC4wMCBMNDYwLjAwLDE5MC4wMCBMMjAuMDAsMTkw
LjAwIFoiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMxLDM0OCkgc2l6ZSA3Mzh4NTQg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtmaWxsPXtbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtpZD0iZGVmczUiXX1dIFtkYXRhPSJNMjAuMDAsMjEwLjAwIEw0NjAuMDAs
MjEwLjAwIEw0NjAuMDAsMjQwLjAwIEwyMC4wMCwyNDAuMDAgWiJdCisgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMzMsNDMzKSBzaXplIDczNHg1MSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJ
RU5UXSBbaWQ9ImRlZnM2Il19XSBbZGF0YT0iTTIwLjAwLDI2MC4wMCBMNDYwLjAwLDI2MC4wMCBM
NDYwLjAwLDI5MC4wMCBMMjAuMDAsMjkwLjAwIFoiXQogICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgwLDApIHNpemUgODAweDYwMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
fV0gW2RhdGE9Ik0xLjAwLDEuMDAgTDQ3OS4wMCwxLjAwIEw0NzkuMDAsMzU5LjAwIEwxLjAwLDM1
OS4wMCBaIl0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRp
ZW50LXN0b3Atc3R5bGUtY2hhbmdlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9ncmFkaWVudC1zdG9wLXN0eWxlLWNoYW5nZS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9jdXN0b20vZ3JhZGllbnQtc3RvcC1zdHlsZS1jaGFuZ2UtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDkgKzEsOCBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0idGVz
dCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDgwMDApXV0gW3N0YXJ0
PSgwLDApXSBbZW5kPSgxLDApXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDgwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5k
PSgxLDApXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBM
MC4wMCwxMDAuMDAgWiJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHts
aW5lYXJHcmFkaWVudH0gW2lkPSJ0ZXN0Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdC
b3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDA4MDAwXQorICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5U
XSBbaWQ9InRlc3QiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEw
MC4wMCBMMC4wMCwxMDAuMDAgWiJdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS9ncmFkaWVudC1zdHJva2Utd2lkdGgtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGllbnQtc3Ryb2tl
LXdpZHRoLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRpZW50LXN0cm9rZS13aWR0aC1leHBlY3RlZC5j
aGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotYzc0YzQyZjdhMGQ5MGVhNzQzYmY0
YWNmNmNlMzg0ZTcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkYzljMTM1N2YxYmJhOTBj
NDRhZWU5ZWE3NDM1ZTc3NwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRpZW50LXN0cm9rZS13aWR0aC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vZ3JhZGllbnQtc3Ryb2tlLXdpZHRoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9ncmFkaWVudC1zdHJva2Utd2lk
dGgtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE5ICsxLDE1IEBACi1LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXIge2lkPSJibGFjazJ3aGl0ZSIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBb
c3RvcHM9WygwLjAwLCMwMDAwMDApLCAoMS4wMCwjMDAwMDAwNEMpXV0gW3N0YXJ0PSgwLDApXSBb
ZW5kPSgxLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InJlZC1ncmFkIiBbdHlwZT1M
SU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0Q3NDMzQyksICgxLjAwLCNCRDFGMTg0NCld
XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0i
cmVkLXJhZGlhbC1ncmFkIiBbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0Q3
NDMzQyksICgxLjAwLCNCRDFGMTg0NCldXSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAu
NTAsMC41MCldIFtyYWRpdXM9MC41MF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJib3Jk
ZXItZ3JhZCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDApLCAo
MS4wMCwjMDAwMDAwNEMpXV0gW3N0YXJ0PSgwLjA1LDAuOTUpXSBbZW5kPSgwLjk1LDAuMDUpXX0K
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDB4NTAwCiAgIFJlbmRlclNWR1Jvb3Qge3N2
Z30gYXQgKDAsMCkgc2l6ZSAyMDB4NTAwCiAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtk
ZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHts
aW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hp
ZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBS
ZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4
MAotICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDQ0LDQ0KSBzaXplIDExMngxMTIgW3N0cm9r
ZT17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDApLCAoMS4wMCwj
MDAwMDAwNEMpXV0gW3N0YXJ0PSgwLjA1LDAuOTUpXSBbZW5kPSgwLjk1LDAuMDUpXSBbc3Ryb2tl
IHdpZHRoPTEwLjAwXX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAu
MDAsI0Q3NDMzQyksICgxLjAwLCNCRDFGMTg0NCldXSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9j
YWw9KDAuNTAsMC41MCldIFtyYWRpdXM9MC41MF19XSBbZGF0YT0iTTE1MC4wMCwxMDAuMDAgTDE0
OS45MCwxMDMuMTQgTDE0OS42MSwxMDYuMjcgTDE0OS4xMSwxMDkuMzcgTDE0OC40MywxMTIuNDMg
TDE0Ny41NSwxMTUuNDUgTDE0Ni40OSwxMTguNDEgTDE0NS4yNCwxMjEuMjkgTDE0My44MiwxMjQu
MDkgTDE0Mi4yMiwxMjYuNzkgTDE0MC40NSwxMjkuMzkgTDEzOC41MywxMzEuODcgTDEzNi40NSwx
MzQuMjMgTDEzNC4yMywxMzYuNDUgTDEzMS44NywxMzguNTMgTDEyOS4zOSwxNDAuNDUgTDEyNi43
OSwxNDIuMjIgTDEyNC4wOSwxNDMuODIgTDEyMS4yOSwxNDUuMjQgTDExOC40MSwxNDYuNDkgTDEx
NS40NSwxNDcuNTUgTDExMi40MywxNDguNDMgTDEwOS4zNywxNDkuMTEgTDEwNi4yNywxNDkuNjEg
TDEwMy4xNCwxNDkuOTAgTDEwMC4wMCwxNTAuMDAgTDk2Ljg2LDE0OS45MCBMOTMuNzMsMTQ5LjYx
IEw5MC42MywxNDkuMTEgTDg3LjU3LDE0OC40MyBMODQuNTUsMTQ3LjU1IEw4MS41OSwxNDYuNDkg
TDc4LjcxLDE0NS4yNCBMNzUuOTEsMTQzLjgyIEw3My4yMSwxNDIuMjIgTDcwLjYxLDE0MC40NSBM
NjguMTMsMTM4LjUzIEw2NS43NywxMzYuNDUgTDYzLjU1LDEzNC4yMyBMNjEuNDcsMTMxLjg3IEw1
OS41NSwxMjkuMzkgTDU3Ljc4LDEyNi43OSBMNTYuMTgsMTI0LjA5IEw1NC43NiwxMjEuMjkgTDUz
LjUxLDExOC40MSBMNTIuNDUsMTE1LjQ1IEw1MS41NywxMTIuNDMgTDUwLjg5LDEwOS4zNyBMNTAu
MzksMTA2LjI3IEw1MC4xMCwxMDMuMTQgTDUwLjAwLDEwMC4wMCBMNTAuMTAsOTYuODYgTDUwLjM5
LDkzLjczIEw1MC44OSw5MC42MyBMNTEuNTcsODcuNTcgTDUyLjQ1LDg0LjU1IEw1My41MSw4MS41
OSBMNTQuNzYsNzguNzEgTDU2LjE4LDc1LjkxIEw1Ny43OCw3My4yMSBMNTkuNTUsNzAuNjEgTDYx
LjQ3LDY4LjEzIEw2My41NSw2NS43NyBMNjUuNzcsNjMuNTUgTDY4LjEzLDYxLjQ3IEw3MC42MSw1
OS41NSBMNzMuMjEsNTcuNzggTDc1LjkxLDU2LjE4IEw3OC43MSw1NC43NiBMODEuNTksNTMuNTEg
TDg0LjU1LDUyLjQ1IEw4Ny41Nyw1MS41NyBMOTAuNjMsNTAuODkgTDkzLjczLDUwLjM5IEw5Ni44
Niw1MC4xMCBMMTAwLjAwLDUwLjAwIEwxMDMuMTQsNTAuMTAgTDEwNi4yNyw1MC4zOSBMMTA5LjM3
LDUwLjg5IEwxMTIuNDMsNTEuNTcgTDExNS40NSw1Mi40NSBMMTE4LjQxLDUzLjUxIEwxMjEuMjks
NTQuNzYgTDEyNC4wOSw1Ni4xOCBMMTI2Ljc5LDU3Ljc4IEwxMjkuMzksNTkuNTUgTDEzMS44Nyw2
MS40NyBMMTM0LjIzLDYzLjU1IEwxMzYuNDUsNjUuNzcgTDEzOC41Myw2OC4xMyBMMTQwLjQ1LDcw
LjYxIEwxNDIuMjIsNzMuMjEgTDE0My44Miw3NS45MSBMMTQ1LjI0LDc4LjcxIEwxNDYuNDksODEu
NTkgTDE0Ny41NSw4NC41NSBMMTQ4LjQzLDg3LjU3IEwxNDkuMTEsOTAuNjMgTDE0OS42MSw5My43
MyBMMTQ5LjkwLDk2Ljg2IFoiXQotICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDMxLDMxKSBz
aXplIDMyeDMyIFtzdHJva2U9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwj
MDAwMDAwKSwgKDEuMDAsIzAwMDAwMDRDKV1dIFtzdGFydD0oMC4wNSwwLjk1KV0gW2VuZD0oMC45
NSwwLjA1KV0gW3N0cm9rZSB3aWR0aD0xMC4wMF19XSBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJ
RU5UXSBbc3RvcHM9WygwLjAwLCNENzQzM0MpLCAoMS4wMCwjQkQxRjE4NDQpXV0gW2NlbnRlcj0o
MC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdfV0gW2RhdGE9Ik01
Ny4wMCw0Ny4wMCBMNTYuOTgsNDcuNjMgTDU2LjkyLDQ4LjI1IEw1Ni44Miw0OC44NyBMNTYuNjks
NDkuNDkgTDU2LjUxLDUwLjA5IEw1Ni4zMCw1MC42OCBMNTYuMDUsNTEuMjYgTDU1Ljc2LDUxLjgy
IEw1NS40NCw1Mi4zNiBMNTUuMDksNTIuODggTDU0LjcxLDUzLjM3IEw1NC4yOSw1My44NSBMNTMu
ODUsNTQuMjkgTDUzLjM3LDU0LjcxIEw1Mi44OCw1NS4wOSBMNTIuMzYsNTUuNDQgTDUxLjgyLDU1
Ljc2IEw1MS4yNiw1Ni4wNSBMNTAuNjgsNTYuMzAgTDUwLjA5LDU2LjUxIEw0OS40OSw1Ni42OSBM
NDguODcsNTYuODIgTDQ4LjI1LDU2LjkyIEw0Ny42Myw1Ni45OCBMNDcuMDAsNTcuMDAgTDQ2LjM3
LDU2Ljk4IEw0NS43NSw1Ni45MiBMNDUuMTMsNTYuODIgTDQ0LjUxLDU2LjY5IEw0My45MSw1Ni41
MSBMNDMuMzIsNTYuMzAgTDQyLjc0LDU2LjA1IEw0Mi4xOCw1NS43NiBMNDEuNjQsNTUuNDQgTDQx
LjEyLDU1LjA5IEw0MC42Myw1NC43MSBMNDAuMTUsNTQuMjkgTDM5LjcxLDUzLjg1IEwzOS4yOSw1
My4zNyBMMzguOTEsNTIuODggTDM4LjU2LDUyLjM2IEwzOC4yNCw1MS44MiBMMzcuOTUsNTEuMjYg
TDM3LjcwLDUwLjY4IEwzNy40OSw1MC4wOSBMMzcuMzEsNDkuNDkgTDM3LjE4LDQ4Ljg3IEwzNy4w
OCw0OC4yNSBMMzcuMDIsNDcuNjMgTDM3LjAwLDQ3LjAwIEwzNy4wMiw0Ni4zNyBMMzcuMDgsNDUu
NzUgTDM3LjE4LDQ1LjEzIEwzNy4zMSw0NC41MSBMMzcuNDksNDMuOTEgTDM3LjcwLDQzLjMyIEwz
Ny45NSw0Mi43NCBMMzguMjQsNDIuMTggTDM4LjU2LDQxLjY0IEwzOC45MSw0MS4xMiBMMzkuMjks
NDAuNjMgTDM5LjcxLDQwLjE1IEw0MC4xNSwzOS43MSBMNDAuNjMsMzkuMjkgTDQxLjEyLDM4Ljkx
IEw0MS42NCwzOC41NiBMNDIuMTgsMzguMjQgTDQyLjc0LDM3Ljk1IEw0My4zMiwzNy43MCBMNDMu
OTEsMzcuNDkgTDQ0LjUxLDM3LjMxIEw0NS4xMywzNy4xOCBMNDUuNzUsMzcuMDggTDQ2LjM3LDM3
LjAyIEw0Ny4wMCwzNy4wMCBMNDcuNjMsMzcuMDIgTDQ4LjI1LDM3LjA4IEw0OC44NywzNy4xOCBM
NDkuNDksMzcuMzEgTDUwLjA5LDM3LjQ5IEw1MC42OCwzNy43MCBMNTEuMjYsMzcuOTUgTDUxLjgy
LDM4LjI0IEw1Mi4zNiwzOC41NiBMNTIuODgsMzguOTEgTDUzLjM3LDM5LjI5IEw1My44NSwzOS43
MSBMNTQuMjksNDAuMTUgTDU0LjcxLDQwLjYzIEw1NS4wOSw0MS4xMiBMNTUuNDQsNDEuNjQgTDU1
Ljc2LDQyLjE4IEw1Ni4wNSw0Mi43NCBMNTYuMzAsNDMuMzIgTDU2LjUxLDQzLjkxIEw1Ni42OSw0
NC41MSBMNTYuODIsNDUuMTMgTDU2LjkyLDQ1Ljc1IEw1Ni45OCw0Ni4zNyBaIl0KKyAgICAgIFJl
bmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImJsYWNr
MndoaXRlIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0g
W2VuZD0oMSwwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTAuMDBdIFtjb2xvcj0jMDAwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0
b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwMDA0RF0KKyAgICAgIFJlbmRlclNWR1Jlc291
cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9InJlZC1ncmFkIl0gW2dyYWRp
ZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0j
RDc0MzNDXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4w
MF0gW2NvbG9yPSNCRDFGMTg0NV0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGll
bnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9InJlZC1yYWRpYWwtZ3JhZCJdIFtncmFkaWVudFVuaXRz
PW9iamVjdEJvdW5kaW5nQm94XSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuNTAsMC41
MCldIFtyYWRpdXM9MC41MF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQg
e2xpbmVhckdyYWRpZW50fSBbaWQ9ImJvcmRlci1ncmFkIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0
Qm91bmRpbmdCb3hdIFtzdGFydD0oMC4wNSwwLjk1KV0gW2VuZD0oMC45NSwwLjA1KV0KKyAgICBS
ZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICg0NCw0NCkgc2l6ZSAxMTJ4MTEyIFtzdHJva2U9e1t0eXBl
PUxJTkVBUi1HUkFESUVOVF0gW2lkPSJib3JkZXItZ3JhZCJdIFtzdHJva2Ugd2lkdGg9MTAuMDBd
fV0gW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJyZWQtcmFkaWFsLWdyYWQiXX1d
IFtkYXRhPSJNMTUwLjAwLDEwMC4wMCBMMTQ5LjkwLDEwMy4xNCBMMTQ5LjYxLDEwNi4yNyBMMTQ5
LjExLDEwOS4zNyBMMTQ4LjQzLDExMi40MyBMMTQ3LjU1LDExNS40NSBMMTQ2LjQ5LDExOC40MSBM
MTQ1LjI0LDEyMS4yOSBMMTQzLjgyLDEyNC4wOSBMMTQyLjIyLDEyNi43OSBMMTQwLjQ1LDEyOS4z
OSBMMTM4LjUzLDEzMS44NyBMMTM2LjQ1LDEzNC4yMyBMMTM0LjIzLDEzNi40NSBMMTMxLjg3LDEz
OC41MyBMMTI5LjM5LDE0MC40NSBMMTI2Ljc5LDE0Mi4yMiBMMTI0LjA5LDE0My44MiBMMTIxLjI5
LDE0NS4yNCBMMTE4LjQxLDE0Ni40OSBMMTE1LjQ1LDE0Ny41NSBMMTEyLjQzLDE0OC40MyBMMTA5
LjM3LDE0OS4xMSBMMTA2LjI3LDE0OS42MSBMMTAzLjE0LDE0OS45MCBMMTAwLjAwLDE1MC4wMCBM
OTYuODYsMTQ5LjkwIEw5My43MywxNDkuNjEgTDkwLjYzLDE0OS4xMSBMODcuNTcsMTQ4LjQzIEw4
NC41NSwxNDcuNTUgTDgxLjU5LDE0Ni40OSBMNzguNzEsMTQ1LjI0IEw3NS45MSwxNDMuODIgTDcz
LjIxLDE0Mi4yMiBMNzAuNjEsMTQwLjQ1IEw2OC4xMywxMzguNTMgTDY1Ljc3LDEzNi40NSBMNjMu
NTUsMTM0LjIzIEw2MS40NywxMzEuODcgTDU5LjU1LDEyOS4zOSBMNTcuNzgsMTI2Ljc5IEw1Ni4x
OCwxMjQuMDkgTDU0Ljc2LDEyMS4yOSBMNTMuNTEsMTE4LjQxIEw1Mi40NSwxMTUuNDUgTDUxLjU3
LDExMi40MyBMNTAuODksMTA5LjM3IEw1MC4zOSwxMDYuMjcgTDUwLjEwLDEwMy4xNCBMNTAuMDAs
MTAwLjAwIEw1MC4xMCw5Ni44NiBMNTAuMzksOTMuNzMgTDUwLjg5LDkwLjYzIEw1MS41Nyw4Ny41
NyBMNTIuNDUsODQuNTUgTDUzLjUxLDgxLjU5IEw1NC43Niw3OC43MSBMNTYuMTgsNzUuOTEgTDU3
Ljc4LDczLjIxIEw1OS41NSw3MC42MSBMNjEuNDcsNjguMTMgTDYzLjU1LDY1Ljc3IEw2NS43Nyw2
My41NSBMNjguMTMsNjEuNDcgTDcwLjYxLDU5LjU1IEw3My4yMSw1Ny43OCBMNzUuOTEsNTYuMTgg
TDc4LjcxLDU0Ljc2IEw4MS41OSw1My41MSBMODQuNTUsNTIuNDUgTDg3LjU3LDUxLjU3IEw5MC42
Myw1MC44OSBMOTMuNzMsNTAuMzkgTDk2Ljg2LDUwLjEwIEwxMDAuMDAsNTAuMDAgTDEwMy4xNCw1
MC4xMCBMMTA2LjI3LDUwLjM5IEwxMDkuMzcsNTAuODkgTDExMi40Myw1MS41NyBMMTE1LjQ1LDUy
LjQ1IEwxMTguNDEsNTMuNTEgTDEyMS4yOSw1NC43NiBMMTI0LjA5LDU2LjE4IEwxMjYuNzksNTcu
NzggTDEyOS4zOSw1OS41NSBMMTMxLjg3LDYxLjQ3IEwxMzQuMjMsNjMuNTUgTDEzNi40NSw2NS43
NyBMMTM4LjUzLDY4LjEzIEwxNDAuNDUsNzAuNjEgTDE0Mi4yMiw3My4yMSBMMTQzLjgyLDc1Ljkx
IEwxNDUuMjQsNzguNzEgTDE0Ni40OSw4MS41OSBMMTQ3LjU1LDg0LjU1IEwxNDguNDMsODcuNTcg
TDE0OS4xMSw5MC42MyBMMTQ5LjYxLDkzLjczIEwxNDkuOTAsOTYuODYgWiJdCisgICAgUmVuZGVy
UGF0aCB7Y2lyY2xlfSBhdCAoMzEsMzEpIHNpemUgMzJ4MzIgW3N0cm9rZT17W3R5cGU9TElORUFS
LUdSQURJRU5UXSBbaWQ9ImJvcmRlci1ncmFkIl0gW3N0cm9rZSB3aWR0aD0xMC4wMF19XSBbZmls
bD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9InJlZC1yYWRpYWwtZ3JhZCJdfV0gW2RhdGE9
Ik01Ny4wMCw0Ny4wMCBMNTYuOTgsNDcuNjMgTDU2LjkyLDQ4LjI1IEw1Ni44Miw0OC44NyBMNTYu
NjksNDkuNDkgTDU2LjUxLDUwLjA5IEw1Ni4zMCw1MC42OCBMNTYuMDUsNTEuMjYgTDU1Ljc2LDUx
LjgyIEw1NS40NCw1Mi4zNiBMNTUuMDksNTIuODggTDU0LjcxLDUzLjM3IEw1NC4yOSw1My44NSBM
NTMuODUsNTQuMjkgTDUzLjM3LDU0LjcxIEw1Mi44OCw1NS4wOSBMNTIuMzYsNTUuNDQgTDUxLjgy
LDU1Ljc2IEw1MS4yNiw1Ni4wNSBMNTAuNjgsNTYuMzAgTDUwLjA5LDU2LjUxIEw0OS40OSw1Ni42
OSBMNDguODcsNTYuODIgTDQ4LjI1LDU2LjkyIEw0Ny42Myw1Ni45OCBMNDcuMDAsNTcuMDAgTDQ2
LjM3LDU2Ljk4IEw0NS43NSw1Ni45MiBMNDUuMTMsNTYuODIgTDQ0LjUxLDU2LjY5IEw0My45MSw1
Ni41MSBMNDMuMzIsNTYuMzAgTDQyLjc0LDU2LjA1IEw0Mi4xOCw1NS43NiBMNDEuNjQsNTUuNDQg
TDQxLjEyLDU1LjA5IEw0MC42Myw1NC43MSBMNDAuMTUsNTQuMjkgTDM5LjcxLDUzLjg1IEwzOS4y
OSw1My4zNyBMMzguOTEsNTIuODggTDM4LjU2LDUyLjM2IEwzOC4yNCw1MS44MiBMMzcuOTUsNTEu
MjYgTDM3LjcwLDUwLjY4IEwzNy40OSw1MC4wOSBMMzcuMzEsNDkuNDkgTDM3LjE4LDQ4Ljg3IEwz
Ny4wOCw0OC4yNSBMMzcuMDIsNDcuNjMgTDM3LjAwLDQ3LjAwIEwzNy4wMiw0Ni4zNyBMMzcuMDgs
NDUuNzUgTDM3LjE4LDQ1LjEzIEwzNy4zMSw0NC41MSBMMzcuNDksNDMuOTEgTDM3LjcwLDQzLjMy
IEwzNy45NSw0Mi43NCBMMzguMjQsNDIuMTggTDM4LjU2LDQxLjY0IEwzOC45MSw0MS4xMiBMMzku
MjksNDAuNjMgTDM5LjcxLDQwLjE1IEw0MC4xNSwzOS43MSBMNDAuNjMsMzkuMjkgTDQxLjEyLDM4
LjkxIEw0MS42NCwzOC41NiBMNDIuMTgsMzguMjQgTDQyLjc0LDM3Ljk1IEw0My4zMiwzNy43MCBM
NDMuOTEsMzcuNDkgTDQ0LjUxLDM3LjMxIEw0NS4xMywzNy4xOCBMNDUuNzUsMzcuMDggTDQ2LjM3
LDM3LjAyIEw0Ny4wMCwzNy4wMCBMNDcuNjMsMzcuMDIgTDQ4LjI1LDM3LjA4IEw0OC44NywzNy4x
OCBMNDkuNDksMzcuMzEgTDUwLjA5LDM3LjQ5IEw1MC42OCwzNy43MCBMNTEuMjYsMzcuOTUgTDUx
LjgyLDM4LjI0IEw1Mi4zNiwzOC41NiBMNTIuODgsMzguOTEgTDUzLjM3LDM5LjI5IEw1My44NSwz
OS43MSBMNTQuMjksNDAuMTUgTDU0LjcxLDQwLjYzIEw1NS4wOSw0MS4xMiBMNTUuNDQsNDEuNjQg
TDU1Ljc2LDQyLjE4IEw1Ni4wNSw0Mi43NCBMNTYuMzAsNDMuMzIgTDU2LjUxLDQzLjkxIEw1Ni42
OSw0NC41MSBMNTYuODIsNDUuMTMgTDU2LjkyLDQ1Ljc1IEw1Ni45OCw0Ni4zNyBaIl0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYWRpZW50LXVzZXJTcGFjZU9u
VXNlLXdpdGgtcGVyY2VudGFnZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGllbnQtdXNlclNwYWNlT25Vc2Utd2l0aC1w
ZXJjZW50YWdlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9ncmFkaWVudC11c2VyU3BhY2VPblVzZS13aXRoLXBlcmNl
bnRhZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIwICsxLDE3IEBACi1LUmVu
ZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkaWVudDEiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0g
W3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsIzAwRkYwMCldXSBbYm91bmRpbmcgYm94IG1v
ZGU9MF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxNTAsMCldfQotS1JlbmRlcmluZ1BhaW50U2VydmVy
IHtpZD0iZ3JhZGllbnQyIiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZG
MDAwMCksICgxLjAwLCMwMEZGMDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMCww
KV0gW2VuZD0oMTUwLDApXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImdyYWRpZW50MyIg
W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMEZGMDApLCAoMS4wMCwjRkYw
MDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbY2VudGVyPSgxNTAsMjY0KV0gW2ZvY2FsPSgx
NTAsMjY0KV0gW3JhZGl1cz0yODIuODRdfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDMw
MHg0MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDMwMHg0MDAKICAgICBS
ZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBS
ZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4
MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0
ICgwLDApIHNpemUgMHgwCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAzMDB4
NTAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwg
KDEuMDAsIzAwRkYwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgwLDApXSBbZW5k
PSgxNTAsMCldfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDMwMC4wMCwwLjAwIEwzMDAuMDAsNTAuMDAg
TDAuMDAsNTAuMDAgWiJdCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsNTApIHNpemUgMzAw
eDUwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCks
ICgxLjAwLCMwMEZGMDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMCwwKV0gW2Vu
ZD0oMTUwLDApXX1dIFtkYXRhPSJNMC4wMCw1MC4wMCBMMzAwLjAwLDUwLjAwIEwzMDAuMDAsMTAw
LjAwIEwwLjAwLDEwMC4wMCBaIl0KLSAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwxMDApIHNp
emUgMzAweDMwMCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMw
MEZGMDApLCAoMS4wMCwjRkYwMDAwKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbY2VudGVyPSgx
NTAsMjY0KV0gW2ZvY2FsPSgxNTAsMjY0KV0gW3JhZGl1cz0yODIuODRdfV0gW2RhdGE9Ik0wLjAw
LDEwMC4wMCBMMzAwLjAwLDEwMC4wMCBMMzAwLjAwLDQwMC4wMCBMMC4wMCw0MDAuMDAgWiJdCisg
ICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lk
PSJncmFkaWVudDEiXSBbZ3JhZGllbnRVbml0cz11c2VyU3BhY2VPblVzZV0gW3N0YXJ0PSgwLDAp
XSBbZW5kPSgxNTAsMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29m
ZnNldD0wLjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDBGRjAwXQorICAgICAgUmVuZGVyU1ZHUmVz
b3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZ3JhZGllbnQyIl0gW2dy
YWRpZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtzdGFydD0oMCwwKV0gW2VuZD0oMTUwLDApXQor
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9y
PSNGRjAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0x
LjAwXSBbY29sb3I9IzAwRkYwMF0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGll
bnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9ImdyYWRpZW50MyJdIFtncmFkaWVudFVuaXRzPXVzZXJT
cGFjZU9uVXNlXSBbY2VudGVyPSgxNTAsMjY0KV0gW2ZvY2FsPSgxNTAsMjY0KV0gW3JhZGl1cz0y
ODIuODRdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAw
XSBbY29sb3I9IzAwRkYwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBb
b2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgw
LDApIHNpemUgMzAweDUwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iZ3JhZGll
bnQxIl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMzAwLjAwLDAuMDAgTDMwMC4wMCw1MC4wMCBMMC4w
MCw1MC4wMCBaIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCw1MCkgc2l6ZSAzMDB4NTAg
W2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkaWVudDIiXX1dIFtkYXRhPSJN
MC4wMCw1MC4wMCBMMzAwLjAwLDUwLjAwIEwzMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0K
KyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwxMDApIHNpemUgMzAweDMwMCBbZmlsbD17W3R5
cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9ImdyYWRpZW50MyJdfV0gW2RhdGE9Ik0wLjAwLDEwMC4w
MCBMMzAwLjAwLDEwMC4wMCBMMzAwLjAwLDQwMC4wMCBMMC4wMCw0MDAuMDAgWiJdCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9ncmF5c2NhbGUtZ3JhZGllbnQtbWFz
ay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9jdXN0b20vZ3JheXNjYWxlLWdyYWRpZW50LW1hc2stZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1
ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dyYXlzY2FsZS1n
cmFkaWVudC1tYXNrLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNCArMSwxMyBA
QAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iR3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFE
SUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZGRkZGKSwgKDEuMDAsIzAwMDAwMCldXSBbYm91bmRpbmcg
Ym94IG1vZGU9MF0gW3N0YXJ0PSgwLDApXSBbZW5kPSg4MDAsMCldfQogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwxNDMpIHNp
emUgNzgxeDQ1NwogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBh
dCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7
bGluZWFyR3JhZGllbnR9IFtpZD0iR3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz11c2VyU3BhY2VP
blVzZV0gW3N0YXJ0PSgwLDApXSBbZW5kPSg4MDAsMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDAwMDAwXQog
ICAgIFJlbmRlclNWR1Jlc291cmNlTWFza2VyIHttYXNrfSBbaWQ9Ik1hc2siXSBbbWFza1VuaXRz
PXVzZXJTcGFjZU9uVXNlXSBbbWFza0NvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0KLSAgICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDE0Mykgc2l6ZSA3ODF4Mjk0IFtmaWxsPXtbdHlwZT1M
SU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgxLjAwLCMwMDAwMDApXV0g
W2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMCwwKV0gW2VuZD0oODAwLDApXX1dIFtkYXRh
PSJNMC4wMCwwLjAwIEw4MDAuMDAsMC4wMCBMODAwLjAwLDMwMC4wMCBMMC4wMCwzMDAuMDAgWiJd
CisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwxNDMpIHNpemUgNzgxeDI5NCBbZmlsbD17
W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9IkdyYWRpZW50Il19XSBbZGF0YT0iTTAuMDAsMC4w
MCBMODAwLjAwLDAuMDAgTDgwMC4wMCwzMDAuMDAgTDAuMDAsMzAwLjAwIFoiXQogICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgwLDE0Mykgc2l6ZSA3ODF4Mjk0IFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRjgwODBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDgwMC4wMCwwLjAwIEw4MDAuMDAs
MzAwLjAwIEwwLjAwLDMwMC4wMCBaIl0KICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwyNDEp
IHNpemUgNzgxeDk5IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdfV0gW2RhdGE9
Ik0wLjAwLDEwMC4wMCBMODAwLjAwLDEwMC4wMCBMODAwLjAwLDIwMC4wMCBMMC4wMCwyMDAuMDAg
WiJdCiAgICAgICBbbWFza2VyPSJNYXNrIl0gUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIge21hc2t9
IGF0ICgwLDApIHNpemUgODAweDMwMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9jdXN0b20vZ3JvdXAtb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JvdXAtb3BhY2l0eS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20v
Z3JvdXAtb3BhY2l0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjMgKzEsMjEg
QEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImdyYWRpZW50X2ZpbGwiIFt0eXBlPUxJTkVB
Ui1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsIzAwODAwMCldXSBbc3Rh
cnQ9KDAsMCldIFtlbmQ9KDEsMCldfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0ic3Ryb2tl
X2ZpbGwiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDAwMEZGKSwgKDEu
MDAsI0ZGRkYwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfQogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0
ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3Jh
ZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7
c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFk
aWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZ3JhZGllbnRfZmlsbCJdIFtncmFkaWVudFVuaXRz
PW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZGMDAwMF0K
KyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xv
cj0jMDA4MDAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFy
R3JhZGllbnR9IFtpZD0ic3Ryb2tlX2ZpbGwiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGlu
Z0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSMwMDAwRkZdCisgICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGRkYwMF0KICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1LDUpIHNpemUgNTcweDExMCBbdHJhbnNmb3Jt
PXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMC4wMCwxMC4wMCl9XQogICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDUsNSkgc2l6ZSAxMTB4MTEwIFtzdHJva2U9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwODAwMF0gW29wYWNpdHk9MC41MF0gW3N0cm9rZSB3aWR0aD0xMC4wMF19XSBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXSBbb3BhY2l0eT0wLjUwXX1dIFtkYXRh
PSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBMMC4wMCwxMDAuMDAgWiJd
CiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxMjAsNSkgc2l6ZSAxMTB4MTEwIFtv
cGFjaXR5PTAuNTBdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMjAsNSkgc2l6ZSAx
MTB4MTEwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF0gW3N0cm9rZSB3aWR0
aD0xMC4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJN
MTE1LjAwLDAuMDAgTDIxNS4wMCwwLjAwIEwyMTUuMDAsMTAwLjAwIEwxMTUuMDAsMTAwLjAwIFoi
XQogICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDIzNSw1KSBzaXplIDExMHgxMTAgW29wYWNp
dHk9MC41MF0gW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXSBbc3Ryb2tlIHdp
ZHRoPTEwLjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9
Ik0yMzAuMDAsMC4wMCBMMzMwLjAwLDAuMDAgTDMzMC4wMCwxMDAuMDAgTDIzMC4wMCwxMDAuMDAg
WiJdCi0gICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMzUwLDUpIHNpemUgMTEweDExMCBbc3Ry
b2tlPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwMDBGRiksICgxLjAw
LCNGRkZGMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXSBbb3BhY2l0eT0wLjUwXSBbc3Ry
b2tlIHdpZHRoPTEwLjAwXX1dIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1b
KDAuMDAsI0ZGMDAwMCksICgxLjAwLCMwMDgwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDAp
XSBbb3BhY2l0eT0wLjUwXX1dIFtkYXRhPSJNMzQ1LjAwLDAuMDAgTDQ0NS4wMCwwLjAwIEw0NDUu
MDAsMTAwLjAwIEwzNDUuMDAsMTAwLjAwIFoiXQotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDQ2NSw1KSBzaXplIDExMHgxMTAgW29wYWNpdHk9MC41MF0gW3N0cm9rZT17W3R5cGU9TElORUFS
LUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwRkYpLCAoMS4wMCwjRkZGRjAwKV1dIFtzdGFy
dD0oMCwwKV0gW2VuZD0oMSwwKV0gW3N0cm9rZSB3aWR0aD0xMC4wMF19XSBbZmlsbD17W3R5cGU9
TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDA4MDAwKV1d
IFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTQ2MC4wMCwwLjAwIEw1NjAuMDAs
MC4wMCBMNTYwLjAwLDEwMC4wMCBMNDYwLjAwLDEwMC4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgzNTAsNSkgc2l6ZSAxMTB4MTEwIFtzdHJva2U9e1t0eXBlPUxJTkVBUi1HUkFE
SUVOVF0gW2lkPSJzdHJva2VfZmlsbCJdIFtvcGFjaXR5PTAuNTBdIFtzdHJva2Ugd2lkdGg9MTAu
MDBdfV0gW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkaWVudF9maWxsIl0g
W29wYWNpdHk9MC41MF19XSBbZGF0YT0iTTM0NS4wMCwwLjAwIEw0NDUuMDAsMC4wMCBMNDQ1LjAw
LDEwMC4wMCBMMzQ1LjAwLDEwMC4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg0
NjUsNSkgc2l6ZSAxMTB4MTEwIFtvcGFjaXR5PTAuNTBdIFtzdHJva2U9e1t0eXBlPUxJTkVBUi1H
UkFESUVOVF0gW2lkPSJzdHJva2VfZmlsbCJdIFtzdHJva2Ugd2lkdGg9MTAuMDBdfV0gW2ZpbGw9
e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkaWVudF9maWxsIl19XSBbZGF0YT0iTTQ2
MC4wMCwwLjAwIEw1NjAuMDAsMC4wMCBMNTYwLjAwLDEwMC4wMCBMNDYwLjAwLDEwMC4wMCBaIl0K
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1LDEyMCkgc2l6ZSA1NzB4MTEwIFt0cmFu
c2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDUuMDAsMTIwLjAwKX1dCiAgICAg
ICBSZW5kZXJTVkdJbWFnZSB7aW1hZ2V9IGF0ICg1LDEyMCkgc2l6ZSAxMTB4MTEwCiAgICAgICBS
ZW5kZXJTVkdJbWFnZSB7aW1hZ2V9IGF0ICgxMjAsMTIwKSBzaXplIDExMHgxMTAKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2lubGluZS1zdmctaW4teGh0bWwtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL2lubGluZS1zdmctaW4teGh0bWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2lubGluZS1zdmctaW4teGh0bWwt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAotS1JlbmRlcmluZ1Bh
aW50U2VydmVyIHtpZD0iZ3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjRkZGRjAwKSwgKDEuMDAsIzAwODAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCld
fQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgwCkBAIC02LDExICs1LDExIEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDAKIGxheWVyIGF0ICg0OCwzOCkgc2l6ZSA3MjJ4NTQyIGxh
eWVyVHlwZTogYmFja2dyb3VuZCBvbmx5CiBsYXllciBhdCAoNDksMzkpIHNpemUgNzIweDU0MAog
ICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg0OSwzOSkgc2l6ZSA3MjB4NTQwCi0gICAgUmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoNDksMzkpIHNpemUgNzIweDU0MCBbZmlsbD17W3R5cGU9TElORUFS
LUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRkZGMDApLCAoMS4wMCwjMDA4MDAwKV1dIFtzdGFy
dD0oMCwwKV0gW2VuZD0oMSwwKV19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEw
MC4wMCwxMDAuMDAgTDAuMDAsMTAwLjAwIFoiXQotICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQg
KDE5Myw5Mykgc2l6ZSA0MzJ4NDMyIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9w
cz1bKDAuMDAsI0ZGRkYwMCksICgxLjAwLCMwMDgwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgx
LDApXX1dIFtkYXRhPSJNODAuMDAsNTAuMDAgTDc5Ljk0LDUxLjg4IEw3OS43Niw1My43NiBMNzku
NDcsNTUuNjIgTDc5LjA2LDU3LjQ2IEw3OC41Myw1OS4yNyBMNzcuODksNjEuMDQgTDc3LjE0LDYy
Ljc3IEw3Ni4yOSw2NC40NSBMNzUuMzMsNjYuMDcgTDc0LjI3LDY3LjYzIEw3My4xMiw2OS4xMiBM
NzEuODcsNzAuNTQgTDcwLjU0LDcxLjg3IEw2OS4xMiw3My4xMiBMNjcuNjMsNzQuMjcgTDY2LjA3
LDc1LjMzIEw2NC40NSw3Ni4yOSBMNjIuNzcsNzcuMTQgTDYxLjA0LDc3Ljg5IEw1OS4yNyw3OC41
MyBMNTcuNDYsNzkuMDYgTDU1LjYyLDc5LjQ3IEw1My43Niw3OS43NiBMNTEuODgsNzkuOTQgTDUw
LjAwLDgwLjAwIEw0OC4xMiw3OS45NCBMNDYuMjQsNzkuNzYgTDQ0LjM4LDc5LjQ3IEw0Mi41NCw3
OS4wNiBMNDAuNzMsNzguNTMgTDM4Ljk2LDc3Ljg5IEwzNy4yMyw3Ny4xNCBMMzUuNTUsNzYuMjkg
TDMzLjkzLDc1LjMzIEwzMi4zNyw3NC4yNyBMMzAuODgsNzMuMTIgTDI5LjQ2LDcxLjg3IEwyOC4x
Myw3MC41NCBMMjYuODgsNjkuMTIgTDI1LjczLDY3LjYzIEwyNC42Nyw2Ni4wNyBMMjMuNzEsNjQu
NDUgTDIyLjg2LDYyLjc3IEwyMi4xMSw2MS4wNCBMMjEuNDcsNTkuMjcgTDIwLjk0LDU3LjQ2IEwy
MC41Myw1NS42MiBMMjAuMjQsNTMuNzYgTDIwLjA2LDUxLjg4IEwyMC4wMCw1MC4wMCBMMjAuMDYs
NDguMTIgTDIwLjI0LDQ2LjI0IEwyMC41Myw0NC4zOCBMMjAuOTQsNDIuNTQgTDIxLjQ3LDQwLjcz
IEwyMi4xMSwzOC45NiBMMjIuODYsMzcuMjMgTDIzLjcxLDM1LjU1IEwyNC42NywzMy45MyBMMjUu
NzMsMzIuMzcgTDI2Ljg4LDMwLjg4IEwyOC4xMywyOS40NiBMMjkuNDYsMjguMTMgTDMwLjg4LDI2
Ljg4IEwzMi4zNywyNS43MyBMMzMuOTMsMjQuNjcgTDM1LjU1LDIzLjcxIEwzNy4yMywyMi44NiBM
MzguOTYsMjIuMTEgTDQwLjczLDIxLjQ3IEw0Mi41NCwyMC45NCBMNDQuMzgsMjAuNTMgTDQ2LjI0
LDIwLjI0IEw0OC4xMiwyMC4wNiBMNTAuMDAsMjAuMDAgTDUxLjg4LDIwLjA2IEw1My43NiwyMC4y
NCBMNTUuNjIsMjAuNTMgTDU3LjQ2LDIwLjk0IEw1OS4yNywyMS40NyBMNjEuMDQsMjIuMTEgTDYy
Ljc3LDIyLjg2IEw2NC40NSwyMy43MSBMNjYuMDcsMjQuNjcgTDY3LjYzLDI1LjczIEw2OS4xMiwy
Ni44OCBMNzAuNTQsMjguMTMgTDcxLjg3LDI5LjQ2IEw3My4xMiwzMC44OCBMNzQuMjcsMzIuMzcg
TDc1LjMzLDMzLjkzIEw3Ni4yOSwzNS41NSBMNzcuMTQsMzcuMjMgTDc3Ljg5LDM4Ljk2IEw3OC41
Myw0MC43MyBMNzkuMDYsNDIuNTQgTDc5LjQ3LDQ0LjM4IEw3OS43Niw0Ni4yNCBMNzkuOTQsNDgu
MTIgWiJdCisgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGll
bnR9IFtpZD0iZ3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkZGRjAwXQorICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDA4MDAwXQorICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICg0OSwzOSkgc2l6ZSA3MjB4NTQwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElF
TlRdIFtpZD0iZ3JhZGllbnQiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAw
LjAwLDEwMC4wMCBMMC4wMCwxMDAuMDAgWiJdCisgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAo
MTkzLDkzKSBzaXplIDQzMng0MzIgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJn
cmFkaWVudCJdfV0gW2RhdGE9Ik04MC4wMCw1MC4wMCBMNzkuOTQsNTEuODggTDc5Ljc2LDUzLjc2
IEw3OS40Nyw1NS42MiBMNzkuMDYsNTcuNDYgTDc4LjUzLDU5LjI3IEw3Ny44OSw2MS4wNCBMNzcu
MTQsNjIuNzcgTDc2LjI5LDY0LjQ1IEw3NS4zMyw2Ni4wNyBMNzQuMjcsNjcuNjMgTDczLjEyLDY5
LjEyIEw3MS44Nyw3MC41NCBMNzAuNTQsNzEuODcgTDY5LjEyLDczLjEyIEw2Ny42Myw3NC4yNyBM
NjYuMDcsNzUuMzMgTDY0LjQ1LDc2LjI5IEw2Mi43Nyw3Ny4xNCBMNjEuMDQsNzcuODkgTDU5LjI3
LDc4LjUzIEw1Ny40Niw3OS4wNiBMNTUuNjIsNzkuNDcgTDUzLjc2LDc5Ljc2IEw1MS44OCw3OS45
NCBMNTAuMDAsODAuMDAgTDQ4LjEyLDc5Ljk0IEw0Ni4yNCw3OS43NiBMNDQuMzgsNzkuNDcgTDQy
LjU0LDc5LjA2IEw0MC43Myw3OC41MyBMMzguOTYsNzcuODkgTDM3LjIzLDc3LjE0IEwzNS41NSw3
Ni4yOSBMMzMuOTMsNzUuMzMgTDMyLjM3LDc0LjI3IEwzMC44OCw3My4xMiBMMjkuNDYsNzEuODcg
TDI4LjEzLDcwLjU0IEwyNi44OCw2OS4xMiBMMjUuNzMsNjcuNjMgTDI0LjY3LDY2LjA3IEwyMy43
MSw2NC40NSBMMjIuODYsNjIuNzcgTDIyLjExLDYxLjA0IEwyMS40Nyw1OS4yNyBMMjAuOTQsNTcu
NDYgTDIwLjUzLDU1LjYyIEwyMC4yNCw1My43NiBMMjAuMDYsNTEuODggTDIwLjAwLDUwLjAwIEwy
MC4wNiw0OC4xMiBMMjAuMjQsNDYuMjQgTDIwLjUzLDQ0LjM4IEwyMC45NCw0Mi41NCBMMjEuNDcs
NDAuNzMgTDIyLjExLDM4Ljk2IEwyMi44NiwzNy4yMyBMMjMuNzEsMzUuNTUgTDI0LjY3LDMzLjkz
IEwyNS43MywzMi4zNyBMMjYuODgsMzAuODggTDI4LjEzLDI5LjQ2IEwyOS40NiwyOC4xMyBMMzAu
ODgsMjYuODggTDMyLjM3LDI1LjczIEwzMy45MywyNC42NyBMMzUuNTUsMjMuNzEgTDM3LjIzLDIy
Ljg2IEwzOC45NiwyMi4xMSBMNDAuNzMsMjEuNDcgTDQyLjU0LDIwLjk0IEw0NC4zOCwyMC41MyBM
NDYuMjQsMjAuMjQgTDQ4LjEyLDIwLjA2IEw1MC4wMCwyMC4wMCBMNTEuODgsMjAuMDYgTDUzLjc2
LDIwLjI0IEw1NS42MiwyMC41MyBMNTcuNDYsMjAuOTQgTDU5LjI3LDIxLjQ3IEw2MS4wNCwyMi4x
MSBMNjIuNzcsMjIuODYgTDY0LjQ1LDIzLjcxIEw2Ni4wNywyNC42NyBMNjcuNjMsMjUuNzMgTDY5
LjEyLDI2Ljg4IEw3MC41NCwyOC4xMyBMNzEuODcsMjkuNDYgTDczLjEyLDMwLjg4IEw3NC4yNywz
Mi4zNyBMNzUuMzMsMzMuOTMgTDc2LjI5LDM1LjU1IEw3Ny4xNCwzNy4yMyBMNzcuODksMzguOTYg
TDc4LjUzLDQwLjczIEw3OS4wNiw0Mi41NCBMNzkuNDcsNDQuMzggTDc5Ljc2LDQ2LjI0IEw3OS45
NCw0OC4xMiBaIl0KIGxheWVyIGF0ICg0OCwzOCkgc2l6ZSA3MjJ4NTQyIGxheWVyVHlwZTogZm9y
ZWdyb3VuZCBvbmx5CiAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg0OCwzOCkgc2l6ZSA3MjJ4NTQy
IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyQmxvY2sge2Zvcm19IGF0
ICgxLDEpIHNpemUgNzIweDEyOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9j
dXN0b20vaW52YWxpZC1jc3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2ludmFsaWQtY3NzLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9pbnZhbGlk
LWNzcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSwzIEBACi1LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkIiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1b
KDAuMDAsIzAwODAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfQogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKQEAgLTYsOCArNSw4IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkg
c2l6ZSAweDAKICAgICAgIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciB7Y2xpcFBhdGh9IFtpZD0i
Y2xpcDEiXSBbY2xpcFBhdGhVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgUmVuZGVyUGF0
aCB7Y2lyY2xlfSBhdCAoMzMsNTApIHNpemUgMzR4MzQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZGF0YT0iTTQwLjAwLDQwLjAwIEwzOS45OCw0MC42MyBMMzkuOTIsNDEu
MjUgTDM5LjgyLDQxLjg3IEwzOS42OSw0Mi40OSBMMzkuNTEsNDMuMDkgTDM5LjMwLDQzLjY4IEwz
OS4wNSw0NC4yNiBMMzguNzYsNDQuODIgTDM4LjQ0LDQ1LjM2IEwzOC4wOSw0NS44OCBMMzcuNzEs
NDYuMzcgTDM3LjI5LDQ2Ljg1IEwzNi44NSw0Ny4yOSBMMzYuMzcsNDcuNzEgTDM1Ljg4LDQ4LjA5
IEwzNS4zNiw0OC40NCBMMzQuODIsNDguNzYgTDM0LjI2LDQ5LjA1IEwzMy42OCw0OS4zMCBMMzMu
MDksNDkuNTEgTDMyLjQ5LDQ5LjY5IEwzMS44Nyw0OS44MiBMMzEuMjUsNDkuOTIgTDMwLjYzLDQ5
Ljk4IEwzMC4wMCw1MC4wMCBMMjkuMzcsNDkuOTggTDI4Ljc1LDQ5LjkyIEwyOC4xMyw0OS44MiBM
MjcuNTEsNDkuNjkgTDI2LjkxLDQ5LjUxIEwyNi4zMiw0OS4zMCBMMjUuNzQsNDkuMDUgTDI1LjE4
LDQ4Ljc2IEwyNC42NCw0OC40NCBMMjQuMTIsNDguMDkgTDIzLjYzLDQ3LjcxIEwyMy4xNSw0Ny4y
OSBMMjIuNzEsNDYuODUgTDIyLjI5LDQ2LjM3IEwyMS45MSw0NS44OCBMMjEuNTYsNDUuMzYgTDIx
LjI0LDQ0LjgyIEwyMC45NSw0NC4yNiBMMjAuNzAsNDMuNjggTDIwLjQ5LDQzLjA5IEwyMC4zMSw0
Mi40OSBMMjAuMTgsNDEuODcgTDIwLjA4LDQxLjI1IEwyMC4wMiw0MC42MyBMMjAuMDAsNDAuMDAg
TDIwLjAyLDM5LjM3IEwyMC4wOCwzOC43NSBMMjAuMTgsMzguMTMgTDIwLjMxLDM3LjUxIEwyMC40
OSwzNi45MSBMMjAuNzAsMzYuMzIgTDIwLjk1LDM1Ljc0IEwyMS4yNCwzNS4xOCBMMjEuNTYsMzQu
NjQgTDIxLjkxLDM0LjEyIEwyMi4yOSwzMy42MyBMMjIuNzEsMzMuMTUgTDIzLjE1LDMyLjcxIEwy
My42MywzMi4yOSBMMjQuMTIsMzEuOTEgTDI0LjY0LDMxLjU2IEwyNS4xOCwzMS4yNCBMMjUuNzQs
MzAuOTUgTDI2LjMyLDMwLjcwIEwyNi45MSwzMC40OSBMMjcuNTEsMzAuMzEgTDI4LjEzLDMwLjE4
IEwyOC43NSwzMC4wOCBMMjkuMzcsMzAuMDIgTDMwLjAwLDMwLjAwIEwzMC42MywzMC4wMiBMMzEu
MjUsMzAuMDggTDMxLjg3LDMwLjE4IEwzMi40OSwzMC4zMSBMMzMuMDksMzAuNDkgTDMzLjY4LDMw
LjcwIEwzNC4yNiwzMC45NSBMMzQuODIsMzEuMjQgTDM1LjM2LDMxLjU2IEwzNS44OCwzMS45MSBM
MzYuMzcsMzIuMjkgTDM2Ljg1LDMyLjcxIEwzNy4yOSwzMy4xNSBMMzcuNzEsMzMuNjMgTDM4LjA5
LDM0LjEyIEwzOC40NCwzNC42NCBMMzguNzYsMzUuMTggTDM5LjA1LDM1Ljc0IEwzOS4zMCwzNi4z
MiBMMzkuNTEsMzYuOTEgTDM5LjY5LDM3LjUxIEwzOS44MiwzOC4xMyBMMzkuOTIsMzguNzUgTDM5
Ljk4LDM5LjM3IFoiXQotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFk
aWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFk
aWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0iZ3JhZCJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJv
dW5kaW5nQm94XSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwODAwMF0KICAgICBSZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImJsdXJ4eSJdIFtmaWx0ZXJVbml0cz1v
YmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAg
W2xhc3QgcHJpbWl0aXZlIF0KICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciB7bWFya2VyfSBb
aWQ9Im1hcmtlcjEiXSBbbWFya2VyVW5pdHM9c3Ryb2tlV2lkdGhdIFtyZWYgYXQgKDUsNSldIFth
bmdsZT0wLjAwXQpAQCAtMTksNyArMTgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgMTY3eDE4
CiAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMC4wMCwzMy4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgMjUgd2lkdGggMTY3LjAwOiAibm8gbWFya2VycyBhbmQgbm8gZGFzaGVzLiIK
ICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoNDgsNjUpIHNpemUgODd4ODcgW3N0cm9rZT17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDgwMDBdfV0gW2RhdGE9Ik0zMC4wMCw0MC4wMCBMODAuMDAsNDAuMDAgTDgwLjAwLDkwLjAwIEwz
MC4wMCw5MC4wMCBaIl0KLSAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgyNjUsNjUpIHNpemUg
NzB4NzAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlw
ZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwODAwMCldXSBbc3RhcnQ9KDAsMCld
IFtlbmQ9KDEsMCldfV0gW2RhdGE9Ik0yMDAuMDAsNjAuMDAgTDE5OS45Niw2MS4yNiBMMTk5Ljg0
LDYyLjUxIEwxOTkuNjUsNjMuNzUgTDE5OS4zNyw2NC45NyBMMTk5LjAyLDY2LjE4IEwxOTguNjAs
NjcuMzYgTDE5OC4xMCw2OC41MiBMMTk3LjUzLDY5LjY0IEwxOTYuODksNzAuNzIgTDE5Ni4xOCw3
MS43NiBMMTk1LjQxLDcyLjc1IEwxOTQuNTgsNzMuNjkgTDE5My42OSw3NC41OCBMMTkyLjc1LDc1
LjQxIEwxOTEuNzYsNzYuMTggTDE5MC43Miw3Ni44OSBMMTg5LjY0LDc3LjUzIEwxODguNTIsNzgu
MTAgTDE4Ny4zNiw3OC42MCBMMTg2LjE4LDc5LjAyIEwxODQuOTcsNzkuMzcgTDE4My43NSw3OS42
NSBMMTgyLjUxLDc5Ljg0IEwxODEuMjYsNzkuOTYgTDE4MC4wMCw4MC4wMCBMMTc4Ljc0LDc5Ljk2
IEwxNzcuNDksNzkuODQgTDE3Ni4yNSw3OS42NSBMMTc1LjAzLDc5LjM3IEwxNzMuODIsNzkuMDIg
TDE3Mi42NCw3OC42MCBMMTcxLjQ4LDc4LjEwIEwxNzAuMzYsNzcuNTMgTDE2OS4yOCw3Ni44OSBM
MTY4LjI0LDc2LjE4IEwxNjcuMjUsNzUuNDEgTDE2Ni4zMSw3NC41OCBMMTY1LjQyLDczLjY5IEwx
NjQuNTksNzIuNzUgTDE2My44Miw3MS43NiBMMTYzLjExLDcwLjcyIEwxNjIuNDcsNjkuNjQgTDE2
MS45MCw2OC41MiBMMTYxLjQwLDY3LjM2IEwxNjAuOTgsNjYuMTggTDE2MC42Myw2NC45NyBMMTYw
LjM1LDYzLjc1IEwxNjAuMTYsNjIuNTEgTDE2MC4wNCw2MS4yNiBMMTYwLjAwLDYwLjAwIEwxNjAu
MDQsNTguNzQgTDE2MC4xNiw1Ny40OSBMMTYwLjM1LDU2LjI1IEwxNjAuNjMsNTUuMDMgTDE2MC45
OCw1My44MiBMMTYxLjQwLDUyLjY0IEwxNjEuOTAsNTEuNDggTDE2Mi40Nyw1MC4zNiBMMTYzLjEx
LDQ5LjI4IEwxNjMuODIsNDguMjQgTDE2NC41OSw0Ny4yNSBMMTY1LjQyLDQ2LjMxIEwxNjYuMzEs
NDUuNDIgTDE2Ny4yNSw0NC41OSBMMTY4LjI0LDQzLjgyIEwxNjkuMjgsNDMuMTEgTDE3MC4zNiw0
Mi40NyBMMTcxLjQ4LDQxLjkwIEwxNzIuNjQsNDEuNDAgTDE3My44Miw0MC45OCBMMTc1LjAzLDQw
LjYzIEwxNzYuMjUsNDAuMzUgTDE3Ny40OSw0MC4xNiBMMTc4Ljc0LDQwLjA0IEwxODAuMDAsNDAu
MDAgTDE4MS4yNiw0MC4wNCBMMTgyLjUxLDQwLjE2IEwxODMuNzUsNDAuMzUgTDE4NC45Nyw0MC42
MyBMMTg2LjE4LDQwLjk4IEwxODcuMzYsNDEuNDAgTDE4OC41Miw0MS45MCBMMTg5LjY0LDQyLjQ3
IEwxOTAuNzIsNDMuMTEgTDE5MS43Niw0My44MiBMMTkyLjc1LDQ0LjU5IEwxOTMuNjksNDUuNDIg
TDE5NC41OCw0Ni4zMSBMMTk1LjQxLDQ3LjI1IEwxOTYuMTgsNDguMjQgTDE5Ni44OSw0OS4yOCBM
MTk3LjUzLDUwLjM2IEwxOTguMTAsNTEuNDggTDE5OC42MCw1Mi42NCBMMTk5LjAyLDUzLjgyIEwx
OTkuMzcsNTUuMDMgTDE5OS42NSw1Ni4yNSBMMTk5Ljg0LDU3LjQ5IEwxOTkuOTYsNTguNzQgWiJd
CisgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMjY1LDY1KSBzaXplIDcweDcwIFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJ
RU5UXSBbaWQ9ImdyYWQiXX1dIFtkYXRhPSJNMjAwLjAwLDYwLjAwIEwxOTkuOTYsNjEuMjYgTDE5
OS44NCw2Mi41MSBMMTk5LjY1LDYzLjc1IEwxOTkuMzcsNjQuOTcgTDE5OS4wMiw2Ni4xOCBMMTk4
LjYwLDY3LjM2IEwxOTguMTAsNjguNTIgTDE5Ny41Myw2OS42NCBMMTk2Ljg5LDcwLjcyIEwxOTYu
MTgsNzEuNzYgTDE5NS40MSw3Mi43NSBMMTk0LjU4LDczLjY5IEwxOTMuNjksNzQuNTggTDE5Mi43
NSw3NS40MSBMMTkxLjc2LDc2LjE4IEwxOTAuNzIsNzYuODkgTDE4OS42NCw3Ny41MyBMMTg4LjUy
LDc4LjEwIEwxODcuMzYsNzguNjAgTDE4Ni4xOCw3OS4wMiBMMTg0Ljk3LDc5LjM3IEwxODMuNzUs
NzkuNjUgTDE4Mi41MSw3OS44NCBMMTgxLjI2LDc5Ljk2IEwxODAuMDAsODAuMDAgTDE3OC43NCw3
OS45NiBMMTc3LjQ5LDc5Ljg0IEwxNzYuMjUsNzkuNjUgTDE3NS4wMyw3OS4zNyBMMTczLjgyLDc5
LjAyIEwxNzIuNjQsNzguNjAgTDE3MS40OCw3OC4xMCBMMTcwLjM2LDc3LjUzIEwxNjkuMjgsNzYu
ODkgTDE2OC4yNCw3Ni4xOCBMMTY3LjI1LDc1LjQxIEwxNjYuMzEsNzQuNTggTDE2NS40Miw3My42
OSBMMTY0LjU5LDcyLjc1IEwxNjMuODIsNzEuNzYgTDE2My4xMSw3MC43MiBMMTYyLjQ3LDY5LjY0
IEwxNjEuOTAsNjguNTIgTDE2MS40MCw2Ny4zNiBMMTYwLjk4LDY2LjE4IEwxNjAuNjMsNjQuOTcg
TDE2MC4zNSw2My43NSBMMTYwLjE2LDYyLjUxIEwxNjAuMDQsNjEuMjYgTDE2MC4wMCw2MC4wMCBM
MTYwLjA0LDU4Ljc0IEwxNjAuMTYsNTcuNDkgTDE2MC4zNSw1Ni4yNSBMMTYwLjYzLDU1LjAzIEwx
NjAuOTgsNTMuODIgTDE2MS40MCw1Mi42NCBMMTYxLjkwLDUxLjQ4IEwxNjIuNDcsNTAuMzYgTDE2
My4xMSw0OS4yOCBMMTYzLjgyLDQ4LjI0IEwxNjQuNTksNDcuMjUgTDE2NS40Miw0Ni4zMSBMMTY2
LjMxLDQ1LjQyIEwxNjcuMjUsNDQuNTkgTDE2OC4yNCw0My44MiBMMTY5LjI4LDQzLjExIEwxNzAu
MzYsNDIuNDcgTDE3MS40OCw0MS45MCBMMTcyLjY0LDQxLjQwIEwxNzMuODIsNDAuOTggTDE3NS4w
Myw0MC42MyBMMTc2LjI1LDQwLjM1IEwxNzcuNDksNDAuMTYgTDE3OC43NCw0MC4wNCBMMTgwLjAw
LDQwLjAwIEwxODEuMjYsNDAuMDQgTDE4Mi41MSw0MC4xNiBMMTgzLjc1LDQwLjM1IEwxODQuOTcs
NDAuNjMgTDE4Ni4xOCw0MC45OCBMMTg3LjM2LDQxLjQwIEwxODguNTIsNDEuOTAgTDE4OS42NCw0
Mi40NyBMMTkwLjcyLDQzLjExIEwxOTEuNzYsNDMuODIgTDE5Mi43NSw0NC41OSBMMTkzLjY5LDQ1
LjQyIEwxOTQuNTgsNDYuMzEgTDE5NS40MSw0Ny4yNSBMMTk2LjE4LDQ4LjI0IEwxOTYuODksNDku
MjggTDE5Ny41Myw1MC4zNiBMMTk4LjEwLDUxLjQ4IEwxOTguNjAsNTIuNjQgTDE5OS4wMiw1My44
MiBMMTk5LjM3LDU1LjAzIEwxOTkuNjUsNTYuMjUgTDE5OS44NCw1Ny40OSBMMTk5Ljk2LDU4Ljc0
IFoiXQogICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLDExMCkgc2l6ZSAyNzh4MTggY29u
dGFpbnMgMSBjaHVuayhzKQogICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LC0xNCkgc2l6ZSAyNzh4MTgKICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLDEx
MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNDUgd2lkdGggMjc4LjAwOiAiVGhlIGNpcmNs
ZSBzaG91bGQgYmUgb3BhcXVlIGdyZWVuLCBubyBmaWx0ZXIsIgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtbGF0ZS1ncmFkaWVudC1hbmQtb2JqZWN0LWNyZWF0
aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2N1c3RvbS9qcy1sYXRlLWdyYWRpZW50LWFuZC1vYmplY3QtY3JlYXRpb24tZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL2pzLWxhdGUtZ3JhZGllbnQtYW5kLW9iamVjdC1jcmVhdGlvbi1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTUgKzEsMTMgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9
ImZpbGxMaW5lYXJHcmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAw
LCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19Ci1L
UmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJzdHJva2VMaW5lYXJHcmFkaWVudCIgW3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbc3RvcHM9WygxLjAwLCMwMDgwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5k
PSgxLDApXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclNW
R1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMCwxNSkgc2l6ZSA3NjB4MzY1Ci0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRl
clNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImZpbGxMaW5l
YXJHcmFkaWVudCJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAs
MCldIFtlbmQ9KDEsMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29m
ZnNldD0wLjAwXSBbY29sb3I9IzAwMDBGRl0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgUmVuZGVyU1ZHUmVz
b3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9IFtpZD0ic3Ryb2tlTGluZWFyR3Jh
ZGllbnQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBb
ZW5kPSgxLDApXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9
MS4wMF0gW2NvbG9yPSMwMDgwMDBdCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTE1
MCw3MCkgc2l6ZSA0MjB4NzggY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTYxKSBzaXplIDQyMHg3OAogICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMSBhdCAoLTE1MC4wMCw3MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQg
MTYgd2lkdGggNDIwLjAwOiAiR3JhZGllbnQgb24gZmlsbCIKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLWxhdGUtZ3JhZGllbnQtY3JlYXRpb24tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pz
LWxhdGUtZ3JhZGllbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLWxhdGUtZ3JhZGllbnQtY3Jl
YXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAotS1JlbmRl
cmluZ1BhaW50U2VydmVyIHtpZD0iZHluR3JhZCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3Rv
cHM9WygwLjAwLCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0o
MSwwKV19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApAQCAtNyw2ICs2LDYg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMjAsNzApIHNpemUgNDIweDc4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC02MSkgc2l6ZSA0MjB4NzgKICAgICAgICAg
ICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDcwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAxNiB3aWR0aCA0MjAuMDA6ICJHcmFkaWVudCBvbiBmaWxsIgotICAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBS
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJkeW5H
cmFkIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2Vu
ZD0oMSwwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAu
MDBdIFtjb2xvcj0jMDAwMEZGXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9
IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSNGRjAwMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2N1c3RvbS9qcy1sYXRlLXBhdHRlcm4tYW5kLW9iamVjdC1jcmVhdGlvbi1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vanMtbGF0ZS1wYXR0ZXJuLWFuZC1vYmplY3QtY3JlYXRpb24tZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLWxh
dGUtcGF0dGVybi1hbmQtb2JqZWN0LWNyZWF0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSwxNCArMSwxMiBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZmlsbFBhdHRl
cm4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMjB4MjBdfQotS1JlbmRlcmlu
Z1BhaW50U2VydmVyIHtpZD0ic3Ryb2tlUGF0dGVybiIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQg
KDAsMCkgc2l6ZSAyMHgyMF19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAotICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDAsOCkgc2l6ZSA2ODV4MzcyCi0gICAgICBSZW5kZXJTVkdDb250
YWluZXIge3BhdHRlcm59IGF0ICg4LDgpIHNpemUgMjZ4MjYKKyAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgwLDE1KSBzaXplIDY4NXgzNjUKKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybiB7cGF0dGVybn0gW2lkPSJmaWxsUGF0dGVybiJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNl
T25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoOCw4KSBzaXplIDE3eDE3IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik01LjAwLDUuMDAgTDE1LjAwLDUuMDAgTDE1LjAwLDE1LjAw
IEw1LjAwLDE1LjAwIFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTYsMTYpIHNp
emUgMTh4MTggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTEw
LjAwLDEwLjAwIEwyMC4wMCwxMC4wMCBMMjAuMDAsMjAuMDAgTDEwLjAwLDIwLjAwIFoiXQotICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoOCw4KSBzaXplIDI2eDI2CisgICAg
ICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0ic3Ryb2tlUGF0dGVybiJd
IFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJT
cGFjZU9uVXNlXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoOCw4KSBzaXplIDE3eDE3
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGMDBdfV0gW2RhdGE9Ik01LjAwLDUuMDAg
TDE1LjAwLDUuMDAgTDE1LjAwLDE1LjAwIEw1LjAwLDE1LjAwIFoiXQogICAgICAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoMTYsMTYpIHNpemUgMTh4MTggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDBGRl19XSBbZGF0YT0iTTEwLjAwLDEwLjAwIEwyMC4wMCwxMC4wMCBMMjAuMDAsMjAu
MDAgTDEwLjAwLDIwLjAwIFoiXQogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC0xNTAs
NzApIHNpemUgMzc1eDc4IGNvbnRhaW5zIDEgY2h1bmsocykKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLWxhdGUtcGF0dGVybi1jcmVhdGlvbi1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMt
bGF0ZS1wYXR0ZXJuLWNyZWF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy1sYXRlLXBhdHRlcm4tY3JlYXRp
b24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICsxLDExIEBACi1LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXIge2lkPSJkeW5QYXR0ZXJuIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAo
MCwwKSBzaXplIDIweDIwXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoOCwxMSkgc2l6ZSA2NTF4MjA4IFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS41MCkpIHQ9KDAuMDAsMC4wMCl9XQorICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDMzLDIxKSBzaXplIDYyNngxOTggW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjUwKSkgdD0oMC4wMCwwLjAwKX1dCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMjAsNzApIHNpemUgMzc1eDc4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC02MSkgc2l6ZSAzNzV4NzgKICAgICAgICAgICBj
aHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDcwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNl
dCAxNSB3aWR0aCAzNzUuMDA6ICJQYXR0ZXJuIG9uIGZpbGwiCi0gICAgICBSZW5kZXJTVkdDb250
YWluZXIge3BhdHRlcm59IGF0ICg4LDExKSBzaXplIDI2eDM5CisgICAgICBSZW5kZXJTVkdSZXNv
dXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0iZHluUGF0dGVybiJdIFtwYXR0ZXJuVW5pdHM9dXNl
clNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoOCwxMSkgc2l6ZSAxN3gyOCBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNNS4wMCw1LjAwIEwxNS4wMCw1LjAwIEwxNS4w
MCwxNS4wMCBMNS4wMCwxNS4wMCBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE2
LDI1KSBzaXplIDE4eDI1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2Rh
dGE9Ik0xMC4wMCwxMC4wMCBMMjAuMDAsMTAuMDAgTDIwLjAwLDIwLjAwIEwxMC4wMCwyMC4wMCBa
Il0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1n
cmFkaWVudC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtZ3JhZGllbnQtZXhwZWN0ZWQuY2hlY2tzdW0J
KHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20v
anMtdXBkYXRlLWdyYWRpZW50LWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0x
ICsxIEBACi1mZTEzYzIyNzY5YTU1ODk0MTc2MDg1ZWViNGVmZTk4ZgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKK2Q5OWUzZTA1MTllNzFhMzNmZGEzYjBlMTAyNjZkOWI5ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vanMtdXBkYXRlLWdyYWRpZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtZ3JhZGllbnQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL2pzLXVwZGF0ZS1ncmFkaWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTEgKzEsMTAgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9IkdyYWRpZW50IiBbdHlwZT1M
SU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMzAsIzAwODAwMDdGKSwgKDEuMDAsI0ZGMDAwMCld
XSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgxNTAsMTApXSBbZW5kPSg0NDAsMTApXX0K
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NDUwCiAgIFJlbmRlclNWR1Jvb3Qge3N2
Z30gYXQgKDAsMCkgc2l6ZSA0NTB4NDUwCiAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtk
ZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHts
aW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGll
bnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDEwLDEwKSBzaXplIDQzMHg4MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9
WygwLjMwLCMwMDgwMDA3RiksICgxLjAwLCNGRjAwMDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBd
IFtzdGFydD0oMTUwLDEwKV0gW2VuZD0oNDQwLDEwKV19XSBbZGF0YT0iTTEwLjAwLDEwLjAwIEw0
NDAuMDAsMTAuMDAgTDQ0MC4wMCw5MC4wMCBMMTAuMDAsOTAuMDAgWiJdCi0gICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDEwLDEwMCkgc2l6ZSA0MzB4ODAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFE
SUVOVF0gW3N0b3BzPVsoMC4zMCwjMDA4MDAwN0YpLCAoMS4wMCwjRkYwMDAwKV1dIFtib3VuZGlu
ZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDE1MCwxMCldIFtlbmQ9KDQ0MCwxMCldfV0gW2RhdGE9Ik0x
MC4wMCwxMDAuMDAgTDQ0MC4wMCwxMDAuMDAgTDQ0MC4wMCwxODAuMDAgTDEwLjAwLDE4MC4wMCBa
Il0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50
fSBbaWQ9IkdyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtzdGFydD0o
MTUwLDEwKV0gW2VuZD0oNDQwLDEwKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTAuMzBdIFtjb2xvcj0jMDA4MDAwODBdCisgICAgICAgIFJlbmRlclNWR0dy
YWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUgNDMweDgwIFtmaWxsPXtbdHlwZT1MSU5FQVIt
R1JBRElFTlRdIFtpZD0iR3JhZGllbnQiXX1dIFtkYXRhPSJNMTAuMDAsMTAuMDAgTDQ0MC4wMCwx
MC4wMCBMNDQwLjAwLDkwLjAwIEwxMC4wMCw5MC4wMCBaIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMTAsMTAwKSBzaXplIDQzMHg4MCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBb
aWQ9IkdyYWRpZW50Il19XSBbZGF0YT0iTTEwLjAwLDEwMC4wMCBMNDQwLjAwLDEwMC4wMCBMNDQw
LjAwLDE4MC4wMCBMMTAuMDAsMTgwLjAwIFoiXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXBhdHRlcm4tY2hpbGQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2pzLXVwZGF0ZS1w
YXR0ZXJuLWNoaWxkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtcGF0dGVybi1jaGlsZC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzEsMTAgQEAKLUtSZW5kZXJpbmdQYWludFNl
cnZlciB7aWQ9IlBhdHRlcm4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMjB4
MjBdfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg0NTAKICAgUmVuZGVyU1ZHUm9v
dCB7c3ZnfSBhdCAoMCwwKSBzaXplIDQ1MHg0NTAKICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdDb250YWluZXIge3Bh
dHRlcm59IGF0ICgwLDUpIHNpemUgMTV4MTUKKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVy
biB7cGF0dGVybn0gW2lkPSJQYXR0ZXJuIl0gW3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVzZV0g
W3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICg1LDUpIHNpemUgMTB4MTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZG
MDAwMF19XSBbZGF0YT0iTTUuMDAsNS4wMCBMMTUuMDAsNS4wMCBMMTUuMDAsMTUuMDAgTDUuMDAs
MTUuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDEwKSBzaXplIDEweDEw
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDEwLjAw
IEwxMC4wMCwxMC4wMCBMMTAuMDAsMjAuMDAgTDAuMDAsMjAuMDAgWiJdCi0gICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDEwLDEwKSBzaXplIDQzMHg4MCBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Ji
b3g9YXQgKDAsMCkgc2l6ZSAyMHgyMF19XSBbZGF0YT0iTTEwLjAwLDEwLjAwIEw0NDAuMDAsMTAu
MDAgTDQ0MC4wMCw5MC4wMCBMMTAuMDAsOTAuMDAgWiJdCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDEwLDEwMCkgc2l6ZSA0MzB4ODAgW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgw
LDApIHNpemUgMjB4MjBdfV0gW2RhdGE9Ik0xMC4wMCwxMDAuMDAgTDQ0MC4wMCwxMDAuMDAgTDQ0
MC4wMCwxODAuMDAgTDEwLjAwLDE4MC4wMCBaIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MTAsMTApIHNpemUgNDMweDgwIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9IlBhdHRlcm4iXX1d
IFtkYXRhPSJNMTAuMDAsMTAuMDAgTDQ0MC4wMCwxMC4wMCBMNDQwLjAwLDkwLjAwIEwxMC4wMCw5
MC4wMCBaIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTAwKSBzaXplIDQzMHg4MCBb
ZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJQYXR0ZXJuIl19XSBbZGF0YT0iTTEwLjAwLDEwMC4w
MCBMNDQwLjAwLDEwMC4wMCBMNDQwLjAwLDE4MC4wMCBMMTAuMDAsMTgwLjAwIFoiXQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXBhdHRlcm4tZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL2pzLXVwZGF0ZS1wYXR0ZXJuLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtcGF0dGVybi1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzEsMTAgQEAKLUtSZW5kZXJpbmdQYWlu
dFNlcnZlciB7aWQ9IlBhdHRlcm4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUg
MTB4MjBdfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg0NTAKICAgUmVuZGVyU1ZH
Um9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDQ1MHg0NTAKICAgICBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdDb250YWluZXIg
e3BhdHRlcm59IGF0ICgwLDUpIHNpemUgMTV4MTUKKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybiB7cGF0dGVybn0gW2lkPSJQYXR0ZXJuIl0gW3BhdHRlcm5Vbml0cz11c2VyU3BhY2VPblVz
ZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgIFJlbmRlclBh
dGgge3JlY3R9IGF0ICg1LDUpIHNpemUgMTB4MTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
I0ZGMDAwMF19XSBbZGF0YT0iTTUuMDAsNS4wMCBMMTUuMDAsNS4wMCBMMTUuMDAsMTUuMDAgTDUu
MDAsMTUuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDEwKSBzaXplIDEw
eDEwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDEw
LjAwIEwxMC4wMCwxMC4wMCBMMTAuMDAsMjAuMDAgTDAuMDAsMjAuMDAgWiJdCi0gICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDEwLDEwKSBzaXplIDQzMHg4MCBbZmlsbD17W3R5cGU9UEFUVEVSTl0g
W2Jib3g9YXQgKDAsMCkgc2l6ZSAxMHgyMF19XSBbZGF0YT0iTTEwLjAwLDEwLjAwIEw0NDAuMDAs
MTAuMDAgTDQ0MC4wMCw5MC4wMCBMMTAuMDAsOTAuMDAgWiJdCi0gICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDEwLDEwMCkgc2l6ZSA0MzB4ODAgW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0
ICgwLDApIHNpemUgMTB4MjBdfV0gW2RhdGE9Ik0xMC4wMCwxMDAuMDAgTDQ0MC4wMCwxMDAuMDAg
TDQ0MC4wMCwxODAuMDAgTDEwLjAwLDE4MC4wMCBaIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoMTAsMTApIHNpemUgNDMweDgwIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9IlBhdHRlcm4i
XX1dIFtkYXRhPSJNMTAuMDAsMTAuMDAgTDQ0MC4wMCwxMC4wMCBMNDQwLjAwLDkwLjAwIEwxMC4w
MCw5MC4wMCBaIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTAwKSBzaXplIDQzMHg4
MCBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJQYXR0ZXJuIl19XSBbZGF0YT0iTTEwLjAwLDEw
MC4wMCBMNDQwLjAwLDEwMC4wMCBMNDQwLjAwLDE4MC4wMCBMMTAuMDAsMTgwLjAwIFoiXQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vanMtdXBkYXRlLXN0b3AtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL2pzLXVwZGF0ZS1zdG9wLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9qcy11cGRhdGUtc3RvcC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzEsMTAgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZl
ciB7aWQ9IkdyYWRpZW50IiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMzAsIzAw
MDBGRiksICgxLjAwLCNGRjAwMDApXV0gW2JvdW5kaW5nIGJveCBtb2RlPTBdIFtzdGFydD0oMTAs
MTApXSBbZW5kPSg0NDAsMTApXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NDUw
CiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA0NTB4NDUwCiAgICAgUmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDEwKSBzaXplIDQzMHg4MCBbZmlsbD17W3R5cGU9TElO
RUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjMwLCMwMDAwRkYpLCAoMS4wMCwjRkYwMDAwKV1dIFti
b3VuZGluZyBib3ggbW9kZT0wXSBbc3RhcnQ9KDEwLDEwKV0gW2VuZD0oNDQwLDEwKV19XSBbZGF0
YT0iTTEwLjAwLDEwLjAwIEw0NDAuMDAsMTAuMDAgTDQ0MC4wMCw5MC4wMCBMMTAuMDAsOTAuMDAg
WiJdCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDEwMCkgc2l6ZSA0MzB4ODAgW2ZpbGw9
e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4zMCwjMDAwMEZGKSwgKDEuMDAsI0ZG
MDAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgxMCwxMCldIFtlbmQ9KDQ0MCwx
MCldfV0gW2RhdGE9Ik0xMC4wMCwxMDAuMDAgTDQ0MC4wMCwxMDAuMDAgTDQ0MC4wMCwxODAuMDAg
TDEwLjAwLDE4MC4wMCBaIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQg
e2xpbmVhckdyYWRpZW50fSBbaWQ9IkdyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9dXNlclNwYWNl
T25Vc2VdIFtzdGFydD0oMTAsMTApXSBbZW5kPSg0NDAsMTApXQorICAgICAgICBSZW5kZXJTVkdH
cmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4zMF0gW2NvbG9yPSMwMDAwRkZdCisgICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGMDAw
MF0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUgNDMweDgwIFtmaWxsPXtb
dHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iR3JhZGllbnQiXX1dIFtkYXRhPSJNMTAuMDAsMTAu
MDAgTDQ0MC4wMCwxMC4wMCBMNDQwLjAwLDkwLjAwIEwxMC4wMCw5MC4wMCBaIl0KKyAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTAwKSBzaXplIDQzMHg4MCBbZmlsbD17W3R5cGU9TElORUFS
LUdSQURJRU5UXSBbaWQ9IkdyYWRpZW50Il19XSBbZGF0YT0iTTEwLjAwLDEwMC4wMCBMNDQwLjAw
LDEwMC4wMCBMNDQwLjAwLDE4MC4wMCBMMTAuMDAsMTgwLjAwIFoiXQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vbGFyZ2UtYm91bmRpbmctYm94LXBlcmNlbnRzLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1
c3RvbS9sYXJnZS1ib3VuZGluZy1ib3gtcGVyY2VudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1
ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2xhcmdlLWJvdW5k
aW5nLWJveC1wZXJjZW50cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsOSArMSw4
IEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJteXJhZGlhbCIgW3R5cGU9UkFESUFMLUdS
QURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDgwMDApLCAoMS4wMCwjRkYwMDAwKV1dIFtjZW50ZXI9
KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz01LjAwXX0KIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi0gICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFk
aWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEw
MHgxMDAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDA4MDAw
KSwgKDEuMDAsI0ZGMDAwMCldXSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuNTAsMC41
MCldIFtyYWRpdXM9NS4wMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4w
MCwxMDAuMDAgTDAuMDAsMTAwLjAwIFoiXQorICAgIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3Jh
ZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9Im15cmFkaWFsIl0gW2dyYWRpZW50VW5pdHM9b2Jq
ZWN0Qm91bmRpbmdCb3hdIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0g
W3JhZGl1cz01LjAwXQorICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0
PTAuMDBdIFtjb2xvcj0jMDA4MDAwXQorICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbaWQ9Im15
cmFkaWFsIl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCwxMDAuMDAg
TDAuMDAsMTAwLjAwIFoiXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vcGF0dGVybi1jeWNsZS1kZXRlY3Rpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdHRlcm4tY3ljbGUtZGV0ZWN0aW9u
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2N1c3RvbS9wYXR0ZXJuLWN5Y2xlLWRldGVjdGlvbi1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTQgKzEsMTIgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImN5
Y2xlMiIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDIwLDIwKSBzaXplIDUweDMwXX0KLUtSZW5k
ZXJpbmdQYWludFNlcnZlciB7aWQ9ImN5Y2xlMSIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDIw
LDIwKSBzaXplIDUweDMwXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDUxeDMxCisgICAgICBSZW5kZXJTVkdS
ZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0iY3ljbGUyIl0gW3BhdHRlcm5Vbml0cz11c2Vy
U3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAg
IFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgNTF4MzEgW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDA4MDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZd
fV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDUwLjAwLDAuMDAgTDUwLjAwLDMwLjAwIEwwLjAwLDMwLjAw
IFoiXQotICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDB4
MAotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5
cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDIwLDIwKSBzaXplIDUweDMwXX1dIFtkYXRhPSJNMC4wMCww
LjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBMMC4wMCwxMDAuMDAgWiJdCisgICAgICBS
ZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0iY3ljbGUxIl0gW3BhdHRlcm5V
bml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2Vd
CisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlw
ZT1QQVRURVJOXSBbaWQ9ImN5Y2xlMSJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAw
IEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMTAsMTUwKSBzaXplIDQ3MngxOCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDQ3MngxOAogICAgICAgICBj
aHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZz
ZXQgNzUgd2lkdGggNDcyLjAwOiAiVGhlIHNxdWFyZSBhYm92ZSBzaG91bGQgc2hvdyBhIHBhdHRl
cm4gbm93IHRoYXQgZmlsbCBmYWxsYmFjayBpcyBzdXBwb3J0ZWQuIgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcGF0dGVybi1kZWVwLXJlZmVyZW5jaW5nLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3Rv
bS9wYXR0ZXJuLWRlZXAtcmVmZXJlbmNpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdHRlcm4tZGVlcC1yZWZl
cmVuY2luZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjggKzEsMjAgQEAKLUtS
ZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InBhdHRlcm4xZiIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9
YXQgKDAsMCkgc2l6ZSA1MHgzMF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXR0ZXJu
MWUiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgNTB4MzBdfQotS1JlbmRlcmlu
Z1BhaW50U2VydmVyIHtpZD0icGF0dGVybjFkIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCww
KSBzaXplIDUweDMwXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InBhdHRlcm4xYyIgW3R5
cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAweDMwXX0KLUtSZW5kZXJpbmdQYWludFNl
cnZlciB7aWQ9InBhdHRlcm4xYiIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAw
eDBdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0icGF0dGVybjFhIiBbdHlwZT1QQVRURVJO
XSBbYmJveD1hdCAoMCwwKSBzaXplIDB4MF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJw
YXR0ZXJuMSIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSA1MHgzMF19Ci1LUmVu
ZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXR0ZXJuMiIgW3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQg
KDAsMCkgc2l6ZSA1MHgzMF19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlclNW
R0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSA1MXgzMQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQ
YXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdHRlcm4xZiJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNl
T25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAgUmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdHRlcm4xZSJdIFtwYXR0ZXJuVW5p
dHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQor
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdHRlcm4xZCJd
IFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJT
cGFjZU9uVXNlXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9
InBhdHRlcm4xYyJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVu
dFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCww
KSBzaXplIDUxeDMxIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw1MC4w
MCwwLjAwIEw1MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBaIl0KLSAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0
dGVybn0gYXQgKDAsMCkgc2l6ZSA1MXgzMQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJu
IHtwYXR0ZXJufSBbaWQ9InBhdHRlcm4xYiJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2Vd
IFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAgUmVuZGVyU1ZHUmVz
b3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdHRlcm4xYSJdIFtwYXR0ZXJuVW5pdHM9dXNl
clNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdHRlcm4xIl0gW3BhdHRl
cm5Vbml0cz11c2VyU3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25V
c2VdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0icGF0dGVy
bjIiXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVybkNvbnRlbnRVbml0cz11
c2VyU3BhY2VPblVzZV0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSA1
MXgzMSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNTAuMDAsMC4wMCBM
NTAuMDAsMzAuMDAgTDAuMDAsMzAuMDAgWiJdCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDUw
LDEwKSBzaXplIDEwMHgxMDAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkg
dD0oNTAuMDAsMTAuMDApfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNp
emUgNTB4MzBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAw
IEwwLjAwLDEwMC4wMCBaIl0KLSAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjAwLDEwKSBzaXpl
IDEwMHgxMDAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMjAwLjAw
LDEwLjAwKX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDUweDMw
XX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBMMC4wMCwx
MDAuMDAgWiJdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDUwLDEwKSBzaXplIDEwMHgxMDAg
W3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNTAuMDAsMTAuMDApfV0g
W2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0icGF0dGVybjEiXX1dIFtkYXRhPSJNMC4wMCwwLjAw
IEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBMMC4wMCwxMDAuMDAgWiJdCisgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDIwMCwxMCkgc2l6ZSAxMDB4MTAwIFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS4wMCkpIHQ9KDIwMC4wMCwxMC4wMCl9XSBbZmlsbD17W3R5cGU9UEFUVEVS
Tl0gW2lkPSJwYXR0ZXJuMiJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAu
MDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MTAsMTUwKSBzaXplIDQzNngxOCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTE0KSBzaXplIDQzNngxOAogICAgICAgICBjaHVuayAx
IHRleHQgcnVuIDEgYXQgKDEwLjAwLDE1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNjgg
d2lkdGggNDM2LjAwOiAiVGhlIGFib3ZlIHR3byBzcXVhcmVzIHNob3VsZCBiZSBibHVlLXJlZCBw
YXR0ZXJucyBhbmQgbG9vayBpZGVudGljYWwiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2N1c3RvbS9wYXR0ZXJuLWV4Y2Vzc2l2ZS1tYWxsb2MtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdHRlcm4tZXhj
ZXNzaXZlLW1hbGxvYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcGF0dGVybi1leGNlc3NpdmUtbWFsbG9jLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICsxLDggQEAKLUtSZW5kZXJpbmdQYWludFNl
cnZlciB7aWQ9InBhdHRlcm4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgODAw
eDYwMF19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJTVkdS
b290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRh
aW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBh
dHRlcm4ge3BhdHRlcm59IFtpZD0icGF0dGVybiJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25V
c2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDgwMHg2MDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9I0ZGMDAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTIxNTc1MjE5Mi4wMCwwLjAwIEwxMjE1
NzUyMTkyLjAwLDEyMTU3NTIxOTIuMDAgTDAuMDAsMTIxNTc1MjE5Mi4wMCBaIl0KLSAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMTAsMzAwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVBBVFRF
Uk5dIFtiYm94PWF0ICgwLDApIHNpemUgODAweDYwMF19XSBbZGF0YT0iTTEwLjAwLDMwMC4wMCBM
MTEwLjAwLDMwMC4wMCBMMTEwLjAwLDQwMC4wMCBMMTAuMDAsNDAwLjAwIFoiXQorICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxMCwzMDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9UEFUVEVS
Tl0gW2lkPSJwYXR0ZXJuIl19XSBbZGF0YT0iTTEwLjAwLDMwMC4wMCBMMTEwLjAwLDMwMC4wMCBM
MTEwLjAwLDQwMC4wMCBMMTAuMDAsNDAwLjAwIFoiXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9jdXN0b20vcGF0dGVybi1pbi1kZWZzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wYXR0ZXJuLWluLWRlZnMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvY3VzdG9tL3BhdHRlcm4taW4tZGVmcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTAgKzEsOSBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JlZW4iIFt0eXBl
PVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMTAweDEwMF19CiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0
ICgwLDApIHNpemUgMTAweDEwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUg
MTAweDEwMAogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAx
MDB4MTAwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0iZ3Jl
ZW4iXSBbcGF0dGVyblVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcGF0dGVybkNvbnRlbnRVbml0
cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6
ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0w
LjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEw
MC4wMCwxMDAuMDAgTDAuMDAsMTAwLjAwIFoiXQotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgw
LDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6
ZSAxMDB4MTAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4w
MCBMMC4wMCwxMDAuMDAgWiJdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAx
MDB4MTAwIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9ImdyZWVuIl19XSBbZGF0YT0iTTAuMDAs
MC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCwxMDAuMDAgTDAuMDAsMTAwLjAwIFoiXQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcGF0dGVybi1yb3RhdGUtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9t
L3BhdHRlcm4tcm90YXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wYXR0ZXJuLXJvdGF0ZS1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMjIgKzEsMjEgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7
aWQ9InNpbXBsZWRvdHMiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMXgxXX0K
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclNWR1Jvb3Qge3N2
Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtk
ZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJu
fSBhdCAoMCwwKSBzaXplIDF4MQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0
ZXJufSBbaWQ9InNpbXBsZWRvdHMiXSBbcGF0dGVyblVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBb
cGF0dGVybkNvbnRlbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0KICAgICAgICAgUmVuZGVyUGF0
aCB7Y2lyY2xlfSBhdCAoMCwwKSBzaXplIDF4MSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
RkYwMDAwXX1dIFtkYXRhPSJNMC40MCwwLjI1IEwwLjQwLDAuMjYgTDAuNDAsMC4yNyBMMC40MCww
LjI4IEwwLjQwLDAuMjkgTDAuMzksMC4zMCBMMC4zOSwwLjMxIEwwLjM5LDAuMzEgTDAuMzgsMC4z
MiBMMC4zOCwwLjMzIEwwLjM3LDAuMzQgTDAuMzcsMC4zNSBMMC4zNiwwLjM1IEwwLjM1LDAuMzYg
TDAuMzUsMC4zNyBMMC4zNCwwLjM3IEwwLjMzLDAuMzggTDAuMzIsMC4zOCBMMC4zMSwwLjM5IEww
LjMxLDAuMzkgTDAuMzAsMC4zOSBMMC4yOSwwLjQwIEwwLjI4LDAuNDAgTDAuMjcsMC40MCBMMC4y
NiwwLjQwIEwwLjI1LDAuNDAgTDAuMjQsMC40MCBMMC4yMywwLjQwIEwwLjIyLDAuNDAgTDAuMjEs
MC40MCBMMC4yMCwwLjM5IEwwLjE5LDAuMzkgTDAuMTksMC4zOSBMMC4xOCwwLjM4IEwwLjE3LDAu
MzggTDAuMTYsMC4zNyBMMC4xNSwwLjM3IEwwLjE1LDAuMzYgTDAuMTQsMC4zNSBMMC4xMywwLjM1
IEwwLjEzLDAuMzQgTDAuMTIsMC4zMyBMMC4xMiwwLjMyIEwwLjExLDAuMzEgTDAuMTEsMC4zMSBM
MC4xMSwwLjMwIEwwLjEwLDAuMjkgTDAuMTAsMC4yOCBMMC4xMCwwLjI3IEwwLjEwLDAuMjYgTDAu
MTAsMC4yNSBMMC4xMCwwLjI0IEwwLjEwLDAuMjMgTDAuMTAsMC4yMiBMMC4xMCwwLjIxIEwwLjEx
LDAuMjAgTDAuMTEsMC4xOSBMMC4xMSwwLjE5IEwwLjEyLDAuMTggTDAuMTIsMC4xNyBMMC4xMyww
LjE2IEwwLjEzLDAuMTUgTDAuMTQsMC4xNSBMMC4xNSwwLjE0IEwwLjE1LDAuMTMgTDAuMTYsMC4x
MyBMMC4xNywwLjEyIEwwLjE4LDAuMTIgTDAuMTksMC4xMSBMMC4xOSwwLjExIEwwLjIwLDAuMTEg
TDAuMjEsMC4xMCBMMC4yMiwwLjEwIEwwLjIzLDAuMTAgTDAuMjQsMC4xMCBMMC4yNSwwLjEwIEww
LjI2LDAuMTAgTDAuMjcsMC4xMCBMMC4yOCwwLjEwIEwwLjI5LDAuMTAgTDAuMzAsMC4xMSBMMC4z
MSwwLjExIEwwLjMxLDAuMTEgTDAuMzIsMC4xMiBMMC4zMywwLjEyIEwwLjM0LDAuMTMgTDAuMzUs
MC4xMyBMMC4zNSwwLjE0IEwwLjM2LDAuMTUgTDAuMzcsMC4xNSBMMC4zNywwLjE2IEwwLjM4LDAu
MTcgTDAuMzgsMC4xOCBMMC4zOSwwLjE5IEwwLjM5LDAuMTkgTDAuMzksMC4yMCBMMC40MCwwLjIx
IEwwLjQwLDAuMjIgTDAuNDAsMC4yMyBMMC40MCwwLjI0IFoiXQogICAgICAgICBSZW5kZXJQYXRo
IHtjaXJjbGV9IGF0ICgwLDApIHNpemUgMXgxIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDgwMDBdfV0gW2RhdGE9Ik0wLjkwLDAuMjUgTDAuOTAsMC4yNiBMMC45MCwwLjI3IEwwLjkwLDAu
MjggTDAuOTAsMC4yOSBMMC44OSwwLjMwIEwwLjg5LDAuMzEgTDAuODksMC4zMSBMMC44OCwwLjMy
IEwwLjg4LDAuMzMgTDAuODcsMC4zNCBMMC44NywwLjM1IEwwLjg2LDAuMzUgTDAuODUsMC4zNiBM
MC44NSwwLjM3IEwwLjg0LDAuMzcgTDAuODMsMC4zOCBMMC44MiwwLjM4IEwwLjgxLDAuMzkgTDAu
ODEsMC4zOSBMMC44MCwwLjM5IEwwLjc5LDAuNDAgTDAuNzgsMC40MCBMMC43NywwLjQwIEwwLjc2
LDAuNDAgTDAuNzUsMC40MCBMMC43NCwwLjQwIEwwLjczLDAuNDAgTDAuNzIsMC40MCBMMC43MSww
LjQwIEwwLjcwLDAuMzkgTDAuNjksMC4zOSBMMC42OSwwLjM5IEwwLjY4LDAuMzggTDAuNjcsMC4z
OCBMMC42NiwwLjM3IEwwLjY1LDAuMzcgTDAuNjUsMC4zNiBMMC42NCwwLjM1IEwwLjYzLDAuMzUg
TDAuNjMsMC4zNCBMMC42MiwwLjMzIEwwLjYyLDAuMzIgTDAuNjEsMC4zMSBMMC42MSwwLjMxIEww
LjYxLDAuMzAgTDAuNjAsMC4yOSBMMC42MCwwLjI4IEwwLjYwLDAuMjcgTDAuNjAsMC4yNiBMMC42
MCwwLjI1IEwwLjYwLDAuMjQgTDAuNjAsMC4yMyBMMC42MCwwLjIyIEwwLjYwLDAuMjEgTDAuNjEs
MC4yMCBMMC42MSwwLjE5IEwwLjYxLDAuMTkgTDAuNjIsMC4xOCBMMC42MiwwLjE3IEwwLjYzLDAu
MTYgTDAuNjMsMC4xNSBMMC42NCwwLjE1IEwwLjY1LDAuMTQgTDAuNjUsMC4xMyBMMC42NiwwLjEz
IEwwLjY3LDAuMTIgTDAuNjgsMC4xMiBMMC42OSwwLjExIEwwLjY5LDAuMTEgTDAuNzAsMC4xMSBM
MC43MSwwLjEwIEwwLjcyLDAuMTAgTDAuNzMsMC4xMCBMMC43NCwwLjEwIEwwLjc1LDAuMTAgTDAu
NzYsMC4xMCBMMC43NywwLjEwIEwwLjc4LDAuMTAgTDAuNzksMC4xMCBMMC44MCwwLjExIEwwLjgx
LDAuMTEgTDAuODEsMC4xMSBMMC44MiwwLjEyIEwwLjgzLDAuMTIgTDAuODQsMC4xMyBMMC44NSww
LjEzIEwwLjg1LDAuMTQgTDAuODYsMC4xNSBMMC44NywwLjE1IEwwLjg3LDAuMTYgTDAuODgsMC4x
NyBMMC44OCwwLjE4IEwwLjg5LDAuMTkgTDAuODksMC4xOSBMMC44OSwwLjIwIEwwLjkwLDAuMjEg
TDAuOTAsMC4yMiBMMC45MCwwLjIzIEwwLjkwLDAuMjQgWiJdCiAgICAgICAgIFJlbmRlclBhdGgg
e2NpcmNsZX0gYXQgKDAsMCkgc2l6ZSAxeDEgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDBGRl19XSBbZGF0YT0iTTAuNDAsMC43NSBMMC40MCwwLjc2IEwwLjQwLDAuNzcgTDAuNDAsMC43
OCBMMC40MCwwLjc5IEwwLjM5LDAuODAgTDAuMzksMC44MSBMMC4zOSwwLjgxIEwwLjM4LDAuODIg
TDAuMzgsMC44MyBMMC4zNywwLjg0IEwwLjM3LDAuODUgTDAuMzYsMC44NSBMMC4zNSwwLjg2IEww
LjM1LDAuODcgTDAuMzQsMC44NyBMMC4zMywwLjg4IEwwLjMyLDAuODggTDAuMzEsMC44OSBMMC4z
MSwwLjg5IEwwLjMwLDAuODkgTDAuMjksMC45MCBMMC4yOCwwLjkwIEwwLjI3LDAuOTAgTDAuMjYs
MC45MCBMMC4yNSwwLjkwIEwwLjI0LDAuOTAgTDAuMjMsMC45MCBMMC4yMiwwLjkwIEwwLjIxLDAu
OTAgTDAuMjAsMC44OSBMMC4xOSwwLjg5IEwwLjE5LDAuODkgTDAuMTgsMC44OCBMMC4xNywwLjg4
IEwwLjE2LDAuODcgTDAuMTUsMC44NyBMMC4xNSwwLjg2IEwwLjE0LDAuODUgTDAuMTMsMC44NSBM
MC4xMywwLjg0IEwwLjEyLDAuODMgTDAuMTIsMC44MiBMMC4xMSwwLjgxIEwwLjExLDAuODEgTDAu
MTEsMC44MCBMMC4xMCwwLjc5IEwwLjEwLDAuNzggTDAuMTAsMC43NyBMMC4xMCwwLjc2IEwwLjEw
LDAuNzUgTDAuMTAsMC43NCBMMC4xMCwwLjczIEwwLjEwLDAuNzIgTDAuMTAsMC43MSBMMC4xMSww
LjcwIEwwLjExLDAuNjkgTDAuMTEsMC42OSBMMC4xMiwwLjY4IEwwLjEyLDAuNjcgTDAuMTMsMC42
NiBMMC4xMywwLjY1IEwwLjE0LDAuNjUgTDAuMTUsMC42NCBMMC4xNSwwLjYzIEwwLjE2LDAuNjMg
TDAuMTcsMC42MiBMMC4xOCwwLjYyIEwwLjE5LDAuNjEgTDAuMTksMC42MSBMMC4yMCwwLjYxIEww
LjIxLDAuNjAgTDAuMjIsMC42MCBMMC4yMywwLjYwIEwwLjI0LDAuNjAgTDAuMjUsMC42MCBMMC4y
NiwwLjYwIEwwLjI3LDAuNjAgTDAuMjgsMC42MCBMMC4yOSwwLjYwIEwwLjMwLDAuNjEgTDAuMzEs
MC42MSBMMC4zMSwwLjYxIEwwLjMyLDAuNjIgTDAuMzMsMC42MiBMMC4zNCwwLjYzIEwwLjM1LDAu
NjMgTDAuMzUsMC42NCBMMC4zNiwwLjY1IEwwLjM3LDAuNjUgTDAuMzcsMC42NiBMMC4zOCwwLjY3
IEwwLjM4LDAuNjggTDAuMzksMC42OSBMMC4zOSwwLjY5IEwwLjM5LDAuNzAgTDAuNDAsMC43MSBM
MC40MCwwLjcyIEwwLjQwLDAuNzMgTDAuNDAsMC43NCBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7
Y2lyY2xlfSBhdCAoMCwwKSBzaXplIDF4MSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODAw
MDgwXX1dIFtkYXRhPSJNMC45MCwwLjc1IEwwLjkwLDAuNzYgTDAuOTAsMC43NyBMMC45MCwwLjc4
IEwwLjkwLDAuNzkgTDAuODksMC44MCBMMC44OSwwLjgxIEwwLjg5LDAuODEgTDAuODgsMC44MiBM
MC44OCwwLjgzIEwwLjg3LDAuODQgTDAuODcsMC44NSBMMC44NiwwLjg1IEwwLjg1LDAuODYgTDAu
ODUsMC44NyBMMC44NCwwLjg3IEwwLjgzLDAuODggTDAuODIsMC44OCBMMC44MSwwLjg5IEwwLjgx
LDAuODkgTDAuODAsMC44OSBMMC43OSwwLjkwIEwwLjc4LDAuOTAgTDAuNzcsMC45MCBMMC43Niww
LjkwIEwwLjc1LDAuOTAgTDAuNzQsMC45MCBMMC43MywwLjkwIEwwLjcyLDAuOTAgTDAuNzEsMC45
MCBMMC43MCwwLjg5IEwwLjY5LDAuODkgTDAuNjksMC44OSBMMC42OCwwLjg4IEwwLjY3LDAuODgg
TDAuNjYsMC44NyBMMC42NSwwLjg3IEwwLjY1LDAuODYgTDAuNjQsMC44NSBMMC42MywwLjg1IEww
LjYzLDAuODQgTDAuNjIsMC44MyBMMC42MiwwLjgyIEwwLjYxLDAuODEgTDAuNjEsMC44MSBMMC42
MSwwLjgwIEwwLjYwLDAuNzkgTDAuNjAsMC43OCBMMC42MCwwLjc3IEwwLjYwLDAuNzYgTDAuNjAs
MC43NSBMMC42MCwwLjc0IEwwLjYwLDAuNzMgTDAuNjAsMC43MiBMMC42MCwwLjcxIEwwLjYxLDAu
NzAgTDAuNjEsMC42OSBMMC42MSwwLjY5IEwwLjYyLDAuNjggTDAuNjIsMC42NyBMMC42MywwLjY2
IEwwLjYzLDAuNjUgTDAuNjQsMC42NSBMMC42NSwwLjY0IEwwLjY1LDAuNjMgTDAuNjYsMC42MyBM
MC42NywwLjYyIEwwLjY4LDAuNjIgTDAuNjksMC42MSBMMC42OSwwLjYxIEwwLjcwLDAuNjEgTDAu
NzEsMC42MCBMMC43MiwwLjYwIEwwLjczLDAuNjAgTDAuNzQsMC42MCBMMC43NSwwLjYwIEwwLjc2
LDAuNjAgTDAuNzcsMC42MCBMMC43OCwwLjYwIEwwLjc5LDAuNjAgTDAuODAsMC42MSBMMC44MSww
LjYxIEwwLjgxLDAuNjEgTDAuODIsMC42MiBMMC44MywwLjYyIEwwLjg0LDAuNjMgTDAuODUsMC42
MyBMMC44NSwwLjY0IEwwLjg2LDAuNjUgTDAuODcsMC42NSBMMC44NywwLjY2IEwwLjg4LDAuNjcg
TDAuODgsMC42OCBMMC44OSwwLjY5IEwwLjg5LDAuNjkgTDAuODksMC43MCBMMC45MCwwLjcxIEww
LjkwLDAuNzIgTDAuOTAsMC43MyBMMC45MCwwLjc0IFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtj
aXJjbGV9IGF0ICgwLDApIHNpemUgMXgxIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkE1
MDBdfV0gW2RhdGE9Ik0wLjU1LDAuNTAgTDAuNTUsMC41MCBMMC41NSwwLjUxIEwwLjU1LDAuNTEg
TDAuNTUsMC41MSBMMC41NSwwLjUyIEwwLjU1LDAuNTIgTDAuNTUsMC41MiBMMC41NCwwLjUyIEww
LjU0LDAuNTMgTDAuNTQsMC41MyBMMC41NCwwLjUzIEwwLjU0LDAuNTMgTDAuNTMsMC41NCBMMC41
MywwLjU0IEwwLjUzLDAuNTQgTDAuNTMsMC41NCBMMC41MiwwLjU0IEwwLjUyLDAuNTUgTDAuNTIs
MC41NSBMMC41MiwwLjU1IEwwLjUxLDAuNTUgTDAuNTEsMC41NSBMMC41MSwwLjU1IEwwLjUwLDAu
NTUgTDAuNTAsMC41NSBMMC41MCwwLjU1IEwwLjQ5LDAuNTUgTDAuNDksMC41NSBMMC40OSwwLjU1
IEwwLjQ4LDAuNTUgTDAuNDgsMC41NSBMMC40OCwwLjU1IEwwLjQ4LDAuNTQgTDAuNDcsMC41NCBM
MC40NywwLjU0IEwwLjQ3LDAuNTQgTDAuNDcsMC41NCBMMC40NiwwLjUzIEwwLjQ2LDAuNTMgTDAu
NDYsMC41MyBMMC40NiwwLjUzIEwwLjQ2LDAuNTIgTDAuNDUsMC41MiBMMC40NSwwLjUyIEwwLjQ1
LDAuNTIgTDAuNDUsMC41MSBMMC40NSwwLjUxIEwwLjQ1LDAuNTEgTDAuNDUsMC41MCBMMC40NSww
LjUwIEwwLjQ1LDAuNTAgTDAuNDUsMC40OSBMMC40NSwwLjQ5IEwwLjQ1LDAuNDkgTDAuNDUsMC40
OCBMMC40NSwwLjQ4IEwwLjQ1LDAuNDggTDAuNDYsMC40OCBMMC40NiwwLjQ3IEwwLjQ2LDAuNDcg
TDAuNDYsMC40NyBMMC40NiwwLjQ3IEwwLjQ3LDAuNDYgTDAuNDcsMC40NiBMMC40NywwLjQ2IEww
LjQ3LDAuNDYgTDAuNDgsMC40NiBMMC40OCwwLjQ1IEwwLjQ4LDAuNDUgTDAuNDgsMC40NSBMMC40
OSwwLjQ1IEwwLjQ5LDAuNDUgTDAuNDksMC40NSBMMC41MCwwLjQ1IEwwLjUwLDAuNDUgTDAuNTAs
MC40NSBMMC41MSwwLjQ1IEwwLjUxLDAuNDUgTDAuNTEsMC40NSBMMC41MiwwLjQ1IEwwLjUyLDAu
NDUgTDAuNTIsMC40NSBMMC41MiwwLjQ2IEwwLjUzLDAuNDYgTDAuNTMsMC40NiBMMC41MywwLjQ2
IEwwLjUzLDAuNDYgTDAuNTQsMC40NyBMMC41NCwwLjQ3IEwwLjU0LDAuNDcgTDAuNTQsMC40NyBM
MC41NCwwLjQ4IEwwLjU1LDAuNDggTDAuNTUsMC40OCBMMC41NSwwLjQ4IEwwLjU1LDAuNDkgTDAu
NTUsMC40OSBMMC41NSwwLjQ5IEwwLjU1LDAuNTAgWiJdCiAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgwLDApIHNpemUgMTAxeDEwMQotICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoMCwwKSBzaXplIDEwMXgxMDEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAw
XX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDF4MV19XSBbZGF0
YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4wMCwxMDAuMDAgTDAuMDAsMTAwLjAwIFoi
XQorICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMXgxMDEgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBb
aWQ9InNpbXBsZWRvdHMiXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAw
LDEwMC4wMCBMMC4wMCwxMDAuMDAgWiJdCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MzcsMTkpIHNpemUgMTM1eDEzNSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDAp
KSB0PSg4MC4wMCwyMC4wMCl9XQogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgz
NiwxOCkgc2l6ZSAxMzZ4MTM3IFt0cmFuc2Zvcm09e209KCgwLjkxLDAuNDIpKC0wLjQyLDAuOTEp
KSB0PSgwLjAwLDAuMDApfV0KICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzYs
MTgpIHNpemUgMTM2eDEzNwogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDM2
LDE4KSBzaXplIDEzNngxMzcKLSAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzNiwx
OCkgc2l6ZSAxMzZ4MTM3IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBb
ZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAsMCkgc2l6ZSAxeDFdfV0gW2RhdGE9Ik0w
LjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KKyAg
ICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgzNiwxOCkgc2l6ZSAxMzZ4MTM3IFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0g
W2lkPSJzaW1wbGVkb3RzIl19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAwLjAwLDAuMDAgTDEwMC4w
MCwxMDAuMDAgTDAuMDAsMTAwLjAwIFoiXQogICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDEwLDE4OSkgc2l6ZSAyODd4NDQgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAw
KSkgdD0oMTAuMDAsMjAwLjAwKX1dCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCww
KSBzaXplIDI4N3g0NCBjb250YWlucyAzIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNWR1RTcGFu
IHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAyODB4MTQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL3BhdHRlcm4tc2l6ZS1iaWdnZXItdGhhbi10YXJnZXQtc2l6ZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vcGF0dGVybi1zaXplLWJpZ2dlci10aGFuLXRhcmdldC1zaXplLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wYXR0
ZXJuLXNpemUtYmlnZ2VyLXRoYW4tdGFyZ2V0LXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDEwICsxLDkgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InBhdHRlcm4i
IFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMjAweDEwMF0gW3BhdHRlcm4gdHJh
bnNmb3JtPXttPSgoMC4xMCwwLjAwKSgwLjAwLDAuMTApKSB0PSgwLjAwLDAuMDApfV19CiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0
ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQg
KDAsMCkgc2l6ZSAyMDB4MTAwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRl
cm59IFtpZD0icGF0dGVybiJdIFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJu
Q29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVyblRyYW5zZm9ybT17bT0oKDAuMTAs
MC4wMCkoMC4wMCwwLjEwKSkgdD0oMC4wMCwwLjAwKX1dCiAgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MEZGXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBMMC4w
MCwxMDAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMDAsMCkgc2l6ZSAx
MDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0xMDAu
MDAsMC4wMCBMMjAwLjAwLDAuMDAgTDIwMC4wMCwxMDAuMDAgTDEwMC4wMCwxMDAuMDAgWiJdCi0g
ICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1Q
QVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDIwMHgxMDBdIFtwYXR0ZXJuIHRyYW5zZm9ybT17
bT0oKDAuMTAsMC4wMCkoMC4wMCwwLjEwKSkgdD0oMC4wMCwwLjAwKX1dfV0gW2RhdGE9Ik0wLjAw
LDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KKyAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVBBVFRF
Uk5dIFtpZD0icGF0dGVybiJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAu
MDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvY3VzdG9tL3BhdHRlcm4tc2tldy10cmFuc2Zvcm1lZC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcGF0dGVybi1za2V3
LXRyYW5zZm9ybWVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wYXR0ZXJuLXNrZXctdHJhbnNmb3JtZWQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICsxLDkgQEAKLUtSZW5kZXJpbmdQYWludFNl
cnZlciB7aWQ9InBhdHRlcm4iIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMTEw
eDExMF0gW3BhdHRlcm4gdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgxLjAwLDEuMDApKSB0PSgw
LjAwLDAuMDApfV19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAxMTB4MTEwCisgICAgICBSZW5kZXJTVkdSZXNv
dXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0icGF0dGVybiJdIFtwYXR0ZXJuVW5pdHM9dXNlclNw
YWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVyblRy
YW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMS4wMCwxLjAwKSkgdD0oMC4wMCwwLjAwKX1dCiAgICAg
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTEweDExMCBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMTAuMDAsMC4wMCBM
MTEwLjAwLDExMC4wMCBMMC4wMCwxMTAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAw
XX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBMMC4wMCwx
MDAuMDAgWiJdCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtm
aWxsPXtbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDExMHgxMTBdIFtwYXR0ZXJu
IHRyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMS4wMCwxLjAwKSkgdD0oMC4wMCwwLjAwKX1dfV0g
W2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4w
MCBaIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9
e1t0eXBlPVBBVFRFUk5dIFtpZD0icGF0dGVybiJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4w
MCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdHRlcm4td2l0aC10cmFuc2Zvcm1hdGlvbi1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vcGF0dGVybi13aXRoLXRyYW5zZm9ybWF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgw
OTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wYXR0ZXJuLXdpdGgt
dHJhbnNmb3JtYXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE2ICsxLDE1
IEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXQiIFt0eXBlPVBBVFRFUk5dIFtiYm94
PWF0ICg1LDUpIHNpemUgMTB4MTBdIFtwYXR0ZXJuIHRyYW5zZm9ybT17bT0oKDQuMDAsMC4wMCko
NC4wMCw0LjAwKSkgdD0oNjQuMDAsMzIuMDApfV19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAog
ICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAxMHgxMAorICAg
ICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdCJdIFtwYXR0ZXJu
VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNl
XSBbcGF0dGVyblRyYW5zZm9ybT17bT0oKDQuMDAsMC4wMCkoNC4wMCw0LjAwKSkgdD0oNjQuMDAs
MzIuMDApfV0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSA1eDUgW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMNS4w
MCwwLjAwIEw1LjAwLDUuMDAgTDAuMDAsNS4wMCBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDUsMCkgc2l6ZSA1eDUgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19
XSBbZGF0YT0iTTUuMDAsMC4wMCBMMTAuMDAsMC4wMCBMMTAuMDAsNS4wMCBMNS4wMCw1LjAwIFoi
XQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCw1KSBzaXplIDV4NSBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMC4wMCw1LjAwIEw1LjAwLDUuMDAg
TDUuMDAsMTAuMDAgTDAuMDAsMTAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICg1LDUpIHNpemUgNXg1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGMDBdfV0gW2Rh
dGE9Ik01LjAwLDUuMDAgTDEwLjAwLDUuMDAgTDEwLjAwLDEwLjAwIEw1LjAwLDEwLjAwIFoiXQog
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDksOSkgc2l6ZSAxMjJ4MTAyCi0gICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoOSw5KSBzaXplIDEyMngxMDIgW3N0cm9rZT17W3R5cGU9UEFU
VEVSTl0gW2Jib3g9YXQgKDUsNSkgc2l6ZSAxMHgxMF0gW3BhdHRlcm4gdHJhbnNmb3JtPXttPSgo
NC4wMCwwLjAwKSg0LjAwLDQuMDApKSB0PSg2NC4wMCwzMi4wMCl9XX1dIFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNGRkZGRkZdfV0gW2RhdGE9Ik0xMC4wMCwxMC4wMCBMMTMwLjAwLDEwLjAw
IEwxMzAuMDAsMTEwLjAwIEwxMC4wMCwxMTAuMDAgWiJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoOSw5KSBzaXplIDEyMngxMDIgW3N0cm9rZT17W3R5cGU9UEFUVEVSTl0gW2lkPSJwYXQi
XX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGRkZdfV0gW2RhdGE9Ik0xMC4wMCwx
MC4wMCBMMTMwLjAwLDEwLjAwIEwxMzAuMDAsMTEwLjAwIEwxMC4wMCwxMTAuMDAgWiJdCiAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTUsNzApIHNpemUgODZ4NTkgY29udGFpbnMgMSBj
aHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTQ2KSBz
aXplIDg2eDU5CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxNS4wMCw3MC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNCB3aWR0aCA4Ni4wMDogIlRlc3QiCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wYXR0ZXJuLXktb2Zmc2V0LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9w
YXR0ZXJuLXktb2Zmc2V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wYXR0ZXJuLXktb2Zmc2V0LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDcgQEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7
aWQ9InBhdHRlcm5Vc2VyU3BhY2UiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgyMCwyMCkgc2l6
ZSA1MHgzMF19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJT
VkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAotICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSA1MXgzMQorICAgIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybiB7cGF0dGVybn0gW2lkPSJwYXR0ZXJuVXNlclNwYWNlIl0gW3BhdHRlcm5Vbml0cz11c2Vy
U3BhY2VPblVzZV0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDUxeDMxIFtzdHJva2U9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwODAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1d
IFtkYXRhPSJNMC4wMCwwLjAwIEw1MC4wMCwwLjAwIEw1MC4wMCwzMC4wMCBMMC4wMCwzMC4wMCBa
Il0KLSAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTksMTkpIHNpemUgMTAyeDYyIFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Ji
b3g9YXQgKDIwLDIwKSBzaXplIDUweDMwXX1dIFtkYXRhPSJNMjAuMDAsMjAuMDAgTDEyMC4wMCwy
MC4wMCBMMTIwLjAwLDgwLjAwIEwyMC4wMCw4MC4wMCBaIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMTksMTkpIHNpemUgMTAyeDYyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJwYXR0ZXJuVXNlclNwYWNlIl19XSBb
ZGF0YT0iTTIwLjAwLDIwLjAwIEwxMjAuMDAsMjAuMDAgTDEyMC4wMCw4MC4wMCBMMjAuMDAsODAu
MDAgWiJdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9yZXNvdXJj
ZS1jbGllbnQtcmVtb3ZhbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcmVzb3VyY2UtY2xpZW50LXJlbW92YWwtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL3Jlc291cmNlLWNsaWVudC1yZW1vdmFsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSwxOSArMSwxOCBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZCIgW3R5cGU9
TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDgwMDApLCAoMS4wMCwjMDA4MDAwKV1d
IFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4
MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9
IFtpZD0iZ3JhZCJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAs
MCldIFtlbmQ9KDEsMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29m
ZnNldD0wLjAwXSBbY29sb3I9IzAwODAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDA4MDAwXQogICAgICAgUmVuZGVyUGF0aCB7
cGF0aH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEww
LjAwLDEwMC4wMCJdCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDEw
MHgxMDAKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMCwwKSBzaXplIDEwMHgx
MDAKICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAK
LSAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9
e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjMDA4MDAwKSwgKDEuMDAsIzAw
ODAwMCldXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMCldfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEw
MC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCJdCisgICAgICAgICAgUmVuZGVy
UGF0aCB7cGF0aH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JB
RElFTlRdIFtpZD0iZ3JhZCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAu
MDAsMTAwLjAwIEwwLjAwLDEwMC4wMCJdCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0
ICgwLDApIHNpemUgMTAweDEwMAogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCww
KSBzaXplIDEwMHgxMDAKICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBz
aXplIDEwMHgxMDAKICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNp
emUgMTAweDEwMAotICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDAsMCkgc2l6ZSAx
MDB4MTAwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsIzAwODAw
MCksICgxLjAwLCMwMDgwMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX1dIFtkYXRhPSJN
MC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBMMC4wMCwxMDAuMDAiXQorICAg
ICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtb
dHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iZ3JhZCJdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEw
MC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCJdCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zdHJva2UtZmFsbGJhY2stZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3N0cm9rZS1m
YWxsYmFjay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9jdXN0b20vc3Ryb2tlLWZhbGxiYWNrLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxMiArMSwxMSBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3Jh
ZCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDgwMDApXV0gW3N0YXJ0
PSgwLDApXSBbZW5kPSgxLDApXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwODAwMF0gW3N0cm9rZSB3aWR0aD0xMC4wMF19XSBbZmlsbD17W3R5cGU9U09MSURd
IFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw5NS4wMCwwLjAwIEw5NS4wMCw5
NS4wMCBMMC4wMCw5NS4wMCBaIl0KLSAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVh
ckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNDUs
MCkgc2l6ZSAxMDV4MTAwIFtzdHJva2U9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVso
MC4wMCwjMDA4MDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0gW3N0cm9rZSB3aWR0aD0x
MC4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMTUw
LjAwLDAuMDAgTDI0NS4wMCwwLjAwIEwyNDUuMDAsOTUuMDAgTDE1MC4wMCw5NS4wMCBaIl0KKyAg
ICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJn
cmFkIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2Vu
ZD0oMSwwKV0KKyAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAw
XSBbY29sb3I9IzAwODAwMF0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTQ1LDApIHNpemUg
MTA1eDEwMCBbc3Ryb2tlPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iZ3JhZCJdIFtzdHJv
a2Ugd2lkdGg9MTAuMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBb
ZGF0YT0iTTE1MC4wMCwwLjAwIEwyNDUuMDAsMC4wMCBMMjQ1LjAwLDk1LjAwIEwxNTAuMDAsOTUu
MDAgWiJdCiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMTUwKSBzaXplIDMxMHgxOCBj
b250YWlucyAxIGNodW5rKHMpCiAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsLTE0KSBzaXplIDMxMHgxOAogICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDAuMDAs
MTUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA0NyB3aWR0aCAzMTAuMDA6ICJBYm92ZSB0
d28gZ3JlZW4gcmVjdGFuZ2xlcyBzaG91bGQgYmUgZGlzcGxheWVkLiIKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3N0cm9rZWQtcGF0dGVybi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vc3Ryb2tl
ZC1wYXR0ZXJuLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zdHJva2VkLXBhdHRlcm4tZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDE2ICsxLDE0IEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJy
ZWRUb1llbGxvdyIgW3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRjAwMDAp
LCAoMS4wMCwjRkZGRjAwKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUw
KV0gW3JhZGl1cz0wLjUwXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InBhdHRlcm4iIFt0
eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgtNi4wMCwtMTMuNTApIHNpemUgMzB4MTVdfQogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAo
MTMwLDApIHNpemUgNjcweDYwMAogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFs
R3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtwYXR0
ZXJufSBhdCAoOTcsMCkgc2l6ZSAxMTR4ODEKLSAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBh
dCAoOTcsMCkgc2l6ZSAxMTR4ODEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jNjQwMDAw
XSBbc3Ryb2tlIHdpZHRoPTEyLjAwXX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtz
dG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCNGRkZGMDApXV0gW2NlbnRlcj0oMC41MCwwLjUw
KV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdfV0gW2RhdGE9Ik02MC4wMCwyMC4w
MCBMNTkuOTIsMjIuNTEgTDU5LjY4LDI1LjAxIEw1OS4yOSwyNy41MCBMNTguNzQsMjkuOTUgTDU4
LjA0LDMyLjM2IEw1Ny4xOSwzNC43MiBMNTYuMTksMzcuMDMgTDU1LjA1LDM5LjI3IEw1My43Nyw0
MS40MyBMNTIuMzYsNDMuNTEgTDUwLjgyLDQ1LjUwIEw0OS4xNiw0Ny4zOCBMNDcuMzgsNDkuMTYg
TDQ1LjUwLDUwLjgyIEw0My41MSw1Mi4zNiBMNDEuNDMsNTMuNzcgTDM5LjI3LDU1LjA1IEwzNy4w
Myw1Ni4xOSBMMzQuNzIsNTcuMTkgTDMyLjM2LDU4LjA0IEwyOS45NSw1OC43NCBMMjcuNTAsNTku
MjkgTDI1LjAxLDU5LjY4IEwyMi41MSw1OS45MiBMMjAuMDAsNjAuMDAgTDE3LjQ5LDU5LjkyIEwx
NC45OSw1OS42OCBMMTIuNTAsNTkuMjkgTDEwLjA1LDU4Ljc0IEw3LjY0LDU4LjA0IEw1LjI4LDU3
LjE5IEwyLjk3LDU2LjE5IEwwLjczLDU1LjA1IEwtMS40Myw1My43NyBMLTMuNTEsNTIuMzYgTC01
LjUwLDUwLjgyIEwtNy4zOCw0OS4xNiBMLTkuMTYsNDcuMzggTC0xMC44Miw0NS41MCBMLTEyLjM2
LDQzLjUxIEwtMTMuNzcsNDEuNDMgTC0xNS4wNSwzOS4yNyBMLTE2LjE5LDM3LjAzIEwtMTcuMTks
MzQuNzIgTC0xOC4wNCwzMi4zNiBMLTE4Ljc0LDI5Ljk1IEwtMTkuMjksMjcuNTAgTC0xOS42OCwy
NS4wMSBMLTE5LjkyLDIyLjUxIEwtMjAuMDAsMjAuMDAgTC0xOS45MiwxNy40OSBMLTE5LjY4LDE0
Ljk5IEwtMTkuMjksMTIuNTAgTC0xOC43NCwxMC4wNSBMLTE4LjA0LDcuNjQgTC0xNy4xOSw1LjI4
IEwtMTYuMTksMi45NyBMLTE1LjA1LDAuNzMgTC0xMy43NywtMS40MyBMLTEyLjM2LC0zLjUxIEwt
MTAuODIsLTUuNTAgTC05LjE2LC03LjM4IEwtNy4zOCwtOS4xNiBMLTUuNTAsLTEwLjgyIEwtMy41
MSwtMTIuMzYgTC0xLjQzLC0xMy43NyBMMC43MywtMTUuMDUgTDIuOTcsLTE2LjE5IEw1LjI4LC0x
Ny4xOSBMNy42NCwtMTguMDQgTDEwLjA1LC0xOC43NCBMMTIuNTAsLTE5LjI5IEwxNC45OSwtMTku
NjggTDE3LjQ5LC0xOS45MiBMMjAuMDAsLTIwLjAwIEwyMi41MSwtMTkuOTIgTDI1LjAxLC0xOS42
OCBMMjcuNTAsLTE5LjI5IEwyOS45NSwtMTguNzQgTDMyLjM2LC0xOC4wNCBMMzQuNzIsLTE3LjE5
IEwzNy4wMywtMTYuMTkgTDM5LjI3LC0xNS4wNSBMNDEuNDMsLTEzLjc3IEw0My41MSwtMTIuMzYg
TDQ1LjUwLC0xMC44MiBMNDcuMzgsLTkuMTYgTDQ5LjE2LC03LjM4IEw1MC44MiwtNS41MCBMNTIu
MzYsLTMuNTEgTDUzLjc3LC0xLjQzIEw1NS4wNSwwLjczIEw1Ni4xOSwyLjk3IEw1Ny4xOSw1LjI4
IEw1OC4wNCw3LjY0IEw1OC43NCwxMC4wNSBMNTkuMjksMTIuNTAgTDU5LjY4LDE0Ljk5IEw1OS45
MiwxNy40OSBaIl0KLSAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTg4LDU4KSBzaXplIDQyNHg0
ODQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1Q
QVRURVJOXSBbYmJveD1hdCAoLTYuMDAsLTEzLjUwKSBzaXplIDMweDE1XX1dIFtkYXRhPSJNNTAu
MDAsNTAuMDAgTDQwMC4wMCw1MC4wMCBMNDAwLjAwLDQ1MC4wMCBMNTAuMDAsNDUwLjAwIFoiXQor
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCB7cmFkaWFsR3JhZGllbnR9IFtp
ZD0icmVkVG9ZZWxsb3ciXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW2NlbnRl
cj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgwLjUwLDAuNTApXSBbcmFkaXVzPTAuNTBdCisgICAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9I0ZGMDAw
MF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtj
b2xvcj0jRkZGRjAwXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBb
aWQ9InBhdHRlcm4iXSBbcGF0dGVyblVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbcGF0dGVybkNvbnRl
bnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0KKyAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBh
dCAoOTcsMCkgc2l6ZSAxMTR4ODEgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jNjQwMDAw
XSBbc3Ryb2tlIHdpZHRoPTEyLjAwXX1dIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtp
ZD0icmVkVG9ZZWxsb3ciXX1dIFtkYXRhPSJNNjAuMDAsMjAuMDAgTDU5LjkyLDIyLjUxIEw1OS42
OCwyNS4wMSBMNTkuMjksMjcuNTAgTDU4Ljc0LDI5Ljk1IEw1OC4wNCwzMi4zNiBMNTcuMTksMzQu
NzIgTDU2LjE5LDM3LjAzIEw1NS4wNSwzOS4yNyBMNTMuNzcsNDEuNDMgTDUyLjM2LDQzLjUxIEw1
MC44Miw0NS41MCBMNDkuMTYsNDcuMzggTDQ3LjM4LDQ5LjE2IEw0NS41MCw1MC44MiBMNDMuNTEs
NTIuMzYgTDQxLjQzLDUzLjc3IEwzOS4yNyw1NS4wNSBMMzcuMDMsNTYuMTkgTDM0LjcyLDU3LjE5
IEwzMi4zNiw1OC4wNCBMMjkuOTUsNTguNzQgTDI3LjUwLDU5LjI5IEwyNS4wMSw1OS42OCBMMjIu
NTEsNTkuOTIgTDIwLjAwLDYwLjAwIEwxNy40OSw1OS45MiBMMTQuOTksNTkuNjggTDEyLjUwLDU5
LjI5IEwxMC4wNSw1OC43NCBMNy42NCw1OC4wNCBMNS4yOCw1Ny4xOSBMMi45Nyw1Ni4xOSBMMC43
Myw1NS4wNSBMLTEuNDMsNTMuNzcgTC0zLjUxLDUyLjM2IEwtNS41MCw1MC44MiBMLTcuMzgsNDku
MTYgTC05LjE2LDQ3LjM4IEwtMTAuODIsNDUuNTAgTC0xMi4zNiw0My41MSBMLTEzLjc3LDQxLjQz
IEwtMTUuMDUsMzkuMjcgTC0xNi4xOSwzNy4wMyBMLTE3LjE5LDM0LjcyIEwtMTguMDQsMzIuMzYg
TC0xOC43NCwyOS45NSBMLTE5LjI5LDI3LjUwIEwtMTkuNjgsMjUuMDEgTC0xOS45MiwyMi41MSBM
LTIwLjAwLDIwLjAwIEwtMTkuOTIsMTcuNDkgTC0xOS42OCwxNC45OSBMLTE5LjI5LDEyLjUwIEwt
MTguNzQsMTAuMDUgTC0xOC4wNCw3LjY0IEwtMTcuMTksNS4yOCBMLTE2LjE5LDIuOTcgTC0xNS4w
NSwwLjczIEwtMTMuNzcsLTEuNDMgTC0xMi4zNiwtMy41MSBMLTEwLjgyLC01LjUwIEwtOS4xNiwt
Ny4zOCBMLTcuMzgsLTkuMTYgTC01LjUwLC0xMC44MiBMLTMuNTEsLTEyLjM2IEwtMS40MywtMTMu
NzcgTDAuNzMsLTE1LjA1IEwyLjk3LC0xNi4xOSBMNS4yOCwtMTcuMTkgTDcuNjQsLTE4LjA0IEwx
MC4wNSwtMTguNzQgTDEyLjUwLC0xOS4yOSBMMTQuOTksLTE5LjY4IEwxNy40OSwtMTkuOTIgTDIw
LjAwLC0yMC4wMCBMMjIuNTEsLTE5LjkyIEwyNS4wMSwtMTkuNjggTDI3LjUwLC0xOS4yOSBMMjku
OTUsLTE4Ljc0IEwzMi4zNiwtMTguMDQgTDM0LjcyLC0xNy4xOSBMMzcuMDMsLTE2LjE5IEwzOS4y
NywtMTUuMDUgTDQxLjQzLC0xMy43NyBMNDMuNTEsLTEyLjM2IEw0NS41MCwtMTAuODIgTDQ3LjM4
LC05LjE2IEw0OS4xNiwtNy4zOCBMNTAuODIsLTUuNTAgTDUyLjM2LC0zLjUxIEw1My43NywtMS40
MyBMNTUuMDUsMC43MyBMNTYuMTksMi45NyBMNTcuMTksNS4yOCBMNTguMDQsNy42NCBMNTguNzQs
MTAuMDUgTDU5LjI5LDEyLjUwIEw1OS42OCwxNC45OSBMNTkuOTIsMTcuNDkgWiJdCisgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDE4OCw1OCkgc2l6ZSA0MjR4NDg0IFtzdHJva2U9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2lkPSJwYXR0ZXJu
Il19XSBbZGF0YT0iTTUwLjAwLDUwLjAwIEw0MDAuMDAsNTAuMDAgTDQwMC4wMCw0NTAuMDAgTDUw
LjAwLDQ1MC4wMCBaIl0KICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTMwLDApIHNpemUgNTQw
eDYwMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xLjAw
LDEuMDAgTDQ0OS4wMCwxLjAwIEw0NDkuMDAsNDk5LjAwIEwxLjAwLDQ5OS4wMCBaIl0KICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyODcsMTIpIHNpemUgMjI2eDM0CiAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTMxLDIwKSBzaXplIDE4OHgxMyBjb250YWlucyAxIGNodW5r
KHMpCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LWdyYWRp
ZW50LW5vLWNvbnRlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQtZ3JhZGllbnQtbm8tY29udGVudC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vdGV4dC1ncmFkaWVudC1uby1jb250ZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSwxMSArMSwxMCBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iR3JhZGllbnQiIFt0
eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsI0ZGMDAw
MCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3N0YXJ0PSgwLDApXSBbZW5kPSg4MDAsMCldfQog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3Zn
fSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xp
bmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHR3JhZGllbnRT
dG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3Jh
ZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9IkdyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9dXNl
clNwYWNlT25Vc2VdIFtzdGFydD0oMCwwKV0gW2VuZD0oODAwLDApXQorICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkYwMDAw
XQogICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgODAweDYwMCBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEw4MDAuMDAsMC4w
MCBMODAwLjAwLDYwMC4wMCBMMC4wMCw2MDAuMDAgWiJdCiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0KICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9jdXN0b20vdXNlLW9uLXN5bWJvbC1pbnNpZGUtcGF0dGVybi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdXNlLW9u
LXN5bWJvbC1pbnNpZGUtcGF0dGVybi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdXNlLW9uLXN5bWJvbC1pbnNpZGUt
cGF0dGVybi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzEsOSBAQAotS1Jl
bmRlcmluZ1BhaW50U2VydmVyIHtpZD0icGF0MDAiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgw
LDApIHNpemUgMzB4NDVdfQotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0icGF0MDEiIFt0eXBl
PVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMzB4NDVdfQogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAo
MCwwKSBzaXplIDIyNXg0MjUKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDIy
NXg0MjUKICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgyLDMpIHNpemUgMTZ4
MjQKKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJwYXQwMCJd
IFtwYXR0ZXJuVW5pdHM9dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJT
cGFjZU9uVXNlXQogICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDIsMykgc2l6
ZSAxNngyNCBbdHJhbnNmb3JtPXttPSgoMC43NSwwLjAwKSgwLjAwLDAuNzUpKSB0PSgxMC4wMCwx
NS4wMCl9XQogICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIsMykgc2l6ZSAx
NngyNAogICAgICAgICAgICAgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIge3N2Z30gYXQgKDIs
Mykgc2l6ZSAxNngyNApAQCAtMTYsNyArMTQsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDIyNXg0
MjUKICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDQsOCkgc2l6ZSA3eDYgW3N0
cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0g
W2RhdGE9Ik0wLjAwLC05LjAwIEMwLjAwLC01LjAwLC0yLjY3LC0zLjAwLC04LjAwLC0zLjAwIl0K
ICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDksMTUpIHNpemUgOXg2IFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtk
YXRhPSJNMC4wMCwwLjAwIEMwLjAwLDQuNjcsMy4zMyw3LjAwLDEwLjAwLDcuMDAiXQogICAgICAg
ICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMiwxNSkgc2l6ZSA5eDYgW3N0cm9rZT17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2RhdGE9Ik0w
LjAwLDAuMDAgQzAuMDAsNC42NywtMy4zMyw3LjAwLC0xMC4wMCw3LjAwIl0KLSAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDgsMTEpIHNpemUgMTR4MTcKKyAgICAgIFJlbmRl
clNWR1Jlc291cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJwYXQwMSJdIFtwYXR0ZXJuVW5pdHM9
dXNlclNwYWNlT25Vc2VdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDgsMTEpIHNpemUgMTR4MTcgW3RyYW5z
Zm9ybT17bT0oKDAuNTAsMC4wMCkoMC4wMCwwLjUwKSkgdD0oMTUuMDAsMjAuMDApfV0KICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg4LDExKSBzaXplIDE0eDE3CiAgICAgICAg
ICAgICBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lciB7c3ZnfSBhdCAoOCwxMSkgc2l6ZSAxNHgx
NwpAQCAtMjksMTEgKzI3LDExIEBAIGxheWVyIGF0ICgwLDApIHNpemUgMjI1eDQyNQogICAgICAg
ICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMC4wMCwxMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMTAgd2lkdGggNjYuMDA6ICJjb25pZmVyb3VzIgogICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHt1c2V9IGF0ICg4LDgpIHNpemUgMjA1eDk0CiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDgsOCkgc2l6ZSAyMDV4OTQKLSAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBh
dCAoOCw4KSBzaXplIDIwNXg5NCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNCNDJEMjVd
IFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0gW2Jib3g9YXQgKDAs
MCkgc2l6ZSAzMHg0NV19XSBbZGF0YT0iTTAuMDAsNTAuMDAgTDEwMC4wMCwwLjAwIEwyMDAuMDAs
MjAuMDAgTDE1MC4wMCw3MC4wMCBMNTAuMDAsOTAuMDAgWiJdCisgICAgICAgICAgUmVuZGVyUGF0
aCB7cGF0aH0gYXQgKDgsOCkgc2l6ZSAyMDV4OTQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jQjQyRDI1XSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtp
ZD0icGF0MDAiXX1dIFtkYXRhPSJNMC4wMCw1MC4wMCBMMTAwLjAwLDAuMDAgTDIwMC4wMCwyMC4w
MCBMMTUwLjAwLDcwLjAwIEw1MC4wMCw5MC4wMCBaIl0KICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICg4LDEwNikgc2l6ZSAyMDV4OTYgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4w
MCwxLjAwKSkgdD0oMTAuMDAsMTEwLjAwKX1dCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMCwxMCkgc2l6ZSA3NXgxOCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwtMTQpIHNpemUgNzV4MTgKICAgICAgICAgICBjaHVu
ayAxIHRleHQgcnVuIDEgYXQgKDAuMDAsMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEw
IHdpZHRoIDc1LjAwOiAiYnJvYWRMZWF2ZSIKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNl
fSBhdCAoOCwxMDgpIHNpemUgMjA1eDk0CiAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDgsMTA4KSBzaXplIDIwNXg5NAotICAgICAgICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICg4
LDEwOCkgc2l6ZSAyMDV4OTQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jQjQyRDI1XSBb
c3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDAp
IHNpemUgMzB4NDVdfV0gW2RhdGE9Ik0wLjAwLDUwLjAwIEwxMDAuMDAsMC4wMCBMMjAwLjAwLDIw
LjAwIEwxNTAuMDAsNzAuMDAgTDUwLjAwLDkwLjAwIFoiXQorICAgICAgICAgIFJlbmRlclBhdGgg
e3BhdGh9IGF0ICg4LDEwOCkgc2l6ZSAyMDV4OTQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jQjQyRDI1XSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtp
ZD0icGF0MDEiXX1dIFtkYXRhPSJNMC4wMCw1MC4wMCBMMTAwLjAwLDAuMDAgTDIwMC4wMCwyMC4w
MCBMMTUwLjAwLDcwLjAwIEw1MC4wMCw5MC4wMCBaIl0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvY3VzdG9tL3VzZS1yZWNhbGNTdHlsZS1jcmFzaC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vdXNlLXJlY2Fs
Y1N0eWxlLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS91c2UtcmVjYWxjU3R5bGUtY3Jhc2gtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDMgKzMsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJTVkdSb290IHtzdmd9
IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVm
c30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2d9IGF0
ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDAsMCkg
c2l6ZSAweDAKKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDB4
MAorICAgICAgICAgIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNp
emUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvYmlnLXNp
emVkLWZpbHRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9maWx0ZXJzL2JpZy1zaXplZC1maWx0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9iaWctc2l6
ZWQtZmlsdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNCArMSwxMyBAQAot
S1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVO
VF0gW3N0b3BzPVsoMC4wMCwjMDA4MDAwKSwgKDAuMTAsI0ZGMDAwMCldXSBbc3RhcnQ9KDAsMCld
IFtlbmQ9KDEsMSldfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVu
ZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJTVkdIaWRk
ZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRk
ZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJl
bmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRl
clNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImdyYWRpZW50
Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0o
MSwxKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBd
IFtjb2xvcj0jMDA4MDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtv
ZmZzZXQ9MC4xMF0gW2NvbG9yPSNGRjAwMDBdCiAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRl
ciB7ZmlsdGVyfSBbaWQ9ImZpbHRlciJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0g
W3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICBbbGFzdCBwcmltaXRpdmUg
W3R5cGU9T0ZGU0VUXSAgW2R4PTAuMDAgZHk9MC4wMF1dCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgw
LDApIHNpemUgODAweDYwMCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9Wygw
LjAwLCMwMDgwMDApLCAoMC4xMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwxKV19
XSBbZGF0YT0iTTAuMDAsMC4wMCBMMjAwMDAuMDAsMC4wMCBMMjAwMDAuMDAsMjAwMDAuMDAgTDAu
MDAsMjAwMDAuMDAgWiJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkaWVudCJdfV0gW2Rh
dGE9Ik0wLjAwLDAuMDAgTDIwMDAwLjAwLDAuMDAgTDIwMDAwLjAwLDIwMDAwLjAwIEwwLjAwLDIw
MDAwLjAwIFoiXQogICAgICAgICBbZmlsdGVyPSJmaWx0ZXIiXSBSZW5kZXJTVkdSZXNvdXJjZUZp
bHRlciB7ZmlsdGVyfSBhdCAoLTIwMDAsLTIwMDApIHNpemUgMjQwMDB4MjQwMDAKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9mZURpc3BsYWNlbWVudE1hcC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0
ZXJzL2ZlRGlzcGxhY2VtZW50TWFwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmVEaXNwbGFjZW1lbnRNYXAtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE2ICsxLDE0IEBACi1LUmVuZGVyaW5nUGFp
bnRTZXJ2ZXIge2lkPSJsaW5HcmFkIiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAu
MDAsI0ZGMDAwMCksICgxLjAwLCMwMEZGMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDEpXX0K
LUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InJhZEdyYWQiIFt0eXBlPVJBRElBTC1HUkFESUVO
VF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEuMDAsIzAwRkYwMCldXSBbY2VudGVyPSgwLjUw
LDAuNTApXSBbZm9jYWw9KDAuNTAsMC41MCldIFtyYWRpdXM9MC41MF19CiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBh
dCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxH
cmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdy
YWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJsaW5HcmFkIl0gW2dyYWRpZW50VW5pdHM9b2Jq
ZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwxKV0KKyAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMw
MEZGMDBdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFk
aWVudH0gW2lkPSJyYWRHcmFkIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtj
ZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjUwXQorICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNG
RjAwMDBdCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAw
XSBbY29sb3I9IzAwRkYwMF0KICAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9
IFtpZD0iZjEiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0
cz1vYmplY3RCb3VuZGluZ0JveF0KICAgICAgICAgW3ByaW1pdHZlPSJmbG9vZDIiIFt0eXBlPUZM
T09EXSAgW2NvbG9yPSMwMDAwMDBdIFtvcGFjaXR5PTEuMDBdXQogICAgICAgICBbcHJpbWl0dmU9
ImZsb29kMSIgW3R5cGU9RkxPT0RdICBbY29sb3I9IzAwMDAwMF0gW29wYWNpdHk9MS4wMF1dCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmVUaWxlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMv
ZmVUaWxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmVUaWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSwxMiArMSwxMSBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3JhZGllbnQiIFt0
eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZGRkZGKSwgKDEuMDAsIzAwMDBG
RildXSBbc3RhcnQ9KDAsMCldIFtlbmQ9KDEsMSldfQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNp
emUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6
ZSAweDAKKyAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRp
ZW50fSBbaWQ9ImdyYWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtz
dGFydD0oMCwwKV0gW2VuZD0oMSwxKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtz
dG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkZGRkZGXQorICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwRkZdCiAgICAgICBSZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImZpbHRlcl8xIl0gW2ZpbHRlclVuaXRz
PW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdCiAg
ICAgICAgIFtsYXN0IHByaW1pdGl2ZSBbdHlwZT1USUxFXV0KICAgICAgIFJlbmRlclNWR1Jlc291
cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZmlsdGVyXzIiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91
bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz1vYmplY3RCb3VuZGluZ0JveF0KQEAgLTE0LDkgKzEz
LDkgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImZpbHRlcl8zIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5k
aW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdCiAgICAgICAgIFtsYXN0
IHByaW1pdGl2ZSBbdHlwZT1USUxFXV0KICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgw
LDApIHNpemUgNDIweDE2MAotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAx
NjB4MTYwIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZG
RiksICgxLjAwLCMwMDAwRkYpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDEpXX1dIFtkYXRhPSJN
MTAuMDAsMTAuMDAgTDExMC4wMCwxMC4wMCBMMTEwLjAwLDExMC4wMCBMMTAuMDAsMTEwLjAwIFoi
XQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxNjB4MTYwIFtmaWxsPXtb
dHlwZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iZ3JhZGllbnQiXX1dIFtkYXRhPSJNMTAuMDAsMTAu
MDAgTDExMC4wMCwxMC4wMCBMMTEwLjAwLDExMC4wMCBMMTAuMDAsMTEwLjAwIFoiXQogICAgICAg
ICBbZmlsdGVyPSJmaWx0ZXJfMSJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0
ICgtNDAsLTQwKSBzaXplIDIwMHgyMDAKLSAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNjAs
MTApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9Wygw
LjAwLCNGRkZGRkYpLCAoMS4wMCwjMDAwMEZGKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwxKV19
XSBbZGF0YT0iTTE2MC4wMCwxMC4wMCBMMjEwLjAwLDEwLjAwIEwyMTAuMDAsNjAuMDAgTDE2MC4w
MCw2MC4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNjAsMTApIHNpemUgMTAw
eDEwMCBbZmlsbD17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImdyYWRpZW50Il19XSBbZGF0
YT0iTTE2MC4wMCwxMC4wMCBMMjEwLjAwLDEwLjAwIEwyMTAuMDAsNjAuMDAgTDE2MC4wMCw2MC4w
MCBaIl0KICAgICAgICAgW2ZpbHRlcj0iZmlsdGVyXzIiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRl
ciB7ZmlsdGVyfSBhdCAoMTYwLDEwKSBzaXplIDEwMHgxMDAKLSAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgzMTksOSkgc2l6ZSAxMDF4MTAxIFtmaWxsPXtbdHlwZT1MSU5FQVItR1JBRElFTlRd
IFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgxLjAwLCMwMDAwRkYpXV0gW3N0YXJ0PSgwLDApXSBb
ZW5kPSgxLDEpXX1dIFtkYXRhPSJNMzMyLjAwLDIyLjAwIEwzODIuMDAsMjIuMDAgTDM4Mi4wMCw3
Mi4wMCBMMzMyLjAwLDcyLjAwIFoiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDMxOSw5
KSBzaXplIDEwMXgxMDEgW2ZpbGw9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkaWVu
dCJdfV0gW2RhdGE9Ik0zMzIuMDAsMjIuMDAgTDM4Mi4wMCwyMi4wMCBMMzgyLjAwLDcyLjAwIEwz
MzIuMDAsNzIuMDAgWiJdCiAgICAgICAgIFtmaWx0ZXI9ImZpbHRlcl8zIl0gUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDMxOS41MCw5LjUwKSBzaXplIDEwMHgxMDAKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9m
aWx0ZXJSZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE2ICsxLDE0IEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJsaW5HcmFk
IiBbdHlwZT1MSU5FQVItR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCMw
MEZGMDApXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDEpXX0KLUtSZW5kZXJpbmdQYWludFNlcnZl
ciB7aWQ9InJhZEdyYWQiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYw
MDAwKSwgKDEuMDAsIzAwRkYwMCldXSBbY2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuNTAs
MC41MCldIFtyYWRpdXM9MC41MF19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUg
MHgwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVu
dH0gW2lkPSJsaW5HcmFkIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFy
dD0oMCwwKV0gW2VuZD0oMSwxKV0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkYwMDAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMEZGMDBdCisgICAgICBSZW5kZXJT
VkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFkaWVudH0gW2lkPSJyYWRHcmFkIl0g
W2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtjZW50ZXI9KDAuNTAsMC41MCldIFtm
b2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjUwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRl
clNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9IzAwRkYwMF0KICAg
ICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjEiXSBbZmlsdGVyVW5p
dHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz1vYmplY3RCb3VuZGluZ0JveF0K
ICAgICAgICAgW3ByaW1pdHZlPSJmbG9vZDIiIFt0eXBlPUZMT09EXSAgW2NvbG9yPSMwMDAwMDBd
IFtvcGFjaXR5PTEuMDBdXQogICAgICAgICBbcHJpbWl0dmU9ImZsb29kMSIgW3R5cGU9RkxPT0Rd
ICBbY29sb3I9IzAwMDAwMF0gW29wYWNpdHk9MS4wMF1dCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAwMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMDMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUv
ZXJyb3IvMDAzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDMgQEAKLUtS
ZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9IiIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9
WygwLjAwLCM4MDAwMDApLCAoMS4wMCwjRkYwMDAwKV1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSww
KV19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgMzAweDIwMApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9wZXJmLzAwNS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9wZXJmLzAwNS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9o
aXhpZS9wZXJmLzAwNS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSwzIEBA
Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJ
RU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwRkYpLCAoMC4xMCwjRkY2NjAwKSwgKDAuOTAsI0ZGRkY2
NiksICgxLjAwLCMwMDAwRkYpXV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDB4NDAwCkBAIC0xMCw4ICs5LDggQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA0MDB4NDAwCiAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
LTUpIHNpemUgMzZ4NgogICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDk1LjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNyB3aWR0aCAzNi4wMDogIlRlc3Qgbm90IHN0YXJ0
ZWQuIgogICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgNDAweDQwMCBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwMC4w
MCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KLSAgICBSZW5kZXJTVkdIaWRk
ZW5Db250YWluZXIge2xpbmVhckdyYWRpZW50fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAgIFJlbmRlclNWR1Jlc291cmNl
TGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImdyYWRpZW50Il0gW2dyYWRpZW50
VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV0KKyAgICAg
IFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwMDBG
Rl0KKyAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjEwXSBbY29s
b3I9I0ZGNjYwMF0KKyAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0w
LjkwXSBbY29sb3I9I0ZGRkY2Nl0KKyAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
W29mZnNldD0xLjAwXSBbY29sb3I9IzAwMDBGRl0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvaGl4aWUvcGVyZi8wMDYtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvcGVyZi8wMDYtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvcGVyZi8w
MDYtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAotS1JlbmRlcmlu
Z1BhaW50U2VydmVyIHtpZD0iZ3JhZGllbnQiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3Bz
PVsoMC4wMCwjMDAwMEZGKSwgKDAuMTAsI0ZGNjYwMCksICgwLjkwLCNGRkZGNjYpLCAoMS4wMCwj
MDAwMEZGKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1
cz0wLjUwXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDB4NDAwCkBAIC0xMCw4ICs5
LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDB4NDAwCiAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsLTUpIHNpemUgMzZ4NgogICAgICAgICBjaHVuayAxIHRleHQgcnVu
IDEgYXQgKDEwLjAwLDk1LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNyB3aWR0aCAzNi4w
MDogIlRlc3Qgbm90IHN0YXJ0ZWQuIgogICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNp
emUgNDAweDQwMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9
Ik0wLjAwLDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0K
LSAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50fSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4
MAotICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAorICAg
IFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9Imdy
YWRpZW50Il0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtjZW50ZXI9KDAuNTAs
MC41MCldIFtmb2NhbD0oMC41MCwwLjUwKV0gW3JhZGl1cz0wLjUwXQorICAgICAgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMEZGXQorICAgICAg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMTBdIFtjb2xvcj0jRkY2NjAw
XQorICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuOTBdIFtjb2xv
cj0jRkZGRjY2XQorICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEu
MDBdIFtjb2xvcj0jMDAwMEZGXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90
ZXh0L3NlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQvc2VsZWN0aW9uLWJhY2tncm91bmQt
Y29sb3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvdGV4dC9zZWxlY3Rpb24tYmFja2dyb3VuZC1jb2xvci1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSwzIEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lk
PSJncmFkaWVudCIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCMwMDAwMDAp
LCAoMS4wMCwjRkYwMDAwKV1dIFt0cmFuc2Zvcm09e209KCgwLjcxLDAuNzEpKC0wLjcxLDAuNzEp
KSB0PSgwLjAwLDAuMDApfV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXX0KIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjM2CkBAIC03LDkgKzYsOSBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHgyMzYKICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgyMDQK
ICAgICAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoOCwxNikgc2l6ZSA2MDB4MjAwCiAgICAg
ICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQg
KDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxp
bmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJncmFkaWVudCJdIFtncmFkaWVudFVu
aXRzPW9iamVjdEJvdW5kaW5nQm94XSBbZ3JhZGllbnRUcmFuc2Zvcm09e209KCgwLjcxLDAuNzEp
KC0wLjcxLDAuNzEpKSB0PSgwLjAwLDAuMDApfV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQor
ICAgICAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0g
W2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3Rv
cH0gW29mZnNldD0xLjAwXSBbY29sb3I9I0ZGMDAwMF0KICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICg4LDI2KSBzaXplIDI0N3g1NwogICAgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDAsMzApIHNpemUgMjQ1eDIzIGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xOCkgc2l6ZSAyNDV4
MjMKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvdGV4dC9zZWxlY3Rpb24tc3R5
bGVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL3RleHQvc2VsZWN0aW9uLXN0eWxlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDU4MDkwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L3NlbGVjdGlvbi1zdHlsZXMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsMyBAQAotS1JlbmRlcmluZ1BhaW50
U2VydmVyIHtpZD0iZ3JhZDEiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwj
MDAwMDAwKSwgKDEuMDAsI0ZGRkZGRildXSBbdHJhbnNmb3JtPXttPSgoMC43MSwwLjcxKSgtMC43
MSwwLjcxKSkgdD0oMC4wMCwwLjAwKX1dIFtzdGFydD0oMCwwKV0gW2VuZD0oMSwwKV19Ci1LUmVu
ZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJncmFkMiIgW3R5cGU9TElORUFSLUdSQURJRU5UXSBbc3Rv
cHM9WygwLjAwLCNGRjAwMDApLCAoMS4wMCwjMDA4MDAwKV1dIFt0cmFuc2Zvcm09e209KCgwLjcx
LDAuNzEpKC0wLjcxLDAuNzEpKSB0PSgwLjAwLDAuMDApfV0gW3N0YXJ0PSgwLDApXSBbZW5kPSgx
LDApXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTA0CkBAIC03LDEyICs1LDEy
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDUwNAogICAgIFJlbmRlckJvZHkge2JvZHl9IGF0
ICgwLDApIHNpemUgODAweDUwNAogICAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBz
aXplIDgwMHg1MDAKICAgICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFy
R3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVu
dFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgICBSZW5kZXJTVkdHcmFk
aWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHSGlk
ZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAg
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0g
W2lkPSJncmFkMSJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbZ3JhZGllbnRU
cmFuc2Zvcm09e209KCgwLjcxLDAuNzEpKC0wLjcxLDAuNzEpKSB0PSgwLjAwLDAuMDApfV0gW3N0
YXJ0PSgwLDApXSBbZW5kPSgxLDApXQorICAgICAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMDAwXQorICAgICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jRkZGRkZGXQorICAg
ICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBb
aWQ9ImdyYWQyIl0gW2dyYWRpZW50VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtncmFkaWVudFRy
YW5zZm9ybT17bT0oKDAuNzEsMC43MSkoLTAuNzEsMC43MSkpIHQ9KDAuMDAsMC4wMCl9XSBbc3Rh
cnQ9KDAsMCldIFtlbmQ9KDEsMCldCisgICAgICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
e3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRjAwMDBdCisgICAgICAgICAgICBSZW5kZXJT
VkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDgwMDBdCiAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDksMTIpIHNpemUgNTkxeDM4NCBbdHJhbnNm
b3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMC4wMCwwLjAwKX1dCiAgICAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMzApIHNpemUgMzY4eDIzIGNvbnRhaW5zIDEg
Y2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwt
MTgpIHNpemUgMzY4eDIzCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQv
dGV4dC1ncmFkaWVudC1wb3NpdGlvbmluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L3RleHQtZ3JhZGllbnQtcG9zaXRpb25pbmct
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvdGV4dC90ZXh0LWdyYWRpZW50LXBvc2l0aW9uaW5nLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxMiArMSwxMSBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0iZ3Jh
ZGllbnQiIFt0eXBlPUxJTkVBUi1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkYwMDAwKSwgKDEu
MDAsI0ZGMDAwMCldXSBbYm91bmRpbmcgYm94IG1vZGU9MF0gW3RyYW5zZm9ybT17bT0oKDEuMjMs
MC4wMCkoMC4wMCwxLjI2KSkgdD0oLTM4Ljg3LC0zOS4yNil9XSBbc3RhcnQ9KDEyMC4wMywxNjEu
MDcpXSBbZW5kPSg0OTcuNTIsMTg0Ljc3KV19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDIwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDIwMAogICAg
IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7bGluZWFyR3JhZGllbnR9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4
MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCB7bGluZWFyR3JhZGllbnR9
IFtpZD0iZ3JhZGllbnQiXSBbZ3JhZGllbnRVbml0cz11c2VyU3BhY2VPblVzZV0gW2dyYWRpZW50
VHJhbnNmb3JtPXttPSgoMS4yMywwLjAwKSgwLjAwLDEuMjYpKSB0PSgtMzguODcsLTM5LjI2KX1d
IFtzdGFydD0oMTIwLjAzLDE2MS4wNyldIFtlbmQ9KDQ5Ny41MiwxODQuNzcpXQorICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRjAwMDBd
CisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29s
b3I9I0ZGMDAwMF0KICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDY0KSBzaXplIDY2
MHg0NgogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMTAwKSBzaXplIDY2MHg0NiBj
b250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtMzYpIHNpemUgNjYweDQ2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L3RyYW5zZm9ybXMvdGV4dC13aXRoLXBhdHRlcm4taW5zaWRlLXRyYW5zZm9ybWVkLWh0bWwtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvdHJh
bnNmb3Jtcy90ZXh0LXdpdGgtcGF0dGVybi1pbnNpZGUtdHJhbnNmb3JtZWQtaHRtbC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90
cmFuc2Zvcm1zL3RleHQtd2l0aC1wYXR0ZXJuLWluc2lkZS10cmFuc2Zvcm1lZC1odG1sLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDMgQEAKLUtSZW5kZXJpbmdQYWludFNl
cnZlciB7aWQ9InBhdDEiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMC4wNHgw
LjQwXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InBhdDIiIFt0eXBlPVBBVFRFUk5dIFti
Ym94PWF0ICgwLDApIHNpemUgMC4wNHgwLjQwXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9
InBhdDMiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMC4wM3gwLjMwXX0KLUtS
ZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InBhdDQiIFt0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgw
LDApIHNpemUgMC4wNngwLjIwXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTM2
CkBAIC0xNCwyMyArMTAsMjMgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTM2CiBsYXllciBh
dCAoNTgsODQpIHNpemUgNDAyeDQwNQogICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoNTAsNjgpIHNp
emUgNDAyeDQwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlclNWR1Jv
b3Qge3N2Z30gYXQgKDM4LDEwNSkgc2l6ZSA0Mjl4NDI5Ci0gICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge3BhdHRlcm59IGF0ICgxNTAsMTEwKSBzaXplIDE3eDE4CisgICAgICBSZW5kZXJTVkdSZXNv
dXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0icGF0MSJdIFtwYXR0ZXJuVW5pdHM9b2JqZWN0Qm91
bmRpbmdCb3hdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTUxLDExMCkgc2l6ZSAxM3gxMyBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNNS4wMCw1LjAwIEwxNS4wMCw1LjAwIEwxNS4w
MCwxNS4wMCBMNS4wMCwxNS4wMCBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE1
NCwxMTUpIHNpemUgMTJ4MTMgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBb
ZGF0YT0iTTEwLjAwLDEwLjAwIEwyMC4wMCwxMC4wMCBMMjAuMDAsMjAuMDAgTDEwLjAwLDIwLjAw
IFoiXQotICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE1MCwxMTkpIHNpemUgMzU4eDE3MyBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRF
Uk5dIFtiYm94PWF0ICgwLDApIHNpemUgMC4wNHgwLjQwXX1dIFtkYXRhPSJNMjUuMDAsMTAuMDAg
TDQ1NS4wMCwxMC4wMCBMNDU1LjAwLDcwLjAwIEwyNS4wMCw3MC4wMCBaIl0KKyAgICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxNTAsMTE5KSBzaXplIDM1OHgxNzMgW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9InBhdDEiXX1d
IFtkYXRhPSJNMjUuMDAsMTAuMDAgTDQ1NS4wMCwxMC4wMCBMNDU1LjAwLDcwLjAwIEwyNS4wMCw3
MC4wMCBaIl0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNSw4NSkgc2l6ZSAzOTV4
MTQgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsLTExKSBzaXplIDM5NXgxNAogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMjUuMDAsODUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDc1IHdpZHRoIDM5NS4wMDog
IlBhdHRlcm4gY3JlYXRlZCB1c2luZyByZWQgYW5kIGdyZWVuIHJlY3RhbmdsZXMgYXBwbGllZCB0
byBmaWxsIG9mIHJlY3RhbmdsZSIKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVybn0g
YXQgKDE0NiwxMDUpIHNpemUgMjN4MjMKKyAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiB7
cGF0dGVybn0gW2lkPSJwYXQyIl0gW3BhdHRlcm5Vbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3Bh
dHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCiAgICAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgxNDksMTA1KSBzaXplIDEyeDEzIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNG
RjAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwLjAwLDAuMDAgTDEwLjAwLDEwLjAwIEwwLjAw
LDEwLjAwIFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTU2LDEwOCkgc2l6ZSAx
M3gxMiBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMTAuMDAs
MC4wMCBMMjAuMDAsMC4wMCBMMjAuMDAsMTAuMDAgTDEwLjAwLDEwLjAwIFoiXQogICAgICAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTQ2LDExMykgc2l6ZSAxM3gxMiBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMC4wMCwxMC4wMCBMMTAuMDAsMTAuMDAgTDEw
LjAwLDIwLjAwIEwwLjAwLDIwLjAwIFoiXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MTU0LDExNSkgc2l6ZSAxMngxMyBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZGRjAwXX1d
IFtkYXRhPSJNMTAuMDAsMTAuMDAgTDIwLjAwLDEwLjAwIEwyMC4wMCwyMC4wMCBMMTAuMDAsMjAu
MDAgWiJdCi0gICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTI1LDE5MCkgc2l6ZSAzNTd4MTcy
IFtzdHJva2U9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDApIHNpemUgMC4wNHgwLjQwXSBb
c3Ryb2tlIHdpZHRoPTIwLjAwXX1dIFtkYXRhPSJNMzUuMDAsMTEwLjAwIEw0NDUuMDAsMTEwLjAw
IEw0NDUuMDAsMTUwLjAwIEwzNS4wMCwxNTAuMDAgWiJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMTI1LDE5MCkgc2l6ZSAzNTd4MTcyIFtzdHJva2U9e1t0eXBlPVBBVFRFUk5dIFtpZD0i
cGF0MiJdIFtzdHJva2Ugd2lkdGg9MjAuMDBdfV0gW2RhdGE9Ik0zNS4wMCwxMTAuMDAgTDQ0NS4w
MCwxMTAuMDAgTDQ0NS4wMCwxNTAuMDAgTDM1LjAwLDE1MC4wMCBaIl0KICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgyNSwxNzUpIHNpemUgMzA1eDE0IGNvbnRhaW5zIDEgY2h1bmsocykK
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLC0xMSkgc2l6ZSAzMDV4
MTQKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDI1LjAwLDE3NS4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgNTkgd2lkdGggMzA1LjAwOiAiUGF0dGVybiBvZiA0IHJlY3Rhbmds
ZXMgYXBwbGllZCB0byBhIHN0cm9rZSBvZiBhIHJlY3RhbmdsZS4iCi0gICAgICBSZW5kZXJTVkdD
b250YWluZXIge3BhdHRlcm59IGF0ICgxNDYsMTA1KSBzaXplIDE1eDIwCisgICAgICBSZW5kZXJT
VkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0icGF0MyJdIFtwYXR0ZXJuVW5pdHM9b2Jq
ZWN0Qm91bmRpbmdCb3hdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQogICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTQ5LDEwNSkgc2l6ZSAxMngxMyBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwxMC4wMCwwLjAw
IEwxMC4wMCwxMC4wMCBMMC4wMCwxMC4wMCBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDE0NiwxMTMpIHNpemUgMTN4MTIgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAw
MF19XSBbZGF0YT0iTTAuMDAsMTAuMDAgTDEwLjAwLDEwLjAwIEwxMC4wMCwyMC4wMCBMMC4wMCwy
MC4wMCBaIl0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNSwyMjApIHNpemUgMjkz
eDU2IGNvbnRhaW5zIDEgY2h1bmsocykKQEAgLTM5LDcgKzM1LDcgQEAgbGF5ZXIgYXQgKDU4LDg0
KSBzaXplIDQwMng0MDUKICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNSwyMzUpIHNp
emUgMjA4eDE0IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLC0xMSkgc2l6ZSAyMDh4MTQKICAgICAgICAgICBjaHVuayAxIHRleHQg
cnVuIDEgYXQgKDI1LjAwLDIzNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMzggd2lkdGgg
MjA4LjAwOiAiUGF0dGVybiBjb25zaXN0cyBvZiByZWQgYW5kIGdyZWVuIHJvd3MiCi0gICAgICBS
ZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgxNDksMTA1KSBzaXplIDIweDE1CisgICAg
ICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0icGF0NCJdIFtwYXR0ZXJu
VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9u
VXNlXQogICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTQ5LDEwNSkgc2l6ZSAxMngxMyBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwx
MC4wMCwwLjAwIEwxMC4wMCwxMC4wMCBMMC4wMCwxMC4wMCBaIl0KICAgICAgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDE1NiwxMDgpIHNpemUgMTN4MTIgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDBGRl19XSBbZGF0YT0iTTEwLjAwLDAuMDAgTDIwLjAwLDAuMDAgTDIwLjAwLDEwLjAw
IEwxMC4wMCwxMC4wMCBaIl0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNSwyNzUp
IHNpemUgMzAyeDQ0IGNvbnRhaW5zIDEgY2h1bmsocykKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvdHJhbnNmb3Jtcy90ZXh0LXdpdGgtcGF0dGVybi13aXRoLXN2Zy10cmFuc2Zv
cm0tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvdHJhbnNmb3Jtcy90ZXh0LXdpdGgtcGF0dGVybi13aXRoLXN2Zy10cmFuc2Zvcm0tZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA1ODA5MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
dHJhbnNmb3Jtcy90ZXh0LXdpdGgtcGF0dGVybi13aXRoLXN2Zy10cmFuc2Zvcm0tZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDI5ICsxLDI1IEBACi1LUmVuZGVyaW5nUGFpbnRTZXJ2
ZXIge2lkPSJwYXQxIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDAuMDR4MC40
MF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXQyIiBbdHlwZT1QQVRURVJOXSBbYmJv
eD1hdCAoMCwwKSBzaXplIDAuMDR4MC40MF19Ci1LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJw
YXQzIiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCwwKSBzaXplIDAuMDN4MC4zMF19Ci1LUmVu
ZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPSJwYXQ0IiBbdHlwZT1QQVRURVJOXSBbYmJveD1hdCAoMCww
KSBzaXplIDAuMDZ4MC4yMF19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDAsMCkgc2l6ZSAzNDd4NDYwIFt0cmFuc2Zvcm09e209KCgwLjQz
LDAuMjUpKC0wLjI1LDAuNDMpKSB0PSgwLjAwLDAuMDApfV0KLSAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7cGF0dGVybn0gYXQgKDAsNSkgc2l6ZSAxNHgxOQorICAgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdDEiXSBbcGF0dGVyblVuaXRzPW9iamVjdEJvdW5k
aW5nQm94XSBbcGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0KICAgICAgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDAsNSkgc2l6ZSAxMHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNNS4wMCw1LjAwIEwxNS4wMCw1LjAwIEwxNS4wMCwxNS4w
MCBMNS4wMCwxNS4wMCBaIl0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMTApIHNp
emUgMTJ4MTQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTEw
LjAwLDEwLjAwIEwyMC4wMCwxMC4wMCBMMjAuMDAsMjAuMDAgTDEwLjAwLDIwLjAwIFoiXQotICAg
ICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMTUpIHNpemUgMzI3eDIyNyBbc3Ryb2tlPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0
ICgwLDApIHNpemUgMC4wNHgwLjQwXX1dIFtkYXRhPSJNMjUuMDAsMTAuMDAgTDQ1NS4wMCwxMC4w
MCBMNDU1LjAwLDcwLjAwIEwyNS4wMCw3MC4wMCBaIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgwLDE1KSBzaXplIDMyN3gyMjcgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MDAwXX1dIFtmaWxsPXtbdHlwZT1QQVRURVJOXSBbaWQ9InBhdDEiXX1dIFtkYXRhPSJNMjUuMDAs
MTAuMDAgTDQ1NS4wMCwxMC4wMCBMNDU1LjAwLDcwLjAwIEwyNS4wMCw3MC4wMCBaIl0KICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNSw4NSkgc2l6ZSAzOTV4MTQgY29udGFpbnMgMSBj
aHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTExKSBz
aXplIDM5NXgxNAogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjUuMDAsODUuMDAp
IHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDc1IHdpZHRoIDM5NS4wMDogIlBhdHRlcm4gY3JlYXRl
ZCB1c2luZyByZWQgYW5kIGdyZWVuIHJlY3RhbmdsZXMgYXBwbGllZCB0byBmaWxsIG9mIHJlY3Rh
bmdsZSIKLSAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7cGF0dGVybn0gYXQgKDAsMCkgc2l6ZSAx
NXgyNAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdDIi
XSBbcGF0dGVyblVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcGF0dGVybkNvbnRlbnRVbml0cz11
c2VyU3BhY2VPblVzZV0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSA5
eDEyIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAu
MDAgTDEwLjAwLDAuMDAgTDEwLjAwLDEwLjAwIEwwLjAwLDEwLjAwIFoiXQogICAgICAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMSwzKSBzaXplIDE0eDE0IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0xMC4wMCwwLjAwIEwyMC4wMCwwLjAwIEwyMC4wMCwxMC4w
MCBMMTAuMDAsMTAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDYpIHNp
emUgNHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFtkYXRhPSJNMC4w
MCwxMC4wMCBMMTAuMDAsMTAuMDAgTDEwLjAwLDIwLjAwIEwwLjAwLDIwLjAwIFoiXQogICAgICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwxMCkgc2l6ZSAxMngxNCBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkZGRjAwXX1dIFtkYXRhPSJNMTAuMDAsMTAuMDAgTDIwLjAwLDEwLjAwIEwy
MC4wMCwyMC4wMCBMMTAuMDAsMjAuMDAgWiJdCi0gICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MCw4MSkgc2l6ZSAyODl4MjI2IFtzdHJva2U9e1t0eXBlPVBBVFRFUk5dIFtiYm94PWF0ICgwLDAp
IHNpemUgMC4wNHgwLjQwXSBbc3Ryb2tlIHdpZHRoPTIwLjAwXX1dIFtkYXRhPSJNMzUuMDAsMTEw
LjAwIEw0NDUuMDAsMTEwLjAwIEw0NDUuMDAsMTUwLjAwIEwzNS4wMCwxNTAuMDAgWiJdCisgICAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCw4MSkgc2l6ZSAyODl4MjI2IFtzdHJva2U9e1t0eXBl
PVBBVFRFUk5dIFtpZD0icGF0MiJdIFtzdHJva2Ugd2lkdGg9MjAuMDBdfV0gW2RhdGE9Ik0zNS4w
MCwxMTAuMDAgTDQ0NS4wMCwxMTAuMDAgTDQ0NS4wMCwxNTAuMDAgTDM1LjAwLDE1MC4wMCBaIl0K
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNSwxNzUpIHNpemUgMzA1eDE0IGNvbnRh
aW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LC0xMSkgc2l6ZSAzMDV4MTQKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDI1LjAw
LDE3NS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNTkgd2lkdGggMzA1LjAwOiAiUGF0dGVy
biBvZiA0IHJlY3RhbmdsZXMgYXBwbGllZCB0byBhIHN0cm9rZSBvZiBhIHJlY3RhbmdsZS4iCi0g
ICAgICBSZW5kZXJTVkdDb250YWluZXIge3BhdHRlcm59IGF0ICgwLDApIHNpemUgOXgyMAorICAg
ICAgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdDMiXSBbcGF0dGVy
blVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VP
blVzZV0KICAgICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSA5eDEyIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDEwLjAw
LDAuMDAgTDEwLjAwLDEwLjAwIEwwLjAwLDEwLjAwIFoiXQogICAgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMCw2KSBzaXplIDR4MTQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAw
MF19XSBbZGF0YT0iTTAuMDAsMTAuMDAgTDEwLjAwLDEwLjAwIEwxMC4wMCwyMC4wMCBMMC4wMCwy
MC4wMCBaIl0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNSwyMjApIHNpemUgMjkz
eDU2IGNvbnRhaW5zIDEgY2h1bmsocykKQEAgLTMyLDcgKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjUsMjM1KSBzaXpl
IDIwOHgxNCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwtMTEpIHNpemUgMjA4eDE0CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1
biAxIGF0ICgyNS4wMCwyMzUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDM4IHdpZHRoIDIw
OC4wMDogIlBhdHRlcm4gY29uc2lzdHMgb2YgcmVkIGFuZCBncmVlbiByb3dzIgotICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtwYXR0ZXJufSBhdCAoMCwwKSBzaXplIDE1eDE3CisgICAgICBSZW5k
ZXJTVkdSZXNvdXJjZVBhdHRlcm4ge3BhdHRlcm59IFtpZD0icGF0NCJdIFtwYXR0ZXJuVW5pdHM9
b2JqZWN0Qm91bmRpbmdCb3hdIFtwYXR0ZXJuQ29udGVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXQog
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDl4MTIgW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTAuMDAsMC4wMCBM
MTAuMDAsMTAuMDAgTDAuMDAsMTAuMDAgWiJdCiAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgxLDMpIHNpemUgMTR4MTQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBb
ZGF0YT0iTTEwLjAwLDAuMDAgTDIwLjAwLDAuMDAgTDIwLjAwLDEwLjAwIEwxMC4wMCwxMC4wMCBa
Il0KICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNSwyNzUpIHNpemUgMzAyeDQ0IGNv
bnRhaW5zIDEgY2h1bmsocykKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZ3JhZGllbnQt
d2l0aC0xZC1ib3VuZGluZ2JveC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9ncmFkaWVudC13aXRoLTFkLWJvdW5kaW5nYm94LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNTgwOTApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dyYWRpZW50LXdpdGgt
MWQtYm91bmRpbmdib3gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICsxLDkg
QEAKLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9ImdyYWRpZW50IiBbdHlwZT1MSU5FQVItR1JB
RElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGMDAwMCksICgxLjAwLCMwMDgwMDApXV0gW3N0YXJ0PSgw
LDApXSBbZW5kPSgxLDApXX0KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtsaW5lYXJHcmFkaWVudH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
ICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBS
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJncmFk
aWVudCJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbc3RhcnQ9KDAsMCldIFtl
bmQ9KDEsMCldCisgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0w
LjAwXSBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9w
fSBbb2Zmc2V0PTEuMDBdIFtjb2xvcj0jMDA4MDAwXQogICAgIFJlbmRlclBhdGgge2xpbmV9IGF0
ICgwLDQwKSBzaXplIDIwMHgyMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMEZGMDBd
IFtzdHJva2Ugd2lkdGg9MjAuMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbZGF0YT0iTTAuMDAsNTAuMDAgTDIwMC4wMCw1MC4wMCJdCkluZGV4OiBMYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL3JhZGlhbC1ncmFkaWVudC13aXRoLW91dHN0YW5kaW5nLWZvY2FsUG9pbnQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vcmFkaWFs
LWdyYWRpZW50LXdpdGgtb3V0c3RhbmRpbmctZm9jYWxQb2ludC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDU4MDkwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yYWRpYWwtZ3JhZGllbnQtd2l0
aC1vdXRzdGFuZGluZy1mb2NhbFBvaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwyNSArMSwyMSBAQAotS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD0icmFkMTEiIFt0eXBlPVJB
RElBTC1HUkFESUVOVF0gW3N0b3BzPVsoMC4wMCwjRkZGRkZGKSwgKDEuMDAsIzAwMDBGRildXSBb
Ym91bmRpbmcgYm94IG1vZGU9MF0gW2NlbnRlcj0oNTAsNTApXSBbZm9jYWw9KDEwMCwxMDApXSBb
cmFkaXVzPTMwLjAwXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InJhZDEyIiBbdHlwZT1S
QURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgxLjAwLCMwMDAwRkYpXV0g
W2JvdW5kaW5nIGJveCBtb2RlPTBdIFtjZW50ZXI9KDE3MCw1MCldIFtmb2NhbD0oMTIwLDApXSBb
cmFkaXVzPTMwLjAwXX0KLUtSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9InJhZDIxIiBbdHlwZT1S
QURJQUwtR1JBRElFTlRdIFtzdG9wcz1bKDAuMDAsI0ZGRkZGRiksICgxLjAwLCMwMDAwRkYpXV0g
W2NlbnRlcj0oMC41MCwwLjUwKV0gW2ZvY2FsPSgxLDEpXSBbcmFkaXVzPTAuMzBdfQotS1JlbmRl
cmluZ1BhaW50U2VydmVyIHtpZD0icmFkMjIiIFt0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0b3Bz
PVsoMC4wMCwjRkZGRkZGKSwgKDEuMDAsIzAwMDBGRildXSBbY2VudGVyPSgwLjUwLDAuNTApXSBb
Zm9jYWw9KDAsMCldIFtyYWRpdXM9MC4zMF19CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFsR3JhZGllbnR9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4
MAotICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtyYWRpYWxHcmFkaWVudH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBhdCAoMCww
KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge3JhZGlhbEdyYWRpZW50
fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0g
YXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7cmFkaWFs
R3JhZGllbnR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3Rv
cCB7c3RvcH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
IHtzdG9wfSBhdCAoMCwwKSBzaXplIDB4MAotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDAp
IHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAw
LCNGRkZGRkYpLCAoMS4wMCwjMDAwMEZGKV1dIFtib3VuZGluZyBib3ggbW9kZT0wXSBbY2VudGVy
PSg1MCw1MCldIFtmb2NhbD0oMTAwLDEwMCldIFtyYWRpdXM9MzAuMDBdfV0gW2RhdGE9Ik0wLjAw
LDAuMDAgTDEwMC4wMCwwLjAwIEwxMDAuMDAsMTAwLjAwIEwwLjAwLDEwMC4wMCBaIl0KLSAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTIwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9UkFE
SUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAwLCNGRkZGRkYpLCAoMS4wMCwjMDAwMEZGKV1dIFti
b3VuZGluZyBib3ggbW9kZT0wXSBbY2VudGVyPSgxNzAsNTApXSBbZm9jYWw9KDEyMCwwKV0gW3Jh
ZGl1cz0zMC4wMF19XSBbZGF0YT0iTTEyMC4wMCwwLjAwIEwyMjAuMDAsMC4wMCBMMjIwLjAwLDEw
MC4wMCBMMTIwLjAwLDEwMC4wMCBaIl0KLSAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwxMjAp
IHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBbc3RvcHM9WygwLjAw
LCNGRkZGRkYpLCAoMS4wMCwjMDAwMEZGKV1dIFtjZW50ZXI9KDAuNTAsMC41MCldIFtmb2NhbD0o
MSwxKV0gW3JhZGl1cz0wLjMwXX1dIFtkYXRhPSJNMC4wMCwxMjAuMDAgTDEwMC4wMCwxMjAuMDAg
TDEwMC4wMCwyMjAuMDAgTDAuMDAsMjIwLjAwIFoiXQotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgxMjAsMTIwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVJBRElBTC1HUkFESUVOVF0gW3N0
b3BzPVsoMC4wMCwjRkZGRkZGKSwgKDEuMDAsIzAwMDBGRildXSBbY2VudGVyPSgwLjUwLDAuNTAp
XSBbZm9jYWw9KDAsMCldIFtyYWRpdXM9MC4zMF19XSBbZGF0YT0iTTEyMC4wMCwxMjAuMDAgTDIy
MC4wMCwxMjAuMDAgTDIyMC4wMCwyMjAuMDAgTDEyMC4wMCwyMjAuMDAgWiJdCisgICAgICBSZW5k
ZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFkaWVudH0gW2lkPSJyYWQxMSJd
IFtncmFkaWVudFVuaXRzPXVzZXJTcGFjZU9uVXNlXSBbY2VudGVyPSg1MCw1MCldIFtmb2NhbD0o
NzEuMDAsNzEuMDApXSBbcmFkaXVzPTMwLjAwXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0
b3Age3N0b3B9IFtvZmZzZXQ9MC4wMF0gW2NvbG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRlclNW
R0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0xLjAwXSBbY29sb3I9IzAwMDBGRl0KKyAgICAg
IFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQge3JhZGlhbEdyYWRpZW50fSBbaWQ9InJh
ZDEyIl0gW2dyYWRpZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdIFtjZW50ZXI9KDE3MCw1MCldIFtm
b2NhbD0oMTQ5LjAwLDI5LjAwKV0gW3JhZGl1cz0zMC4wMF0KKyAgICAgICAgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkZGRkZGXQorICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSMwMDAwRkZd
CisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxHcmFkaWVudH0g
W2lkPSJyYWQyMSJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbY2VudGVyPSgw
LjUwLDAuNTApXSBbZm9jYWw9KDAuNzEsMC43MSldIFtyYWRpdXM9MC4zMF0KKyAgICAgICAgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jRkZGRkZGXQor
ICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9y
PSMwMDAwRkZdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IHtyYWRpYWxH
cmFkaWVudH0gW2lkPSJyYWQyMiJdIFtncmFkaWVudFVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBb
Y2VudGVyPSgwLjUwLDAuNTApXSBbZm9jYWw9KDAuMjksMC4yOSldIFtyYWRpdXM9MC4zMF0KKyAg
ICAgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0j
RkZGRkZGXQorICAgICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4w
MF0gW2NvbG9yPSMwMDAwRkZdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAx
MDB4MTAwIFtmaWxsPXtbdHlwZT1SQURJQUwtR1JBRElFTlRdIFtpZD0icmFkMTEiXX1dIFtkYXRh
PSJNMC4wMCwwLjAwIEwxMDAuMDAsMC4wMCBMMTAwLjAwLDEwMC4wMCBMMC4wMCwxMDAuMDAgWiJd
CisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEyMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0
eXBlPVJBRElBTC1HUkFESUVOVF0gW2lkPSJyYWQxMiJdfV0gW2RhdGE9Ik0xMjAuMDAsMC4wMCBM
MjIwLjAwLDAuMDAgTDIyMC4wMCwxMDAuMDAgTDEyMC4wMCwxMDAuMDAgWiJdCisgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDAsMTIwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVJBRElBTC1H
UkFESUVOVF0gW2lkPSJyYWQyMSJdfV0gW2RhdGE9Ik0wLjAwLDEyMC4wMCBMMTAwLjAwLDEyMC4w
MCBMMTAwLjAwLDIyMC4wMCBMMC4wMCwyMjAuMDAgWiJdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDEyMCwxMjApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9UkFESUFMLUdSQURJRU5UXSBb
aWQ9InJhZDIyIl19XSBbZGF0YT0iTTEyMC4wMCwxMjAuMDAgTDIyMC4wMCwxMjAuMDAgTDIyMC4w
MCwyMjAuMDAgTDEyMC4wMCwyMjAuMDAgWiJdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL1czQy1TVkctMS4xL21hc2tpbmctbWFzay0wMS1iLWV4cGVjdGVkLnBuZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWlt
ZS10eXBlID0gaW1hZ2UvcG5nCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBZUFBQUFGb0NBWUFB
QUNQTnlnZ0FBQURPMmxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGCmxFdG8xRkFVaHYrTUtZSzBn
cWkxRnBUZ1FvdTBKVDdRaWxEYmFiWFdrWEVZKzlBaXlEUnpaeHBOTXpHWkdSK0lTRUhjK1ZxS0d4
K0kKaXlyaVFycFFjS1VMa1VMcmExRUVjYVVpaUVJM1VzYi9KdTFNS2xZdkpQbHl6bi9QNjRZQVZR
OVRqbU5GTkdEWXpydkpycWgyNlBDQQp0bmdDVmFoQk5iaFNodWUwSnhMN2ZhWldQdWV2NmJkUXBH
V3lTY2FLOVIyWStMUnQ5ZjFMajJMdjY1NzIrcDc1K25sdk5TNFRBb3BHCjY0cHN3RnNsRHdhOFYv
TEp2Sk9uNW9oa1l5aVZKanZrUnJjbjJVRytRVjZhRGZGZ2lOUENNNENxTm1weWh1TXlUbVFGdWFW
b1pHWE0KVWJKdXAwMmJQQ1h0YWM4WXBvYjlSbjdJV2RER2xZOEJyV3VBUlM4cnRnRVBHTDBMckZw
ZnNUWFVBU3Y3Z2JFdEZkdlBwRDhmcFhiYwp5MnpaN0lkVHFxT3M2VU9wOUhNOXNQZ2FNSE8xVlBw
MXExU2F1YzBjck9PWlpSVGNvcTlsWWNvcklLZzMyTTM0eVRsYWlJT2VmRlVMCmNKTno3RjhDeEM0
QTF6OENHeDRBeXg4RGlScWdad2NpNTlsdWNPWEZLYzRGNk1nNXAxMHpPNVRYTnV2NmRxMmRSeXUw
YnR0b2J0UlMKbHFYNUxrOXpoU2Zjb2tnM1k5Z3FjTTcrV3NaN3RiQjdEL0xKL2lMbmhMZDdscFdS
ZEtxVHMwUXoyL3FTRnAyN3lZM2tleGx6VHplNQpnZGRVeHQzVEc3Q3kwY3gzOXdRYzZiT3RPTTlG
YWlKMTltRDhBSm54RmRYSlIrVThKSTk0eFlNeXBtOC9sdHFYSU5mVG5qeWVpMGxOCkxmZTJuUm5x
NFJsSlZxd3pReDN4V1g3dEZwSXk3enBxN2ppVy84Mnp0c2h6SElZRkFSTTI3elkwSk5HRktKcmd3
RVVPR1hwTUtreGEKcFYvUWFzTEQ4YjhxTFNUS3V5d3F1dkNaZXo3N2UwNmd3TjB5ZmgraWNZdzBs
aU5vK2p2OW0vNUd2Nm5mMGI5ZXFTODBWRHdqN2xIVApHTC84blhGbFpsbU5qQnZVS09QTG1vTDRC
cXR0cDlkQ2x0WmhYa0ZQWGxuZkZLNHVZMStwTDNzMG1VTmNqRStIdWhTaFRFMFlaRHpaCnRleStT
TGI0SnZ4OGM5a1dtaDYxTDg0K3FhdmtlcU9PSFptc2ZuRTJYQTFyLzdPcllOS3lxL0RralpBdVBH
dWhybFUzcWQxcWk3b0QKbXJwTGJWTmIxVTYrN1ZUM2wzZjBjbFltVHJKdWw5V24ySU9OMC9SV1Ry
b3lXd1QvRm40eC9DOTFDVnU0cHFISmYyakN6V1ZNUy9pTwo0UFlmZDBqNUwvd05BWVVWRFh4TE96
c0FBQ0FBU1VSQlZIZ0I3WDBIdkZYRjlmVkdRQVRwQWlvV2lnaFlzV0dOaWdnV3NLRW1scjlkCjBW
Zy9vMktzTkFzbUdvTm83TkVveGhxeEc1WFlVT3dGSzJCSHNTTTJRQkR4ZnJQbXVTOXo1NTE2eTN1
M3JIMS83ODQ1VS9iTXJIUGYKV1dmdm1UUFRKR05rMUtoUlFpRUNSSUFJRUFFaVFBUWFCb0V4WTha
SU0zeU5IVHRXUm84ZTNUQzFzaFlpUUFTSUFCRWdBaldNQUhnWAowZ3hmSTBlT0ZGckJRSUpDQkln
QUVTQUNSS0QwQ1B6NjY2K3lUT21yWVExRWdBZ1FBU0pBQklpQWp3QUoyRWVFNTBTQUNCQUJJa0FF
CkdnQUJFbkFEZ013cWlBQVJJQUpFZ0FqNENKQ0FmVVI0VGdTSUFCRWdBa1NnQVJBZ0FUY0F5S3lD
Q0JBQklrQUVpSUNQQUFuWVI0VG4KUklBSUVBRWlRQVFhQUFIN0dsS1NlcFlzV1NLWU5oMG16Wm8x
a3laTm1vUWxGeTErd1lJRjhza25uMGkzYnQxa3VlV1dLNXJlaGxDMAplUEZpYWQ2OGVVTlV4VHFJ
QUJFZ0FrU2d6QkZJYkFIdnUrKytzdXl5eTRiKy9lOS8veXU0cTlEeCtPT1BoK3E1N2JiYnBIMzc5
dEt2Clh6K1pNbVZLYUw1eVRQajIyMjh0ZGpObXpDakg1aFhjcHJoclYzQUZWRUFFaUFBUnFESUVF
aFB3K1BIajVlMjMzN1ovNDhhTms1WXQKVzJiUEViL2xsbHNXRE0yeHh4NHJIMy84Y2FpZUs2KzhV
b1lQSHk2d2duZllZWWZRZkV4b2VBVGlybDNEdDRnMUVnRWlRQVRLRzRIRQpCTHpLS3F2SVdtdXRa
Zis2ZHUwcXl5eXpUUFljOGNzdnY3enQ2WGZmZlNjSEhYU1FkT25TUmJwMzcyNlh1SFJkMTlkZWU2
MnNzY1lhCjBxWk5HMHZheno3N3JDMTMyR0dIeVVjZmZTUm5uWFZXNExLWVE0WU1rUmRlZUVIdXV1
c3UyWDMzM1cyWlR6LzlWUDd3aHo5SXg0NGQKYlYwbys4c3Z2OWkwYjc3NVJ0WmZmMzI1K2VhYlpj
VVZWNVNUVHo3WnhydGZhQ3Z5UFByb283TEpKcHZJU2l1dEpLZWZmcm9nZm84OQo5ckI5T09LSUkr
VHJyNy9PRm52MzNYY0ZiVUgvT25mdWJOdUNkcWlFOVUvVE5Yenl5U2Rsd3cwM2xLZWZmbHFqY3NJ
d1BXZ0wydnpaClo1OWw4OTk0NDQxeXdBRUgySFB0RTNCYWUrMjFyYXQreElnUmdpRUVTRnc2OHFU
Rk5lN2FRU2VGQ0JBQklrQUVQQVRNR3RBWnN4UWwKOW1SSUxEZmNjRVBHRUc1Zy9nRURCbVQ2OSsr
ZmVlQ0JCekxHWXMwWXNzNmdEc2hiYjcyVk1XUEZHVU1ZbWRkZWV5MWp5QzNUcVZPbgpqQmtiemJ6
NTVwdVoxVlpiTFdOSU5QUGVlKy9WMC8zeXl5OW5ES0ZrVGpqaGhNd3JyN3lTTVlSaTY5bG9vNDB5
OTl4elQyYkNoQWtaClE0cVprMDQ2eVpiOTRvc3ZNcWFyR2ZOd2tEbnZ2UE15dDk1NmF6MmRjK2JN
c1hsNjkrNXRkVng2NmFYMmZNMDExOHlZdFRvenhxMmEKNmRHalJ3YnhFRVB1R2ZNZ2tqbnd3QU16
TDc3NFlzYTR4RFBtSVNOenlDR0gyUFNvL3MyZE85ZnFuajU5ZXViMTExL1BHRmQ2VnE4dAo3SHhG
NlRIa2FQVjgrT0dIMlJKLys5dmZNcHR2dnJrOTF6NzE3Tmt6TTNYcTFJd2g0b3daTDg5ZWc3ajBm
SENOdTNiWmh2S0FDQkFCCklrQUU3UDBZdkF0cnMyZ0ViS3haU3c0Z1NCV1F0YkYyTFdHQ2xFRThu
My8rdVUzKzhjY2ZNM2ZjY1VmR3VKVHRPWWp3WC8vNmx4YXQKRjI2MjJXYVp2Ly85N3piK3YvLzly
NjBMTjM4VnBKbHg2Z3owS2dHai9qQlJNbkx6Z0xpMjNYYmJiSkhUVGpzdHM5dHV1OWx6NlB6VApu
LzZVK2Y3Nzc3UHBaNTU1Wm1hTExiYXc1MUg5VXdKR3UvRlFnb2VDTUluU2s1U0F6ei8vL0t4NlBK
emdHa0MwejJIcCtlSWFkKzJ5CmplRUJFU0FDUktER0VWRGVUVHdMMmpPY0EwOE5HVXFMRmkza0gv
LzRSemJka0pVWVFwVFpzMmZMMWx0dkxTdXZ2TEoxRnc4ZVBGajIKMldjZjYrckZlSEphd1dRbTZG
cG5uWFd5UlRFdWJBaFNqQVZ0MDVEZ3BtY3plZ2Q5Ky9iTnhzQzlicXo0N0htSERoMEVFNmdnY0dW
ZgplT0dGTW5ueVpIbnBwWmZFV01IeXpEUFB5T3FycjI3VG8vcTNjT0ZDbXdldVltQ3kxMTU3MmZP
Z3J5ZzkycGFnY203Y3dJRURzNmZvCkQ2N0JyRm16cEhYcjFqWStMTDJZdUdZYndBTWlRQVNJQUJH
b2gwRGlNZUI2SlFNaWNKTUhtWUtROUcrOTlkWVRiTDJFMTI4dzd2dmMKYzgrSmNabmFpVlFISDN5
d2JMREJCdkxWVjE4RmFJdU9tamR2bmgzN2RYUGgxU1NJK3pvVVprM0hTYnQyN1hLeWhEMFFvTTVO
TjkzVQpqbkViTjdFZEM5NS8vLzJ6WlpQMGI5aXdZYkxqamp2S0gvLzR4Mnc1L3lDSkh2TUFtUzMy
ODg4L1o0LzFvRmV2WG5vb2VLaUFMRnEwCktCc1hsbDVNWExPVjhZQUlFQUVpUUFUcUlWQlVBamJ1
V3p2SkI1T3dzTVVoL2pDSkNUZjdGVlpZUVdiT25HbGZNOEtNV1V4OGV2LzkKOStYTEw3OFU0L2Fz
MTdDNENOUUZFa1I1RlRPK0tuZ2YyYlZvTmEwWTRaMTMzaWtmZlBDQnZQUE9PM0xMTGJmSVVVY2RK
U0JDbldTVwpwSCtZREdiR2xPWDU1NThYNDI0UGJGYVVIcndLQnBrL2YzNjJiTkRNY1dDckFxdTJW
YXRXOWpwb1hGaDZZK0NxYldKSUJJZ0FFYWdsCkJJcEt3SEFyWTdhMDhXL2JtY040WGVqb280OFd2
TDhMNG9BYkZyT1d6Uml4eFJqbldKeENMVmNzckFIM3NVc3VZUmRqbDExMkVUT0IKUzhhT0hXdGR4
Q0F0elBZZE5HaVFkWU9IbFNza0hnOFJzQ0xWblR4dDJqU1pPSEZpMXJLTTY1L1diU1oyeVJsbm5D
R25uSEtLbURGWgpqYzZHVVhyZ0VvZFZqOW5kSUg2MEFmaTZGakVVWVVZNEZpekJBNE1acDdhNFkr
YTZTbGg2dnJpbXVYYmFCb1pFZ0FnUWdWcEdZT2tkCnVRZ293TXFhTkdtU2ZWM0l6R2lXVlZkZDFS
SXNMRDRJRnRBQThjQU5pMWQ0ekF4bVM1cG0wcE5OMzN2dnZRWHZHR05zT0U3YXRtMXIKNjNyNDRZ
ZHRQWGlsQjNHMzMzNTdYTkc4MC9INjBkQ2hRNlZQbno0Q0VvVjFqNGNOdkQ0RjkzdGMvOXlLVHoz
MVZPc1ZDSG85S2twUAowNlpONVpKTExyRi9HTS9GV1BLSko1Nlk0M1pIUFhoWWdDY0FRd0FnN1N1
dXVNS3RQalE5WDF6VFhMdWNodkNFQ0JBQklsQ2pDRFF4CkJKS0JKWVZ4Mm1JSzNsZkZ1OEVnNVNE
QmU2eVkxQVJDY1FYV0h5dzFkYlc2YVdISFpuYXl0UW9iYW1sS1dPaG9KMGd1VE1MNkY1WS8KTEQ1
TUQ5NTN4dGk1anU5cWViei9ETThBM003d1J1RGFnbFJWNHRJMUg4SzB1T1p6N2R6NmVFd0VpQUFS
cUFVRXdMZTROeGQxRnJRTApIQ3pjS1BHSlEvUG1RNkpZUUtNaEJROFd1dkJJV0wxaC9RdkxIeFlm
cGdkajNXRnBxa3RuUE91NUg4YWxwOFUxbjJ2bnQ0bm5SSUFJCkVJRmFRYUNvTHVoYUFhMmMrd2xp
TnU5TDI5bm9RZTJNU3c4cXd6Z2lRQVNJQUJFb1BnSWxzNENMMzFScVRJSUFYcW5DcTE1aEVwY2UK
Vm83eFJJQUlFQUVpVUZ3RWFBRVhGMDlxSXdKRWdBZ1FBU0tRQ0FFU2NDS1ltSWtJRUFFaVFBU0lR
SEVSSUFFWEYwOXFJd0pFZ0FnUQpBU0tRQ0FFU2NDS1ltSWtJRUFFaVFBU0lRSEVSSUFFWEYwOXFJ
d0pFZ0FnUUFTS1FDQUVTY0NLWW1Ja0lFQUVpUUFTSVFIRVJTUDRhClVwTW14YTJaMmdwRHdOa05x
VEJGTEUwRWlBQVJJQUtOZ1FBdDRNWkFuWFVTQVNKQUJJaEF6U05BQXE3NW53QUJJQUpFZ0FnUWdj
WkEKZ0FUY0dLaXpUaUpBQklnQUVhaDVCRWpBTmY4VElBQkVnQWdRQVNMUUdBaVFnQnNEZGRaSkJJ
Z0FFU0FDTlk4QUNiam1md0lFZ0FnUQpBU0pBQkJvREFSSndZNkRPT29rQUVTQUNSS0RtRVNBQjEv
eFBnQUFRQVNKQUJJaEFZeUJBQW00TTFGa25FU0FDUklBSTFEd0NKT0NhCi93a1FBQ0pBQklnQUVX
Z01CRWpBallFNjZ5UUNSSUFJRUlHYVI0QUVYUE0vQVFKQUJJZ0FFU0FDallFQUNiZ3hVR2VkUklB
SUVBRWkKVVBNSWtJQnIvaWRBQUlnQUVTQUNSS0F4RUNBQk53YnFySk1JRUFFaVFBUnFIZ0VTY00z
L0JBZ0FFU0FDUklBSU5BWUNKT0RHUUoxMQpFZ0VpUUFTSVFNMGpRQUt1K1o4QUFTQUNSSUFJRUlI
R1FJQUUzQmlvczA0aVFBU0lBQkdvZVFTYTFSb0NUVElpK0N1RlpKclU2VVlJClFUMGFWeGRUek8v
NnowNFp5VWdUODBFWUpKcUdzQlRpMTUra3ZsL2wxMUkwaFRxSkFCRWdBbVdQUU0wUjhETG1mcThF
ck9Tb2hCbDMKdGVJSTFkZFgwdnhOUUc5MVpCdEdxSEdFNktmSDlyL0Erbno5WVE4S2ZqNmVFd0Vp
UUFTcUVZR2FKR0M5a0VyRUdtcThoajZCZ21CQgo0R0dFclhvMGhCNzNXUFZxcUdrYXBzcS9USjBG
SEVhK1Z0ZHZscTZiSitqWWpkTzJhWGtsYVp6amVCbnpDU05PMWFPaDZrQVlKRzYrCm9IVEdFUUVp
UUFTcUdZR2FKdUFrRm1zUU9icHhhWDRjU2VwTHJpL2VCUTJDY3duVTE2MXBTcWhCK1YyUzFHTU5m
WDF4NTBIMXhaVmgKT2hFZ0FrU2dXaEdvT1FKdXVxUjRsN0pRUWkyc2ZOUGlkU1JQVFVHRXFuRkpW
Q3J4SjhuTFBFU0FDQkNCYWtPZzVnallkU0hEa2xVUwp4SVhWWTRSQkVwYy9iWHBRSFc2YzM1NWMv
WFd1WUxWYTNYSjZyR2xxc1NvNUt2SEZwYXNlRGVQeXAwMVh2UXlKUURVaDhOMTMzMG5UCnBrMmxU
WnMyMWRRdDlxVUVDTlQzWTVhZ2tuSlNDUklEQ2V0a0xBMDFYa1BONDRhYWh0QTkxanh1SEk1aGJX
dm9IaU11eVorMkxWQy8KY1M5alBCYWtoeENmcHVhaklZNlJwcUhtMHhENTlCaWhlMXlucmY2M204
YzkxcHh1SEk2MWJvVHVNZEwwVTA2L2phQzJmUHJwcDlMRQpUSGpiZXV1dDZ5VVBIejdjcG4zMTFW
ZjEwcEpFdlB6eXk5S25UNThrV1NQeitIck9QZmRjK2Zubm4rWEZGMStVdm4zN1JwWkY0dFNwClUy
WDk5ZGUzK1h4ZHNZVXJJTU5UVHowbEcyMjBVVkg3cHhqNzNUL21tR09rZS9mdWN1YVpaL3BKUENj
QzlSQ29PUUpXTXNzbkJHa3EKS2JySFlicmNQRUdFcTdyQ3lrZkdCeENva3BxR0xza3FTUllTUXEv
cWRJL0RkTHA1dEUxdWlIS1ZJTXVZQ1cvdnZ2dXVmUG5sbDlubQovdkxMTC9Ma2swOW16eHZ6WUsy
MTFwSzc3NzdiTm1ISmtpVnk5dGxueTYrLzV2ZDZsNnVyTWZ0VXFycUwwYjhvakcrOTlWWjU5dGxu
ClpjS0VDYVhxQXZWV0VRS1ZjUWNzSXVCS2VrR0U2TWRwWGlWQ1dMRTRScGpFb2sxYjNzOGZTZUFK
TEV3bFN5WElPRUoweWRITnErVmgKeGVJNHlxSjFkZmoxQjVVdjRxVXRtU3BZd0x2c3NrdVc1RkRS
NDQ4L0xsdHR0VlZPblRmZWVLT3N2ZmJhMHJwMWE5bDQ0NDNscFpkZQpzdW00WVI5KytPSFN2bjE3
YXgxZGVPR0ZPZVZ3QWlzYStoNTU1SkdjdENGRGhzaXJyNzVxNDFEbmhodHVLTkFIR1RkdW5GeC8v
Zlh5CjRZY2Z5a2tubldUajl0dHZQeHR1c01FR0FsY29IaFJPT09FRTZkaXhvL1R2MzEvZWVlY2Rt
eDcyNWVwNjQ0MDM1T0NERDVZVFR6eFIKVmxoaEJWczM0bFNtVEpraXFBZjkybXV2dmVTYmI3N1JK
QW5ENHJYWFhwTkREejFVaGc0ZGFxM3orZlBuWjh2ZzRLNjc3ckk2VjExMQpWYm5vb290azhPREJO
ajJvWEZnZEtJQUhFbGoxc0ViMTRRVHhidjl3SHRhSHFMNjdHTStaTXdkcXJHeTMzWFlXODkxMjIw
MnV1ZWFhCmV2MkVKUTZjY0MyR0RSdG1yemtLb3E1RERqbEVqanZ1T09uVXFaUHN2UFBPdHAwREJn
eVExVlpiVGNhUEgxOVhBYityRG9HYUkyQWwKTlNYVnFGRHorc1NzNXo1aCtyb0tMZS9yeXprM1JP
aVNwSHVzaE9uR3VjZWFIaGU2WlhEc2YzeUM5ZlVsS1Y4cC8xRjc3cm1uM0hubgpuZG5tM25ISEhi
TDMzbnRuejk5Ly8zMkIrL0dHRzI2UWp6NzZ5SkxJV1dlZFpkTlJidWJNbWRhS3Z2LysrMlhzMkxI
eTNudnZaY3N1CldMREFFanhJYVljZGRzakc0NkJidDI3eTZLT1AyamlRTTI3V1NvSm9Bd2g1NGNL
RjhzRUhIOWc4VjF4eGhRMVJwbDI3ZG9KMmdUeFIKQnU3dTAwNDd6YWFIZmJtNmNIelRUVGZac1V3
UUlBajhqRFBPc0VWQlBMdnV1cXNsNXpmZmZGTmF0V29sRjF4d2dVMkx3dUtubjM2eQpPdEZ1NUY5
KytlV3pUUUU1SG5ua2tRTGNIbnJvSWJubGxsdXlPUG5sdnZqaWkxQzhnZjhSUnh3aEkwZU90T1Ry
UHRTNC9ZdnFRMVRmClhZeUJyY3FrU1pPa1pjdVdjdSs5OTlxSEMyQ24vVVJkZUlnRHVlS0Jxbm56
NXZiaEJtVlIxOFNKRTZWcjE2N3l3Z3N2eUdlZmZTYWIKYmJhWm5INzY2ZmFCNUp4enpwRkZpeFpw
TlF5ckNJR2FJMkFsVFpjY2M0anR0L0hoSkhHdUR2ZFl5N3B4N3JHbSt5RitWNGhUMFdNLwpuejFQ
UU1CeGhCaEhvSDU1Lzl3bldGOWZYRHJ5VjRvTUdqUklYbm5sRmZuMjIyK3RCUXByZFB2dHQ4ODJI
emZpcDU5KzJwSVVTQVVXCjhPZWZmMjdUWVVHRE1LWk5tMlp2ekRqdTFhdVhUWU9GdXM4KysxaHJU
Y2t0cTlRYzdMampqbGxYTjZ5MVBmYll3NDdaNG9ZT2wzaS8KZnYzYzdOWWFSUVRhZzNyUmxsR2pS
c2txcTZ4aUxUS1grSE1LaHB4Z0loRWVHR0NSN3IvLy90WXlRMWFRelRycnJHUGp1blRwWXEzeApC
eDk4MEdxSndnSVpXclJvSVNBVjlNVVZsRWQvOEdDejdycnJ5dEZISCswbTU1U0xxZ09FQzFjejlN
QkNoOFVkSkZGOVFQNnd2c1BpCmh5akc5c1I4ZGVqUXdXSU9DeGNFNi9ZVGxqMjhJM2d3d0VNVnhw
RHhrUEgxMTEvYjRzaUw2OSt6WjAvQmIyM1RUVGUxMTM2VFRUYkoKUGtCcFBReXJCNEdhbXdXdFJJ
aExpRm5HSURPZDlZdzBuWG1zNlJxSGN6MUdHQ1JCK3BCUDgvdmx0UzYzL3VUNTYreFJtOS9ZcGlx
SQpEUk1RSG1aQUsvSHBjZEpaMGRDTnZHRjFCT2xEV3pTL1gxN3JEV3R2T2NVdnUreXkxanE5Nzc3
N0xKbHR2dm5tOWdhcmJjUk4rZUdICkg3YXV4RTgrK2NUZVNOVlZET3Y1bVdlZXNZU0FHKzFoaHgx
bWI4QW9DOHNWWTh4d1FXUGNGc2V1REJ3NDBGcUY4K2JOczNuZ2FvWkYKM2Jselo5c2VrR3lVd0tw
U0FUSEFra3dqSzY2NG9pVVZsSUZySFE4TWtGbXpaZ2ttYk1GbDZnb21yWUhzdzdCQVhxUUh0UnNQ
QnlBYwpGVmlCcnJqbG92REdlTDJyQjljSzFxZ3ZVWDFBM3JDKyszckN6dDMyd2lyZmNzc3RzMWw3
OSs1dGlSVjRRZHpyaEljbVBFQ280RGVqCnVHc2N3K3BBSVBlL3ZUcjZGTmtMRUM2SUVIOTZiQzNL
MytJMUxrbTY2dEZReTZvK1AzUjF1c2QrUGoxMzg3akhOdDNTS0toMDZRY0UKaHpPRTdySG1jT1Bj
NDN6VDYycForcTExcXo0L2RPdlU0OGlMVldhSklGS01KOEp5Y3QzUGFPYk5OOTlzeC8zZ25vUmxD
cXN6azZsNwpVZ1Bad09KQi9LV1hYbXJKQUs1cUNHN1NyNy8rdXNBTmZkVlZWOWs0OTZ0dDI3YjJa
b3d4UlJEU050dHNZOGtjTG1hNE0rUEVKL1M0Ci9INTZFRkVpRDZ3OWVBQisrT0dIN0I5Y3AraFBG
QllvMjZ4WjhITS9TRlBkNjhnSDE3WXJicm1vT21DdHUyUGRlQ0FLa3FnK0lIOVkKMzROMEJjVzU3
WVcxakdFSUZUeHd6WjA3MTFyRGlIUHo0cnpRdXFHRFV2NEkxQndCTnpNUDhEcUpLaTdVdkFpRC9s
QmU4N2pIbXRlTgppNnZMelJ0V1h1dXk2ZExNVG9acTlsdUlDVTU2akREbzQrYkJjZHduclQ0L2Y1
TDZ5djlmWkdrTFFYaHdNOFA5RE5ld0t5QWZUUHJaCllvc3Q3TTBVNDVlTEZ5KzJXYTY3N2pyclps
NXV1ZVZzaUhGQkhkT0R0WU54dzhzdXU4eTZJTjJaMXFvZmRWMTg4Y1dXZkdINVlyd1YKRHdJNlFV
bnpJY1Q3cDdEVy9jbE5icDVpSElOOEgzdnNNVHV1RFgxd3NjSnRDa3N0Q291b3VqSCtEVThCWHAr
Q2l4MlRyTUlrcW83ZgovZTUzVnMvczJiTnRlOUMySUlucVExQitqY3NIWTlTRklRUll3aEJZNUJp
R3dFTUFwWFlScURrQ2hpV3BmN0FrMWJKVXE5TU5OVTN6Cis2RmYzcy92cDd1Nmc0Nzk4bjU5T2Vl
T3RldGJtbnF1VnVaU0d6WDNDUGswajVaeFEwM0xMYlgwekMvdjUvZlRYZDE2WEVuL2VpQkwKdUJG
QnRDQlRWdzQ0NEFDQnBRVXJGZU8vY0RGaURCZ3VYOHdraGlXS2QzSXhFUXJFalBGVVY3YmRkbHZC
akdlZHpleW1nWUJCSnZvdQpNdkt1dWVhYW9UZHZ6TWJ0MGFOSGRyelcxVldzWXp4RW5ILysrZmI5
V295em5udnV1ZFlEQUVzdUNvdW8rdkZ3Z1lsWjhDN0FHbDU1CjVaWHR3MFJRbWFnNmdQL28wYVB0
ZFFCT1llN2JxRDRFMWVuR0tjYlRwMDkzbzBPUDhidkJCRGlNYmFOTm1MMk95VnFVMmthZ2lmbWgK
WmpEMk5HYk1tR2drWXNhYW9ndVhUK3JxSHk5dFM5QVlyTVlobHg2N1k3UWF0MVJMOGlNdEc2WXZW
YnB4czRId29zWms0MXFtWlhVcwoxdGNYbHg2bjMwOFAwdmV4T0JmRUwxQ0I1M2dWQjFaTmtPc1hz
MTJ4UUFiY3lxVVdXTUI0WUNpMVlKd2JyenZCeGVwTEZCWitYcHhqCkZqVEd4R0V0UW02Ly9YYTUv
UExMNVlrbm5yRG5RVjlSZGVCQkI1akhyVWdWMVllZ09qVXVINHpSSnJqdGcvQlN2UXlySHdId0xY
ZzMKZURDbWl2c1BLMUlGVmloSUR5RkVqMTJDUkx4YnhqMUdXaHJSc2hxaWJOQnhVQnp5NXJhM3FT
VmZXSkpLb01pVFJyUXNRZ2owYUJ6TwpRY2h1NkIvYnhCUmZRZnBTRksrSXJGRTNWbGpOdnVWY3Fr
NDFCUG1pN1hESGh2VTVMRDZzejVqMGhERnV6QlNHVy83S0s2K01YZEFpCnFnN01STVpmbkVUMUlh
cHNQaGlqUFZGdGpxcVBhZFdIUU0wUnNKS3RYa3FYN0JEbm4ycytUVk1yMVkzUDkxaDF1WVN2Y1dF
Nmw3WVAKZEZhZklNUEtoY1dyRGszM3p6VWVJZExVaW5Yajh6M085OEVoMy9wWXJyd1J3TmcyeG4v
eEdoR3NSTXc0eDZ0T0ZDSlFyUWpVSkFHbgpJVHozd3FPY1dxRnVmTkpqa0tkTHNIcXM3WUdlcFFS
YmQ2eDVrS2JIZGZucnlCZnhLbkVFcWVTcHhCZVhYL1ZxaUhLdWhhenhTVU8vClBtMUgwdkxNVi8w
SXJMVFNTbkxRUVFkVmYwZlpReUpnRUtnNUFnYkIrU1NYOUplZzVUUk1XczdONTViVll3M2RmSHJz
cHVseFhSZzgKZnc0a0Z5YWFwaUh5dWNkaDVUUmU4MnFvOFdsQ3Q2eDduRVlIOHhJQklrQUVxZ0dC
bWlOZzN3WHRYc1JjQzdPK0Jlcm14WEhhL0duTApSK3NQSm1DL2pqVG5hUzNrdFBuOXR0QUM5aEVw
elRuZVI4YUVENHgxVW9nQUVTZ2ZCSXAvRnkrZnZnVzJCTmFqL29HTWNZd3c2RS9UCmt1YjNkZmps
VlkrR2VQY1h4L3FPTU1yajJOY1RlRzZjd2JBZzRSSkdtTTlIeXlJTSt2ajY0L0w3T3Z6eWZodnhu
akJsS1FMK1ZvQjQKdFFlenBndVZBdzg4VUlJMmdGQzl4YXBIOVJVNzFQWVZHeC9NcnNZR0dIamRD
YTgrWWJXeElNR00xZFZYWHozN2g4MFdLRVNnR0FqVQozR3RJYTc4ZERodklVSzNPb0Z5YWhoRGk1
MCtiWHFkbDZYY3FmV1pkMlRnTDFFOWZXbFB3RVFoU3l3VGwwRFNFRUQ5LzJuVG9lTnQ4CktIVUlZ
RFVzTEkrSVpRanhhZ3plcWNWN3hQbk9uTVlLVzFqUUg0dUhJQXphaUtFWTlaVHkrcm50Z3hWZkxI
encrdEo2NjYxbmwvWEUKZTh4NC94cjZnMVlqdzJ0UldFOWEzOFBHMHBBWXE2WVFnWHdSME5lUWFz
NENUbXhoT3RZeGlCRi9zRVExZEkvelRmY3RXOVd0K253TApHZkVhNTFxWGFubTZjVGlHaGFraGpw
RlBReTBURmZyNmtGZmozR1BFYWJ5R1NkS1JweElrYWhzNUxLaUJtek1Xa2NEbUFycTRQdm9WCnRW
MGVkTUw2d2hyQXh4NTdySDFmMWQwcXo5M3lEcHNTWEh2dHRWbW9ZTGxoY1EvTUdFYm8vMkZISFFp
V3I4U0VKaXhhRVNadVBWaDkKS3F5dmZ2bXdmRmhLc3BpWXVPM0RaaGk2VUlrYm53OCsyQ29TQzZO
ZzVUSzg4blRLS2FmWTk0NzlmdUljTzBIdHROTk9kbVkyMXRNbQorUWFoeExoOEVLaU1PMkErUFFz
cG95UVhSS0JLZkJxNmVYeXlERHBYM1VuTHgrV1BUTGQwQ2dwYitsSHlxNlBEK3QvSXFYbmM0L281
CjYyTGNQRXRyQ1Q5UzNhb3Zyanp5bGJ2QTRvcmFSZzVMVHVLbWpCV1JzREVCdHRPRFJHM0poK1Vt
c1Mvc0lZY2NZbmRJQXZGZWZmWFYKb2RzSzR0MVlkMWxHMUxuUlJodlpCU1pnTGZ0L3V2QUUxcDNH
VGt0UjRtNnRCeGRzV0Y5ZEhRMkppZHMrZUFLQ3RsM01CNStQUC80NApad01FdUtHeG9JanY4c2NL
WkhnbENxdVBZWmNpN004YnRUQ0lpeE9QaVVBY0FqVTVDVXRkeUNCUkhDTU1FdCtsN09jQlFXb2Vw
T2t4ClFraGNldHI2Yy9YVkxjQUJFbk5kd3JiZTM0aE4wNVRvZkJjeENCSnhDSVBFeisvbmlkTWZs
eDVXcjE5UFk1NjcyOGloSFJpUHhIS1MKYXVsaVloTTJYc0RxVnFlZWVxcDlieFUzY1N5MkFOY3Yz
SnR3STJONVJGaGRFS3dKREl0NStQRGg5aHdrby9wc2hQbHl0N3pEbU9OUgpSeDFsTjNNQXlXTUpR
OVFKNnpuSXJhdzZrb1J1UFZqNFFyZk1RMW0zcjJpdlNrTmk0cllQMnppcXVQSDU0SU8xdE4yRk5H
QUZRL0FRCmdnY3FGWnpqSVdiOCtQRjJmMlc0RHJGYzVvQUJBelFMUXlLUU53STFSOEFnTWZ5cHVN
Y2FwNkdtYWFqeGJ1aW02YkdHeUJkMEhCVG4KNnRSanphZGhyajdRV3gzVGE2amwzTkJOMDJNTnJi
N2ZkTGhsOUZqemFhanhidWltNmJHR3lCZDA3TWE1dXNyeEdJdm5SMjBqaDRVaQpkR2xKclArTUd6
a3NSS3ozRzdZbEgzYkZjYmZhdy82dytNTWtveUFCVVF3ZE9sVHV1ZWNldThZMDZnSDVndURIalJ0
WHJ3aElXY2NyCjZ5VkdSRVQxMVNYZ3FIeFFYMHhNTUFZY0ovbmdnd2NrZCtjbEVDM0dkdjNORWVD
bW5qaHhZcllKeHg5L3ZMV0NNWWJNRmEyeXNQQWcKVHdScW1vRFRXcXdnUWkyVEJHL05HMllSSjlF
Um5pZllhblh6K3hZc2lFL2prRStQRVVMU3B0dENFVjl4K2lPS2xrMFNickxQUC85OAp0ajN1Tm5M
WXZ4YXVURXpld2RyUDJOc1Y2d083Vy9MaDV0Mi9mMys3K2ZxZi8veG5xNmRkdTNiV1JhMUtZZGxo
bk5IZlcxZlRFZTY3Cjc3N1dUUTFpVjdjeTZ2RTN0VWRleE9jalVYMTE5VVhsS3pZbWNQc21rYlQ0
d0syTWE2ZUNZMnhqNkc4RGlDMFJaOHlZa2QxK0V0Y2EKeTBsaTFTNEtFU2dVZ1pvallOZmQ3THVB
UVpRYUIyRFY4dFRRalVzQ3ZPcHk2M1RMK1FUdHBzVWZneTdqQ1JWNmtFL0ZQZlpkMENCTQpqWFBM
dVdYY1k5VVpGcXF1TUZlekVuOVkrWEtJeHd4WXZNSURxNjk3OSs3MXRwSER1T0hreVpQdDlvUzMz
bnFyM1pJUE4yZDN1enowCnc5MmVFTzVMV0ttNDZlUDFGcmczTWVONTJMQmgyUzdEdGEzYkNtTHNF
NU9BampubUdFdmNaNXh4aHMzWG8wZVByQnM3V3pEbGdWdFAKWEY5VmRWeStZbUtDbmFBVUI2MGZv
ZHZ1ZlBDQkJ3R1Q1NTU3N2ptNzh4SzJnOXg5OTkyelZiejY2cXZTczJkUDY5M0EydFFZQThZRApF
aWJERFJ3NDBIbzZzcGw1UUFUeVJLQ21DUmlZQlpHckc1Y25ydGxpcmk2ZmNPTUlPcXNrOEtET0Fu
WUpVWTgxREN6bVJicDU5VmhECkwydGVwNjR1M3lJT0krYThLaXBSSVhjYk9VelV3YzNlM1VZT0d3
aU1HREZDamp2dU9PdkN2UC8rKzIxTE1QUDR0dHR1czY1bWJJZUgKY1VxVXczZ3dYbjhaTzNhc2Rk
V0NSR0d4d2xLRzY5b1YzZklPRmpnbVdtRy9YRXdLNnRLbGk1dXQ0R08zSGp3WVlNdThvTDVxUlEy
SgpDZXJVOW1GZlpWYzBQaDk4Y0IwdnVlUVNpeW1JRlE5WGNQR3JZTzluMUljdElrZU9IR2tKR0Rz
WndVMTl4eDEzYURhR1JLQWdCR3J1ClBlRE5uNnR6SXdNMWtLT1NZaENLbW9ZUTR1ZjMwK3R5aFgv
SGxVK1ZidmFkOVFuTnJ4bmtwM21RcHNjSUlYNjZqWFMrNHZMNzZVN1IKd0VPL1BwUi8zbndxUVlL
MmtjTnJRRmprQWk3S3VYUG41a3plMFQ3RmJaZUhkMy9oa2c0VGQ4czd2RklFRW81NnJTaE1UMXk4
VzA5UQpYNFBLQitVckZTWnUrOXkydVBINTRJT0hveDkvL0xIZTJLOWJCNDZ4bWhpdVpkUXdnVitH
NTBRZ0RBRjlEN2ptTEdDOFI1dFVmSUwxCkNUS3BIczFYcUw3YzhuV3ZGQ2tKYWgzRkRGVTNRb2hQ
b0duckN0S1hWa2RqNVkvYlJzNmRPZXUyTVdxaURuUkdrUy8wWUlMUnRHblQKck9zVGxoN2U3UzJG
dURPQzQvcXE5Y2ZsS3lZbWJ2dTBmb1NGNGdQWHZ6L3h5dFd2eHhnYkp2a3FHZ3lMaFVETkVUQklW
TVVuMUZ5QwpXem9lckdPNFNGZTNIR25LWEFBQUlBQkpSRUZVc2VwSUUycmRicWgxUW84ZUl3d1Ny
YnV1UFlYdkIrd1RxaytRL2hndTBqVXVxSDF4CmNhZ1A0b2R4NWNvMXZVZVBIbkxlZWVlVnZIa2dj
WXdWWTFZMVhLRGxMQTJGaVl0QkplSGp0cHZIUktEbVhORGJUR200aXg1SDhBVzEKWk91dEN5cmVF
SVhqQ0I1dG1HSStGQ0pBQkloQUxTRlFzeTVvdFNKeHNYMkNqUHNCK0JhcVg5NVAxenBVcjlaZFo4
RnE3TkxRTHgrdAp2NzZaN0JQZVVzMTFSNzZGRzVjL2JYbGZQOHFydFl0anRaNHJZZklWMmtzaEFr
U0FDSlFTZ1pwMFFZUFlWTnhqalFzTGkwR2dxZ04xCitBVHIxd3RDZHZQck1VTHpJb1p4Q0djc3dT
RlVjUWxQNHpUVU5BMFI3eDVydnJBd2prRDk5a0MzeGtFbmpsVUh6dFBVamZ3VUlrQUUKaUVBMUlW
QnpCRnhIWHZsZlFwZXdmWXMxbHlEcjZuRHo2N0dHUHNFaVhuV2l0T2JUMEkycm82L2NNZFc2R2t2
NzdaS21raXRDaUpLcgphK0c2K2ZWWVF5MVgyaFpUT3hFZ0FrU2dQQkdvU1FJR3lVRjh3bFB5MC9T
NlhFdS80L0tuVFYrcU9makliMCt1L3ZwclFmdGFRSFJLCmtralRZeVcrdVBSaTYvUHI4L1h6bkFn
UUFTSlFTd2pVSEFHRHhQQ25FblRzeG1rK0RkMDBQZFlRZWR4ajN5SUdvV3FjNm9zS1ZaZUcKdWZw
Qlo3a1dzRTl3SUZxMVNtMVpMNzhiNXg2clhzVDU0cWJwc1liSTZ4NXIzV29SKyszeGRmT2NDQkFC
SWxCTENOUWNBVGY3WmVubApqYll3bDdxREc4b2lqbXZQMHBianFGazlpelkzdlk0TTFlcjEwM0N1
YVFnaElFK053N2tlYXpyaVhJbkxueVRkMWNkaklrQUVpRUF0CklWQnpCQnhrVFFiRjRVZWc4Um9H
L1REY05EMTJReVZWbE5Wamw5QTFMOUwxV0VNM0RzZTVBbnJMdFlCejArdk9ORTlVbXBzbjZOaU4K
OC9XNGFYcnNoa3JpS0tmSFlZVHU2K1k1RVNBQ1JLQ2FFYWc1QWs0ekNTdUlNTjBmQTRoUzg3ang3
bkVRbWJweGJsNy9XSFVyWWVmVwpWN2NXdEZ2R0p6Z1FvY2E1K1pJZWE5a3d3a3lpWDhrWWRlcXho
a25id1h4RWdBZ1FnV3BFb09ZSU9DbjU0V0xyZUsyU3RrK0l5Sk5HCkgvS25FZFh0aHRvR3pEbjJD
YkxZWTY1QitwUjB0UjhrVTBXQ0lSRWdBa1FnSFFJMVI4Qktwa2xoVXZKRGZqM1dNS21PWXVaYldq
ZW8Kcjc0TFd1TnNld1BTMDdhbDJQclMxcy84UklBSUVJRnFSYURtQ0JnRXRwVEVvaStyV3B2Qkx1
Q2w3bWROOTdXaEh0WGhwK0ZjMDVLVwp6ODFmUjhCcUJWdDl4aVpHYkNFdVk3ZWRxbHYxcVc0bFpU
L2RMWXRqUDcrZnJucjllSjRUQVNKQUJHb0JnWm9qWU95R0ZFWjQvZ1ZYCm9uWkRKVUhrMVdQVjV4
TXU0dFdON2V2R3VhdFh6MVVuenYzeXFxdk9pcSsvR1lNU294c3FTVnA5aHByVnJZenpPSEgxSUs5
UHFLcGIKaVRRb1BhbysxUi9YRHFZVEFTSkFCS29SZ1pvallDVTlYRXlmTUpOY1lMKzg2a0VZVFpo
SnRDOGxaYzBkWGgvb3E3NExXc3RwcUhtQwp6cEdtSktycGNhR3JUNDgxaEM2WGNQVVlJWVVJRUFF
aVFBUnlFYWhKQXRaeFlKOHdmVUpXYXhRaHhFK3ZpMDMrSGFmUFQ4KzFlSDJDCkIrMUZFNmlTcTFx
b1BpSDZoT25yODh2NzZjbDdYcGN6U0Y5YUhjeFBCSWdBRWFnV0JHcU9nT0dDZHEzS05CZlNKMGlm
a09QUzA5U0YKdk5INjZsODZuK0Q4K2twQm9GcW5iYSt4Z0xVT25Pc3hRZ29SSUFKRWdBamtJbEQv
THA2YlhuVm5zQ3FWZ0gyQ2krdXNiNUg2K1gxOQpjUVR0bC9mUC9mcWdYK05BYjc0RVdiaEtnc2ly
eDBxSVNwNElrNGl2M3kvajZ5dTBQbDgvejRrQUVTQUMxWVJBVFJLd1hrQWxZZzAxClBpcU15cXRw
R2tKUDBMRWJGMVdYWHo3M0hQUlczd1d0NUdyei9rYlNRWEZoNllpUEVsZVhuMC9UTkVSNjBMRWI1
K3ZnT1JFZ0FrU2cKVmhDb1NRS0dKUmtrSUVhMVlwR3V4NXJmVC9kMXhPV1BTNC9UcDlZdlF1d0g3
RXVoRmlpSVVYVkF0eDRqaFBqcE50TDVpc3NmbE80VQo1eUVSSUFKRW9LWVFxRGtDQm9uV0VWaDln
c1dWZDYzVFhNS3J5Njl4UWI4U0xhdWhyMC9qTmZUVGZaMmFUOFBjL0tERGFNSzArVTBlCkZkK0Y3
Qk5pa3Z5cVEzVzZJZHJqNjlBNE45Nk5jOHZ6bUFnUUFTSlFTd2pVSEFHN0JLckhDSU1FRnF2bVFi
b2VoK1gzZGFTMWVQM3kKMGVkMXIvYTRaS2JIR3ZybFFiZ3VnZW94d2lCSm05L1g0Uk04MnFWeGZs
NmVFd0VpUUFScURZR2FJMkJZazhFV1pWMjhrbWJRRDhFbgpaT2h4OCtzeFFvaFAySDc1dWx4THYr
UDA1YWJYWHd2YUp6Z2xPNFFRSldZTjNUZzkxakk0OXdWcFN0cElpNnRQOHlyQisrVjkvVHduCkFr
U0FDTlFTQWpWSHdGRXJZZVVTM0ZKeVZVSkZPa1REc09NMDZWYWg4K1dXalNadzBGKzB5emVJQUpV
MG5TcXpoNXFtZXBXTUVVSTAKWGtNM3pqMU9rNDV5RkNKQUJJaEFMU0pRY3dRTWdsT1M4eTFXalE4
TDQzNGdRZm8wTHFpc3BpR0VvRjZOcTR0WjJsWk5YeHJXZHh2SApFYVlTbzRacDgydWJ3c0lnZlJv
WFZBWnBGQ0pBQkloQXJTSlFjd1FNQzdnNnBQNHM2T3JvRjN0QkJJZ0FFYWdOQkdxT2dOV3RpOHNi
ClpIR211ZXhxcllaWnNISHBmbDErZmo4OXQ3M3hZOEIrZWJWRzFmS0VKYXh4ZnQ0azUxbzJURjlj
ZXBJNm1JY0lFQUVpVUswSTFCd0IKZzhSMEZqTUlMNHFRZlVMTUpjQ2w3bUxrVTBFZUZUMTJROVdK
UEhxczVkMThTTWU1NXRIOFM5c0wrb3dlQTBZWlY0TEdoRFVPK1h4QwpqaU5RUDExMWFKMSsrNEww
YTE2R1JJQUlFSUZhUTZEbUNQalM0NnZrRWg5M2FaVjBoTjBnQWtTQUNOUW1BdlZuOHRRbUR1dzFF
U0FDClJJQUlFSUVHUllBRTNLQndzeklpUUFTSUFCRWdBblVJa0lENVN5QUNSSUFJRUFFaTBBZ0lr
SUFiQVhSV1NRU0lBQkVnQWtTQUJNemYKQUJFZ0FrU0FDQkNCUmtDQUJOd0lvTE5LSWtBRWlBQVJJ
QUlrWVA0R2lBQVJJQUpFZ0FnMEFnSWs0RVlBblZVU0FTSkFCSWdBRVNBQgo4emRBQklnQUVTQUNS
S0FSRUtpNWxiQkdqMjRFbEV0U1pYVjBaTFJVUno5S2NvbXBsQWdRZ2FwR2dCWndWVjllZG80SUVB
RWlRQVRLCkZRRVNjTGxlR2JhTENCQUJJa0FFcWhvQkVuQlZYMTUyamdnUUFTSkFCTW9WQVJKd3VW
NFp0b3NJRUFFaVFBU3FHZ0VTY0ZWZlhuYU8KQ0RRc0F0OTk5NTM4K09PUERWdHBCZGRHdkNyNDRo
V2g2U1RnSW9CSUZkV0x3S2VmZmlwTm1qU1JyYmZldWw0bmh3OGZidE8rK3VxcgplbWxKSWw1KytX
WHAwNmRQa3F5UmVYdzk1NTU3cnZ6ODg4L3k0b3N2U3QrK2ZTUExGcExvMTN2TU1jZEk5KzdkNWN3
enp5eEViVm1WCjlmdW8yQmFqa1dGNFBmSEVFN0xWVmx2SnlpdXZMSHZ2dmJmTW16Y3ZzTG94WThi
STZxdXZudjNiYmJmZEF2TXhzbndSSUFHWDc3VmgKeThvRWdXV1dXVWJlZmZkZCtmTExMN010K3VX
WFgrVEpKNS9NbmpmbXdWcHJyU1YzMzMyM2JjS1NKVXZrN0xQUGxsOS8vYlhrVFhMcgpSV1czM25x
clBQdnNzekpod29TUzE5MVFGYmg5TERhMlFYaDk4ODAzc3YvKys4dEZGMTBrSDN6d2dYVHUzRmxP
UHZua3dPNU9tVEpGCnpqLy9mSG5xcWFmczM5VlhYeDJZajVIbGl3QUp1SHl2RFZ0V0pnakFBdDVs
bDEyeUpJZG1QZjc0NDlaS2NadDQ0NDAzeXRwcnJ5MnQKVzdlV2pUZmVXRjU2NlNXYmpCdjM0WWNm
THUzYnQ3Y1c0b1VYWHVnV3M4ZXdvbUgxUFBMSUl6bHBRNFlNa1ZkZmZkWEdvYzROTjl4UQpvQTh5
YnR3NHVmNzY2K1hERHorVWswNDZ5Y2J0dDk5K050eGdndzBFN2swOEtKeHd3Z25Tc1dOSDZkKy92
N3p6empzMjNmMTY1WlZYClpQZmRkODlHb2QzRGhnMno1Mis4OFlZY2ZQREJjdUtKSjhvS0s2eGc2
MGNjeEsxM3UrMjJzL1hCQ2tNN1FRcDc3YldYclJlNjFFdncKMm11dnlhR0hIaXBEaHc2MTF2bnp6
ejh2aHh4eWlCeDMzSEhTcVZNbjJYbm5uYTNlQVFNR3lHcXJyU2JqeDQrM2RmbGZZZnJSTmhBWQo2
Z0I1N2JISEh2TDExMTluaTRkZEkyU0FUbHlEcmwyN3lySEhIaXNMRnk3TTZhT0w3ZEZISHkzWFhu
dHRWaStzVnVEa1MxZzdmYnkwCkhMQ0gxMktMTGJhUWxpMWJ5aW1ubkNLMzMzNjdKdWVFd0hLbm5Y
YVNIMzc0d2VLODBrb3I1YVR6cFB3UklBR1gvelZpQzhzQWdUMzMKM0ZQdXZQUE9iRXZ1dU9NTzZ4
N1VpUGZmZjEvZ1VyemhoaHZrbzQ4K0VoRGdXV2VkWlpOUmJ1Yk1tZGFLdnYvKysyWHMyTEh5M252
dgphVkZac0dDQkpYaVEwZzQ3N0pDTngwRzNidDNrMFVjZnRYRWdaeENNRWlEYUFFSUdVY0JhZ2x4
eHhSVTJSSmwyN2RvSjJnWGlSQm00CnUwODc3VFNiN243OTlOTlBsbWcwRHVmb0F3UzZiN3JwSm1u
VHBvM2doZzhTUCtPTU03SnBXdStrU1pNc1lkeDc3NzJ5NnFxcjJ2NkEKVFBIdzBMeDU4eXc1UVRm
MG9kMFhYSENCd0xzd2NlSkVTM292dlBDQ2ZQYlpaN0xaWnB2SjZhZWZMbmZkZFplY2M4NDVzbWpS
SWx1ZgpmczJhTlN0VVA5cDd5eTIzV0VLYVBuMjZKZlVqanp6U0ZvMjZSdkJ1NElFQkR3UFRwazJ6
ZU1DaURNTjJtMjIyRVpDNUN1cmNhS09OCjlOU0dVZTEwOFFMcHEzejg4Y2NXQ3oySEd4b1BVaGhT
Y0dYMjdObVdlTGZkZGxzWk5HaVFmVmpCUXdDbHNoQWdBVmZXOVdKckd3a0IKM09SZ0tYNzc3YmZX
QW9XVnQvMzIyMmRiQTVKNyt1bW5MVUV0di96eTFnTCsvUFBQYlRvczZDKysrTUxlMkdIZDRMaFhy
MTQyRFJicQpQdnZzSSt1dnYzNlcyTEpLemNHT08rNllkWFhENVFpTGJ1clVxVEpuemh6ckV1L1hy
NStiM1ZyWmlFQjdVQy9hTW1yVUtGbGxsVldzClZlZ1NmMDdCaUJPUUx4NGFRS3l3TG1INSt0S2hR
d2RiSHl6dEJ4NTR3SG9DampqaUNQc0FnWEhUaHg1NktHdUp0bWpSd2hJcitnTEIKT1VpOVo4K2Vs
a3cyM1hSVDIrOU5OdGtrKy9EZzFnZGlocWNoVEgvVHBrMXRuMkZSbjNycXFZS0hIaEJZMURVQ3Ry
Q1lNYTdmcFVzWAoreUN6NVpaYnV0WG1ZQXRMSDBRTjRvWkhBZzhldi8vOTczUHlSN1hUeFd2Wlpa
Zk5sc04xeFRWVGdSVU04Y2VCY1k3ZkRkcU5lUXJICkgzKzhmYURSY2d3ckF3RVNjR1ZjSjdheWtS
SEFUUkxXNlgzMzNTZXdORGJmZkhOTEhOb3N1SmNmZnZoaGEvbUNxT0FhVmxjeHJPZGQKZDkzVldz
eHdiOEtxQS9GQ1lFSE9tREhEV3FoQjQ3WURCdzRVdUdseHc0VWJGMjVRRVBCamp6MW0yd09TalJM
VXB3SnloQVVhSjVsTQpKaWZMaWl1dWFNa1ZrWEN2YTl0ek1qa25zSjVkOHVyZHU3Y2xQeEFGQkE4
RGJydmROb0o4TU82cUFuTDI2NHZUdjg0NjYwamJ0bTJ0CkN0UU5Fb00xR25XTjRLR0E1YTBDendN
ZUFNSUU3WVRINHA1NzdyR3VhOVRqOWdQbDR0b1pwQnNQQ2U0c2NseDNZQURDZGdVUGN2QWMKSUgr
elpzMHNBZU9oRUdQSWxNcEJnQVJjT2RlS0xXMWtCRUNrbU93RTl5Rm1wN3B5ODgwM3l6WFhYR010
SjFoRnNEcVZ5RUEyc0FJUgpmK21sbDFvWExGelZFSkRSNjYrL2J0M1FWMTExbGF2U0hvTklRRWpR
RFlLQTYvT1paNTZ4Ym1tNGVPTUVMdDQ0UVI3WHhZbWJ1TFlkClpWMnlqTk9GZEpBQ0NFMEZEdzV6
NTg2MTFqRGlRQml1K09keDljWHBoeHRYSDJaQSt2UG56N2M0UjEwamRkZHJ1K0Nsd0FOVmxPeTcK
Nzc2V2dQR2JnRFhxUzF3Ny9mdzR4KzhCN1ZmQk1SN29mRXplZlBOTitjOS8vcVBaYkgvaDZtL1Zx
bFUyamdmbGowRDhmMmY1OTRFdApKQUlOZ2dBSUQyNW1XQnB3RGJ1Q3NVdTRrVEY1Qm9TQ01jSEZp
eGZiTE5kZGQ1MjlRUyszM0hJMnhQaW5qbXZDa29LRmR0bGxsMWszCkxFamFGOVIxOGNVWFcvS0Zt
eFEzV2R6MEJ3OGU3R2NWdUY5aHJZTjBrZ3AwWWt4Ukp5dnBqT3FrNWYxOGNNM0ROUW9MRUlJeFg3
amMKZlN2T0p1YnhGYWNmWTZhVEowKzJtakhUR0M1dFlCWjFqVERwQ3hPZ2xQd3crUXNUcUZ6eHNj
VUVLTGloNFY3M0g4aFFMcTZkcm00OQpSaGxNbEh2dXVlZXM1WS9maFR0QkRtUHEzMy8vdmJYdzRZ
TEhOY1BERWlhRXdWdWlMbXZWeDdDOEVTQUJsL2YxWWV2S0NBR1FKVnlyCklGcVFxU3NISEhDQWZQ
TEpKOVpLeFF4b3VDUXhCZ3lYTDJiSHdzcUUyeEFUb1VETUdFdDFCWk5wTU9OWlp6TzdhU0JnRUtT
K2k0eTgKYTY2NVppaWhZWVp0ang0OUFzZHFYYjE2REhMRUJDUzBEMzhZT3kxRWdCRW1lNjI3N3Jx
Mm5YREhZNHkwV0JLbkh5N3pFU05HWk92Rwp3eEFrNmhxdHQ5NTZkcHdiN210Y1gwdzR3OHh2WHhS
YlRQQ0NheGpERXBpdGpYRmpYK0xhNmVmSE9YNVhsMXh5aWRXTDN4QThDYU9kCkxkendFSWdoQ0x6
L08zTGtTTUZ2QWZud29QR1h2L3dsU0NYanloaUJKdWJpWnVDdXdVdmRrUkl6MWhSWnRvd1NuZDl5
R2JVcWo2WVkKRjJjMVNMVnRSd2ozTFN5OUlOY3ZadFRDMWF2ams2VzhmckNBOGNDUVJtQlpnUUJB
TE1VUVBHamdGUm00WWtzaFFmcXgrTWlCQng1bwp4OVhoOXNhNHR5OVIxd2c2TVNzZEx1a3djYkU5
NktDRExGbUMzTU1rcUoxaGVUVWU0OTRZQzQ3ekdzRDZSWDhLZldqU2VoazJEQUxnClcvQnU3bUJN
dzlUTldvaEExU0lRUlRZZ045OXlMaFVRYWNrWDdZZ2luWHphaVRISktEenkwZW1XaWRNZlJMNG9I
OVVtNkl6REFkakMKOVF5M0x5YklZWHcrU3VMYUdWUVd3eGh4NUl0eUdCc20rUVloV0JseGRFRlh4
blZpSzRrQUVVaUFBRnp2NTUxM1hvS2NoV1VCaWNNTgpqSWxheGZJWUZOWWlscTVFQkdnQlYrSlZZ
NXVKQUJFSVJBRFdJTWF6U3kwWTk4VTd4aFFpVUFnQ3RJQUxRWTlsaVFBUklBSkVnQWprCmlRQUpP
RS9nV0l3SUVBRWlRQVNJUUNFSWtJQUxRWTlsaVFBUklBSkVnQWpraVFBSk9FL2dXSXdJRUFFaVFB
U0lRQ0VJa0lBTFFZOWwKaVFBUklBSkVnQWpraVFBSk9FL2dXSXdJRUFFaVFBU0lRQ0VJa0lBTFFZ
OWxpUUFSSUFKRWdBamtpUUFKT0UvZ1dJd0lFQUVpUUFTSQpRQ0VJa0lBTFFZOWxpUUFSSUFKRWdB
amtpUUFKT0UvZ1dJd0lFQUVpUUFTSVFDRUlrSUFMUVk5bGlRQVJJQUpFZ0Fqa2lVRE5yUVZkClBk
c1Jqczd6a3JNWUVTQUNSSUFJbEFNQ3RJREw0U3F3RFVTQUNCQUJJbEJ6Q0pDQWErNlNzOE5FZ0Fn
UUFTSlFEZ2lRZ012aEtyQU4KUklBSUVBRWlVSE1Ja0lCcjdwS3p3MFNBQ0JBQklsQU9DSkNBeStF
cXNBMUVnQWdRQVNKUWN3aVFnR3Z1a3JQRFJJQUlFQUVpVUE0SQprSURMNFNxd0RVU0FDQkFCSWxC
ekNKQ0FhKzZTczhORWdBZ1FBU0pRRGdpUWdNdmhLckFOUklBSUVBRWlVSE1JY0NXc2lyM2tveXUy
CjVXN0RSMHQxOU1QdEU0K0pBQkVnQWtrUW9BV2NCQ1htSVFKRWdBZ1FBU0pRWkFSSXdFVUdsT3FJ
QUJFZ0FrU0FDQ1JCZ0FTY0JDWG0KSVFKRWdBZ1FBU0pRWkFSSXdFVUdsT3FJQUJFZ0FrU0FDQ1JC
Z0FTY0JDWG1JUUpFb093UStPNjc3K1RISDM4c3UzYVZhNE9JVi9sZApHUkp3K1YwVHRxaU1FUGpo
aHgra1NaTW0wcVpORzJuYnRxME51M2J0S252dHRaZDgrKzIzQmJYMDNIUFBsWjkvL3JrZ0hXR0Zw
MDZkCkt1dXZ2MzVZY3Q3eEw3LzhzdlRwMHlkYlh2dnc0b3N2U3QrK2ZiUHh4VDd3NnozbW1HT2tl
L2Z1Y3VhWlp4YTdxa2JUNS9kUnNTMUcKZzhMd2V1S0pKMlNycmJhU2xWZGVXZmJlZTIrWk4yOWVZ
SFZqeG95UjFWZGZQZnUzMjI2N0JlWmpaRG9FU01EcDhHTHVHa1hnd3c4LwpGSkF4TEs1bm4zM1cz
cWhPTysyMHZORllzbVNKbkgzMjJmTHJyNy9tcmFNeENxNjExbHB5OTkxMzI2b2JzZzl1dmFqODFs
dHZ0ZGRoCndvUUpqUUZEU2VwMCsxaHNiSVB3K3VhYmIyVC8vZmVYaXk2NlNENzQ0QVBwM0xtem5I
enl5WUY5bXpKbGlweC8vdm55MUZOUDJiK3IKcjc0Nk1COGoweUZBQWs2SEYzTVRBZW5XclpzTUhE
aFE1c3laazBVRE42Z05OdGhBMnJkdmI2MWozTnhVY05PQ2xRSEwrZGhqajVXRgpDeGZLZnZ2dFo1
TlJCbnB1dlBGR1dYdnR0YVYxNjlheThjWWJ5MHN2dldUVDMzampEVG40NElQbHhCTlBsQlZXV0VF
MjNIQkRRWnpLClhYZmRaZXRkZGRWVjdZMTA4T0RCbXBRVFJyVlBNdzRaTWtSZWZmVlZlL3I0NDQv
YnVrQUVrSEhqeHNuMTExOHZlQkE1NmFTVGJKemIKQjdnM2YvbmxGem5oaEJPa1k4ZU8wcjkvZjNu
bm5YZHNQdmZybFZkZWtkMTMzejBiaFg0T0d6Yk1ua2YxMWExM3UrMjJFOVFIS3d6dApCTDd3U0tC
ZTZQcnFxNitzdnRkZWUwME9QZlJRR1RwMHFMWE9uMy8rZVRua2tFUGt1T09PazA2ZE9zbk9PKzlz
K3pOZ3dBQlpiYlhWClpQejQ4ZGwydVFkaCt0RmVFQmpxQUhudHNjY2U4dlhYWDJlTGhsMVRaQWo2
VGJoOWRMRTkrdWlqNWRwcnI4M3FoZFdLMzRRdlllMzAKOGRKeXdCNWVpeTIyMkVKYXRtd3BwNXh5
aXR4KysrMmFuQk1DeTUxMjJzaytoQUxubFZaYUtTZWRKL2toUUFMT0R6ZVdxakVFbm5ubQpHUUdK
UGZyb28zTDU1WmZMWC8vNlYzdnpCUXdnMEYxMzNkV1M1SnR2dmltdFdyV1NDeTY0d0NMMDVaZGZX
bkxBalgvYXRHbjJoZy9yCjRZb3JyckRwMEFjeWdZdndoaHR1a0k4KytzZ1M2bGxubldYVFFkWTMz
WFNUZFgzakpnaGlPK09NTTJ3YWJ0aEhIbm1rSU85RER6MGsKdDl4eWk3ejMzbnMyemYyS2FwK2JE
dzhXYUEva2tVY2VzVVN2WkgvSEhYZFlRa1o3WUMxQjNENjBhOWRPM24vL2ZmdVFnREp3VXdkNQpD
SDc2NlNlTGdWVmd2bkNPUGtPaSt1cldPMm5TSkVzWTk5NTdyK0RCWTVkZGRyRmtpb2VINXMyYlo4
a0p1b0VkSGxwd1BaWlpaaG1aCk9IR2lmUkI2NFlVWDVMUFBQcFBOTnR0TVRqLzlkTUdEekRubm5D
T0xGaTJ5YmRHdldiTm1oZXBIbTRBNUNHbjY5T21XMUhFOUlNQWkKN0pxRy9TYmNQcnJZYnJQTk52
WUJUZHVFT2pmYWFDTTl0V0ZVTzEyODhDQ284dkhISDFzczlCeHVhUHdXL1dHUjJiTm5XK0xkZHR0
dApaZENnUWZaaEJROEJsTUlSSUFFWGppRTExQUFDc0VCQm9qdnV1S1A4ODUvL2xQLys5NytXV05G
MTNPRFdXV2NkUzhoZHVuU3gxdUtECkR6NW9VUUZwd3pvYVBueTRJQTAzMWkyMzNOSmF5c2dBcXhi
VzJOTlBQMjNKZGZubGw3Y1c4T2VmZjI3TDR3dmp6MlBIanJWa0E0c0wKeEF0QkhmMzY5Yk5qZCt1
dXU2N0FVZ3FTcVBhNStkRzNKNTk4MGthaDNiRG9NSllNQWdkcG9DNVhZTzFEMEFlTWs2UHRvMGFO
a2xWVwpXY1ZhaFVFUEEyNzVvT093dnJwNU8zVG9ZT3NEOFQzd3dBUFdjM0RFRVVkWXp3VEdUZkV3
b3Bab2l4WXRMTEdpTHhDYzR3R21aOCtlCmxrdzIzWFJUZTAwMzJXU1Q3TU9EV3hlSUdaNkpNUDFO
bXphMWZjWTFQUFhVVStYKysrKzNCQVpNd3E1cDJHL0NyZGZGRnBZK0h0NXcKRGVDUndJUEg3My8v
ZXplN2ZZQUlhNmVMMTdMTExwc3RoK3VLYTZZQ0t4amlqd1BqZko5OTlyRVBvSjkrK3FrY2Yvengy
UWRNTGNzdwpQd1JxYmluSy9HQmlxVnBIQUJZVGJyS1liQVNpY2lkZ3dmckFCQnFrdTRLYjFjeVpN
NjJWcGZHd012R25ybDNFNDJiNzhNTVBXNEwvCjVKTlBMRG00NlN1dXVLSWxIT1NGaXhxdVhnZ0lE
c1NoQW1zdVNLTGFCN0pVZ1ZzZEZoeHV1SERqd3RWODU1MTMyZ2VJSFhiWUlkc0cKemUrSGNMR3Jn
QnhoZ2NaSkpwUEp5UkxXMTV4TXpnbXNaenpRcVBUdTNkc1NLYkNIb0g5NE9GQngyd2p5d2JpckNz
aFpzZFc0T1AxNAo4TUxrUEFqcUJva0I3elhYWERQMG1vYjlKdkFiQ2hLMEUyNzBlKzY1eDlhQmV0
eCtvRXhVTy9FQUdDUjRTRkFQQjlKeDNZRUJDTnNWCnVLbmhPVkFCQWNObGoyRVc2S0RrandBdDRQ
eXhZOGthUkFBdVlFeWVPdWlnZzdKandMaGhiYi85OXRaTmg0bGErSU43RXpkL2RjMHEKVkY5ODhZ
VzlNZXM1d3B0dnZsbXV1ZVlhYXgzRHlvRVY2UktUU3lCdU9aQ3Zld09GK3p0SW90cm41Z2VSZ0pE
UUZwQTVYSjl3dmNNdApqZkhTT0lHTE4wNlF4M1Z4NGlhZXBLOWhla0VBSURRVlBEak1uVHZYUHVR
Z3JsbXpYQnZEUHcvRFZ2WEY2WWNiVnlmU2dmVG56NTl2CnIzdlVOVTN5bTlENk5keDMzMzB0QVdN
Q0hLeFJYK0xhNmVmSE9YNmZhTDhLanVIUzl6SEI3K28vLy9tUFpyUDloYXNmUXkyVXdoQ0kKLzQ4
cFREOUxFNEdxUXdBVGpUQmVwbU9jSU4vSEhudE0zbjMzWGR0WHVDM2gyb1ExTldEQUFEdWhTbTkw
bU9pRHlUSndYY0lkaUJzMgp5QnF2REdFeURBZ0NZM3lMRnkrT3hRMVdLUWdTVmpuY2laajBFeVJS
N2ZQenc3cS8rT0tMTGZuQ2NzSk5GamY5b01sZGJoOThQV0huCjBJa3hSWFVSNjR6cXNQeHg4ZWdi
WExxd0FDRVk4KzNWcTFjOUs4NG01dkVWcHg5anBwTW5UN2FhTWRNWTF4MllSVjNUc04rRTJ6d2YK
VzB5QWdoc2E3blc4THVSTFhEdjkvRGhIR1V5VWUrNjU1K3h2OWJMTExzdVpJSWN4OWUrLy85NWEr
SERCNDVyaFlRa1R3dUF0VVpkMQprRzdHSlVNZzkvRXdXUm5tSWdJMWpRQnVqaGpMM1hycnJlM1k0
T2FiYjI1ZjBjREVtRFhXV01PU0s2eElrT2w2NjYxbngyL2hxdXpSCm80ZTFPdFNkaDltcGlNTzQ0
VzIzM1dhdFRwQTJ4dnd3emhmbndnV1pZWElSYnNpd1duQlQxQWxTN2dYQ0pDUzhRaExVUGpjZmpr
SEEKZUxjV2ZZTmc0ZzJzYk44dGFSUE5sL2JCbmFXcmFVRWh5QkV6bHVIV1JQdmhXaTFFNEg3R2d4
REd3UEZRdE54eXkxbnNDdEhwbG8zVApENWY1aUJFajdNeHF1Rzl4TFNFSEhIQkE2RFVOKzAzQWRl
MktZb3ZaMi9CTTRJRUxEeStZUytCTFhEdjkvRGdIVnBkY2NvblZpK0dUCjd1YTlhcmk1VmVEMXVP
NjY2d1N6NDBlT0hHbC9DM2d3UkQ4eEtZOVNPQUpOUm84ZW5ZRUxCUzlhUjRvempoS1pyOHdUUjQ4
dTh3WW0KYlo1eFUxYURWTk4yaEJpM2hVVVVOQzZHRzllQ0JRdXNTOXE5YnJDQWRTSU0zTEVndWlT
dVhPakFaQ3dRTGl3WkNGNGh3UXp0c0JtcQpVZTJ6Q3ZMOGN2dVFWQVVzS3hBQWJ1YkZFT0FMMTM4
UTlxWFNEOC9EZ1FjZUtETm16TEJ1YjR4Nyt4SjFUY04rRTY0T0Yxc01lNENFClFlNWhrZzhPZU9q
RCsrMWhEMWxhRjZ4ZjlNZWY2NkRwREpNakFMNEY3OUlDVG80WmN4S0JTQVJnR1ljUkFNYk1NUGJu
aTVJdjRzUEsKK21YMEhOWVh4bW5oSG9RNzhNb3JyNVNvaFNtaTJxYzY4d25kUGlRdEg0UkYwckpC
K1lCdld2eUM5SVRGeGVrUElsL29pbXBUMkcvQwpiUU93aGVzWkhnWll3dkNzUkVsY080UEt3bE1U
Ujc0b0J5OEx5VGNJd2Z6ak9BYWNQM1lzU1FRYUZRR01OY0lLZ3hzYngvZmRkNTk5Clo3VlJHMVZE
bFFQMzg4NDdyK1E5Qm9sakdVak1sQytXeDZEa2pXWUZpUkNnQlp3SUptWWlBdVdKQUZZa2dtdVMw
dkFJd0JyRWVIYXAKQmEvODRCMWpTdlVoUUF1NCtxNHBlMFFFaUFBUklBSVZnQUFKdUFJdUVwdElC
SWdBRVNBQzFZY0FDYmo2cmlsN1JBU0lBQkVnQWhXQQpBQW00QWk0U20wZ0VpQUFSSUFMVmh3QUp1
UHF1S1h0RUJJZ0FFU0FDRllBQUNiZ0NMaEtiU0FTSUFCRWdBdFdIQUFtNCtxNHBlMFFFCmlBQVJJ
QUlWZ0FBSnVBSXVFcHRJQklnQUVTQUMxWWNBQ2JqNnJpbDdSQVNJQUJFZ0FoV0FBQW00QWk0U20w
Z0VpQUFSSUFMVmh3QUoKdVBxdUtYdEVCSWdBRVNBQ0ZZQkF6YTBGWFQzYkVZNnVnSjhYbTBnRWlB
QVJJQUpoQ05BQ0RrT0c4VVNBQ0JBQklrQUVTb2dBQ2JpRQo0RkkxRVNBQ1JJQUlFSUV3QkVqQVlj
Z3duZ2dRQVNKQUJJaEFDUkVnQVpjUVhLb21Ba1NBQ0JBQkloQ0dBQWs0REJuR0V3RWlRQVNJCkFC
RW9JUUlrNEJLQ1M5VkVnQWdRQVNKQUJNSVFJQUdISWNONElrQUVpQUFSSUFJbFJJQUVYRUp3cVpv
SUVBRWlRQVNJUUJnQ0pPQXcKWkJoUEJJZ0FFU0FDUktDRUNKQ0FTd2d1VlJNQklrQUVpQUFSQ0VP
QUJCeUdET09KQUJFZ0FrU0FDSlFRQVJKd0NjR2xhaUpBQklnQQpFU0FDWVFoNlN1SnRBQUFnQUVs
RVFWU1FnTU9RWVR3UklBSkVnQWdRZ1JJaVFBSXVJYmhVVFFTSUFCRWdBa1FnREFFU2NCZ3lqQ2ND
ClJJQUlFQUVpVUVJRVNNQWxCSmVxaVFBUklBSkVnQWlFSVVBQ0RrT0c4VVNBQ0JBQklrQUVTb2dB
Q2JpRTRGSTFFU0FDUklBSUVJRXcKQkVqQVljZ3duZ2dRQVNKQUJJaEFDUkVnQVpjUVhLb21Ba1NB
Q0JBQkloQ0dBQWs0REJuR0V3RWlRQVNJQUJFb0lRSWs0QktDUzlWRQpnQWdRQVNKQUJNSVFJQUdI
SWNONElrQUVpQUFSSUFJbFJJQUVYRUp3cVpvSUVBRWlRQVNJUUJnQ0pPQXdaQmhQQklnQUVTQUNS
S0NFCkNKQ0FTd2d1VlZjK0FqdnZ2TE0wYWRJazhPK3JyNzdLcTRQbm5udXUvUHp6ejZuTHZ2enl5
OUtuVDU5c09kWHo0b3N2U3QrK2ZiUHgKalhIZ3Q2MmgycUFZUk5XWHRHMUo4MFhWVllxMEpIM010
OTZwVTZmSyt1dXZuMjl4bGlzUWdTYWpSNC9PL1BycnJ6Sm16SmhvVmVZbQpWRzN5V1ZlUlJTMGF0
MWZORjR1c09qdVBObVF5ZVJRcWJwSEZZaHBmWnRKY21oZTFSZmpmeVB5R2RmZnUzZVdHRzI2UWJi
ZmQxdGJSCnRHblQxSFV0V2JKRW1qVnJKai85OUpNc3Q5eHlxY292V0xCQVpzMmFKV3V0dFphNGV0
NTQ0dzA1OE1BRFpjYU1HYW4wRlRNenlHdi8KL2ZlWG1UTm5GbE50cEM0WGd5Z3NYZHlpRkNiTkY2
V2oyR2xKKzVodnZTRGdvNDgrV2w1Ly9mVjhWYkJjSGdpQWIzRnZhWlpIMmFvcApjdCt1SXArdjNM
amQ2VFJINUxqTDZyZGg2bFlpVC8rdWZ2elNtTDlrRC90SlA5bkpmQXFWZVRKUExqZWZqUG5FQ2Vx
N3kzektUVWJKCktESDJhdEdhdGN3eXVVNGlrSzVMdkZPbVRKRVRUamhCUHZyb0k5bCsrKzNsNnF1
dmxoVldXTUdHRHo3NG9OeDExMTNXZXQ1dnYvMWsKNE1DQk1ubnlaTnUyRFRiWVFKNSsrbW5wMUtt
VFBSOHlaSWljZDk1NXN1R0dHOHJqano4dUo1MTBrcnowMGt1MnJuSGp4c2xLSzYwawptMjY2cVp4
eXlpbnkzLy8rVjZBUEFqMlhYbnFwL1BMTEw3WWROOTEwazZ5eHhocnk3My8vVzNyMzdtM3o2QmVJ
K205Lys1dTBidDFhCmJyMzFWdW5mdjc5Y2Z2bmxjdWloaDhyNzc3OHZKNTk4c3B4NDRvazIrNDAz
M2lnWFhIQ0JmUHp4eDlicXZ1cXFxMlNUVFRheHhIL2sKa1VmS25YZmVLZTNidDVkamp6MVdSb3dZ
b1ZYWUVKNkJZY09HeWFoUm8yU0hIWGJJU1h2cXFhZmt0Tk5Pa3c4Ly9ORG1RWHRBbm9nZgpQMzY4
N1RzZWNGQmZseTVkQkcyKzZLS0xwRU9IRGpKeDRrUlpmZlhWQlcxYmI3MzFjakFBbHNBN3FNMm9T
M0dMMHBjMEh6cUU2NHFiCjZKdzVjeXhtRHovOGNQYmFhb2RmZSswMTJ5ZmdBWHp4a0lLL29OOEx5
Z1JoYzlCQkIxbDErbnNKNjJOVXY2QWdTWHVSTCt6M2pBZUIKdU91TzhwUjBDT1RlWGRLVlplNFNJ
dER6QTVHZldrYjh5VS9aejl2eWRsRmFNbDJteXdMeldhbzUrR2lSTEpKdTVsUHJncHZ2cnJ2dQph
bS9BYjc3NXByUnExY29TQUhDQlJZcWI0czAzMzJ5SkF6ZGozRXl2dU9JS0M5dWpqejVxaVZveDdO
YXRteUFPOHNnamo5aXlLQSs1CjQ0NDdMREV2WExoUVB2akEvRENNdUhyYXRXdG5iL0FnZnBTQm14
b2s1d3ZLZzhTNmR1MHFMN3p3Z256MjJXZXkyV2FieWVtbm4yNXYKME9lY2M0NHNXclRJNmpybW1H
T3N0WThIQzl6OHp6cnJMS3NPeEFzcjk5MTMzNVg3Nzc5ZnhvNGRLKys5OTE2MktsaVJ1K3l5aXd3
ZApPclFlK1g3NTVaZXkxMTU3eVNHSEhDTFRwazJ6Skl3SEZsajFLQU4zLzZ1dnZpck5temVYZ3c4
KzJPcEVtL0ZRMGFaTkd3R0dlR2c0CjQ0d3piSnFMd1hmZmZTZGhiWFp4aTlLWE5CK0lHbVFFVEI1
NjZDRzU1WlpiY2pCUU1PRGxRTnZ4VUlVSEE1eUgvVjdDc0VuVHh6Q2MKa3JZMzZ2Y2NkOTIxend6
VElVQUNUb2RYZytWZStYT1J0ajhrcSs0SCtVRStOWjlDSlNtUmczeGJtayt0eTZSSmsyU2RkZGF4
cmxkWQphN0JVWWFGQVdyWnNLVmRlZWFVbFFsaUkvL3puUDZWRml4Yldha1E2eUJKanl5bzc3cmlq
UFBua2svWVVWc2dlZSt3aGNBL2lwb2liCmM3OSsvVFNyRFdGOVFsVFA4c3N2YnkzT1ZWWlp4VnEw
TGluYWpMOTlvUTBnc0o0OWU4cWdRWU9zVlkyNllkMHFnU09FUlFteWc5Nk4KTjk1WVB2L2MvQ0NO
b00xZmZQR0ZKVkNNTytPNFY2OWVOZzFXK0Q3NzdHUEhGSlVrYmNKdlgraFg1ODZkWmZqdzRkYTZC
YmxzdWVXVwpsdnpYWG50dE9lS0lJd1FQSWhqekJMRjkvZlhYdGlUSUYwUy82cXFyV3F4QktCQVhB
M2dTd3Rwc016dGZZZnFjTFBZd0xCK3VNYTdICjNudnZMZXV1dTY1MTRmcGw5Ung0NDhFRzF6UHE5
eEtHVFpvK0Z0cmVxUFpGWFhmdEs4UDBDTlMwQ3pvOVhBMWJvbzhaVG51eGY3STYKWjhwTVdjVjg4
aFZZdnJQTUo0bjBrVDVKc2xWOUhsaHVjQ21xRzFrNy9PbW5ud3FJY1BEZ3diTGlpaXRhTXQ1aWl5
MDBPVENFZXhwVwoxYng1OHdRdVM3aWdZWFdBc09ER2RjazZTQUdzV3BXT0hUdGFhMHZQM2RETkIz
TEZlTElLeUFJa2lwcytYS3F3VkQvNTVCTkwxbkJCClF2YmNjMDk1NXBsbkxQa2cvMkdISFdZSkUy
bXd6dUd5Ui9zeHZ1Vzc3MkU1dytKV0FkbmlENVliaUZnRnJuTThCQUJIQ0REVS9zTjkKampiNkV0
Vm1QMjhTZlNnVGxnOFBOM2hnVVhIN3BIRWE0bmVnYlkvNnZZUmhvN2hEWDF3ZkMyMXZWUHZDcmp2
bU0xRHlSNEFXY1A3WQpsYnhrM3hSemFrREFoY2dNbVNHL21rOFM2UzI1WTR0SnlsUmpIb3hMWXR6
M2h4K01EK0szUDdoMWNkT0ZZS3dXVnR4SHhvMkw0eWhwCjI3YXRKY05ycnJuR2t0UTIyMnhqaVE1
dWFiaG00OFFudTdEOC9nMVR5Y0hORDdjNTJnRUxGZFkzeG5KMUlocnl3MEpGUE1hZVFaNlkKbUFa
QnZ6R1pCMjVvak9INm9xNXlqWWYxREtJSDJicVR0MERnYytmT3RlU012RUZ0VkIwYVJyVlo4MmlZ
UkIveWh1VUQrZXJ3QVBKaAorQ0ZNWEx5amZpOWgyTGg2NC9wWWFIdWoyZ2ZkWWRmZGJTT1AweUZB
QWs2SFY0UG03djZSU0l0RnlhcjhVcjZVNzh3blgwbnFmdTRpClhhU2orVkRFa3U5amp6MW14ME9C
QnlhNllLSVVMTFFmZi94UmpqcnFLTG5zc3N2c1JCd2NJdzRUdUpaZGRsbVpQMzkrUFFqaENyNzQK
NG9zRjVBdkxGMlBLZDk5OXQ3V2svY3hSZXZ5OGFjL3hFSUZYVTJDMWcwQXd4cmw0OFdLcjVycnJy
ck51Wmt5Y2dyc1o0NXNZTjRiQQpvb2JySFgyR0N4b2s3Y3FBQVFQc3hESk03SUpnMGhVbUh1RWhC
aTVZUEtoQVFPcHdhNE1Rb3NURklLck5VVHJ5U1lOSEFsNEF2UDZGCklRSk1Da3NpNkdmWTd5VU1t
MkwwTVdsN285b1hkZDJUOUoxNWdoRWdBUWZqVWhheFRZM1hyOWZTK1MyeGJZSVZtNDhzbElYeW9m
a2sKRWJxZmw2SUU4am4vL1BObG80MDJzaE9WWUNIQWNnUnAvZm5QZjdaanFKaDBnNGxIbU1pRU9N
aDIyMjBuUFhyMGtPblRweTlWWm81QQp3TE5uejVhdHQ5N2F4bU0yOEpwcnJobEtSS3BIeDBSemxC
Vndjc0FCQjFqWE0xeXJHUCtGU3hoandKaEVoTWxSc0xZeC9vdkpYaUJtCnZIN2tDdHFOV2Qxd283
dUNtY3NZeThXNE9RZ2VrNm93NnhydVowd2F3M2dxK252OTlkZkx2ZmZlNnhZTlBWWU04T0FEZDNs
UW0wTUwKNTVtQWh5Tk1xc0lZTUt6aGxWZGUyVDVVeGFtTCtyMkVZUU9kaGZZeGFYdWoycGZrdXNm
MW4rbjFFYWpwOTRDbm0rR3ZCYTNxZzlLUQpNY3N0RkZubnJmQWE1eHBqODhNZUFlbm1GUlZmMmtn
YjR4eE83eDcrUnI2Umo4d25pZlNWdnJLOCtTd3huMm5tVTI2eXNXemM0RTNDCk9CMW00Y0tWbWxS
Z0FjTmlMRlNLcFNlb0hkOTg4NDBsL3lEM05tWU1ZekVSdU03VENrZ2JibXE0WFYxQlBGejVhWEJF
ZVJlRHFEYTcKZFJWeWpBY2VqSGZEWW9UY2Z2dnQ5bld1SjU1NHdwN0hmVVg5WHNLd0thU1BhZHNi
MWI1Q3Juc2NMcldVenZlQUsrUnF0L3ZlakVWbApSREpONGh1TTkzaEJqT1pOMWZqTVRvNmtybXNz
Y2dIeXBlUWlBRGRoV3RJb0J2bWlGY1hTazl1anVyT29Qc0VGSGJYNFJaQStqY05yClJqNzVJZzN4
VVhWcWVUOTBNY2ludks4djdoeVRuVEJNZ0ZuYk90dDl3b1FKY2NXeTZWRy9sekJzQ3VsajJ2Wkd0
YStRNjU0RmdBZFoKQk9pQ3prSlJuZ2R3UTdlZWw2eHRXRURqZS9OSkk1aDRoZGVZa2tnN3liVllr
cFJoSGlKUWJRaGdiQjdqdnhoR3dQRjk5OTFuMzJNdQoxMzVXV252TEZjZFN0SXR6eUV1QmFwRjF0
amR6cTM1c2swd3ByTmswazZTUVArbnM1L1pTOSs1cHNwWXdGeEdvWGdTd01wbXVVbFVKCnZheTA5
bFlDcHNWb0l5M2dZcUJZWWgwZzRLUUNhemJKVXBLcUw2bjdlUmxaeG93d0ozd0tVT1VNaVFBUklB
SkVJQlFCRW5Bb05PV1QKc096UFptV2xuNUsxQjJQQVA1cFBFb0hsbTlSbDNWYmFHZ3JtenlVSVYw
ekF3aXRHRkNKQUJJaEFHZ1I0UjAyRFZpUG1UV01GSjdWcQpZUzNUL1Z6WVJjWDZ3OTI3ZDVjenp6
eXpNRVZlYWF5dzVXNDk2Q1ZYNUtuZko3eTJoWm5VZm54RmRvNk5KZ0o1SUVBQ3pnTzB4aWlTCmhv
Q1RXclhmeXJlSnVvTGRoVGdCS3hncTdDcjA3TFBQU3BwWnNNR2FjbU94UkNRVzRhZ21jZnVFVjEz
T1B2dHN1MlNsRzE5Ti9XVmYKaUVBY0FpVGdPSVIrUzhlclFGM00vdXZGL3VzNE4xa0RXaTB3cjJu
VUxVWVVXK0JuK2RudWFoU1ZNYzJNYWJ4NjFNeDhDaEc4R2dVOQpwZjRVMHNhd3NsaXRDWXRwWUkx
bGJMT0hwUkloV0NBQjd1ZmRkdHZOYnFPbjViRy9LdDROVmNFc1dhenpETUdxU2RoNEFHc2FZNUVM
CmJEa0l3YUlVMkJZUXV3aGhrWXUzM25vclp5R0xzRGE4OHNvcnN2dnV1MXNkK0lJK3RCRUNranY4
OE1QdEdzS3cwaSs4OEVJYjczK0YKNmNaeWkxaGtBKzNDWWc3WVVFQTNTSUNPc0w0Z0RUcTMybW9y
dS9NU3RpekUrNk40SDFVWDUzQzNVMFFmTkI1bHNTb1dGaTdCMnNmQQpIZS8yUXBMMngyYm1GeEdv
QUFSSXdBa3ZFZ2g0dFUrSy80ZGRqNUpLR2lzNHpnME45elBHaTVOSU1hemYxdExhTE9GUitrK1Mv
cVRKCkU3VlZIbmFQd1h1Z1dMVUpaS09DWFlTd0g2OEtsbFpFSFBhRURkc3l6OSs2RG90ZjZOYURV
VzFBT1hjbExKenJrbzVKdHBDTDBnM1MKeERLVWVQREFxbDNZZEVJZkpLTDZnaVVvZzdZZGhEN3Rr
N3ZOSHQ0dDFYaHVpYWUvR29hMWdFQmhaazB0SUZSR2ZRUUJmOTA1V1lQZwpodTVxUG1HUzFQMk04
clg4K2hIV2Q5YXQ4b0FGeGkweE5ndExFRlloRnFrSFFXRjlaeFhzSEFPTERqc2JZVm5LeVpNbjI0
ME5RS3JZCk1nL1dIWWpTdFlCUlZyZXVnMDZNaTZwRXRVSHpCSVhRbzFzSHdsckhzYnVnQThyRTZj
YWlETmlNQVN0ZW5YcnFxWFlaU1l6YllzR0wKc0w2NFcrdWhEcEN0YXprakR0WXRCSHJRTGhWM1N6
ekVZWXRITE5FSjZ6MUpmMVFQUXlKUUNRaVFnQ3ZoS3YzV3hqWm1vaTBXNWxpUwpZS0VyYkM4SVYv
U3k1dU5MR3ZkekMya2haczBqWDBYTm5NT2FETnNxRHdRY0pDQVhySWVNSFpCQXpOalVBQ1FOQ2R2
bUQybnUxblU0ClY0bHFnK2JSVUhjdHdubVNMZVRpZEdQZFpsMXVFbXRDdytLSDFZdzFtOFA2RXJh
MW52dFFvZTMxUStoR3ZxQXRIcFAweDlmSGN5SlEKemdqUUJWM09WOGRyRzl6Z2JaTXRXbVZMaGsz
R3dtdEt2NWhQRXFsbDZ4ZjR3RUtMMmlvdkRFT01jV0lTRlN5NmZmZmQxMmFMMjA3TwozYnJPMVJ2
VkJsalZzRWhWTUY2cUpBeUxNVzRMdVNqZDBJbWRpN0MzTHdUNzgySk5ZandvUlBVbHlkWjZWbUhB
RjdmRUN3Q0ZVVldMCkFBbTR3aTV0TWNhQjZYNU9mdEh6M1NvUHV5Qk5uVHJWVHM3QzVDVkl2bHZt
UmJVQlZqaDJVRklYcnp0ek9za1djbEc2MFdaTU1vTUwKSFlJWjM5aDFDRXNiUnZWbHdJRGdiUWV0
a3QrKzROb08ycFlSN1FuYnNpOUpmOXc2ZUV3RXloMEJ1cUFUWHFGZnphTUsvcFpKdG1kOQpRcTNw
czhFQ3Rwc3pKQ2dLU3pkb2M0YTRDVnFxR2pPZk1YbXFsc1hkS2cvYnptSENVSkt0OGpEV0N0Y3py
Tk0yYmVwV0VNTTJmN2ZkCmRwdmRNZzk3Qm1QMk5IUmhQRGhLb3RxQWZYTXg0UWt6cDBIR21FV3Rn
aTNrb0I5cHNJcXhkckcvZFdDVWJ1akJRdjRqUm95UTQ0NDcKem81UjMzLy8vVlo5VkYvY3JmVlFK
eXptaVJNbld0ZTF0ZzJoYnJNSFlsVnh0OFJiWTQwMTdQN0p1c1Zqa3Y2b0hvWkVvQklRNEhhRQpL
YllqN1BxWlNPZXY2d2dRSkpoV2lrWGU3L1EyYTBQUHJMOGRZVkI3ZWtwUDZXQStLaURsZDh3bmlh
d2dLMGgzOHdrU0VIdWE3UWd4Cms3cVgrYWdrWFFCRTh5Y05TN1ZhVjc1YjVRVzFPOTh0ODZMYThQ
MzMzOXVIQTB6azhpWEpGbkpCdXJIaHdJRUhIaWd6WnN5UXVYUG4KWnNleFhmMVJmUW5iV3M4dDcy
Nno1OFp6U3p3WERSNVhHd0xjampDUEsvcVptVlNNdjN3RnBJMWxKVEdacXRNY3M1WGMvUHcwd1Ey
ZApkT0ZEV0xzdUFTZTFmdEd5WXJ4K0ZOYkR0K1F0TzBrc0xEM2YrRkx0QjV6dlZubEIvY0M0YXo0
UzFZYWc3ZjIwamlSYnlFWHBoaDZkClJLWTZOWXpxUzlqV2Vsb1dvVDhyVzlPNEpaNGl3YkNhRWFB
THVnR3ZMdmIwWFdRTUZQek42V1J1YW1ZUmptNnowcnUxc1Vld2VTVTUKa1dBaUZtWTlZelVyU05M
eFg2NStsUWplcXM0RTkvRjU1NTFYMVgxazU0aEFZeUxBU1ZpTmlQNWM4MmJLekQ3SlhpdHltOWxp
a2RtYwp3WHlTQ0Z6Rjg4d0hnbkN4K1NRUjdIeFVLbmR1a3ZxWnAvRVJ3S3RBR0YrbUVBRWlVQm9F
YXBxQWl6VW1XOGlsV1dER29EL29tVjVECkd2ZXd1cDAxVEZKYnJiOStsQVFqNWlFQ1JJQUlGSUpB
VFJOd3MyU3Z3aGFDYjZLeVA3U3RjMGtueXZ4YnBqUUVxY1NiMVAyTUt0SVEKZkpwMk15OFJJQUpF
Z0FqVUlWRFRCSngwYzRPRytMRmdjaGZHaUpNS05qVm9iajVKQkN0aXpURWZoRW1rbGJRS1hFRXJT
Vm5tSVFKRQpnQWdRZ1dRSTFEUUJZNGVoY3BIRmhrc3hKcHhHMGxpcHMyVjJZdFZwck92RVNwbVJD
QkFCSWtBRWNoQ29hUUp1WFRjM0tRZVF4ano1Ckp1WGJLV21JTXVuT1IraC9HbUp2VEx4WU54RWdB
a1Nna2hHb2FRSmVicUZJT1ZuQjg4eWlVMWh0SzZtMGxiWkZuNm1NelJ2Z2dxWVEKQVNKQUJJaEFh
UkdvK2ZlQW45bFM1SWhyU3d0eUd1MFBtSlVFaHp5WXJBVGUxUjFyUG5lYlQ3SGtqL0pIdWNKODRn
U3ZORzFpUGtsbAppQXlSQjh4SFpSZlpSVDQybjJJTExIMitQbFZzVkttUENCQ0JVaUNRd3Q0cVJm
V05yL09nRzBYNnZkYjQ3ZEFXdkwyMkhpVUxkNVBkCmttVk1tS3ZZK2hKV3kyeEVnQWdRZ1pwRG9P
WUpHRE9oLzNXSVNMbk1pSjdSTjkxdkVKWmtzU3crYkx3dzBId29SSUFJRUFFaVVIb0UKYXA2QUFm
RUcwK3BJdUJ3VzV2aGlwWFFYdmJOMGxpM01weGl5byt3b0xjeUhRZ1NJQUJFZ0FxVkhnQVQ4Rzhi
NzN5d3lhVStSTlB2dApsdUx5WUNKV1d0bGRkazliSkRBLzNjK0JzRENTQ0JBQklsQVNCRWpBRHF5
NzN5UHkxam9pdzY4eGF5MUhiOUhxbENydVlUNEVYQXppCmJDcE56VFNwSWNYdERMVVJBU0pBQklo
QUtBSTFQd3ZhUndaNy9sNTlwTWhGcDRnOHVyM0l5eHVibllkV0U1bS9mTHBYaEtBWDZ6dy8KdFhW
ZDZOY1RkcjZrYVZoS2VId2ZxZnZNbEpuaG1XSlN0cFF0cFpQNU5KVDBrMzZ5b3ZuRXlYU1piamVS
aU12SGRDSkFCSWhBcFNGQQpBZzY1WW0xL0VCbDJWOTFmU0paRTBmOGJKREo0Y3FLc0JXV0NHL3F2
NXBPdkZNT0tUbFAzdlhKdm91emJ5RGJ5bFBsUWlBQVJJQUxWCmhnQmQwQ1crb29QK0o5TGgyeEpY
WXRRWFNxQ0ZsaTk5RDFrREVTQUNSS0M2RUNBQk44RDE3RGkzOUpWZ0pqUm1ST2NqY0dEM05oOEsK
RVNBQ1JJQUlOQndDSk9BR3dIcFJBN3paZzNlQjhVNXdQbEtzV2RUNTFNMHlSSUFJRUlGYVJZQUUz
QUJYSHZ2OU5vVGtTNlIwUHpmRQoxV0VkUklBSUVJRmNCRWpBdVhpVTVPeVhCcHJxTmxnR1MwdnpT
U09ZK1Z5c2hUelMxTXU4UklBSUVJRmFSNEFFWEVXL0FPeGlOTWg4CjBrZ3hsN0pNVXkvekVnRWlR
QVJxSFlFR3NzM0tFK1k5SjRsTVg2djBiZnNwblZGYVVJUGdUcjdQZkpKS1E3bWZuNVFuWlMzelNT
dXoKWkZiYUlzeFBCSWdBRWFnSUJHcWFnRC9zSVpKMjg0Tnl2NnE3eXE1bWs4SW1rakdmT01HNnp6
dVlUMFBJZkprdk04eUhRZ1NJQUJFZwpBblVJMEFWZFpiOEVyQzYxdWZra2tlMWxlMW5lZkNoRWdB
Z1FBU0xROEFpUWdCc2U4NUxYbU5TdG5EUmZ5UnZNQ29nQUVTQUNOWWdBCkNiZ0tMM3FTMTVIZ3Bv
YTdta0lFaUFBUklBS05nd0FKdUhGd0wybXRtT3pVeTN5aVpCUFpSTHFhRDRVSUVBRWlRQVFhQndF
U2NPUGcKWHZKYTQ2eGd1cDlMZmdsWUFSRWdBa1FnRWdFU2NDUThsWnNZUjdCeDZaWGJjN2FjQ0JB
QklsQVpDSkNBSytNNnBXN2xWcktWckdBKwpRZEpOdXNuNjVrTWhBa1NBQ0JDQnhrT0FCTng0Mkpl
MDVxYlNOSFJ6QmxxL0pZV2V5b2tBRVNBQ2lSQWdBU2VDcVRJemhSRnRXSHhsCjlwS3RKZ0pFZ0Fo
VUpnSTF2UkxXTmxORVZwMWRYaGV1NXdmRmE4OVFHU3JEekdleCthaGc0WTN0ektkUWFTN05ReTNz
UW5VWFVoNnYKVjFHSUFCRWdBcFdBQUMzZ1NyaEtlYllSUzAzMk14OVhOcGFOalhPNnFSdkZZeUpB
QklnQUVXZ0VCRWpBalFCNlExYnBMMHU1bVd6VwprTld6TGlKQUJJZ0FFUWhCZ0FRY0FreTFSRzhx
bTlyTkdkQWZXTDZ3Z0NsRWdBZ1FBU0xRK0FqVTlCaHcrKzlFT3MxcC9Jdmd0Z0J0CktxWjBrQTZ5
cHZtOFl6N3Jtayt4TmwvQVdHc244NkVRQVNKQUJJaEFmZ2pVTkFHUEdaVWZhSlZXQ201bkVIQXgz
Yzh0cGFWY2J6NFUKSWtBRWlBQVJ5QThCdXFEenc2MmlTdWs0TU56UkZDSkFCSWdBRVNnUEJFakE1
WEVkU3RxSzFXVjF1MGN3OWdxbUVBRWlRQVNJUUhrZwpRQUl1ait0UThsWWNLVWVXdkE1V1FBU0lB
QkVnQXNrUklBRW54NnFpYzNhV3poWGRmamFlQ0JBQklsQnRDSkNBcSsyS3NqOUVnQWdRCkFTSlFF
UWlRZ0N2aU1yR1JSSUFJRUFFaVVHMElrSUNyN1lxeVAwU0FDQkFCSWxBUkNKQ0FLK0l5c1pGRWdB
Z1FBU0pRYlFpUWdLdnQKaXJJL1JJQUlFQUVpVUJFSUpGOEpLNU9waUE2eGtVU0FDQkFCSWtBRUtn
RUJXc0NWY0pYWVJpSkFCSWdBRWFnNkJFakFWWGRKMlNFaQpRQVNJQUJHb0JBUkl3SlZ3bGRoR0lr
QUVpQUFScURvRVNNQlZkMG5aSVNKQUJJZ0FFYWdFQkVqQWxYQ1YyRVlpUUFTSUFCR29PZ1JJCndG
VjNTZGtoSWtBRWlBQVJxQVFFU01DVmNKWFlSaUpBQklnQUVhZzZCRWpBVlhkSjJTRWlRQVNJQUJH
b0JBUkl3SlZ3bGRoR0lrQUUKaUFBUnFEb0VTTUJWZDBuWklTSkFCSWdBRWFnRUJFakFsWENWMkVZ
aVFBU0lBQkdvT2dSSXdGVjNTZGtoSWtBRWlBQVJxQVFFU01DVgpjSlhZUmlKQUJJZ0FFYWc2QkVq
QVZYZEoyU0VpUUFTSUFCR29CQVJJd0pWd2xkaEdJa0FFaUFBUnFEb0VTTUJWZDBuWklTSkFCSWdB
CkVhZ0VCRWpBbFhDVjJFWWlRQVNJQUJHb09nUkl3RlYzU2RraElrQUVpQUFScUFRRVNNQ1ZjSlhZ
UmlKQUJJZ0FFYWc2QklwS3dQUG0KelpPRkN4ZFdIVWpzRUJHb1JRVDQvMXlMVjUxOWJrZ0Vpa3JB
QXdZTWtMUFBQcnNoMjgrNmlBQVJLQkVDL0g4dUViQlVTd1IrUTZDbwpCRXhVQzBOZzhlTEY4dTY3
N3hhbUpHSHBocXdyWVpPWWpRZ1FBU0pRVXdnMEs3UzM4K2ZQbDlkZWUwMWVlZVVWbVQxN3RqejEx
Rk55CnpUWFh5SHJyclNmcnJMT090R25USnJDS3h4OS9YRjU0NFlYQU5EK3lhZE9tMHE1ZE8rbllz
YU4wNnRSSk50eHdRMm5idHEyZnJhTFAKWDMvOWRkbHh4eDNsaXkrK2tDRkRoc2dERHp4UXN2NDBa
RjBsNjBRaktYN2trVWZrcXF1dWtqdnZ2TFBvTFJnL2Zyd3NXclFvdGQ0VwpMVnJJaVNlZW1McGNV
SUY4LzUrRGRER09DQkNCR0FSR2p4NmRHVGx5WkNhdG1MSGVqSEUzWjVaZGR0bk1jc3N0bHhrOGVI
Q21RNGNPCm1mWFhYejlqWEZjWlE3eVpKazJhWkxiZmZ2dk04ODgvWDArOUlZSE1SUmRkbERHa2t6
Rk5UUFZuQ0RtejZhYWJadjd5bDc5a3pBMmoKbnU1S2pEam1tR055TURBUEp5WHJSa1BXVmJKT05M
RGl4eDU3TFBPNzMvM09YcVAyN2RzWHZmYW5uMzQ2NS9xbitaOVlhNjIxQ201UApvZi9QQlRlQUNv
aEFEU0dndkp1WEMvcWpqejZ5RnU0NTU1eGpyYlZaczJZSkxJT1ZWbHBKZHRoaEI0RjErOWxubjhs
Sko1MGtUejc1CnBHeTIyV2J5KzkvL1B1ZFJBQmJ5eVNlZkxBODk5SkFjZi96eE9XazRnUlVOSFhQ
bXpKSDMzbnRQcGs2ZEtoZGNjSUgwNjlkUGxpeFoKWXEzblAvLzV6N0xHR212SS9mZmZYNjk4cFVY
MDdkczMyMlJZTkQxNjlNaWVGL3VnSWVzcWR0c2JXcDhoUnRsdXUrMWs0TUNCZ3VOUwpDWDd2K2Nx
d1ljUHlMV3JMRmVQL3VhQUdzREFScUZFRVVydWdmLzc1Wi9uREgvNWd4eXEzMm1vcjY0cGJacG42
UE42NmRXc3hGcTRZClMxWDIyV2NmdWZmZWUwTWhCamxmZXVtbDJYUmpVY3VoaHg0cWNEMURWbGho
QlV1MFcyNjVwZnpwVDMrUzRjT0h5NDAzM21qVDRMTGQKYzg4OVpkS2tTYkxMTHJ2WXVFcjhPdnp3
dytXSEgzNFE0eTJRUC83eGo5YlZYcXArTkdSZHBlcERxZlZpV09XdmYvMnJtSWR5NmQ2OQp1eGhQ
aitDM1h3cjU5dHR2NWZiYmJ4ZmpNWkpCZ3diWm9Sc010K0E4VERCWFFQOEg5dHBycjdCc3NmR2wr
SCtPclpRWmlBQVJzQWlrCkp1QkxMcmxFWG56eFJWc1lNNTZEeU5mRkZtVDk3TFBQeXVXWFgrNUc1
eHpEY25hbFdiTm1XZkoxNDNHTUcrRU5OOXdneGcwb0V5Wk0Kc01tWVVBVFMrdUNERDJ5Nlg2WVN6
bHUxYWlWbm5ubG1nelMxSWV0cWtBNlZvSkxsbDE5ZXJyLysrdXp2NmRkZmY4MFNYaFF4NXRNVQov
Sjd4ZndSdjBkWmJiNTFJeFdtbm5XYnp3Vk95MFVZYkpTb1RsS2tVLzg5QjlUQ09DQkNCK2dqVU4x
M3I1OG1KK2QvLy9wYzlYM3Z0CnRiUEhVUWR3UlVjUmRjdVdMWE9LSjduQndZcHo1ZE5QUHkzSnhC
aTNEaDdYRGdLOWV2WEtraTk2M2JObnoyem5ZUlVYVXpDcEN5U2MKbEh4UjkzLys4eC9iQkhoL0Nw
RlMvRDhYMGg2V0pRSzFoRUJxQW43enpUZXorTHp6emp2WjQ2aUQxVlpiemJxaW8vS2tUY01ZTXR4
MApycmh0YytONVRBUUtSUUJlR1pVa0Q0aWFOeTZFKy9tZ2d3NlNORzdrVjE5OVZkNS8vMzJyT2sy
NW9MYTQvek9OK2Y4YzFEYkdFWUZxClJ5QTFBZmZwMHllTENWeDBTUVVUczRvcHVBbmlOU2RYUHYv
OGMvZVV4MFNnN0JFd2J3N0k2YWVmbnFxZGQ5eHhoODNmdFd0WDJYenoKelZPVjlUT1h5Lyt6M3k2
ZUU0RmFRR0RwWTMzQzNtNnl5U1oybGpPeS8vdmYvN2F6UXc4NzdMRFkwbEV1Nk5qQ0FSbCsrZVVY
Ky82eAptNFFaMFdrRk02cmZldXN0bVR0M3JwM1pqUWxmWWJKZ3dRS0JxenRNTUM3ZHVYUG5uR1JZ
T0pqSjdRdmFHb1lKWnBWanJIdmxsVmYyCmkrV2M0NzFydk5PTFdhd1lDMXgzM1hVRjNnYTRTTEVr
cU8vYXp5bjgyMG5TdXR5eTZCTW1LZUVkYnd4REpLbkhMWTlqdEJrVGdIcjMKN3AxTndpUzBsMTU2
U2I3NTVoczc4eGp2ZkNlUjc3Ly8zczZLeDhwTnpaczNUMUtrb3ZNb0FXUDJjNkhXZUxuOFAxZjBC
V0hqaVVDZQpDS1MyZ0k4OTlsaTdLSWJXaHhuSm8wYU5zcThHYVZ4RGhKZ0loaHUySzNoRkthbGdC
dWsyMjJ4ais0SnllTlVFTjN3UTJVMDMzUlNvCkJoYjJDU2VjWUVrSHhPSCs0VldxWjU1NXBsNDVF
T1QvKzMvL3IxNWVUQnh6NWJ2dnZwTi8vZXRmOW9FR2JkQ0pibTRlUGNiRHd0RkgKSDIxMTNuYmJi
ZloxTFV5bUFSbWlUWmd0L285Ly9FT3oxd3ZUMUtXRlFaajc3cnV2eFFjUEJuQjk0dVlORWpidm9W
cGMvT3VoWlRYRQp6REt0cFdrQUFBOTlTVVJCVkYyOFN0YS9mMytyNTY2NzdySkpQLzMwazJCUzBh
cXJyaXJtdlhFN3l4NFQ4M0FjOVBDaStoRGk5YlJWClZsbkZ2djZHMmNyb1d6WEx0R25UN0d0NTZH
T2g3bWZvS0pmL1o3U0ZRZ1JxRGdGOUlUak5POUEzMzN4enZVVUR6QVNTakhHSlpVNDUKNVpRMHFt
emVUejc1SkVjZkZ2R0lrNk9PT2lxbmpKa2trekVFRUZjc1k2eXVEQmFpTUN0cFpjYU9IWnN4SzNm
WmhVTE1La1FaWTcxbQpkWnIzbVVQMUdjcy9tOC84WURMbXZkckllbzJWblRHa1k4c1lBc3JtUmJ5
WmZKTXhyMC9aQlUyZ1MvL3V1ZWVlYkQ3M0FPM0hJaVRJCloyYk51a21aRHovOE1OT3RXemViZHU2
NTUrYWs1Vk9YS2pBUEpCWXZRN3daWTMxbHpNTkR4c3dLem1DeGtEUE9PQ09EaFZIUUhtTjkKWjh4
NzNWb3NHNXBaOEJrelhKRHRtL1lSV0poM3ZEUG13Y0dtWVNFWExPeWk2UWh4SGREMk1QbS8vL3Uv
blB5NGpxVVE0S250UWpzYgpTOHhNZWRzTy9GYU5GNmdvelNqMi8zTlJHa1VsUktDS0VWRGVGVDFJ
MjFmejNtN0d1UHV5TnlXOU9aa3hxWXg1SFNpVnVqUUVESkkxClQvNDU5ZUttYlN6RzJEcEJYc2Jx
elpoWFRDengrZ1hlZU9PTmpKbllsZFZ0ckhzL1MvWjg1NTEzenViRHpSQ2tGQ1ZtSVFlcjI3aXgK
czlsUXhpeGdrakZ1N2N5cHA1NmExUWNzelh2VDJYenVnVm44eE9iYmVPT04zZWpzTVVqWXZHWlVi
M1d6Zk9xQ1VqeFE2YldkTW1WSwp0aDczNEc5LysxczJEL0thVjg3YzVJeXhjRFBHMVoweEM2L2s1
RFB2ZjJlNmRPbVNPZmpnZ3pOWWFRcUVZcFppeklDWXRVNkVacFp3CmpqNzNaTXlZTVRsNUowK2U3
Q1lYN2JoY0NOaDRPR3gvanpqaWlLTDFEWXFLK2Y5YzFJWlJHUkdvUWdTVWQvTW1ZR0JpM0g4WjR5
N04KdVFIaWhtbFdjc3FZVmFwQ0xVZ2Z6emdDeG8zNTVaZGZ6dno5NzMrMzFxWjdjOTVnZ3cwQ3lk
U3ZBK2V3amxBV0pCWW1hbUZvSFE4LwovSEJnVnVOdXp1bDNtTVdLd3NabGJDMDdrR3lZbUJtb2lm
VHBjb2ptTmF3d1ZSbmpWc3dZbDI1b2V0SzYwRWN6eG1qYmRlQ0JCNGJxClE0S1p5WnR0djFtRUpX
TmMxb0g1WFMrRG1WbWN1ZmJhYXdQektkSGdPcGhGV1FMeklQTHJyNy9PSEhua2tSbDRRTTQ2Nnl4
cm1ZZG0KTGlDaEhBallqTHRuTVg3d3dRY0w2RTF3MFdMOVB3ZHJaeXdSSUFLS1FGRUlHTXBnMFlG
c2NUTlYwdEp3eFJWWHRDNUxyVFFzOUFrWQp1ckNHTk5hVmh0dlR0N1N4RnU4ZWUreVJNV09ta2U1
SnR6NlFvRnEzTTJmT2RKTnlqbUhsYWZzUkhuREFBVG5wN29sWkFDR2IxMnlnCjRDYmxIRjl4eFJX
V3lNeXJJem54N2drc2U3ZmVNRUkzazhSc1ByTTVSZWc2Mk9iZHpveFpNY3hWbjNPY3BDNVl6T1pW
cjJ5YlFOcFIKOHZISEgyZkpHdjNZYWFlZEFyUERjdGQrd2dJT0UxakZtczhzWlJxV3JjSGl5NEdB
OFlBQlRQRDdoNmVnRkZLTS8rZFN0SXM2aVVBMQpJYUFFbkhvU2xya0I1QWhtd0dKaURYWkRNb1Ni
ay9ibGwxL2FOYUF4d1FZckNTVVY1TVVzWGt6RU1lTi9Zc2dnV3hTTEZXQmlEaWJ3Cm1KdDA2RXpp
YklIZkRyQ3NJQ1l2WWNLT0lRdkJBZ1JCZjFqYTBoWE1rQTRUVEdCUndacldtRkVjSk1iS3Mwc011
b3M1K1BuODJidGgKczF0WFgzMTFXeFF6ZjdGN0VtWkMrMktzWk5sdnYvMzg2T3g1a3JwdXVlVVdN
UzU1V3didndFYTFIWmt3K3hvVDJWU0FoL0ZhNkdrMgp4T3h1bGJCWjRFaDNYNjh4RDB4YXBLWkRY
WHdEUzY2Nk9CWVRsRkw4UHhlemZkUkZCS29KZ1lJSldNSEF3aGlZeFlwWFFjeEVJSTIyCm9kbTFT
SXdsbVJNWGRZSmxBTEh3dlhIL3l0MTMzNTN6YWdtMk83end3Z3VqaWdlbUdjdld4bU9EQjJPZGhm
NkJ1TEFHdGY1aEk0aXcKaHdma3hYdWNFT1FCMGZxQ1JSTkFSR2JTbUorVTEvbnV1KytlTFFlTWpB
dmV2ZzVtbmc2ejhkak1BVE9OQ3hHWFBFSDZ1aTUzbEU3agpwczVKVmdMUGlVeDRnbGU2VkRCTHV0
WUZDMmJNbURIRHdsQ00yYzl4ZUJiei96bXVMcVlUZ1ZwRm9HZ0VyQURpMVJUY0xMQTJzeXV3CnFQ
TFp0V2lMTGJhUWl5KysyRlZsMTB3MlkyQTVjWEVuMDZkUHQxbndhZ3ZlSVU3Nlo5eTFvVlkyckFY
M0hlanJycnZPNm5YYmdsMXUKWU1udnR0dHViblRleDJZY1dkemRqUERPTEI1dXNCNHdkcVFxbHJn
ckpNVlp2MW9ucnBVcmI3Lzl0bnZLNHdJUTBIZC84WEFLejBkRApTYkgvbnh1cTNheUhDRlFDQWtV
bllIUWFPeUdaY1UrNThzb3JjekJJdStLUEZqN3V1T055WEtxd052ZmZmMzlKNnBxRUt4eUxSMERV
CmlsRGRoWVo0SDFmZHhiQ3U3N3Z2dnF4S0xOeGhYdkd3T3p2NWJ0OXNwcFFISUgxNEFiRExsQ3Q0
UHhRM1p1dzg5ZFZYWDdsSmVSMjcKQkJ6bEtuYVZ3dzN0U3BUNzNzM0g0M2dFbElETlhJTzhGajZK
cnlFOFI3SC9uOE5yWWdvUnFDMEVTa0xBQ2lIY3Jsam5WZ1VXa1prOApvcWVwUWxpUzd0S1RHQU9G
T3haaG5MaUVoREhUZWZQbXhSVkpuSTRWcmVEU1ZzSEMraXE0YWNLQ3htSWx4UlFzR0FJU05oT0RC
RnMzCnVvSnQ3VGJjY01QRUR5ZHVXZmZZZldEQW1Ia1N3UzVMN2twaVNZazdpZTVhem9QL0cvWGdG
THI1UWlFNEZ2UC91WkIyc0N3UnFCWUUKVWhFd2lBc3V6elF5Y3VUSWJIWllya2tYZk04Vyt1MEFy
cmM3Nzd6VHJyeWthYkNBWVFtSGpkRnFQdCtGbXRSeTF2SnhvVHNaeTd5SApLdVpkWEZzRVk4Sm1J
UW03NmxPY2pyVHBtSVNEN1F0aFpab1o0VG5GWVlsalFwUmEvVG1KQ1Urd3JLVktVZ0pHZmxoTEtx
NE9qV09ZCkhnRzFmdkd3TlhUbzBQUUtRa28wNXY5elNKTVlUUVJxQ29GVUJJd0pSZVlkMmxRQXdV
STByOHlrS2hPV0dRdkhZNXpWRll3Rm05V1kKM0toNnh5QnZMRnl2NHV2UStLQVFNN0F4R1N4S3pL
SWNXWkxGd3dDc2RiaTZNVW1xV0pPdnRINS93d2s4WEdCRytLT1BQcHJUUitRYgpOMjZjRmtzZHV0
NEd1Tkwxb1NKT2tUdUwzTlVSVjQ3cDRRZ29BUThlUERqbkFUUzhSTEtVeHY1L1R0Wks1aUlDMVl0
QUtnSUdESmlWCm5FWXcyVW5kem5CcnVydXZwTkdqZWZmZWUyL0Ivc0t1WUpZMUpubEZDZFlyVmdG
QlluWnpFam43N0xQdEJnRlJlZUZxeFZpd0NuYUoKTXF0QjJjMFVkdDExVjQwdVN1aTZ1MTJGWnFV
dGVmNzU1OFc4TzUyTmhqV2VyMkIydFN0aDYyTzdlZkNhbDE1cnhKdDNmdDFrSHVlQgpBRnpQT3Ba
ZWl0blBqZjMvbkFja0xFSUVxZ2FCMUFTTWQxMzFmY1FrS0dBeUQ5N3BoV0R6ZzZEM0Y3RXJqaXR4
TG1VUXJyOTV1VmtaCnlyNkw3T3B4ajgzNno5bFRXTFZtb1lxYzk0dXppYzRCTmpxNCt1cXJCWlBB
NGdTem9YVThGbFlnTmtOQUhONmhMYVpnREZ2SEEzMjkKZUEwTWs5OVVDbmw5NXc5LytJUGRaRUYx
WWFNSTkxVW5qWGREN0dTa2dxRUI5NkZINDBzVnh2MW1TbFZ2cWZYcS94b2VYb3Mxazk1dApjeW4r
bjEzOVBDWUNSQ0FjZ2RRRURGVm01U3U3QTArNDJxVXArbTRzWmdxYjFUK1dKamhIc0p4Y21UOS9m
bzRsNWFiaEdLUUdjc1RyClBTb2dHNHlGdWhPdU5BMGh0bTV6ZDB2Q0sxRjRJRENyY0xuWjdER3Nk
dXd1WkJiNkZ5emdrY1NGanNsSDJDM0lsVFNUcjlCblYveHoKTjgyZDZPWEc0eGdMV0dDbU5BU3Zr
QVNKcjlzL1J4azhLS0VlbmVGdDF2Zk9tZUVkcEJja0RjRTRjTmk3MnNBMmljRHRyUkpGcm5DMQo0
OXJpdldHelpLVVU4dENoOVFXRjdtSXdRZWx4Y1dqWGlCRWpwRmV2WHZiaEwrbEVRSFUvNC8xNmZl
YzhycTYwNmNYK2YwNWJQL01UCmdWcEZJQzhDeHMwWTdzV2c3ZmRjSUNkTW1KRGRGczhzMkM5WW9T
bElnbDROd3RaMVVZSXQ4VzY5OWRZY0N4TmtpcG5SUVpPUFFDVG4KbjM5K3pqdTl6ejMzbk4xREYy
VXdYZ3JDd1UwU2x0dUpKNTRvMkdMUUxIb2YxWXljTkhjeUZsNEo4aGNreWNuc25aZzFqWE5pd2g0
awprQWt1ZExQRFVFNStQY0VyVjdqWm83L3VESFJOUjVpMExuZ1ozSWNJckR3V05va09MbjNkWGhE
ekJOd3hkN2R1dDE5Uld3ZGlJcGtLCnlNOTlMVXJqRVY1MjJXVjJXT1RISDM4VVBBQmdtOGxTaUx2
aUdPcnl2VFp4ZFdMdjdJc3V1a2pNY3FSaTFpUzNiWTByZzhtQ3VwaEoKS2R6UFduK3gvNTlWTDBN
aVFBUmlFREJXYWIyZGM4TFczTVMyY09ZMUY3dEdzMUZyTnhnd3JrYTdTUUsyOWNQYXdWakQxOXhv
c3R2UApZVDFuODI1c21NcU0yUzgzWjgxaDZNVWZ0cUhEemo1eFlpd3RtMS9MSWNUV2Q5aTh3VmhP
OVlwUG1qUXBZeXpFZW1YYzhvYThNb1o4Cjg5cnVUYmNLTkdSVXIrNndDTFFUNjJtN2JkaHFxNjNz
TGtKK0dWM1AybGlaZGdjaE54M3IrR0tOYk9neHM4L2RwT3h4bXJwUUNOY2MKbTFkZ2ZXN294U1lK
aGhpeStuQ0FkYUN4RFNKMllUSUVtSlBtbm1EN1JMZVA2SXQ1WUhDejJHUHpBRlZ2MHczOFRvTUVH
elc0T3NQNgpIVlEyYVJ6NmkvV1gzWHF3UldNYXdlL0pMUisxMDVicUJlNG9ZK1lZWk15d2hrWVhM
U3pGLzNQUkdrZEZSS0NLRVZEZUZUMUkyMWN6Cnc5ZnV1R05lZDhtWWpkQXoyTU1YTndzelZwWEJE
a1hZclFka0hVU0NxQXZibjJHekJ2ZW1GSFJzMW03T0dIZHdaUFBNdTVHQmVyQ1IKQThqQkYreGph
MTZSeWRrOFFPczIxbThHZmN0WEprNmNtRUdiamRVV3F3STdCcG14MW95WktSN1lmdU5pdDFzdkdn
OUJWaGQybnpKTApZRm9pUkp1eEJ5L09zVnNSanZIdzhjQUREMlR6NjBFK2RXbFpoTmpUZDgwMTE4
eTJFM3NnWTE5bGJMTm94cjd0UTVTeFV0MGkyV016ClpwMHhIb0VzaVN2V0NMRnpGbjVEU3VwbTFu
akd2T2VjcmNmTkM1ejg3UWJ4b0lYOWVaRVA3VE9XYXJiZVFnN3dZSWh0TDdIaEJoN0kKM0hib01S
NHV6YkJEeGxqaHNWV1poVkpzWDFIV3VQZnRIdFJ4aGN5UWlhMFhXMmlXV2dyOWZ5NTErNmlmQ0ZR
VEFzcTdUWEJnU0ZMTQp2cXJtM2xDWVlNd1I3NStHamY4VnByMzRwYkdJQnlZT3dRV09zVG1zZnh2
bU9rMWFPemFQd01JSjBGVUtnUXZYN0tGclZjTVZDbGM5ClhJaFluTU1Ra04xc29oVDFxazY0K2JG
T05QNHdNUWhERWJqdS9rWWNtcjhoUW93WHcxV0wxY0hnZWk5WHdUdjBlRzBPd3hONkRjUGEKaXJG
eXJLSUd3ZnZVV0dxMG9hWFMvcDhiR2gvV1J3VHlSUUI4Qzk0dDdoVGRmRnZUU09Vd3VRcHJRK092
V0lKTkMwcEZ2bWlqZStNMgpYZ2Q3WTI3SW16T1dtOFNmdi9oSHNmRExSdzlXNERKYkZ1WlR0RUhM
WUtLZXYyRkZXQU13MFRCc0REK3NET09KQUJHb0xBVHltb1JWCldWMWthNGtBRVNBQ1JJQUlsQjhD
UmJXQU1Vc1dLMTlSaUFBUnFId0UrUDljK2RlUVBTaHZCSXBLd0hodGgwSUVpRUIxSU1ELzUrcTQK
anV4RitTSkFGM1Q1WGh1MmpBZ1FBU0pBQktvWUFSSndGVjljZG8wSUVBRWlRQVRLRndFU2NQbGVH
N2FNQ0JBQklrQUVxaGdCRW5BVgpYMXgyalFnUUFTSkFCTW9YQVJKdytWNGJ0b3dJRUFFaVFBU3FH
QUVTY0JWZlhIYU5DQkFCSWtBRXloY0JFbkQ1WGh1MmpBZ1FBU0pBCkJLb1lBUkp3RlY5Y2RvMElF
QUVpUUFUS0Z3RVNjUGxlRzdhTUNCQUJJa0FFcWhnQkVuQVZYMXgyalFnUUFTSkFCTW9YQVJKdytW
NGIKdG93SUVBRWlRQVNxR0FFU2NCVmZYSGFOQ0JBQklrQUV5aGNCRW5ENVhodTJqQWdRQVNKQUJL
b1lBYnNiMHRpeFk2dTRpK3dhRVNBQwpSSUFJRUlIeVFRQ2NPM0xrU0dtU01USm16Smp5YVJsYlFn
U0lBQkVnQWtTZ3loRVlOV3FVL0g4b2VHUDVnaWJUR1FBQUFBQkpSVTVFCnJrSmdnZz09CgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFk
LTA1LWItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2Vk
IGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKCmlWQk9SdzBLR2dv
QUFBQU5TVWhFVWdBQUFlQUFBQUZvQ0FZQUFBQ1BOeWdnQUFBRE8ybERRMUJKUTBNZ1VISnZabWxz
WlFBQWVBR0YKbEV0bzFGQVVoditNS1lLMGdxaTFGcFRnUW91MEpUN1FpbERiYWJYV2tYRVkrOUFp
eURSelp4cE5NekdaR1IrSVNFSGMrVnFLR3grSQppeXJpUXJwUWNLVUxrVUxyYTFFRWNhVWlpRUkz
VXNiL0p1MU1LbFl2SlBseXpuL1A2NFlBVlE5VGptTkZOR0RZenJ2SnJxaDI2UENBCnRuZ0NWYWhC
TmJoU2h1ZTBKeEw3ZmFaV1B1ZXY2YmRRcEdXeVNjYUs5UjJZK0xSdDlmMUxqMkx2NjU3MitwNzUr
bmx2TlM0VEFvcEcKNjRwc3dGc2xEd2E4Vi9MSnZKT241b2hrWXlpVkpqdmtScmNuMlVHK1FWNmFE
ZkZnaU5QQ000Q3FObXB5aHVNeVRtUUZ1YVZvWkdYTQpVYkp1cDAyYlBDWHRhYzhZcG9iOVJuN0lX
ZERHbFk4QnJXdUFSUzhydGdFUEdMMExyRnBmc1RYVUFTdjdnYkV0RmR2UHBEOGZwWGJjCnkyelo3
SWRUcXFPczZVT3A5SE05c1BnYU1ITzFWUHAxcTFTYXVjMGNyT09aWlJUY29xOWxZY29ySUtnMzJN
MzR5VGxhaUlPZWZGVUwKY0pOejdGOEN4QzRBMXo4Q0d4NEF5eDhEaVJxZ1p3Y2k1OWx1Y09YRktj
NEY2TWc1cDEwek81VFhOdXY2ZHEyZFJ5dTBidHRvYnRSUwpscVg1TGs5emhTZmNva2czWTlncWNN
NytXc1o3dGJCN0QvTEovaUxuaExkN2xwV1JkS3FUczBRejIvcVNGcDI3eVkza2V4bHpUemU1Cmdk
ZFV4dDNURzdDeTBjeDM5d1FjNmJPdE9NOUZhaUoxOW1EOEFKbnhGZFhKUitVOEpJOTR4WU15cG04
L2x0cVhJTmZUbmp5ZWkwbE4KTGZlMm5SbnE0UmxKVnF3elF4M3hXWDd0RnBJeTd6cHE3amlXLzgy
enRzaHpISVlGQVJNMjd6WTBKTkdGS0pyZ3dFVU9HWHBNS2t4YQpwVi9RYXNMRDhiOHFMU1RLdXl3
cXV2Q1plejc3ZTA2Z3dOMHlmaCtpY1l3MGxpTm8ranY5bS81R3Y2bmYwYjllcVM4MFZEd2o3bEhU
CkdMLzhuWEZsWmxtTmpCdlVLT1BMbW9MNEJxdHRwOWRDbHRaaFhrRlBYbG5mRks0dVkxK3BMM3Mw
bVVOY2pFK0h1aFNoVEUwWVpEeloKdGV5K1NMYjRKdng4YzlrV21oNjFMODQrcWF2a2VxT09IWm1z
Zm5FMlhBMXIvN09yWU5LeXEvRGtqWkF1UEd1aHJsVTNxZDFxaTdvRAptcnBMYlZOYjFVNis3VlQz
bDNmMGNsWW1Uckp1bDlXbjJJT04wL1JXVHJveVd3VC9GbjR4L0M5MUNWdTRwcUhKZjJqQ3pXVk1T
L2lPCjRQWWZkMGo1TC93TkFZVVZEWHhMT3pzQUFDQUFTVVJCVkhnQjdMMTc4SzN2V2RhMzl2NGRj
b1ljSU9FUVNEZ0VKU0JvMVlMYTBLTFkKQXRMQ3FFV1pFZ1E3dFRQVzZXQnRTNmtEQkpEeDBORXE5
bnl3UXpRV2tETlNCRkhLV0xSWVdnSkNPbWdDSmlTUUJFSUNDVG45Zm52dgpYcC9ydXEvM2VkWjM3
OWpPdVBMN3ArdGRlNjNuZmU3RGRkL1AvYjd2YzYzblhldTc5cTE3MnI3cXE3N3FkTjJ1RmJoVzRG
cUJhd1d1CkZiaFc0SW1wd0ZkLzlWZWZIdWJsYTc3bWEwNHZlOW5MbnBpbzF5alhDbHdyY0szQXRR
TFhDdnovdUFMd0x0dkR2SHpsVjM3bDZib0sKcGhMWDdWcUJhd1d1RmJoVzRGcUI5MzhGN3Q2OWU3
cjkvZzl6alhDdHdMVUMxd3BjSzNDdHdMVUNOeXR3SmVDYkZibjJyeFc0VnVCYQpnV3NGcmhWNEFp
cHdKZUFub01qWEVOY0tYQ3R3cmNDMUF0Y0szS3pBbFlCdlZ1VGF2MWJnV29GckJhNFZ1RmJnQ2Fq
QWxZQ2ZnQ0pmClExd3JjSzNBdFFMWENsd3JjTE1DVndLK1daRnIvMXFCYXdXdUZiaFc0RnFCSjZB
Q1Z3SitBb3A4RFhHdHdMVUMxd3BjSzNDdHdNMEsKWEFuNFprV3UvV3NGcmhXNFZ1QmFnV3NGbm9B
S1hBbjRDU2p5TmNTMUF0Y0tYQ3R3cmNDMUFqY3JjQ1hnbXhXNTlxOFZ1RmJnV29GcgpCYTRWZUFJ
cWNDWGdKNkRJMXhEWENsd3JjSzNBdFFMWEN0eXN3SldBYjFiazJyOVc0RnFCYXdXdUZiaFc0QW1v
d0pXQW40QWlYME5jCkszQ3R3TFVDMXdwY0szQ3pBbGNDdmxtUmEvOWFnV3NGcmhXNFZ1QmFnU2Vn
QWxjQ2ZnS0tmQTF4cmNDMUF0Y0tYQ3R3cmNETkNsd0oKK0daRnJ2MXJCYTRWdUZiZ1dvRnJCWjZB
Q2x3SitBa284alhFdFFMWENsd3JjSzNBdFFJM0svRHdUY0UvYi8rWHZ2WnRwN3NDdWFmbgozZE10
dzkxVmovNDk5ZDNlVW50UE1yVjNFY2dNSDdhN2ttRkVuMTB3WW90VzltbU1rMzRBYW05TWJJUi9W
LzYzaUVHZlRmdGd1UVZoCit2ZHVKeWErK3BjY1IzL2cxajh3aVQrMnFPNFJpeDFoa1pFM0JOZ2t4
UmhZWmt2NVVCSHRZNE1wZWJDNW9UN3MraVZpdlYycUhlT3cKdlRCczFiZFN4VHo2ZHBVdHJkQnVq
ejB4NWtsemt0NWQ3Q3hRZzh3MXlmRzc3ZndtcmpLaFZ0Z2laNHkzSHdLSS91U0picE5oZkp2NApj
cVJkUGlNLzB3OFc0N085K280RmZzWkFITGFISmtaYnhramQwSk9qYzVETFF6cmJpVms3OU4yL095
Y0p5QlFaTzdhN25LQUNvZTl6ClI3ZytIMzFpb0UrTTNZNTloYzI1TGJEMGd1WHpNV0NXQnpQWTJC
bmJHcTROZkZNbjJ6bVBKTlkrTm9tMWJKMjRYaUlwTm43QnYrdXIKaXV1aVdCa01jdHNnSnpiQTJ1
N2VRMDZyV0pMdGJiQWtHNnhpVHpiT0FkOEg5WTNwWE03OWMxMGdtN2pZS0xEN3ppdDVWMy9TT1NL
eAo5SGR5ckd3ZmY3QmMwMXNkbTFxTlFiTkRjdkwxSWx2cFl3YzIyV0tuZWgzeTVFSWZXOWRjTGR1
OWladjQ2aU5YUXJaejNzcEwyOTFiCmQyWWN0SW1KVC9heDBSaGw0OEhjVGtXTmhTMHh0TjI3UFMx
Mmc0MC8rWkQxUTlxNzdSNXRObVNNaWo3WEJiWnRzWGhJbXZyU3h4LzcKWXFGRHR2dlZmN2V0WFRD
SUZyLzA4UTUyZlpyZmJXZDIwemJ4OEhsUTNEMStSaE83MkZmTHRSR2N2VjAyN01VN09YV2NpWmdS
Sk9mWQpuVTZmY1BvQysxenE1ZUlFL0I1bHBsUEtSZU5VeVlXakFlbUlwdC8yTnFlNERIVFlkQWJs
dEZmTEJhWUpmZWE5MHgwcElCcE9lWitvCmN2SGtNNU0rdnBUd21DemM0K1RHbmhPYWt6Y2JNUTZD
Rkx1NEx4RXRNWndIVnpLUWc1bjg2Y3ZPY3JESDNvNVNJTmVUTGs5dlByc1kKRjVNV0R0SUoyM0Zr
UUt1aGMzU3RvMklRSHVHRFIvN2FweXRiSXhzRytjSWNaOXNhVy80TzkxQnFhUkl0dG5MWnlkSkRW
VXp5dzg3SgpRMjc2RitLY1dNSmlNMjV0aFZtaUxSRWEyekZzSGt6dFBvUy94NTdrSU5ENENBUHls
TTU5bVpYa2I0OFBlcUxUVWo5alNRSnhDdTMwCmtQS3VUY1pLUC9uYVJrWVB6MW5lUEJsM24zZDBn
dDJiQTF1WnowSEZjRXNRUlVMbnZkbnhHMGZ0MndjTHkzMjBEVzQ5Y3V1WWtIWGUKeU1ibjAvaEZH
M213WmFmNkptNHBEYmdFdnl1MnIvOUJncjVRaXFSSm54aDZtRjZJb3dkOTcwMmZpaDVrSmcyMndj
MlZnaTBiV095YQpqTlIzbVNSelpwYVBuU1NKdWZ4TGpzVXlCbVBEVzI3b09aK092SHd4RU1QQTFn
czBldlhZYzU0NjN2Z1NHUWtZam9XdGZGMDdTZkJ0CkRpZS9ZVk1mQXRRRE9lUVlkR3lWMTVEcFFY
VHFPNFphUWNramhCZXlCVXQrcENyTW0wU0xETXlRYVd3RTRiN3JYQ3pzUms1clAwV0QKWk8xTHJy
Y2UxMnRrakExLzh1bmwrdWdEeVN2a1NXMGhGZ2lXRFQrODA0TEI4WWd0K3BMUVRVSXVsWmZJYVJj
V2U0bFRqTGFObjVpNwpUM0loZHZKTEh1elhsemE5NW56dW41ZzN4NVZjc055eEdpZVl4UUdCc2Vm
TlI2VEpCN3ZXSWxnckRycExiaGNuNFBjcWRVNXRxcGRUCmw3WjlkampSVkhDZFRDVmVYd0NTWTVj
VFZEc1FvcHJneEljck42dGF4YURXZW1LREQ1TkRNWEVMcHJSYkxLeVpqcFFpVUk0QkFMN0cKaU9Q
cUQzNG1IakR4VjZQY1BNR2FQTkszRFZyRll3c21YUTdleUhGVzF3ZmJabnB4SDNscVluT0prODlj
Y09xVE45Q0dFTUdRdjIzbAp5cEN3VDJoMUJqUEVIYnY0eXVhSVo3Y05nMWpZNm9Wb3hteGZrUElq
Sm1UM0lLSWwvbTBtVDJNWVlvaFJNVjBuNlQwUjZtSTFRZEppCnAxYlkzbGMzSzFKc00xWUlsbHpT
RC9IS3pQM0tqMXhsaHorMmJEN0dhcnU2ZmV6eENsTnJhc3FCTXRIWUlYSnptaWR6aFBMWHNIeHUK
dVUwK2xhRW5qdjU1aHpQRWZiMVFrNnlNYXlPZEhNRmlVQ0ZMOE8wZHVXQjh2VWcyVXNkbmpBY2gx
cCtCeVFnNUQxVmErNUxKMkRGSQpxWS82U0M4b3hTaTZMTFNMZldKQVQ4RXlHV3EvdGwwSmc4bUdw
V09xWmNOU3dRLzVJalU4aHRDd2NkbUpHM211ZGNuSmc0ZXZzOEhrCm5OSkdMTGJvaHVDUUNhTUU2
UGpVeWVRWUhCRGRINHhjVjNjSUpheGdvbWMvZFJtaUhYSkU3dnJRT2pmWkVZUFlqRVB0dWJ5RWpB
MnIKVzlYamZSQ3QzeEEwWDJPWGtCT0RmTmc0blUwb3d0cUpCVDMxSjR2SUlWc2QrK21qaTd4NnAz
d1FjaTRUYkxJRks0Uk1mVmFzeEdrKwpKYTNxVjV3Vkx6YkZ5UG1FUHo0TG03eUlIajFSMEVkUzM5
VTJQajRkSTVudmVkREhqcHc2SHZEVy9oNi84dVpYbndmM3diNzBkbmtDCjV1elU1bE5idTVuTU9B
bEhwdXA3MWVwK2JFUEljbEtsY3JKTHpzVTVwT1F6SGt6SXdVZVBpendiWFZYWFltWmUrcUNhcUxX
SDNTM0wKcFZGdTFrOHJsV01zZitreFVCNmVIQjBmQUZ5bFkyeVRGNzd4azhQa1RSd0R5STlWYWh6
SGx4NytnMFhyckMzU2kxeDlrcmcvcnBzOQptZCthVlNHMm5IU1FLU2NpWnVBZDRVM1FPcm1uRGVt
T3ZmSkhYdkl1SVplc3dYQW1icldubHJ4eTZ6b3hFa3NCaFFXNVZsL2ZFSzFzCklWamxGem45K054
K0tDYzRlbGFmN1IrcjJpRlJjRDBtb1lTWTcyK0xYWkxsK04zUlBPYnpUbjdJcVE5RUdKbk9DWXkw
SFNTbGJzakEKUXR0RnordXl5N2tjVFB2S2orbVhQSVBKK2NNUjBjTWgyTk1tUjlvakJ2dVRNUDd6
enhqT3RmbmhxKzFZK2Rvd1UvNHQxYzF4cEhjdQpqQkh5ZGZ6c2UvS2YyOGZPd0tHMDV6WlhFRzhV
U1dEbFFhYnkxNE1ZQi9IWkJwTGFaZmF5aHJQQVBzMURBd0dWTGFNZlRQUjZXS1pyCjVDN1hDVG1y
SlpmRHg5Y1BQY2lJK2tLTW85K3c3K3BXcmYzMTVpNjVCc3R4VFo3ME85YTBKbXdaSEt0YUVhUnJZ
aXpCcWQxWHdzRUsKYVorNE5VektCNm1HTEx0aVhmS1FLVmpKVDVqeWNmMjRqUXlHV3JDWTF0aTQ1
TlE5UGNwQXRaVlkybllGaWgwRUZ4dGVRMXJweDVkWApZcVdGc25LK3hDL25MUGJGUEYvVm9yay9m
akRpZ3o3b2kwU2JKOUZxdTJTSmo0WlJKcmR6c20zT3dWNzVaM3lOdG5JdWRyQ3dTdjN1Cmw2UEpl
S2d2dmVTUi9mcGpreWlSdDBlV3lIVW1ZWExSN2VJRS9Kakh5c1dvVGZ1TENGVjBYVGljeG1wMEFt
ZWx6QW5vTTFDdGZUZysKWEdBamQrc0xMc1gxNnRNWWlVRTRYN2dUMTBVYWU4ZXBubVJtMzN0RHJs
ejRKa2FVVWhDMmZlZU9MSzdUNmxENDNKY1ErZVJwRTA4YQowZnNVY3d3Wm1KQUpvSDNjTUs2dDl5
dERhVS81T0JQWjFvZWFTRGYxUVI2QzFlbXhFUzFSY29zNk1ZaVZlSkdqNzJyVDVDWk0vRXQwCnRJ
dy9jU1Z2ZkdZSjI0SlFVc1V2K2VYV3NiRHJyelpFSEJzdzBRazk4WVgxME1NNXpnK1R2elRSNndJ
emNSY3JiWENkZ3M4TjdIRjYKN0xFY1A4RzVQcm1kckxOQUI4M253clFsWXBPZ2pLbnk4a21OSURx
S1pVSVRQSVNMMFRTSHZQMmtRS3c4T2JiKy9GY1laeVRmL21EaApkK2lObnR3UGYrMUFwdEFVRjM1
V25sdGV2bElZSDFjTXJUSlNzcUZEWWZtZFFuTkpMTkE0QmwzRnVqL1l4QUNqRCtkbmJHRk5qT1VQ
CnNRaEhEK3VvbC9hZEo3YWNKZ2Z4S1M5U0t3R2kxNVpWYkxIVlFtcjJCWGZkSmphV0pNNkw4NHo2
emZsSWZCRGN0d1d4NjUrWUI5Rk8KUHJtbWlEUjVGbHQ2cGIzeU5Ma0tDOExrbUVvZjh0UytieDlI
RnA4aDJ2SHBaN1FoWkdWWUxKT3VyaHZYUytlK1doT0ZRREs5VThGcwpKUkJmTHBMU29xc0ZaTW0y
N0FiTE5yR0wvYzM5RUNPK3hRc1NXRVJSZnFOcFRDeEQwdWU2WUNTajVyWG4weGo0ZzRWT1IzRHd6
K1BqClg0eWJlVlVPUnJCeXJvSlhYZmJhd3lxamV0OVkxYTgyR0E1eTVsKzBXQ2FMV0YzbTlmMUF3
Q1RKaFpHQ2QwTExKU3FOWjFJc3NuVlYKZTA5dWx1SG4wWTYvN0xrQUtSQ0U2TTBzaEZTYlpMU2VY
TWJ1akRDSEJKR0JZUjA0eE5FRnphenZDUlM5Wk1VemFRSTh4R04vOW9sbQpmKzFxcTgvYUQ0WVBs
VjU4TWlDeWoxNXc5MG9RNSs2VEJ3Z1FHNGFTazdkYTMrN0Z4M3FoZ1Nrd251VE5aNkp1a1dNak9T
Vm1pOCswCnN2VUtkT1JPeDNheFR5emNKd2FaYTlJTFZsdlppaHp4emVwMXhROTIrc1EyeWF0b1h0
V3FwWDlPckN2UDJFU3Y4QXpCejFra2FueWEKOERSbjBwSW5CRU9lYTFVclBVcDBhck5MTytlSTJ1
RWtwbDREb1dPelhQSEFEM2x1dHZqSFRIR0xUdzdhenovdjE4Yit4dVI4VFU3awp4WGpjU25xSFc4
QVNIUEVOQkNrTUptRFdReElhSS9iR2tvWDJwWFZNSFIzNWVEVHU0Mll5MGc1VzhOU0JhUy9wcGVz
RC96dDZnR0VzClNCS01lUUFBWnZScTFYY2UyRGtIMnVUZzhjbnZJRS9ieUI4TW5OUjNmckx3MkJ3
TGUvckVuSEZKdm5LUnI4Ni9GVisyakEwYjZtTk0KOE1tRC9OTHlHYTNTVGt3MWtEc3BNRmJuZ2N5
MjhiVnRWN1d6V21WVm5iSG16UVlrNnVPRjNlNnZmbGUxZC9pczFua2xQcGVXSXBpOApHT1RESU9x
Q25FdnpJS0t1UUpHWFZHS2o2ME15Tm1wQ1BpRXhNS001NytzYWxSWDUxYityV2hBcUsrWk91UFhC
S3BIQXdqS1k5VzhlCnNWbjU3TFpnclRHUmRiQ294YkpyTnNXSWo0eVArTWw0eFFlcGVTVGZTRHJt
MXFjMlJZcFh2V21iVDJPdnZEcXVXb045djc5RkYzdTUKT0FFL2JnTGh3dVNDNVVMUmtEa3hNNUsw
eU5uekNTdUZkbjJoMmlhRE50bDZOeGgyaEpTNGtuWDhhSHhyV1R2NFl1cGJ4SU9KWFcrcgpadXFR
bnR6MFQ2N2owNzR5UFRCQjBzWU1ockVuSHJVNVo5U2Z3NFRLNUllSVpCQ2tTVExhOTBvT0lWaHFp
RTlla3BOL1BrdkZaL21TClIvcVQ5Y1FORVpMbllKRVh1VXplSmtBd0haTllnNjlBa2VtVU52SFRU
eDJOS1l6amxqR3hsQXFmdTFLL2tDbzRaQSs1QnRmcGtySjkKMFlHTlNWcjA4VW1yYnZScWR4SXU4
VXJzZWxBVG5pRmJ4cGs4WFFua1VsSjlTSk44YWc4eFdXSWI3L29ZRTNkZjFjWmVSa293WkF1bQpq
S1F3cE8yenQyd1RGNFBhMEZJZm40dkNjb3VNaCsxaUdUMDVUSC96czBUR3ZVNUNOTGx1Q0dUaXBa
Mm96ZkNJb2VQdkhCSlZ5TW1KCjFzUkcvNGJ2aWxHeU1scnNGTXQweDduSzJQQlZBWmNGUGhwckNV
OVJmQ3pvWXovbitCRmI1K245M3c0T3RzblMyUEtsZnNKS0xFYTcKc0k3VkkrVEplQ0JBeGZPNHVR
Nm9uL3FjaHlaL1laYUlqejdZOVpYOWNRdlpXQkNyWUZpbGtzK0JQVDVkdmFwVmlJTnM3N0thQlJO
aQpWdXZMUTNzUVRDZnR2WlhybVp3eG91ZUJMeGdsTFZvMlhrdTBrY1FHVGVLeGgyWVJjdnVOalg5
amdkbVllT1VaeTJTQ3hjSkdrN0VsCmV2cUpWY3o2Slc3d3F3TXRoSnRZNlFkempUSDVZeGUvNUxQ
YlZyTEhXakVhdWJIVDRnOXk0OU5uQzlieXlSNXp5dEtBWFl1VlYycFEKZWRBdTgzcHhBb1k0Yy9w
eXNTcEpYMkMwT2xWOHNwTjRkQXpJdDNrbHdSYjlXbkhpTElIT050OVc5QVN2ZlpHWVY0ZGcrZXlW
blczVQp4OFh4cEtTbFQyQzNvMGN5Uk9oWVZRdmpsaElvb1RtR2JRT2VQcmo2eDlVNGZ0alRRU1N0
U2RXRXEzNXNhZWZRWVNzanlDcWZmU3BICnhRd1JKN1l0TmJuWW5aeThvMU1rYVJ5a1NENjFJWkQx
Z3UrS09IMUlNekhhRXJ2RUY1SThKMW9QYmNhRW5uN3NFb01CQkVzNE9udWkKVzVnbDJMYTdYdW41
R1BzOFVCMzRyTmJIWFBLRENDWDM4VlpnZUpXYUhtUXBJL0twTFMwMThPb1hlNHoxUW9PRzJxS2pa
ZlBFN2IzdQpWeDRNam10dGpXbWZzUzJHWkg0ajREeVVqMDR5U0FkMUw5N2psakdaNkIrMGdvRmV2
UzBpSkRldWxtQ2dkSHhqRDdFQXJQNHVQK3l3Cjk5VzIrVXV5SGd1YnN5WGtpRWZPTCtlaE1VZXVz
UStabHNUQVdmdkJLa2x4T3pkamxsem5TYkdNemxoTnlEZjhHWWZrWFRVYUcxdGoKNGJQSTFHTThD
SEhxQittU2t4NCtEOUI3WmFzeFFKYVkzVWVhNUIyNTgwWFBjYmJkMkt0LzU3UytiZnlnMjhkS25j
TkFDSWFyYlUzYgo2U1BISW0zc3NZbmZ6QUMycVc1dnp6R1hUN0h4ci8yeUpWcGlzRmNhdWQ5bnQ2
dDljd1AxNXBnU2Y4ZCtVUDVCYlY2cHpVTitLMkhJCnlYZ2ZTMkwxZFcvWmJ3emE5bVB6WUYzanA0
M053dGkxLzkvOWwrWGFhNTRnWG5xN09BR3pBdVlrcFlKdXRRc1JVcGk3bkJuSWZSYXIKNDRzdkpV
UEUwMFRublF3N0pDcEZTZE1YRDVnVEFHSm1uMjFFUjU5NGpoV2xWNm9ZYVJKdzFEbFRFNVBKWFRy
SlFDdkJ1VE0rbk9BbQo2TkVEanAzUjFXZ0tPWWh3clc3QjBoTnNUMHJCU0F3UDFIb3AxV1ppWkt6
Ukd6citqcW4waE9VaE9XN0lHMk5Xc2RUMVFaL0pnbktzCmNsa0ZrNmRYdzVLcmZ0R2RmOE1ZSHhN
MUxYVnlES1M2Y0QwZS9PakhqcForaVhlL2ZVeTh4eCtmODBJNWhnZ0ZxUDJENkRLLzU5eVEKSWlR
N3R2Z0lueWNvNkVxVW5sUUpMaUl6SVFzMm1MTDBpWVl0dmp3dzA2dU9oVzJrUU1hV25OSkdyMG5l
MFdLeE1KVW8vcE1nMnR3bQpsZ3cwTUJtYXNlbnpUeStPQ1Naa3BiNjJSZ2ViMHdPNUh6ZDlaVzZT
akp0dFRFSkNzM3pEOG0xZjV5QmovcG1raEdvWjlRdFdJcVhvCkp0NlJjNTZlays1Z0dBc3ZFWmpP
UGNmVitkeVZMN1I0WUZvdk8yM0lpK25qb1h4Y2kyMVZTenpuaFU1NUh2SHBnekdrbVZ2Y3l0OFkK
eVF2OXNkcVYzS3RTY3RVS2w2MUVleCtwQ3RNMTM0aFliaHFiTUxTVHVVTG5zeWFFaDVrVU5CSmYv
OHFVWEhtV2NOT3Z2QVMzNjZzTApubHdITVRhNy8wMU0rdVExbDVyYWxVdHdnazFHYU9pQng3WjhW
L3pZWWNGNGdyckhyMzh3d095ZUllM0RjYTY4N2ZLNzN6NTUxT2M4CnY2RHVlWi9yTS9hRjJZeVFu
T3RxMDdhWXFSL1NQTHZhcnQxcTExNnlXcG1zdmVaN3FmYmlCSHpIWjBHR1V2SU1XZXF3UVJwTUJM
TEIKd3YxcEtTYkN0TnJCUUMvRm9CY213cUw2N01aMjdlUGprcEdMek85YjFYTGw4VTh0SnhQRXlF
bXl5RlYrMm5ZL1hMaGlhWDBDK3R4VgpaOFpTdkxhMkh3dzV5ZzV5SlVZbVc0QktZTDJGZlViYXVB
aWIwYTdWSzhIbFQweHlWajJiQy9zTzQ3emlLOWZFMkdJMVpvblMvZEVMCndmYVJMVEo5RUVFenZt
SXhZWG1DVitIdis3dGFZWnFNc1dFMHNtRk1ub3pScVVQY2crQktrSEx5eEkwTEFiUTF6cGlrYjNu
MEpqS2gKQlV2UjVJQ0c1NHBCUHBud3E4TXVQaE5MeG8wSnJlRHRsYW9HYlV4dzlTUS9mNllyQy91
UEh4NjRFWjFIOG9vTmRUT21jME9yN2ZCegpUM3J5VytTNmsreDRHSmNJWUFVVHdxRzJTUElBdDc3
SGlsVWtWZnlRYzFCSXcvTE5KMWpTKzQyak1IWHVhdUFtd09RM3EwbVI2VUdhClFpRWhFNS9NRC9s
QnBxbW9pWnlZa2l2a3N0UHRYY3VFY1ZlclVzYVVGZlBZa2g5WTFHL0lNZ1JObmlIZDJPTW5mM0JF
c2xrcFkzTysKQXBaRUVYam9mUGFUaTR2NUlCZFNiZzNUejQxVHp4UE9xbFN3KzFOL1NCWTA4T2h6
MjVZKzlteHBzZHV4Vmh5c2VxczNPZUdGTFZ0egpUY2JWRnp2NjJ0Nk1YNFRta2F6aUEvYTVYL3Va
RzJ0MU0zNHhpOVhidGlzL05OU29WYWdtOWFNKzkyUHVxT2Z4bXdmNTFvKzlqclh4CmUveUN0THhX
OU1Zb0VpMWJzTEtYNDVlNkZNbEdGM3U1T0FIenBhcVFwaExPdVhUMFM0ejVURmluSURNSDQ5SlQx
NU9JUmI3c0RKbDQKbE9qWnNLRkJ4NDZ3TWFWMVViR2JwMDh3OXRtTXhVR1dXaTlNbXU1TW44NzZU
RFFGUjIrekk1WWpXNFlPc2tQUFpqS1VrRGI5c1oxKwpTYXBqNitlcXRwY3ArdHRlWXVwRW05dkZ3
UnhzQlFwQll4dnNZcDZ2YWtPWTFBODlwSjFjcVZOdUc1TmZWclc2SEdRRFdvbTRMYjZNCnJUR1Ft
OXhsUzczM0ozOVhTeGtzMDU1WGwycE5PQUk1UHZ1MEg5R0lxWWNjZGh5a0lXSzA0TVVHY1BiWjBP
T1VubmFaZzNsSVlIdGIKOFFKV2ZYVGNuY2VRd3BsOE1JMng0Y3FtL3NFZkxObjFkck4yOFZJc3hy
cklzdnJrQmhsd1BvbHdaaHoyT1h3Vkg3TFMxakUyaTBQdQpHTktMRURMRzVIS3NhdkVkakpEcVlP
cjhyTnlZaWg5TXBNcFhOVGt3UlZyT2tVUW16aUxBK1VheVY0a2RpeEJOZ01KVUc2eDhsbXAvCjBJ
d0owWkU3dFU5OHpxdGpiTFlKbG84Uk1WUjc1eVdNa2ltRW1kVXJPWitUWitURXVDbW5yc0pnRmF5
U21ZaVZSQzduVE9qK1VwU3MKT2xHSEFPa3JTVG4xODlQVk1uNWRMOWJIVGhIVXh5SSt4ZElsZE5n
KzJBY0xsOFZ0L01Ia2RsNElDVlMyNm9qQVBFZkwxdjFLaW9nOQplUzAvc29yVnNnMUtzWkkzUHVl
cncyRHRZNDBlbk9Mdk5zMkxNU3lzVk9QKzJNbnpZVmUwT1hjVUh1Smt2Y2FhaWdVN3NWSm5zRk9m
Cmg0NnhaMHp4cmUzcXJiM20xZHpwVTcvS3dXSC92R0xKN3hLdmx5ZGczK0pVYXNyWVJNeFYxMDMx
OVVUcVl5SjVqbzNhMk9TYmxqZmwKT29WUkM4ZFczcWNmOGRFT0JwT0FMWE1zY1VzNXA3L3M1Uzha
YzNLL1FOUlZhc25IdG83SEMzWTZPSExZVjU3MXg4ZTZHWDhKMlhKOApIVjhuN3VSUmZjaFdtSnVm
RDdqc1RMQUtYUUxzbndRbDMrVERBUGdzVm9QVWVEUjJEZmpRdDYvYUlHTVUxaDM1bkJNd1l5a1Jz
MnFsCmRyVDdxalpFbWVNSTBSRFl4NVE5K2U5azB0dTlhWU5GRW9jY0IyM0U0S1FudzdWYVZGY0Jv
QWZxVVZKYyt2am1GZjlzMWJNeVpUTVoKRW9lNDlDY21iZmZ0bzhGbWJZWk45L0NKbmZHcGgzVE9S
OVlBbnVtRmI0SnpTOTcwYldRN2RVZFByRHdPRytsS2lpRXk5VWxlZVVHUQpnT0hCbGo0MTRUWnFz
T3BMSzhlUW81eWNUMzJuZGN3aHhtTFJlaXpiS3JlRWFodmlTdWVhbVR6VkIwTWJ0NERKenl0azdO
UjN2YllWCmFuMGh4U00rdGlKUERza2k2dDRhcnAyd3NUT1c0cHRVTXo3KzVNZkhBZ0xXVmtJdTBa
ckVWQThtZWNhMmt5ZjJKVjFhY21LTERRVEQKbHBheExOL0lzY2NyQkJSU1FMWUlpWDFRbHE0eGxw
eGp1N0NqQjNQNTRkODRNclVta2ZPYXpJa1I3OGJ2MkNySERvdkdvSTB1OG1DSApmRzdHcDAvOUZz
YU9VcHhneDZhWWJadnhlZnphWm95cGVQTlBybnNkeUxBeElzZWYrbldNMFNPdFBpMWV1MDJ6YWZ5
T3JmNjBLNC96CnNhSzc1SFp4QXI2bnYrMmNxamhQazdDckpIbkdjdGFpS2hGNnhtZldQK3lrbmI1
RnFpY1hxOG5MQW14MVlodytLTWRGVnlHVEJTdFAKRHBOWHpzU3luM1k0TmpSTVdKc1BXTWFYdUlU
c3ZycG5yZlFISWVlTmEyS0JKZXlTOUVQazRmakUxb25BQktlQS9UYnpJbWJrK0ZtZApsaGhEcmw2
SitnMkFMbGpGb3c0bHkvYkpoL0YxZFVzTzlNRnNTd3hqU1FZR0c2MzNaZnM0ZC8wT21TWTY2WVJ5
RUNDY1FMMGd6Vzd4Cmp5MnlFaHVYck1tc2NhTDA2WUVOWWtFZDJQbnlVdk1oOE1UZENkR0pNdWxu
VzdHRUo1ZWdUZzcxUnlyZFFaNURiRWRmYUZtOWt0RmcKWUQ5UndEUzJYcWdqZnFYb0k1NGoyMUpq
Q3ZHQlpRTGMrclZmMkNrb0pCZk1ZRGdQblp0OVVDaHNMSzkweU5La1M2d2hSSk1WdG96ZgpQa0hu
L0N2R1lTdTljM0lzeFRDR0pHN3hIM0xEVGpMTzdSQnVkSzZISk00T1BUSHNXN3RnK25oRHZ0UnZ2
Mlc5clY2cHZsZXpSNnNZCkpsZmxBL0hlbEF1THk0WDhJZHUxcXBWQ1d5YmQ2TENoenlPVGF3aVpt
SXVzT0IramoyL3hZd01tZXJZU2NoQXJYekZpaFQ4WkpwZkUKWFhrbEJ2SFkyaFpydDFzcjA4Ujdz
TzArUnV4U0Y5cGlMZXptUjkzaTF4RXZtK1M3NnRmWXRGUTliYkNKZ2JRMlJZdmwvZkdyYnpUOAp5
S1ArZ3ZMVyt1MXk5bGY4OUlxRDB5N3AySGJzcFkvMThza28wUE9JYitwWEgyd3Z1VjJlZ0RtYnVN
cjBqNHV1eEpmYnoraVczdnNhCkppdGdlSkF6RVhYdUZVa3dPRzQ1T0NaVC9LZFFQblBscTVZSjBy
RUlMYi9LU25BQUErZXpYY1loei9nZ3RqMnRzT3VQakEyTWpBVzkKc0xjWW1qR09WU1gyOVNXaDlL
Y0c2a044cVVmaUI1dXhFSU1zSkRlRytqZEkxdU9RaVZ1dzlFYkgreHBZaVRqOVlrUlBycEduUm5L
bAo0bWZmUUs0TVh2SkVTU1pKYTFxZGl0UGZWN3NJVGRDS1libjYyR0ZLYTRLVHpyTFJjUnl5U3Mw
SmZ1amswdzA5MjlsbnRmZ2pHNTE3CkV1UU5IclJDaDM5NjBhRHo1MGZFenZHTTM5Z3BpWHRhUFhh
c3hNS3ZtQWNSS2xlU3R4d2ZvZ2krcEJxTkJKdC9JOFJuOG9tbnp4dXcKRXpka1ZTSStNTDNTazU5
STdKQnAzejQrN3hNL01YWEFPRGN6ZXJlY2Z5VlhpRTVucTdIaUwwU1RJeklSSzJOUm4ySFdoN2kx
SmVGKwpWcHVWNTloeFRJa3BERVp2TE5zdUluWitzMXBkNU9uUkh6RWRTd2lIUDNqRXR5d3RYNHBp
STBjMldwNGgyMFZFaTBUUmhqUmlpdzNqCmlBeGQ1RXp0N0ZIQ1hlK1N5bW9uWnFwSTNIeVNDVlo4
Rzc5dGJMQXRaZ2xrNVNlbE5qejIrT1JWMjJRVmpGZ212OW8zbDJSVlA4WUYKZ2s0SWozSGxUTHpr
QTFxZjZJdlFXT2l3Q0dieUFMWHhndzFlcExFT1l2TklMelpGV0cyeEVudjVKMnJpczQ4bWRTWm0r
bW5kZGZ4SwpiOXJHb2xpSkJOYUtGcVRkTDNxeVcvVnJKUEpwL1lwOXFmYmlCSHg2Uk9ucTdQWEVx
T0gwOXJJL3h5UnJYYWo2TjNxNktZc0pXbU4zCnp6V1hVZjR4ZWswSzBsZ3VzY2tLWDRjeW1ib2dr
Q2VQc2NNZ3QzYVZrR3pab3BOOENBOE03SnBmN0JIaGc1M2RISk45THN6SzJqKysKSkNVOWVDYmU1
cUcrN2VXWTI3ODZVUWVUdmxlcFIxNnhJU1hiQ095Y1hEVXBPSWNsMy9YWmgzeVNoMi90S2k2cjJr
ejZRbGFmZlJJMQo0VXBBbDYxdFZyMmFiTFVUZ2dVVG43R1JZZVN5d1ZmOVRHdkJpaWlnK0hGTUlF
Q2VITy9rZ20xc2FoK1VmckVwRnlBbXlObnF2NU9yClplQmpJK05pMlVHZHlyRmpLMWJiNmpuL3h0
cytISVBkQjExOTJrS1FaNWljTTRwei9HaUY5THdKc2MyUTU3RmF0YTlzaGNvNXM3QmsKcjNNVERk
c2hGeEVkKytnbTMyUTEvU1Ara0dydGhuUzdtb1hrMkNCR0V5OTE4NTBaeVNCQlNpVWQ3U0xldVJV
OHZxeE1mVno5QzArRApCZUV6RnRtNGZySmg2NjNoUmNTSmtWK04wbGl4Y3czeVl4WkNNemFreGNU
SGRyUGRDWTA4WWdWcGNuSEZIei9zMkxBSUJpUzZiTkRXCnY1TnNMcytiWkx2bmhXa0RTd0FBSUFC
SlJFRlVFQXZzZC8vZ0lBa1pjV3lhNTU1SDhsbHg2WWM2T2U3bnhCOWRyb1hXSUZGWFBzMi8KOHJR
WmIwWi9icnN3a2JQVk0zbVFkeVY3eklYN3o3NGxuWmlKL3lDc1pnTmViWnRGSk1Udnlyd1c1KzJ5
cDlySnUyZzlqdTNUN25ucwo4dUswQlN0NlhoT3p1dFZEY3BudDhnVGN6ekxKVms4dVNDNWtTTk9E
eTdudnZrdG5HdzBWZTF4eVJoeStLRXFPSlY3T0dwdjdSU2Y3CnJCYlJnK05KWHRGQ3NnSWRleFBq
RUsvSlV3blpCaC9MNlRzTjk0R1BmQ2ROalVNRE9ralhKTXJJNUR0akQwbU9EWElENlpReTlpSlAK
NTZBOCsxT00zSzdtRmpWanNLMWFTSlg2bFdodjlqMUpTazhMNGZiVzhFSEM2RHpma2pjVjE5VE9m
SzNKMnVTb1lBZUpTazl3RTV3cQpIS0prWkNpRXpmOGNSQy9kVFk5dEp2VkZXakZFS3UwaU13VWY5
OFBmSktxeEhpUXZpeU9HWVlKdFA3Mll0R2pIQ0dLaXhKQmQzdmhsCm53c292enlWY2N2RU5veHhm
YjdLbUlpWHJOaTNIZVNscmFSSGdKTHBFYysyVUNVVFJtSU1tbjJ0UWFGYXU1YTBQQ0JLeStRanNr
S1cKdXpvcjNoRkRkaDZiODRtdk1laEx3ZjVCZU53dTFqa0dmdUpOM1VxNEIzbEtydkdHZE9QdnZ2
VEc0aHdBYThlV1R1TElxWitKV2hoZwpUcDlCbjVHdFlvQlhnbldycFBraEM1Y0ZCMjI1NVBpMUtK
M3NpdG1WWUNiLzFZZkVNcmxtTmN2WTZZUFZTWGNSSGVYQm5pMDJ2RFp1CmtKWk5kR2lEV2EvWTE2
OXR0TVdtNWF5QjJMRm42MTc5bTEvNjZCZkIxT2FtSDlrMXhtN1QvV0l1R3pTY0w4MlRLMi9WRC90
b0lrTlgKU2VTdEZDM2JpcDllclhaTlpNRkp2T3pYWThjc2FuUzFTTmFwU1N5V3o3S3BCc21xM3g0
TGViS2gzZmZqV3gxMmFGdS9wVjM1eDZKOQpMQ054YzhHWGl4T3dmLzFKUk1JRVlQS2FDY1RrT0dQ
d1lIeldhQy8vcUdnMitycWd1d0xsb3ZkcElyMTIvWkxieCtCSEFJbjZSRFBUCnlXU3d3RENXOVFv
eDh0Z25EdVFON3VGRG5JbmZGb09TWjRoUkIrK0lUUTZqeDA0eHM5TEZKdkViMStRcFc1T3BydGhp
bFZRZlp2NVIKN05yVDJsYmlFdXZ3eFBGWnJWZWkxU3UrU1V4OXpYcXVDZlo1TXNsTEpnZjcyTmFH
UGxibzRrc2xaYXBYRTNOYmdSeCsydWRraGdCTgpuckkzR1lKUE1HMXVqVGtUdE9SK1dKL2NzRHZ6
cDY4Z1BJeXZsdVJOY0dEaEM0NXliM3ZFazIzMFV1SFArTERsTVMzeDZPZmZraWRXCmlOQjYyMEZl
eXJOa1JteGhrazF1clNzZlBkaVF1WDV1cHkvelJXYXhXMFE1WkFiaDZjRncwQkhBdDQycG8vYklw
ZGdtYW8vOVpzeVEKV2Z5RGcrMkJLWi9xdXBwTnUrUmQ3UjdraVQvMVV4dWkxWmhZNlFvMUpLbytP
aDdjSWlhdmZjV00zS3RheHNPWEN1WjYxaDVUV2Y2egpBU2JBYkozZTBrZE85a3QvY3hVWjhscUV4
L0dMUi9CQkRZa3ZNZ1dUZlBmUFBEbFNOMk9CRkJzd25MbXhnMG1VeE5EaHRXL2lScDdYCnlKdi95
ZzF0aUErTVpMemluL3V1dU5pUmQydEVuLzA4UUNvV2JYdEwzenpScEFhMDU1VXVBdjU0c3FYNnVR
NHJUeDU5NDlDMldydU4KWjQ5czhJSzRZek9tMWdtL1JtVy9QczFqYjhtbnVhY3VhNlRMZDk5RFQ5
NHJRdXBIRkxhK3B0MWpWMU1iR2JQSXFLRzkvL2xmTGs3QQplaHVySk9lRUdRSTZrbGJ5emo5bnRp
OXlTTTRIZHNqVDlkVUYzZi81WjErWitxQU4yYkphNUlUMnFuYUkxcXNJNFZtbGxrbUVMWVNvCjJJ
cUxLR1FydTdudEZnejZRbFJzL25lZXJKNXBjYmgxK2xxMTM2WjRkL21pazJ6STAzOU9wZFlqbU5W
dmJoK1N2K1F5dTZlV0o5ejYKZ2JKOWpoSjR0dG9QVXZ2SmF2ODF5WDhqR09xWGVJSDNVN3F6WDRz
U09WRXZ5RGpFcGNqWThsRExCb0haeGl0U2JPa1Bub3hLV0JKYgpqajc3d1RqREdsQWFNTERqaFNa
MjdFMHU1RVd5RTh0a09IWTRPSzVzVEliS2plbTdGOGVPRlhJRkU2eWNHL1pWRXZYeFN0ZWg4d25s
Clp6Z0FtVWlvK0xSL1R2YWZKQStmWHpPT2tCMmtrRWNzTXdhdlNyV0x4cU16OFhwdnhvNmNQaGVo
TUVSQUZCMC80eUlqWjg0R2ROVEwKV0RLamp5L25tOGNSREdPQktEMjE4S3JUWTVhbmI5OE9sdU5B
aHNCVEJXSGJKOWowKzFtdDVZM3RWamsxTGo2amM4M2JWK3V4bEVSNwpTM2prcDRmSm01aU1UNTZ5
OC9qWkg2SXRNYU5uTEU1VjF2eUlCZm5sdGkrWERScGZQcllLbVZDdStFUzMvTmxiUHZXbGJSejBU
czkyCmlYdCsrempZOFNreHh5N1IyVzhNOXNrR1RMWmxzV3lRVWIvcTRyUEcwSkZVdmdodjJheDRI
V3NqRTdXeTdpMi9jK3pVcHA2Tmg4MzUKL3EzVGE0VDZNdWRkTEVadzYvUU5lajZKa05ycVJkc3hz
dDlIeHR4cVk1OEtuUHZ1dmNhaVhxbmZhdGZ4dzRPTk9PZXR1NDZUdlFmWgpuUHZVSXppeEoyYXg3
OSs3Nlk5MW43bHUzVWMwMXpON2w5b3VUc0MzK1F5WWYxenBiR3BEZUJyQmlQWVZLNU1yL2Rqb0lP
bjQrdENvCjlXVXc1R3E5YkcrSkhOR1lOS2NsVFAxb2R5enlPSHc1ZDdTdDI4Y2tWSklOaHFPT25R
bFIvdHhTZmx6UGR6QUFDSlYyYkNEWEVHM3kKY2w5Ni8wd21OUmc3L0g1VkpqOEhFL1BVOXMwNnZu
OVNKaDhxK2VmcitSVmFMSHlnNUNZNkpsMGdwNjlSUks3b1MrNU1MRGZSeWhZWApMaFQvcVkvMzFK
ZXdCRmhDcHVYWWhCRGpreGlhWEtNNmk1TThRTTlHakw0Sk1DVjREc2VSL0pXWDJpTlA4bERIVDl6
WnAvRXI3ZXh2Ck51ajh6ZVI1MTBtL2RyMTlEQkZEQ2UveWhhR0FXR0NrL21ONjlWZUUxRjlFR0wy
SlR3bGFycGprNzNqa3JnZWJvekVHa1pCTVREb00Keml0VXQ3TFRzWTEzV3M0emNnb0pNdWtFeTJS
RkhrTnNLLzU4amdyUk9lS3k5NXNvallCUjhaOERIT1I4a0tVeXBGNzBKMC9YbFh4QgpLMmI3d21E
elNsVjVIR05pL09nUXpCdFMvOWF4eDB4MUorK3R6WW81eDVoemhsTThoSko5ZkVvd25hSnBxV242
ZURsdHRkbVBua3VqCnVrenZ3YUk2MGRHdlR6QmlIN3RjYkhrbEIvWldmbzFmelk3VitNa3ZNWUs1
OG02LzhldERIdEh0OFZmK1M1KzlacnpuSDh6cVYvekcKb2wzNUYyR3ZSWDJqaTE5bDJKMU83L0Vy
bVM0NTlaN3BhT29WTGZXbWZzRkpuQlVmZWJjVkx6N0ZYbTM5bGlSN2UvMGFiMGNOY2lYSgpJYjFk
cytKM1hOZ3NpNTZUeENRS211NWpLUm5uUHBNNGN1YWJ1VzVqajRtdUF5YTBRNjdkQzIzdkJ3Sldy
cXhTTlNqbmJBSk50cmwxCmpKNitDcU5XVmlaZ0g2UmpWYXNTU2NlUXZad1ZsbGVrQXF3OEdNRnlT
VDE1Z0VVeEpTbHh0eFdlUDZNMVZteE1zSVJ3UHJyQWRTWnkKR0hwTGVNbVJxdnlzY20yZ2JHZkZT
eDUzR1NqNWtyQmFXNE01Zlh3dFJNSEJ2ak00eUhXOGYwSGR2NlQybTZUN3p3VHllODNBTWNVRQpG
d0JLekR0Qm9xUFdCRC9JVmQyMVQ0VWhiMENVTi9iVCtuTmdpOEhXampDTUpjdjQ0OGZrN0grMllZ
ekJrbXp6TVNacHlqekVkcTZQCnFpczk4bkJnMlFZOHQzcGxwZVBsSE5WYXRiWDQ4R0Jybm84VDBC
dnl0VStKSDhmYVBwR1BwNDRYTldFY2ttdkhtSXdMZit5bFp6OGsKaUc5a2hEa0lHWUlUb01rV0xC
T2U2a2RyTEYyMDBuZlZTd3NCKzFqWUY4eWRMRGNzOGlBdkNGczdYVjBtcDlnNWpuSk5YT0x3UmlH
WQo1T2xZbkJPUWVQTXhadXlPVmEyL1JKWGMrcG53d2twOFg1YkN6Q25OaEVaT1dXVVNxOU54OVFw
aklxWGV2WDJNRFhKZWFldXp5L2I5CjZtbkJvUVVmaEJVSGo1QTZtbk9mbTdlYjBiTXRmM28zZmZa
KzlZM2ZQbTFHc1REM01SVmoyV1FNKy9pS1VWbjZPeTZhMVcvZGlybmEKM1daNUxIMXcrTlk0ZTVr
TllvZm53NUxzYjNxS29ETkp0ZWx0NWxhdTJzVGM2d0k2UG8xTERkQzMvNzdiLzNjYkxCSjV4WDhR
OXRLdQovSlluMXpFYkxkNTYwcmhQdDNya2VzNjhzL1FZNTdyRTYxTGIrNEdBcDlTNlFIZVNKT0gy
YzNzM2ZTYU5FSi9zR1RTSFRKTVZrMThJCldpZTVkaUJXdENWRnNDaXVXKzNzbUpIcmRaTkhENUhM
U1Fyd3ZCSWVUQ2FwWXJ1ZHZocGptM3R6SG1wV0lWY2RKL1U1VnI3dHpyNTIKZlR4eDZuR2V2NnUx
RW1QdUkxcXZmVUNHYk5HL1VXNHYxZjNsMTBqK3h5VTMwUUlGc0V3ZFN5K0h5eUhYanVVSXhnNW9H
U3BUMld2cQpscDZhZXBMV2ZpekIzdVRIRjZTaU4vZEtUK3phM2IyVGszQW5ZVEJOVnRnU240ZjJm
Y3RVT2RDNlAxR2p4NDRpNWNMTmw3aVNxOHdkCnoxamdESjc3ZzJHeWxBQ1N6UllzZVRwZi9xTzl4
NlJ6aVJ2SEpJbEZiRXhpeEI5Q2pIejZBcVZ2ZittelQzNGlKUjFyOThWTVhwbVMKQXVjbnVhclZq
dlhZZVl5MUY1anR3WVl3V2I5elRDQmEzTHhLVFY4UTZZTTFlU2ZmeUJPTE1VL2ZaQzNjZytSWjVR
ckUxdzBZSVg4Kwp5ejJ3eVc2VGcwWHQyZkwvMVNweFNYaGxLN0dFVkhlQzR5emprYTJmczVaOGFZ
TkJxL0hwc2V1VTVRM3NFbmRJUUNNODlNMkJXQ3RPCmJuTkh0NGlqTVhZNUdUYlBZdEV1c29rV0dY
bG1GUmlmUGMvZDk2YTgvU0IxN0dEY2o1MFl5S3VsRmlXK0lrVEhLNC9sczd4aWtUbzIKZnZPbnBS
WVpleTNwSlZKKzZ6cFl1MDlxVU13ZUM4TWNhTVZzemtWZmVmYkljeFR2ejdmMjFjUXZ2V2FjR1B0
cmFwREtGalhXUHJtSgo1RGZaTXlmNG82SHU1OXJQNTduNHFBK0VYOWh4UitMYVZUYittRjV3dXpn
QlA2eGIwRDZJcklMMWdQaG9tY2o2TGVHMU90VklwREF4CmE1elY3MlRLb2RoWHRZd2RnbVRDaDZq
WHFqWlZLY1pheFZKQVljeXRhK1JzMkRGQitSdklqcTBMZW5SdHljTjVLeDd6cW9tV2RsYksKR3RZ
Y04rMnc1SUlaY1VET3hqRmp0dU4wYldzYjVIcnlRdXNaa2I0MjdiOU01aDhwdTg4VjFyR1M1VHlC
ekd4eWcvQU1JeDFLYlNiTAphY25IRTdINjk0Wmc2WmN3UTZ6eHdSZmR3S2pWQkkydEJOREY4V01W
emdNckNHVld0U2I1cm5DWExEbE5iZ0xDSy9sbzMyVkJKcW4yCmVhUEFCUWdtRy9JRDN6TDZ5ZDE3
QXRmLzhRQ2cvUFVFM0dTbGJ6L3J3WjJKK0NkL0NNOHhKZlg0alNrMytlQmFnanQ4QnN0KzBoUEQK
Sy9YRFQxa2NoRGM1cTA4NkI1WXdTUEZzcFN3RDZ4bXpjK0YyT2JsTlhzSUFCREozcmJ5NkJWTTI1
R0dpeG5jUmVQSm50Y3ZZK1o5OQppQ2w3WWJEdi82OFdtWHpwODJUTEtjOVVGc245TFZhWjZ2STVM
bmg5QkNjOXBYVmc0Sk1lcUV6T3l2NnNKVjhzT2oybnJSZTRQSnBuCkVKckhpbzQ5VzNEQUN5Nnla
ck9JdW5uVXZ6V0lYL05iT1NYM1lKYk1rMU96Vy9HTFZRMHRXMTlwYjhhdnZyYk5QejdKbi8xa1JO
MVQKeHozRDRrZURiZEhheGg5OWRUa2o0Z2tCRUNseElrdGVxU3o3NUswejBTM0hjU0doVFE4NWVU
VUcwcVdMVFR4clgvMXVsZjFFWHJrcwpqMzJVMk9hYVN5dDBWZ3c2LzMzTE9PLytNZEtHanVoNkFv
c2RPMjYxaityQTJtd1ArV0RpTXh5Qnh5VzJpeFB3N1VkMElGU0UvTktUCldpWkc5YnU2ek1vVnZj
UThOUW9Uc05xc1BNZEhmVmFvYlBraTFrYTJYbzZlcjJCQndoK2lKWDdqbGN3aFhOQVNJeTJTL2du
VElsMGgKeVJDN3luZ3pKQzVleDRoVnJXZlowK2tmeXZpWi9zK0xFV0hFcEttR3ZXbmZLY0o2bCtU
dmt1enRFcjVhY1g5S3N2OVZzdGVPalUrQwp1T041K3FQU2Y2SnE5eEZxU1Npa0ZVd3VocEJ4WWgw
NmdtcnI2cFQ5a203bGpNMTZ3UnFIMWpIQURzSFp6eTlZYU1ObjNoRTZsa0JNCmx0UEczcFpIN054
U3pvbnVXNzB5YXA2UWpuMm1RSTdTZkpKVjlMYmJDQmtDbEF3YzhNbnJNV3dZRksyT0dhUGl5YTFw
YU9nZ0tmUm8KSUZ0aTBZSm5MRER3Q2xaWHFlN0xKK1FwTEJFYTU4eStJajM4QjlzNk1Ibkg1bmJG
Uy95UUpqSDhKc0JrSzFOSVZmWUg5a1BrSjF0dAprWkhONWlONVNkekV6TEFoYWg2MHdpcFJ5OUo1
VTU3OWYvWlJOeVdUdGdUakVsck9TSG00Tko1YXNkY1ZjOGhLeUoyZ1Z4OHZiTk91CjFSZlMwRkQy
b2c5aTdJbmZ1Q3RhOGs4dVFjWEhRd1pvSWkwL29xeGU4ZHNtYWpNSmRsSFFMYnRZbnNjdEdTVitk
ZmlRVHp5S2tWeDMKYk9xWGZ1Snp2RnEvVk9ZOEgyeDM3UG9ISS9pTnNyZk5QTEtzZ0pIdDZNR0dV
NVkxTWpiOGRyektySnlYNXR0UjM3VHZjZGw5eVo4eAoxN1k2K252OW9tODEwZkRrR2xiTHVkMzk5
bTBxT1hNWk1nOTI5a3ZNK0FDUmw5Z1pDenMydGYyODErUThNdVNOZytpQzI4VUorT0ZICk0vYXNN
SFh5OEEwbUpkK1Y4Q0pHaVRWeEhxdGhtMEdxRXZzYzFhRmlFcE5OZk5xR0dEbUUyRksvRW5YSWRk
bVpSTUhTd1REVytIQnMKK3Mzb2tpeHpPRThmRCtuaG16NWQvcjY0bFFHZ012NVE3VDFMTFg1TWVw
NVVmUklNbGtCRGVKeDIybVR6RXR1ZFR1K1Y0QnRsKzU4Swo2dDNHQlNUUTlQOHJkYjZXdmxwUHFN
THloRzhZSzBhdVhPa0sxMDN0bFNNU3IyS2xabm8rVnJHeWRWODJJY2hnTzliZzQrc1ZvOEI1CjVK
LzJPSWtocjdiRklqK2pra295SVFhYi9hZk5DbE54OWFnR1BRK09nZk9odkR3WUUyU0xKYTMrZFJX
SFA3ZWFmU3hFcU9peUFtWkYKbVQrQUNYbVIxeENmYnlHdnZrbE1iaVU1OG5kZWppOU04dEhEZWFs
bE80Z1FRdFE3TS9yT2NFZzMvMkc3WXVoMjcwR281S2ZOeEkrMQpTWkwra093UThMcVZQYkZHSDd0
aXlrY1E5MFRTUHVZbVhrRTZBcTNzVkt0RmlOR1VXTkxxT3BGOWJPTExHT2hUOXhKeTJtSUZtK0Nk
CmZQa1BCTEFITTQvK3YwR1VUc1ViSGFudDhST0w0MEJNMm1EVUMwOWkwT2JKYXpDU1g0bndQTjhI
eDBpK2pZSE5pdHU4YXJOaXJESEcKdnRnWlYxNWpndzhqcFcxZXUwK3d5YjgxU2ZVOWk5bHpZWGJV
c1czT3dkNHhpOVVXQzFCU3A5U3NHYWZHZS94bXpCc3lNbTVObG45eAphTWt6NDBxRXBWdDVyZnBo
azd5WHo0cmRmQk1wZFVETDNKVFdReWdSY3MzTlhJTFdrNDdEeS9pbVBBYXhLWlp3WjZLYUZpT3VM
VURBCm5yNjc2dnRDcDVVY2ZOKyt4c2FHN0Z4MHV6Z0JQL0lrVjhlRVM5SWhQbzJIeVVuYi9kOUFs
cjMrbVR4bFlsS1ZuUWxTc3o4dE91cGkKR3htbkhSdHNoYzNoeEpibzFoLzJ3VVNEdklUckJaMXNh
TmxvWFc4ZjFKem95UE5HQ0JLakp3ZnJVVWlnSjR2aHg2UU1jU0FQclprNApaTUliREc0alk4QXFr
dnhNeURqSS93K3EvMnpwLzIxcDdoZ2IzT2krVWJwL1g3Sm4xVWN0RzlpTFBHV1BiRTZRdEpBcWNs
bXBaWTlYCjJzWjNIeHRDU2M0QWpVbWVHWFE4cEl5dFdvMWwvd1l5YnVDN3hjcXgwamRwQ1h4dkhR
dHNZdWhCWURCalE3WTVHQWRwWVVCTXQ5RlQKTnR0cEI4K2hyd3hNdGlaZzVYRkgrM3dHYkY4c1RZ
RHlLZUdwenpuRHFqYjVKeThUSk9QWUNWUDdIdHNRYkc4Tkh6WkRuc1R3R3pDVApQWGxteGRvVnFt
TmhxeTM1Skk1cktHdy9pT3N4VGw0aWNlZnB6MjQxUHNoVytWRUg1TFEzZjVZeDArNGlUZXdvTmtR
WEw0ZndwRXN1Cm5hYlI3Z1NNempIMENzR3dwUjkvcEptNEU0djhpN1ZhOXBJQitIZ1dhOW5rZWdz
Uk41OWMwNDFQL3RpWDRIYmJ4QVUxSkZCYlZjcysKdExHdnZ2a25vMlpJYi9sMFRNWG8yRElXbVc3
ajZzaXdQU2ZnNWgrTCtNUTNsVURmL0dsanY5c2x1L3FnNlg0ekNVYnJGdCtGVmNSZwpNd3BHV1Iv
YUVIRGw3NXMwZzltanR1ZElUdWQ1ZFV4TzFyckVyRjBxVGJXNUh2UmsxL3ZhNmI1YnYwaUdYZmZW
emp5U0ZoVzZlYkxQClhNQ0duWFYwSm81OXJlUmxiS1lsMThOSEdJYmhoWDF5dU94MmNRSitXSWo5
SExhclh2NW10N2VrUTZ6WU1CQWRmQjEzVHlhMFBOeVAKSEl1RGJEay9WQnNXMVBGZFpOcmJ6Q1hY
WXRiWC9DZDNTSmIvMlllV2laTGo0dExLZ05QREU2SElqMTZQR2I1c0lWRjJSbUNwdmdRawpROGl1
WWsvVVJoWDI0T2R6M05neHhwQWpNWWgwT24yNm5wK3JnL3R0ZzVtRGZlLzBidlYvUU0vUG13TnZQ
RjQ0UjJpMW1UU0xPZkxrCnJ4RnBqUDFmZ2JDdFBENk9NamtNbGpBRnNmS3pSL3hNTEpNSEJNMDRq
RGV2SlUrTlVnalI0VWtzUVBzbHEwVnd6WC9lbEdDbkRROFQKbVp4TXJ4b0QyTTZMVmp0N0xOT1VM
emJpNkVsZHZDSzhwVGRIMHRxZnR0bjY0SWVJWlJvaWxOdE91TUpvLzlDTEFCbElWN1VoV3IzOQpF
djZ4dWpiaERpWVlKa3RoUTdyVFo0enJWdmI0NjAzQThVYkFid2dTQjFzNSt0WEVxREY0eGFxMjAy
Q0ppSmFONDVKTGhSWlpiRUc1CmFZdWVxcHlUYnZ5eFJ3OENUNGdsV0duamd6d1o3dkhqdzJ2MGFX
TUpZdlBZNDJNVGo4VFBTQ0lyVXNhek5Pa3p2a2FQYm84ZjMrUy8KanpValExNzB0TWk3MS96U250
dFNuMWdTZjVGdXBSbFBzVmI4WlVzOXNFNzlta2M5Vm1zejJiWFNQYTZKeEpoeWJHclg3Tk1pWlMv
SApxektPTy90RXlmOFdoVjIyUklvbXZzZ2J2MjAxSzgrRmpYM0g0OUV4YjNEaGRsWHJWU1gyekJW
c1ZGUFB3KzZHSER1dWEyOWphM3NFCjB0bDhmTEF6OVBRYmd3bjZrS01qSDFySkQyejFXZnpVeDNw
MTNhODkvY3R0RnlmZ1IvUlgzZnZ0WGc1MCswZXJ6Mk1oVWtwNVJwWWEKby92SVRkRHBVeUQrOHdI
cVZKSnRpejM3UnczbFM2M3A5My8yNlFyVTlXVENKTENlSVUyZHdyWkh5QVpSeHQ4RWFXTklBQlVI
aUIxdAp5SVgxdUJxK2lYc2NYOG50Z2drUHNOaFBzSkVoSVg1YTRueWhzTDd0Y0l3Y3o5ZklqcW4v
eUlYelFHcjNqV2FsOGxPbGtkUDFNeWNUCmRweHJhMVVycGYzSWJzZUpGK1lodkJKZldvdzlubmtO
QWFVZWxadmtCRUF1dkRvU1NXbGJwQ281WTJCVktUa3RGM0gwaVczNTRTODcKWVdTODlTVVpSWkE4
S01nRk9vVExLcGhqOHJnTElsOVdsN0l2cVRyMkZqOVlRL0tTT3ovaU4wOThUYUtNWXo2SGRhd1po
MlF5MGNtcQpiTWhMTGRuY2J4dTcvS3JVMG51RmpMdWViTFNkd0RxNUx0SWlMYVJNblNGWDZoZmZU
SWZFM3YxcmEvS1dUeWZOMGhaOWZGYTc3OWNhCnpFU2hMV2JpM0I5L1lZR2NNVFVyZE11ZnZjVElx
OHYrUG1YQkNtWnlqbjlxMFd5U1A3YkZqS2JZOGRIUk80dGMyOVlpL3Z0WUY5SDYKY011N01icVgv
b3A3anRtanRPTEhjcmRxamtWTTIxeFdQT1RONG43L29PeDVOTE85RFRHVERmVmJSN0ZSZHYrYmVU
UStzZGMrVjNBdQpCbkxUNXVzZm1mWVBRaHRkaVJpNTRTVzNhdXhuRHJEUUY1aVVEaVU5aHBVUng3
WlNlbzRHeEVCcGJRY216b045K0lJREh0djQ3SGxaCkxMM2pGdFBHRjNtNU9BRS9xbHZRSmxvbHpN
OHlNbEh6T1JuNXI1VnhjczlxT09ScVF0YjQvSC9iU2wyQ0R0SG04MTY4bUdkNVpoV3IKa3NubjdO
ZWkxQ2VXU1ZRdkx0bTJxblhkcGZlRWJDVmx4ME1UNXh5SFRQWVNJWlVOcTdjeHhTemJIRUFUc1BP
SkFsSjFmRmtsajhqQgpKUEZEci81a1o5bkhTYzNsV1ZKMklObjhySHhZWmJPRlJIa0R3UWtoTENV
Y0l0eXhRbWorRFdSOEZDVjVNTGlRYWZLYnZPYkVEY0tHClkza3loT2J3TFJHR2FKVWhaS1hOaEUw
KzJBbTh0SGpZU1k0dnVwQjdXdHRDaEZLZFlZSEp1ZU5XbU5TcUpLcldjcEVjZnhMRTM2T2UKdkdw
TUpyeEN3THhwZVh6eVc5aVN5cjdmYWthT096bjFpMHV4MVFqUUNjT3RiVURVR0UzQXlOVW5iNGpa
ZHVpbnIzenh5MHBjdVRzLwpmTFBpQlJmbkVtTEpZVyt4NmRSR0d3TEdKeHJPRlk1Z3AvTDYxbTlO
OVRJeUVtMG1YUHpBd1NjWVZyblAzaDYzZUxTeDc0cUw0NURvCjFjWDNmdi9HWDNhWkQvWllDN3NS
aVpkUjFuclpSQjQ5Nk5uUUY3TnQwWUpCem4ya2Z1azF3Mkl0S2pwSFRFNnI3cWxmNHhkclIydjgK
NWtQVW9MZkZhM2tzdXlXTEJab2NnMlpKdnpwYXJsYmF5cWhQcm1ET24xZ1RQMi9iMGxMSnhEL0hz
dm1CRk16Z0Z5Zm5QVmVQTDJDdQpiODlUVkljTnZaRHY1cG83U001a0o3bEpiclAxN29aQlVzV2pk
WDlpMHJlTWRtSWRKRHB4Rzc5azZqNllvMGZPeFYrL3RtZCtZRStzCnhrRjB3ZTNpQlB5a0orc2tF
ZUd5SGEyT1BwSVE3clRxWitXNnlMV3JXdHJqOXZGV2N6Qkxrck9nVlAxVUdTWlYyWEdDK0pqSnJx
M3QKcE9UVXpLMWdNS2ltK2pJaUw3ZmFPVERIK1ZnNXEyOUxIeVFab2g4YnBsMStkY2tFZTJBUks0
a25jbUpKN1J4cEY5R09USGdmTFBtYgpaRkZzN0I2VG5NOHl5WmNzU0pKZTNpUmdPLzZTRWF0OVcz
bE1kMDl2bGZpVnVrQmVwZmF0TW5pN2JIOUYxcUtEMHpQVWY3cnNucUU0Ckg2ZjlUOVR6K2VEclFY
Rk1xdG8xU1duOHg4cDNkTzF6TGgvLzhZRXZSbnhVSFowTEVESmZVL3BKUFY4cnV6ZXIvNHQ2L29y
aVBGUHQKaDJnV2VLN2E1NnIvMFNLdXAzSnNUS0hDZ0FpRjRUemtEeGFiQ1k2WUVCMGJMVStPaTFx
T3krTWxiZXVrR3YwaWMrekJ1dU5qK0haLwpxUWtzWlhzUTY5M1RrMlgwcUh3VmJyMVI4QzFwK3JP
cWhXUTVENUVMODJmVnZsRzV2RTFPYjVQbk8rWDdkRTJJejlEK1Iyci94WG8rClNmc3lIWExWbC9L
MHo4Y09JV2JCYWY5cGVtTEhsZ2sxOXM1RnNuY01TWldzbml6YnA5ZzIwekI0LzBDeTE2bmx1SCtR
N0Q5RTdTZm8KeVhIZVNTdVQ4ZnNtWnI1Vi9ocjUvQk8xYjFIN2EzN2UwdkU2blQ1QXNtZXFmWkdl
TDliK1UvUmtBNU9SME1zMHZzdXJxWTdTM2RJNQplcDRYZnMrV2pEY05RY0orK1lhWUU0dDY3c1RN
ZVVEOTJYWmEvU0QzWTh0WjFmcUJEOFpiRHAvRTRlY2FQMERQSFZ0ZG5jdTNUaitzCjloZlVVcE8z
cW4yYW51VDdZWHArcXA0dlVwK3QySzE1WlcyeEluWkdXWjlxMjBiK2Y2bjdhajEvWHRadlVNdXY5
REYvUEUvdHA2ajkKRjQyeXNJTE5hL3lKd3o3SEoyL3VxcW5VQm5yQlVrOWYrOG1PSzlzVExsRE1j
d2JIWm14eFphNTBLR3h0aUhSc2FEa3liUEk1L0NWagpJc0hYVU1WUUp4TjU1TTVITXV6c1BQWXpO
OWpJT3ZCMzNXQWpydHp6QmQySlZVeGE1NldXelhLU3V1eDJjUUorOUZGZFFpb2laRnNTCkRkSHFR
T2R0MkZuTCtDdjM4ZFA0cUFXcjJoQ21MZ2hxclJmYVJaTFVCMktqSUpxVzFWS3ZSWnJ4UWN0MkVL
THQwWW11MkdmU0JGdTcKSmxIdG1NamMxNHMweVAyWFJqYWFBMkpWdm9URnFWUi9rRGhXUVJ4TTZV
UHlFRW53Y0dlalQ5NlExNjk0ejBqV0FjUWtHZnp4azdIegpjODdZTW1Fa1kySzZCbXFaZUw5RC92
K0xKUDlVL1F3VysrYmZPT2drOWt0a3oxVk5QazhYeUdmSzkxSFpsMlN4Y1NRRnlWN2pDcE02ClFu
RGFUSmJZaUloL1daWS9LTWtQU2cvcEprN3Nrd3N4Vi85cHd2Zzk4dm1kYXZuUmZxOGVaWktWYUln
NVdlWldzRmU1SEVoaU0zaGEKZFNIbXgwU0s1SDZUSkkvVjY1RG1POVgrdC9KNXcvVDVVSUh4UU1U
UEZlZ2Yxc3FWTHpybDgxK094dVJGRlJRSDAxVGsxdWxWMHYxOQpqWnVKR1FVUDdHMmlQU2JmSDVm
ZjkycnZrN1gvbWRyL1FFK0Q5MDUvVC8yL3EyZElDNitUdnFSMzYvU2J2UmRmam5FbnpMZEwvbWRr
CkV3MzJ0MjM3aGJJaHpxdWsrYXZhNDF3QWs3T0R5WnI0M3kvSnI5UCtaK241c2ZiVWpsdWl4ci9F
OW91Uy8yMUpmMFN0S3FQWGJyWG8KK01nL2Z5Ny9pYkw2UE8yL1FDMVdiTFQxN1Y1MXlKRkJLUCtK
NHE4bzBmd1hranhuTUtnQlJCaU03T2ZjUnhLcFRMVjMwcmtQWG1WSQpxTUl0MVlVM1JQU3hheGJC
Zkxkcy9zam9VamtJN1hUNktzbUNjTy8wRS9MNTY1TDlKQUNISEMwMnpmL1c2UldTZkxBay81YmF6
MWJMCkZCZ01rTmNYbnBxSjFONVd4dXhGeTlmeE9BNy9zNTQvby8xRWFadVJnZjdOMG55UTJwZks3
dDlVeTZoeS9GZW1WSzI1SmdKb2VocFUKUjVuVzF5dXhkVTJ4Y1ozWmhtdE44bGxrSFBKRGgzR3V3
d0ZTTXhqRnN1MXVoNzZZV3h4a2g2L2t6bUd3Zk4zTGJkY0RlZlFmbEVQegpBQXRqOVMwYTI0Nngr
YmsvZHJabi8zTGJ4UW40eVUvaGdPbmttbG1rNU5yUGF0RXhwajZwNy81WnJTZDdCaW9EL3E2V0M2
czE4SnNVCmpzZmhyNmtCbmZBTUFBQWdBRWxFUVZSZSsrZm5najBJNDgwRUxZY1F0WHluc0lSZ3l6
ZVRJWEpyRE03eFlCUmRwV0tiVmJOMnhwODkKOXJrRm5SV3FOVGY4dlc0VVZvZzNybkxRUHpSTHpv
UXQwbVFnSGl3UmVXcVZvajZmWi9JbTh2Q1pFeXdqamQyKy82MnkvR3RDZjV0WApvZ3NMaEd3elFz
aUtPTVRFMWx0eStlKzBldndXeWI5YzhoZEpUbXcyMzBxVzNPMlpYR1E4OFhyNytMdjAxdUdiTkth
dVpsZU1pUXNtClk0YjRsQzl2Tlg1TnpUZEwvbjJTZjQ3NkwrSHRoMlNzV3RuQXdxWDVQRjVmdHpL
Z2xZRi9pRU9PSmx1SitaT2Q1bUZTbHcwdGY1djkKUDZpRm1FemUxSU82S01iekpQOWlpWitpUGov
NFVlTG1CZy8xWnFXYWJ5Q2Y5T2JpdGlkYjNrUkpiWkpVNDJrT01HUnNUSWFNQk1tUApxMzJOMnMv
Vjh6ZEp3eHNPTHNpU0pUNlA2SW1jYmFjSit1K1ZuRDhDS2pvdDVLeS9CRFQ1dmx6N1ROcGdOajQy
ZUJEam4rajVFZHIvCmVMVWw5Y1FJcVQwbStiZnErVU42SnVNUVNORVN0MmdaVlhYL1NMaVFFNnV4
TDlMK000RFFoazlxVUJLTnZHT2puc24xL0pVeFpCeVIKQjZOWmdZbmszQWRrQ0svWTZITVdwU2JF
NGpndVAvYWl3emZ5eGd2V1k1TCtGVDIvVS9vZVIyeHJUUnZOVElEcS9hS2VmMUh5djZubgoxMm1m
TjNWc3dVLzlta2RrMWRuTWRqK2ozUy9UazVWMk1pYjZpb0VzVzhiSUc4Qy9JTUVQNmZtMW82dEZL
cDlya0t2VEE2SE5qaHIyCnNVWkhIRDNwSHNTbWZpYlc2T3JYRmp1N3FlMjhjdmdPOWdOdkRRc3Vq
bW9Bb0lzOW0vcG4rdzRRdTkyV3lhSFkySHZRK0k0OVVGM3QKZ25uZkxmSU5GMXZYUmMwUjI4S0x2
WEJPWDNSN3NtNUJzNVdBUzVxMGZBUFpwT3BpNkVSUnk2NUpWSlc2U2JqSHluVFljOXpHUG40QQoy
Sis2RzRzQ0ZuTnNWR2o3V2g2OVY3dE13bEw0TVFiUjRwZFR1dDhpdGp5SnpzRWtpbUlyYndpU0FN
dVhBdzkyVm9oWXN2RVpMamExCm5Nak83VHROWGloamdSV2xmSW5hTzhJNnZrVGxPSWxVL3hJejMv
cjlldVh6UFVPRVlQZ0UzRTlFWVNvVHEzeHhBRFczVzMyU1FYVEkKUkRxc1h2K2tzRjZtN290OElU
SGVHWnRpTWNiMXZ4WkJva0tXMzNzay8rL1YvZ2hqVVpzNHM0OFJzdmZWanMrdkNPTVZpc0d0Mjg5
UQpmb2k5a2xWK1BtWWlSd0dwTm9sYjRqVzJqRmtaaHpRWnEzeG1qS3pTWFRmNXZWdisvNU51Rlh2
bHk1aDlXMWtua2xyK2c0d3YwdTVUClpOM2JqdjZmZlZRSHlDb1BCbkU2dlY3UGwwdkNqOTNuZ3Vx
S282MGdwWE1JdFJRNG12eEEvdCt3SnVTSlAzWWxSQWo0a2FHUXhnU0IKc2FQTGlpb1NaUGlUeHl1
RWN0ZVpKMnBpN25uSDUxOHlUdDVNMUJKMFZyMy9wZG8zNnJsN3BWZEx4a0dtM1pvWkhteTNUditI
OG5pdAo4dmdQMVh1Kyt0UStoRmdickdLTHZPT3BqSlpva0NWamkxZnFoNjc5N08yWVFRaGVpU3A2
TkdTTkxpT0piYjF6Zkt0SnhyeHlyWCtWCm5xK1VYeVBURnNYaTQ2V1lxVHgycjVidVAxRDc5Y0w2
WUZVaHlHVFJyZm5GdDlpc3R2OGptWERISTdHb1kyeklraTM5NVpkSzN6cjkKbU1qb2owbjhwWm9E
YnV1YXVzMG9kRDNrYkl4bk1BZUp1Y0liclJ4Tlp0SlpYWnRjKzR1VWFxdVdGQTRNL09ZSnB1ZWg5
b3RWbitregp2OVMycmZJK01JMGh4WUdMbjN6c3ZtSGFWLzNha1JjazVBMTdDK0lINXVIZi9hMTFI
ZFIvUDJ5Wkx5NEkzSEhzcTlxUVVXcEJLTmRrCnlHd1J0QWFvUXFQenJXZlpoWGM1VFNuV3lHWGps
YWtNZlJyaG9DMUVpajl5TkxGelR5YklnNy9zUXlCQnp3cFkxbEVIMDBqeERYVXEKRHlmRndTQW5Q
cC9WQ3Q0bm5PTDU1TW1wajUyUHNmUWxUNU82SVJSeldueVk1UDc2RVhoaGY3YndJWURIeUg5N3lO
dzkycEF2N1QyLwo0LzErNThCWW8rVTFKSGhMRStEZDA3TVY1OWtpRVc1VWNFdjR6V3Jmckw1L0NH
UklMZmJ4ZTY5MC9DY1JYMmJTWkd3Y0orSVBrWWtRCkNRWHhVdU4zeS81UFNmdDY3RmdxNHNmWVN2
THFQMG5QajVEUGg2dUZZSDlCUlBzTEtnaXJWb1BWUisxM1NQNHN5VC9KTVZqOVVtZmEKeE15Zkdr
bDU1QzRNeGVPYnlCd2IzeGJIRm16NkpsbDkxaXI3bHd2azlST1RNVWhyY21CVitGTHArR3lUcldU
SU5NNFVoaTNuRnkyVAo2aXNrNDAzWUk1WkV4Mm1VaWZ5V1ZqejM5TGx2UGdkK25WcFczYkZhdHQ4
aCtZZktEcDlzeEFrbUYybWlwbzBtcStOTTM1R1FFYmJmCnJoWVM3dFFleENJa2J5THpHZVhIcWwy
NWFGZmJyMHJHaW8wM1lGaUh2cFlmTnF6S1g2RDJ3L1ZrdGZWYVBmbTF0MWlSZWZ5b3d5OXAKLzJ2
VWZvV2VIN1doclpHV2pKSnpNMDFlSUtZdWk0Q2JjZXBCakZTZzhla3Z6TVJwdEl5WDJ1UjRnclZz
Slo1ajBQR2lEeDYzd1YvcApIbGJuZUh3K1REM2ZwaWR2WG5TR2FvK3JkdG14OXdiMS81cmFQM0hJ
MWRIK25uOXJpT1pIOVB5UHBYOFBIVzg1R3NXbDl6SFN2MWpuCi9KdDA3YjFLN1R2Vm9uOUk1RW50
WHE4Qy9SbGRBZnAwMFAyZGdMbWFNcGE1VHVsemNYSE55dGZQN250STJJMlBXNWxnWnh0MDdkTmkK
eHpiMnRCWnRmWk1mOFhKOUx0dGkzbWlKNHp3SU5FK2F4akxKU3JETG1pZXR4N2JIeDFiUGpnMG8y
NU9UN09wN2pCR0R5MjJjMHhmZAo3dkR4Z1FiRUNlRFdoVkRmYlhRRU5JOWh4L2pWTjBGcXp5ZVdo
Q0hmNmlnRVB0S3FnQ1pMNC9uRmZURDc3ZURFRFdWR1BuWTZPUFUvCnlKQkExQnBEdlZvdWdlbUYv
UFRJRkNBTGtyVWxSNHVjY25zNFAvcFBYaHhZTElJR0ZydVFsZVUreVBRcXYzZjZhU20rWEJJbXZl
TWsKa3Y3WmtuMitKRjVkcXpXR3htNXZ1WnQ0bmJlaUtjNVA2S0w3ZnRrZHExcFpBUG1vUEQ1RCsz
eXUraUY2OG5mVytBcENUK3JCamQrNwordHhTL3h1VE1ON2tNY2EzK2Z5NFNQYTFzdjl3a1JhMXdC
L0NCZUhJeS8zVDZWdUU5bnBwVEx4N0sva25LZGpucW4yZVlvV1loU0JNCnNONGkzYmRMOTQvc280
dVJ4S1FqbmIrcTl0K1QvTU9JTDduSlZLMTlhMyswOGhQSmNtdmFQMFdwejI5OS9DU2pUdmkvVjda
OGp2YnoKZW5JYm1hcG0wanVkWHFpOWwwcitWRXREeVB1WG9yQnorckxoZHVTM3E4VjdrUU85Mi83
aTF1L1RIcmQzbjZvK1c0bjhseVgvZStyLwpzRm9OVW8vRWY5UFlxTEVVWkh3Z3V4VjN4UWVWN0RP
QytQeU1aRytURElJQm5ZMHZmckg2NUk3S205UVNCK3lYeUxOMmpRQ0pjaGNGCkRQQ1JjNjRrNnVu
MDI3WDNyNnYvZk10U3Y1enZ0L1JHNm5UNlFlbS9WeTA1cFRLMHQvMm00eTlwNzg5S3poZkxPbkx0
MnBZWStPU1cKT3BGVEUvUm9rUFROU1hKTlRzbHYyYllXYWZ1R0p0RU01Y2hnNVFsS2NsMWpwRjhQ
OGtJRDhZWUUwU0RoUzR1M1QxK2kvWS9UOHptUwpOSmQzYXU5djZma0t5WG56d1VhR2JiOVBPMzlV
VDk3Z1pXU3J3b21jWE40cHJ6OGx2M2Q3OUpMcC9PVmIvNnhpbjZtNTVzdWwveFQxCm53WjVxWVVz
dUNwL1Z2UGMvNmp1RDg5OFJLNTg0ZkVSYWNrRGY1N3FhT09sVDNZckIybjZnMzNZYzFGaWg5eUVO
N1l4aU03T205eXgKNkZNSHRXRGNadzl1NWVQck1XUnNkblZzN0tSdmZDQnQxL1pHREdOS1IxeGc3
VXRMTE5xSlJUNUgvRTFlT3p2YjQySXZGeWZneC9XaApxRG1OZDJFelB2b2h4WXpQZFJzWkk4SE9w
dHJ4WTNTZWJFdVF0cEZXZmJBb2ZzaFNOWjFBbGd2UDVUU1cwU2Vmc1J0cyszUHlxSTgvCkQwNStr
Nml3aXhVTlkwck1zNE1sZUUzcitnSVZZNUMvamp2K09jMkZvUm9RSUhRWEhSZng2eVY3alZwV3F6
L2FFMUo5V2VqSmY1QjkKVnlzR3JmeEVURWp3THdvdExtQVQwM0t0TlA4YjVJVGp4WEZGcnVwOXFm
YjVBZ2xJdWt6anh4NzFzNDhRRkljTCtWOVEvK1Z5K3J1UQpxY2ViL0NITHZ5bmZQeXc5eDJUL014
NkpzL3FWeld1MS8zY0dPeXRTQ1NRWGYrcy9scmg3K25SNXNpTGxDMjJPclRiajBoZVJKUDhTCjlm
SC9IdTA3K2NIaXkxUzh1ZmhDdFd3UUx3WjhKdXU3RE5oNzNORVRFN25MSVUySmlqRkR4OThzR1Nz
UmJ1R0N3NGg0L1NnOXYxalAKUjlUUEpOekp1YmROazFZSitlL0krMTJ5WHhlUmdtcjdNT09zei9w
S1pOR3lhcng5K2dPS3dlcnptMlNmdHdqTm92bXdLbVBTVEQ1SQo4U2N2NUxTOHVlb2JDREpqRkh3
R0RibGd3emVpZjcvYWYxbHQzaUNvbyswdDh2N2JzbmpKeU1GaUk4SjNxWDM5N0dlMElTcnkrQ0xK
CmY1ZmF4bGZYUGtURDl3VjZmb21lZkpQK3YxWUxFY1VDRDc2RWQ1TDhwQzlGSmVLS0txRTJNTWk5
WTBRUytib0ZuZGhyeGRwYzhPMGoKK1ZEMWtIWXlEbFl4SVhOUXpna3dDUEVNaWtGa3kzVUxBdkdl
SWE5L1YzdWZZNHprWFR0OCtiejc4NldqVnR4Ni84ZFdydmg4ZS94NwpwZU1OTmhHNWltblRXLzF2
a09TWE5KL2Mxdmw4ZTBpRDlxTmwvMmVsKzNDdVgwNTlYa2hNTDhUL0dQVy9UdjJYcS85eTlVdTJi
dFZQClBaWTgvZ0NSZ3dFRnBWYlhpMXZtZ2dTNFgrNTVBdlg0dXgyTTNVY21DMXQ0eGh5Zkk2WUhF
VHZ2VHIrM3dlRUNZMDZlSVphUm9adDgKc1RHK1JMWnZmL3pSMlhjYm8wM1JhM084d2FJR2ZFNXNl
Y2VWN2lWZTE5eHhDVFJoUE00dlRYVWNSNXNkNUI2UHhtR0NVNzlrRlJMVgpxYUhpK0dFWDlyVEpr
VFk2Qk5yM082LzRvMFFQaHZHbitQWkZMbHVUdVEwejVmT2J5SWswdVZCblRoN0h6NzU5ZkVLcDN5
QkhtNFB4CkIrU1hFM3FTUU84TkxEU3g0NXVWNzlGK2FERXlVQS9iT2ZrL1VIaC9RakUvU2dQeGZ6
UWdnNmxDdk1sVEQ4dEVybnpoNlI4cjU5ZEMKdXRJZG1Pb3p5ZjhtMlQ0dXJIeFdDNVppcXQrOHVG
WHJNWXNsa1gyK1huOWN2bThCQ21LamxtcC9UTjMreVErRVRhaXpsYWpNWGk0cwpsOTYzbTNQU01u
bXdldjFva2FWdWp1aXFqMDFJVkJoZ01hWWgxWmVvL1RtWi9ZVDdzUWYwcCtYM3E1THhKeDc3Znhq
UG14LzgyWmg4CjFGVWJjcjM1NVNXeVp1WDdCajM3WDdERjU5YnAxMHYyaFhyMlQzNkF6SFJNeXpT
ZDh5WGtlOCszR2Y4MzQrVG9vOGZuSS9YS2VKK2sKSnpLMnZTVy9ydVJZVFg2a012N3pzdUNOWEJB
U2ozMXMrZXlUTndxTlg4SkFEeW1XYk9rbldsNzVJdGFYU3ZKaXRRc3g5ZUVOd2hkSgoycnpxeTUv
Ly9OQW1Ud1ZDNUMrVC9JWHlJeWNpSkkvczExOWk2VzZkZnB2YWo5SHpLN1FQSnRheHZLYzNuTGRG
U1BmOHAwbzlWckZJCjNvdzNmWExObUdoQm9HNjdEMXJPMnIwbStPWnRVM0JhNjhaUExrRnVyUGdr
VnJ4ckhZejBFcHU2L2dWRitIaWMxTWFpYmVwTER6bmYKZnY3VGF2a21PM2RkaU5yNmZhdXkvb09T
UmNyb3VOYjB4RXJPdjZCOXZzRElxaFVuRTdDMEwxYm5QOWYxOEZRalNZRGUwV2hqUzB2OApQeVNi
RjhqMno0MHRCRXdPM0pyMlNucm1OZ2Z3aFN0L2dpUDNVeUNOUXg5UTdHeExpMzVpN2xpSUs2ZkYw
ZnJ1TXplTURFem1jbVBUCjFsYnlZanFlK2p2bVRkbk4vSmdQeWMveURmT0k1ZVNqcjkyQmo2K0ZC
SjE5V3ZLLzdIWjVBbGFPSmxmbGFTTFdRRHdVajRrOTZYbG0KVi90NllJTkFkZXFmSG9XUUIwc0h4
ZjNCQXVQUUc2MTI0eStnZlNWcVlwWHN5R3RPaXBCUUxtS1M1ZlJrNi84T2xGd1NLeXUyN1VBTwp4
bHQ5VUNTM3IwZG1ESGx0TGZxZVhIUHlXVCt5d2ZvMHRYOUVwaDhnVXVMSE4vS3RZbm1xejFiUzlP
cDM2Ly92SnJ4aUJmL0p3dnBYCmhjWHRaZGVZWldneEpmZDQwSENpMmlMK0Q4bmoweVQ1ZG1KT1hO
cDN5dmVkd21EVmxWb2tIMk5MLzFyNXZPR3duekdLTUQ5RHNWNGcKdWY4a1NEWWg3WXhKcWlGZVla
bHdkU3gwcTVoYm5EK2xQaWo5YlBlTzVEK3BISDZyemdWaTV2K3IxV1Fpa0V5a2F4SmtEOUppc3VT
awpZbnFEL0YraGZjaTlFMjg5WGl6NUYrbkp4VUJPeU5QZTNBOFJ5MFIvVzh0VVhnUWtvY2pmS3hs
dkVrbzVJSVE0dW9xT0RnKzhQMXJ0CjcxTDdBOU92bkJZTWZCY0JKMHBzTWc1c1FNcHp2ZjV1U1g2
RHBlaUNoWFlSZVVlSk5BL3VjdVRJeGFldi80Yms1SWtWMjA3YzlPc2YKYmZvZkpqbHZhUDd5ZUtI
TCt1elc2VHUwditlbXJqQ3pxZzFoTmpLYW9QTWZ4NmZleldMbGc0U3orR1plOVc2TERWNXN2SEha
N1JmcQpJbnJzUXRYc3NlVThnUVJqWHkvYWpqNTI3WEhyL3pNbDRzNENYdEhlUGIxT0pQaGVTUjYx
aUd0VDE1czN0WHJqL2gyNlVwaVR1QnZECkJubnlQNnJ5SjFwUDFYWEFsWlN4MUM5MkI0N3g3cDcr
RmNWOHBXeC9VSEZ1aTN4NkMvdVdzRk0xd1dCYjRqT01YbTdHd09aOTZvUXgKZVRvdjdJeEo2ODcw
bFlUekdqMCt0ZFdZRDkrREpMY3hnbU1zbVhuc1lCUjcyaEFPQmpLWnVodzJnOVg0WURTMngxNE15
WTlhelA2eApBc2Jtc3R2bENWai9ZVHQxY0RrMStOYU1TWk9OdnZmZFpyODI2OHRYT1ZVaFdaN1V3
NjFRODJNUE9uWEd5YVNKSGZqOFF5NkhmaDRNCitTWVhXV2hmV3Nmbmdna0pyUnhDZU1HQ2x3NU1l
MHp5ZzVBUk1sM05nWVY4QUsrKzc4Q3NsOWhFUjRzOTIvalJLa0dJN1htYS92aGMKOFRIYnFFcnk4
WG1wUHNNaU00L05zZWpGOStmVnN1SjZqLzBFcHZaVDVmQ1FDSk5WdE1kZkg3V3M3UDF0WU5uNFMw
cGtZMTlpM1BHUApDQng1bXR6Sjk4N3BIYko1aHZiaUUxOFBXVGF2WkFkYkVoMmZKNGxFUDAzUitU
eld4MFZ5ekE1LzlWbjVjaXo4LzlVNnJ6c21RbGFrCnI1STFreVJuQSsycjlBSDI3NUNjYlo4OElT
R2VtUVJEY0t4K3FRa2J0M2kvVWUxcjFUS1Jsd0t4L3czcXYxVGVmUGFZV01FQ0RUS2cKZHV5RDM1
WXgvTi9qZzRXSEx0bXZsK3pqN1FFV0hzR3NIN2JnRlRYeHVKVjVXNFRPSFpKaXBjV09mUGtXdEtx
OVlTWWJMdDZWY3pJTgorajE5NXMrZlNLMzQremlTYnlUMVI4WVBkdkJJNXNtUzQ4MmZTZVhOQ1Q3
Sm94aDdYdkVnQTdaYit1NUJibW4vM0NHSnhZOUt5NTl0CjhaMEU0bmNqTXYyT3RsWG9FZXZ4V0hH
d2FENVluWStKUGxnNW92ZG56RGpyczdkRnBVVmVaTzQ0Y0VzLzFZOUg5R3ZNa1JLTFhMZ2UKN3A1
K3MzYS9CeFJkRzBGRG45dkx2RkdocHI1dXRqbmpIOHJ5WWZudnQ0OC9YYktQNHZZb0UrSk9KTVR5
YmRQQkluUXhoZkhGMHY5OQp6MzJLdnhGdmIydG5jaUduNUhWZ0h6R2EzNDZMdWNiSEdQZjRYUDhI
RG42ang0N2R2RWcrc2VoN2x4YURqbVhHeUZpS1NVdmZCRDE2ClpKVS95Ti94WkdzU3RiTUF0Qm1U
MWtsdExja01KbmJORDd2NldINlpsNHNUOEdNaVlMYlVKUVh6YXBVeFRjNjBUTWlMTEtQaFlyTGYK
V0VaUHZhdGZmcGJJbUNtZGt4NHlTaXVOL3BsNGFZdTF0WTRCdVpIRFBKS3pVWTNsL3U3ajNPY0Vr
VVUyN09kcFY4bDlFWTJNNDEyOQpmU1FZb3ZPQjVXeWlyeno0dHZIZmtQVzN5KzRsYW4rL3lQTTVy
RWQwc1hYVmVMeEJ3RWV1SmVRL0JyYjZiMVg3WmtuNVZqTzNBQ0UrCkZQbjBWL1lRb0h3OTdsa1I1
eFp3YkxpdTZmTXJQbDRMcVo4ODFjajNQY3J6cVdCb2VNR0NXTFd2T0QrRjdZeWxCUHhKUTY3NVFR
eXcKUTdiNTcvcmlSNlV5b1dVaTdZVDhxY29iSGJmeG5qc3R2L1RETFdLT0dYWTgyQjVFUkZrQjgr
MWsvWmVQZXY2TTdUTDlKZDVKbjNuZgpPbjJCc0NBNHR1QXRVdUIyYzJPaGI4elhhZitkZXVielZ6
VHgvRHkxV1hYSE5tTkxqdmlDdFdOMkJJenBzNFR5WFdwVkZiM0dCeFRHCjFvczBHRm1oU2F5OEgw
UXcrVFl1djRpMHgyOHMyaldtRmVrMWt2UHRiR0t3cFNLM1RUaFB0NlM2NVpNOThvMVhzV3NCbmY0
aFJmdTYKd2FST3JSVmZ0bnYrRWEwZXZPbkpWa250SVYrT1JsZks2UFBBUGpuVFoyeVZZOXRqVFMy
d2E0c2N6TlFpeDduamlNK3l4UlBVVDFiNwpMTFgwa2xmMmlaZnJCTG11T1FmUk5abWQwOGRwOHRa
L2s2NWN1UDRVaGNsY0x1L2l1cld0WG53aHFaWDh6ZEwvdkx6MzFTOTJ2eHQ3CmR2VHZJSTVpZU42
UnZIM0hFSmphWjByNlc5VCttTHA5RTBBT0hpRll4alFvbldETDFqbFpNSG1DU1lJNzJaTzNFNm85
TnV5UHJmTzUKYWFQK21SNkhIWnZnNnJzbTdHWWV0QTlRdGxYVDJHNlJnenV4N0t0OWo2UFlZTEtQ
cVZwUGVKa2p6K1F4TU53aFA3Q3R2TmhMcisyTApBZDRac2pUcENqVjEwR2srUmFJOFo2dGFMZkVn
VDl0cGtKek14eTFqRDVweXA3RDRzdTFrNjVVdVBucXdIYVN0QXJQU2N4NmNNd1JRCkcrenBZMisv
elYrUzlRQXpPazVYSXVPUnB4cjZITVRCT0FnSUl2Skd6TzdUeXZZZ0tlbUF3dGRYdkZwaDhSL0ov
NkJ5NWFjanVkMzAKWWVNZnNwV0w1QWVSRFZaL1dwRmZrZnBvWWJ5UVNVQWJmd3ZMdVAwakZtMkY2
Zm9wRmNpV0ZTOXgvUmtzS1lra1BaMnE5WkNKd2FZKwovMzh4WklwOVA4T2wvV1gxMzJTcUU2aHVG
ZmNMV0MrU2p0VW5oQ3VObnd5NUUxeW43ZlNSWTVXV3o5aTROWXd1dmt2WFBpMW5UQWc0Cis1a01t
YnpZOHBudnE3WFgxUk15TUgrcjJpOVFTOHp6K0t2ZmlUeVJLNytsMVM4b3E2L3UvQXdqc2xvanJV
M3NrYUJ2L3JGSW41WDkKZCt1WmRUY2F0aEFTNDB1OGMreGN2TVdMUGErL2J2elF4R1BGcjZ5YXRx
K1NYM0pmTWFndHQwOGh4ZHE5TC84MXBsckdoM0h4aG81dgpmbWVML2lmVi94d0x6dTFidjlyUzRv
bThlYXdNOTd3NC91UmFDbzluajIxUVFxckZhNHRsN0tKdkRvdy9LRG0zUGw3WEVQKzlxTGVkCmhE
QnozenZhbDgxR2lNK1ErQkZQK0loNUU2RnJTdi80ZUNoNXFjV0hFZWpmaitvRjhzV1dGTEIvV0x1
ZlhOSTRZdUV2QlZ0WGVOaDQKQTVOOGd2M2JaUGVUaGd0dVJncThoSTZOSFk3MGk0R2cvV0poZy81
bUh6bTJOTktqUG5DUjYybVhYVGUyYXBJbkxRQTBFNk4xUG02cgpTbTU4Z2RIYUhGdHQrOHFZdnVN
VHUxaGo1ejU2L0NlZTZ6USt6ZE1ZOVpFZDhndHZGeWZneC9nTlNTWjBEWTVMQ3pKakN5R3J6NkRS
Cm02aWpyZTFCdE5SV2hiR1crb0Z4WUhLb2dobnZZRXR0dWIxdStzcmNCQjAzNHkwU1Q0R0w1ZHUr
K004RjVCV2pQRXJrcVQ4K2dOM1YKMzlmcE03OGhxUkFiWkZiTWFkWG5GN1A0Kzd4MzZiSjdwNzYx
L0RyNS9vejZyN1lNMUlYSjM4KytWWFpmSStrZmwveGpHYnN3OGlaQwpkdlFoVG0yc1JOSDVuQ0d1
Y2ovaTA4ZG1TQk9mdzQ0YWo5NXk5ZCtxL3F0bCsrTU1UYmplOEdWVCs1aWFZMVd0dm11dWxuZnJK
VjM3CnlaK0o2bmtTc3diSkY1N1dxcFVjZUhhaVN6OFRNYStkTkplK09pYllhSGtsVFpET2lRZzBz
UGxUbzF2NndrL3dpb25tZytUNTBrTWUKYkhDd29SZUU1T2RTakN4eWZzNlJtTkVRQ3prcmRVaS8v
clZkWThBU3pQdFgxY2hac1RLT2ZkSkhUdTI0bmM3NUdheVZINTlsTDdxSgpIUCtQa3g5eTdKcy9X
T1RFS05PbWZzMlAzM2R1enJWbHRmZDBQY0dvRC80cmw0dzM5c3MvT0V2M29mTE9sN0U2UHQ3RTVH
NEF2bXg0CjQ5ZDgyRTh0VnZ3UWNGZXJpWEl6YXZ0Z3NpWGZvdEcySnRRb0dEYlVmaEdKd05ZV0Q4
aVFieGR6ZldXYjZ3UGJtY3NNME1tOW4wRksKLzFTWjlNdFVpUTUyNWdSZjl6TW5oaWhPcDM4cUhl
Y1NxMVJxd0dlM0wxQnlEeHRiTzI0RmVwWUxjcTdWeWM4MlpKcitDOVYvUkNZbQpkVW45UlN3blBP
TXdGcllQOERleG9jSldJRWNkZHR2R3IzN3NiYUlYOERVbnVLVmVZREdCTk0vR3QxMWpFV3F6czQx
azVJaGNqVjhPCmpCdTJ0VCt3cFNkL3g4WjE4Z0VJTE9PTXpEYXlKWTU5Wmg1VTc1TGJ4UW40OFRs
WUpndGxHckxVYVRjRE1yRnE0TFNzVVAyWkxuWVUKZzlxZ1k0VFVZUjdvcExLTkozMHJxNVhpOExP
bllvYjhhZG5hYmg1R0pvSlBjZXBzV3k0UEpIbUFlL2o2bGkyeHdKeURvdjBQVWUvcAo3c2MyK1NW
dXNCU0ZFdy9NN2JidnB3Z2M0bnVYSFA2VzJ1OFZGci9aYTJ4QVJHeS9KcmUvS1BtZmxwUWZyMkRM
R3dMUWNrS2NrUzk2CnJUWXRFNFl1Y1VrZzcwVzhRTDlkV0c5UlRYOUpKUHRHeFhpajlHK1EvRmNt
UnNpVUhPUS91ZkIrblYrV01nRkwxaFV3bWZCRDhDRXYKTXRRVXF2RStXUzIzanRkdHZreDNUTEND
OFdzbVc0NXRaUFNwVkNmRzlKbW80eEVTVFN6c2FrL0xrMXdxL1c1SjNtd3N2V2pyOU1vZQpQNWJ3
ZjZyOTdXcDN6Tm9GcTBnclBoSHc1ODlJbW5ObGpKVmJ3bXg3WHVRVXZHU3cvT3FKUjhpYmxlSmJu
UkhqaUo2eFF3UmRHZGNmClBRU2NpZ1U3V2VVMktSZDJwT2Z4SzVYYSttYVJuOUJNL1ZwSDNrQ1Y0
TThqTEpUNnB3MXE2NWZzN3VuUFpmSWIyWTFKKzFiSlV2c2QKcTdLTUNnMjVnSk02TE52bzduOU50
ZUpEbk9UQzlaeVJvS2s4ZTR5NXo3bXVSV1RVMWl0Vlk0UUlQd0NDNDNyZ2VzZmw4RlBIa3plaQpZ
dG5BdGsrU0xNZUQ2SHA2UGx0Nmp3Si9mUFY4aC9BZlZoemZKaDdiRi9yeXgyYmlFNTc0K095dHhU
YU8zTHE3K21XM2U1cERNRjg1CllIck1aUjdUNERtRU1CanJ6UlVvOFN4RGg0MGdMQ01QNG81Y2Ux
S01ickFPMGh3N2s5dG1VeDlhNjd4amFjYXAzYk02MDJjZTNHS1MKaThlaVpvL3ZSQlVYOVJuR3hM
ZjU1Rlgvd3c0L0hDKy9YWnlBSWRTc2RobXJIcE80VCtHNTNleTZ1QklpQjlsemdVRjAvR2tRTGVP
Rwp2Q2lzU1l6NkNvZEgvcVVZQnpsT0RPdmxkY2d4MW5hc2FvOStTYlp4NHNPNVpGK3RRQk1mdlRD
a0NDWjR5b3NUYzk3TitTY1BKWE1rCnljaHpFU0RFRndKY1k1RU5SQ2NIN0I0UjF1ZUlBRDlCL1Q4
dmYzNElJU1RQeGE3LzVVUTIzNmYyc3hTRHNNZllKQ2Mzc0h5clhSaWMKSkI3cnlQbWM4bWNsZjUy
ZS9EclBMNm5sQnkvNEZTaHZlK3N4VlU3dGxRZXJZRFVtWXZsejdST1RTWTBKaW8wVkhYOWlBZm5Z
VkMxNwpIeUI1LzA0Vkh5WlE5Q0hUa2hUeWZwSUticVprWG12YlZpSnB3Y0NudE9tamNlUlN1aWVE
WDViTklpR1hVZ2hvc24ybjl2aDFMWDVBCmdhMklqWkdKR3creWlsKzllY09SMVpoZDdmMDg1Ylcr
TEZYTWpMbVkvZndYbk9KSGw3RkJlUHdBUnIyb0FqNzU0dGpDSkNwVzJLMmYKMHFCU0dRV2YrWjJQ
SFZzMlhsZWQwd3ZXTzZ4blZFelFhUEsvSnZWNDFUOXRmSEFwY3ZlVFZURkFBU2RXU0xQbDcycDVl
OGhuNWpudQphRnVOWllkOTBGSUxqbi9RR25sbGxncmtIQUVybmwweHQ4ZTVqU3JYVnlaalBIblMw
T2E2OUdlMTZwV0luNFpOVjd2WXlpNmI1UGpaCnQzSnd0TTBrem45cWdqdFkvUnpZbWFQbjJ0dUk1
QjNxUGpvRTVHTXNHNDZwQVJ4anNBZlRjc0RQNGpjMlVVVG9lbjJXTUg5VmJUR3oKR3NaUFFyQTRQ
czRYd2NqQkJBSTVKamRqdGg1N1hzWVlueDJ6V0l6Tmt4bkhRT0R1WSs5RTFFcmUvWTdMbU0yUFBN
Z1BlMXI2Vy83SQplWkszNnpqOU14bXVIbEJzZ2FqZkdkWm1sMEJZWG15N09BSHpHV2EvYlV5V1hE
QWhUM1dvdFFiTnBXTWlvUzY3WGliSVhUZkoyMnJYCmR1QkZILy9kRmwySkZuS1VpL1BnQUp0TWlh
Mkg3V2dsNTI5alRWN3ExNWVXQTVHVlplTDRITEVQM25QUVJId2t5SGo1cldaaWVDemIKS2pkNUlK
MjQwdmtOaWNtVGZDTm5KZng4WWYwNzBuKzlNeHdpSEFMOEFSSGw3NUNPUHovZ2xyUHJNcjZzUkgz
ZVRENWcvYklNZmtoOQp2bTNxejJ6Qk5KYkcxaFo3UHE4RmJTZGlKQVJRMXA0UXFZZnBoajlCeWpl
TFN4NGwxZmRLM3BWU3B0RDgyaEZmTHNvMHVCTXYyR3NLCmpYMUlnYkNkZ3ZIcnhCd0tkS1k0YjNK
KzhtOWhPMjFoN3lnY21jU0x0dE15dDlPL1ViYjhyU3hqN1pnYXYyT3JuSXhqbWQva0JRZEoKNllB
Vk1HOUtPTnA3M3NFdUNheHh5OXordEkwQkFYTXJ1QnF3cWVzNW1Vb3dubGx4Snd0UXF1R2J5M21E
a05FbUg2c0h2VlZJZFlqLwpkcWtiT2RXNHA1L0d4RFAxYTQ1RnFXMml0d3JOYkIwQjlIelRGd3My
WHJ2UEc1bm5qanc2enBkVXNKVnNpeHlzbFhsaTllZ1dPM25KCmFzVHpTUlVBQUNBQVNVUkJWQWp0
bHU3aWNDeExvbWUzWG4zNUNjRko1VnJNOWEwdjAra3pWVmRIdXQ2MjVRZHlmTEVwbDJ6NDREeSsK
bmRDdGx3MFhKdnRxSDlaMUJJNEpXTzlrYVgxcGpkNTJnQXFETzE5OFpseWlSdnkwQTN1TFdTSmpy
RnkwdGRuaUd0ZjkzS2w3bDdDNgpBdmY0U0xIamFoMHFZMnhUeDRXdCtIdXNnenozR2t4TmlOdGND
UFBBL0haNU1VakFTY1RmT0tOenJZWGZMMmFaWUc5aU5IN2xqS1BZCld6dDFPWFFIMXNRLzlNMmxP
UWozUXR2bENWZ0hqRXVJZjR2d0pFR2tGNDRkSkF4ZHNkbDJXdlo1Y0tIVmwzYnYxNzc2a0J1blVq
R0QKWVd5ZDRYMzRYSktONVpVT1dacDBwWUIwclJkSkdWZkpKazdRdzB4ekVNYVdMMUw0ZjBOeUxJ
M0hja1YxaTMvSTFObEpwcitraWN6WQp2QUZvbmZUTFNOSi9qQVN2c1MrWmNHSHh1OFYzVHoraDJ2
MFd5TmYydWMzc1hDRlBDU0ZpZm03dXU5WCtsTnJjSXBheHlWVzFobmpaCjNCODVqWVhVUERUMzRl
cnpRdzJRTjNXbnNwMzJRc0Qwa0xJaW9jMVBNakl4OHF6WFU2VEw2b1pqdkpOa0l1SzdyT09GSmRo
NVdPMnMKMkVPZXVObXZMVGhkdHlWK1VQT2EvRDlEbnE4VjlxdGwyL3l3L1drOS80RmtuNmEyWTFy
eHo4ZUluSTAzRzBGeFYzNGc2ZmFlMmw1TQpzVmlZKzhvM1l3TWg1emtvSFZjL1EyNk9XSUhKK0Jw
L3h5NHhKN05nNHN0eHdvZXQ1THZpcmxvSEs2L3ZtbkhoMHhqUDFoN0VGeHBPCnZ1YzRzVjQrSE9s
YXBIN2t6ZThrSTJjRHBSdVY2N21WbzB1K2JEbXYwb0taQ3FVR1BRK0NsRnpuM05hVnBRQnk0eVd5
VzVwcmZCN08KQkZ6azZ1M1FWWnlkZzV2UCtCVVpQOEdGTUxYUEJUaFl3YURQTmM2NEV0UDZ3NDVj
Uk1CZ3lBOTBzSHg3V1JxRGU2S1BIUk1sYnc0ZApYNkwrYU1hampXbGIvTWhMQnVUdTBHcDNJbGJY
ZFRpd1ErSys5UzhzNnVCYVlPZThCUUtwdWMrTG52Z1M5eGdMWWh1b1pjelRKMzdqClZQOGdZcTd1
c0tWZWNqN0cxdm8xQnJGbFVtSjBUc1NTL1BDUmJlT0RhL2tETUl0eDVGQnNZdUZYWDdySXRIVU05
VTF4b3J2UWErZU0KQzhGcFJYalhhMkRoUVVJMG9VQ3FCSTB4TnNpSUN5ZWFETGI3dG9tM2MwSU9s
azlkNGRGbVJRMFpsU0EzVE1oVExoRGdFVWY3OXNsYgpUc3NCQjVVcmZzVWN6Q0ZBeU5ONTBnZVUx
am9sQXBGSnhOL3NjaW9lNUsxK1ltSExHSE9pc25MRjNuYWNINHhFR0JLRkxHMnJ2OStWCjVDQmcr
OGhDN1p0a3h5OVJVWStzenZGTEh4eitLOE8vb3ZaTmtqbFFXekMwY1NqWWFQUE1iZVFQVlovUHNU
OVNVcjY4dzMrcy9rYkYKZUtVblBRblV6eVRIQ2ppM2xlTWZ3c1lDc3MxdDBreWZ2RExxZkhtSUVn
ZUIxNUIyaUJic1RyaHBWN1JNdVpuOGlWR3lYM2FKeitpQwpUeVdMaGtld1Bsc3grSEVNeHZUVmF2
T3BlTFJZZkl2a3YxRit6MUZMTmp5b0g3bTJUbGduSDI2MTU3WXBaMFlpdU5xYU5FTjY4VXJlCldH
QnpQaGJ5ckRUVzlFRGh0bmxRYldJcityM2RqM1d4dXIreVRSNWdRYjducTNHa3pTYllxWHlrdkhK
NzlkZUV2bS84cC9UZzhPQzgKaTNXeURXTGsxQ3g2c3RzekF1MldQNHVuWmVUSkloWG05bjhqTG13
czFyRWtLaHQya0duSVZkVjNHWG1aSjJhZU1MWFQxUkhYbU5RNQpOMEhTY1JFRzdaRk5TWXU1WU1Q
c3Q1QmpwL2lPTFd4YVFCdjM1cjZ1UTVPVFRUZzdTV3krMVV4YzJYc1ZMTG14Yi9yTDVwbDY1ajk0
ClliaE95cDhMRzZ2RUp4dithYkJxSnlheCtUTlFoMVJyNGtCSEhseVR1b2EzK0I2VE5XQUJ0bUVp
dDUvOFMwQWVlL0VkUERiZUpjYUsKMVpqQkxkYTB6azlPUGw3SWlBc0lyWm9laThuYk9uejJQREE3
Zk93MGVqRG9qOHo3ZEpXZnhaUC9qZG9zL2ZqaXQ4Y25YdU96ZjZIdAo4Z1RzbTdLNWJNNCtDOWJv
ZWJDMWhTRDMvcnI5Ty83U3MxcTJ6WkRuc1ZxMWI2aVQ4MjVoeVg3N0RQZVFpNGlPZlh3NVY0N0g5
SW1oCndwZmdiSStkeUl6TE5yU2l4dVNtVnBoOEJ2eVlmUHIvMVpwVUdhWjBQb1lRb1ByK014K0pz
ekpPbjB0dy9hd2lNZTZjbmtPWTRrUHkKYkdyNVF0RmpZR2xyalB6UFB2eHdCLyt6RHorMG55OU5k
WElCUDFONnZwZ1RzcjFsd3VXTE1mdG5oWVJsNjJlT1hhSFdIeXh1ZWZMRQpoa0VodzQ4ZisrOXF6
RU9YakQ4L0NnRXo0UVI5dFpsMjZhTXBUbG9rSVRDT1Q0bTMrY1FEbi9nMVhrYWFrWU9ML1BlcC9U
MXE2VDlmCkV2cmZvbjY4NDgvbjE5OGcrWmRabWp3VG80allCNE1XM2RQVnZsMXRZMU9KOTBoR0RS
WVpCYXRqeG0vaGxyQXFpUzAvM0o5eHJlcGkKMmJFWHE5a2diOFlLZlhqem95SmRkZjgvN0wxLzBL
N2RWZC8xUE9lYzkzMkR0SUhFMkF4Tm9SUnBpQlZLclJCcG9ZU3BLVVhib25VQQpNM1ZzY095STA1
RkJwNk8xT29OQlIzR3N0dGl4TTloZldpMkQwNnJJWUR2U1NnVmF5ZzhiYVd1UWtFcEtJREVWU2dQ
NUJXL2U5NXpICjcrZTcxbmZ2ZlYzbmZnT1crL21qTTN1ZmM5MXI3L1hqdTlaZTEzWHRkZS9ydnAv
bmljM1VMSXZvTTJJZS9IN2pEdzIwbXR1UGErekMKSjhxNU9HTmNHb05WZkY3TEYyOGU2NDZlbEd1
R25XbTFHVlBGSzIxdUhySFpBZEs0MDExMWNjQ2FZQk1OMEpPMEd2ZWFCTGFCNm91TgpJdGs5cHVC
NE50aDdRZVdlS3QzQ0tMeG5qRXVta1lzS2l3ZG1SMStNUzI0K2NkbGMxSVc0Wkx4eDRCdkl3My9Q
alc4M1B6VVAyZk9ICldQaXhyZXlVOGZKK3NHbW1EbjRaTjk4TFlXUGl3d2ZqbXQrSGlVT3F6SDgr
aGc0bWNOaEFaV1BhR09iRE1GUGk3Z2Nma3hIZm9yZksKZ3dFditzVEZUODBrLyt2Y0RKTTVMLzZ3
VGQ2TUpWa3d6UmNtYjhBT21HMkRyZU9BZEY1V1hZdmJsK2ZZZXVaTDM5Y0xnK3UxZXlqQQpkY09r
MklXU2p4VFRsRFAyYnlRRUtyRmU1eittYUFrQ0ZjYnNZSzFCb1RSUE9pcFc4SHh6U2pYK2hnL3BB
VkY4YVdMbmY1eUE4amtMCnJtTFhpbU1kbmRRVXl5ckF4TkVYQkpTVHJqc1M3eFJoeHRaVHYzYm01
RUZ5eHZnM256akUxNFZYUmJSOTlGaHErcEdteXA4ZkdlTUQKYlBIZUo1RHhJMERMejlWaXc4K1Av
cGk4OElVbTMxeGVObVdtZjc5ZU1ieGVZMzZKQlZJV09PYS9MdERFVi96U0lZSzZNR29CSm9Qbwpz
QnRpMGFSZlNPWGo0elFHdTBhbFhRV3A3SGlOdEtoVWpUQ3BadXFZa05ObTRTalV4QmY3RkRxazli
aTFMR1Azenduaml4Y2ZTUG5sCitUeGEvMUVkaFVvdWJtN2VydU03SmZzbmRYRE8xbmpKVmUyS0t5
Wms3SlkvT0RKV09mcC94YytiRUlFWWlkZDZxMUd4QmJma2tWUnUKMEdYSFdSSE52R2MzV3piQm1R
ZzVOOHdqV1FPNXpvZVpSbzJYNHFCNWZCTkFRZnpiRmxZRWRQKzJlR0RGTnRScWxpVmFPRWdaSjZM
aQpNSDV2WndGSnVCK1B0cTl2UmU2RlYxVDNBYyswNm8wTTl4UngxdXJBY3pYR3RYQkNQYUNqUXpM
OWI0V2lYU1Q0SXVJajZicmdzRzZvClVRamR2YmdJQzBoeCtPZDIwVzIvekt5eVR4eUZNL3lOV0dU
Z3VZVEtnamNEa3Fmd1NWS1l1Qmx4RXp5Nlp0NjhRdFQzR1hIalYvU24KY1k0ZjQwTXZ4WUFPV0Uw
MWp6d05vUGhpTXA0R3hONzY3WDhVdG1EZ1kvRzFZaWZlK0RKRk43YWk4ZjlTdXN3cFBsM2NPZ2NI
VE9FawoxaFJBZklBTkpjUStSNlhYOFdMRGdZL1Zmc1MzNkdXT1lQYVAwUTdzVlI5WFYyNVhMOEF2
K0JNTThxTGtjUGxROEpRQURwOEg4ZjFGCkxFMDJ4ZEs2R1pQWFRtZ1ZyYWszaXBuazVJb3gvOGd4
ZlJ6NHNiR0VZSER6Qjl1Rm1qaXMxejdzc3g0bWxuM2hvRE13WllOTTBldk8KNlJOdXluenFCMzBl
YTh6MDFsMXU0anZ2VmhuVEhBL3hOUllVakE4d3hodDZnUFJEMDQveEd3ZHUzdHBaTWxjV3g1L1U4
WCtwWDR1VwpCdXJ6andYNFN6WGltNzcwaFRnVzVWcDhaOEVyQ3l3TG44K2dLTkMrK2MwdFZHNWVQ
dXNrcTFXVWFuZkxvOFI4NWxoWUQzd1Y4TTFhClpPRFNVaHdMdWNiSW9uSFVxMTk0d1JlNStJS1RG
K3poTnpiTXFqekdObGl2RXorZnFWYThwZkVWNHY5N09qakRzUUdEMzViMWEzWHcKODd6em44L0VV
M0YvbWpnL0t0M01pR1h5WFJvZEN6Qm5CMG41NFRWNU8xS2lxQitONHNvb2JXenBsNGMxdDhXdjgx
bVBoK01GU1RYeQptMXdYWG5DSko5Z1ZEM0wrOFVXcHYybnp5Z3FhN0Z6cjJxbDVGSHF3U3krdlJj
dFArWXlFSnpQVkhtb3h5KzhpZnBYdy9VU0ppOTZ0CjdpMTA2azFlOGJNRDVhY3JxclcrN2RTSHoz
MWlLZzJvZGNIbmQ1anprVUZoVTNqWEx6YVZMcWlOaVI1TkN6M3pYbmVnTHRwQUpsNzcKc0xKZTJy
OXhUdkUxZGdvNldmZE9XR3BjaFc1Z0dsdGp2WEY0aFhRNHR5biswQThDNjdsaGdWMzdoSmY1Snll
b3BOLzAvYUxlaFhjUgpxeXNJdmNieVkzdU5rV1BqQmF6WG9NdzEvbU96eG85TjlKaHo0bldmc1Js
TnovRWxqcVpXMVFzNVNkRmRjZUxmOGFCTUU0M3VLa2UwCjhqMHY1dHo4czY3SHlFNytzeU8yNGZW
ZXJsNkFYM1RCMEJMandrdGFkUE1xa2RuOXBpQzY0T21rb09jaUtpWC94UjVsM1VVU216N0IKbzJq
Mmw2Yk1sNzZ4ZUhYQnJPS0xNeU82MERXVy9YRHpLWEZkVE10RzhmVTRuOVdhSDkrbXVnalo2WElC
U2RjWGhlT3E4V1BwK0hjMwo0Nk9McUlzc3R1aGp4emN3OUw4S2RPbFpKbWJwRWlmTEwzOC90Qlk3
bWRzVnQ2Rk1WY2dlcVBobHlZY2lyNSt2ckpOWXk1N1k1djgyCjBjL3FmaGJqSTQwZlBEZzgwY0xn
VVNRTEFOeTVtRkxRNmtkdGlvK2Zzbml0TkZtd2FMR2lhTENqcWg5QktkbnFYek52NjJQY2FNTGgK
VGNCL3FZTkh4TXlXT2JLTGY3TmsvNGc1aFVtRVZhQnF6Q3M4OURtQ0RrWDJxWG9sTnp3MXFOa1Zu
OS9EL01mRiszZDFKQS9xMmlvWQo4RGtYL0lhdWIxTVBlelRJMzN0MXZGLzlWNWhUbVNtTjhzeHJ6
VG5aTHN0Z3Y5MVk4QktYT21yNHpCdW8rQzlhMFZlRXBWdldaVlBYClIvRXJ3dlR4TUszaS8xZkx6
M2VVU3Mrci9yZzgxd0tQM0tQM2RPK0lSL1R6cURlb2ZQN3VMeUZ4MzBoTUFmb2ttNkZMS3o0TE9F
V0MKTjNvdWVLS1ZOZjZha0hSb0xKQTI2ekdEM3UxT1B1RG82ZTliaXdrZUxZWFBGQlV2dHEyTGdz
Zk1jSDVXQ3BzZEtJWDdkdDBkSldaagpnNi9EYmpvK3JXdXo2TlNjd0sxZHYrNFhGVHllbEZsbmVX
UXU1LzRMUnQ4bm4zbnpZUnQ1K0tEaSswVzJxYmtkZkJJb2E0Mm5nMXhICityTDVnSW9RdVEzVytE
WjR6OWxZTWxuUGhlMzVUQmxjbWpFRkFvVzM4aTFINzZYNGJZK2VDeUxPaEVWL2liT3dXemQ4RkJK
bi9CN0cKWUdIVHZxSER0dm1XRXpmalJUOTg2Q2pVOUlPbFBqbjNuMTFENmJxdDF1NHJZcjU0eTlM
SlBDc0pMbkRNeFR1N0twTGN6QzZpV2lVbwpsczZKcUw4aHJPUlVFZVJ5clVSVklWTk92Q3NzRzVM
aTNTNVlGRHBwci9wNURPenpJTi96MFM4blFib3FxdlBMVW1KMXNSd0ZPWmlpCnhPYy8yOGZFbUFk
eHdGU2Z6Mzhmd2VPazh3WkJiWDZ1VzBVMU8rTlE3UEROZVNVWExKWXNxb3g0SEhxcGNGREkrTGxh
OU9vZjJ1eUEKcXdEQmMwaVc2dGZXaWJKN3BHWEpuMFVTN2JJUFZ1bWhlWFB6d3pyb0VSbExZUFh4
UXdIR01nOWwwYW5QbFBtdFNYd0xlK0x4NXFCKwo1U05ucHVaWDg0eE9GWktLUTZvREZYLzhPQTZm
STVmdlNqZHovUldTVlF4bGwvaHFOT2ZMRzRqa3NlWktmaW9PL2xiclc0VkQwYXlJCjYvVnRHdjFG
eWZqMWl4Vmo0ZkdhM0txclAvRlljY0hEZitSL1NkSHk2RHRqc3BTNVF1Ty9zZ0FTclh4OFk5UHlQ
UG1Ga1BOZS9QTEkKZFZLMjhRY3VqVmZPZGZUTTFNc2N6MTY0djBaUzVqSmJYVS84cU5aWG1Ca3Z3
YTFyM1puaDJxZmdZTy9GamZ1UmRxZS9lNnMvRXFJQwp3OCs3ajRJaS9odXdRWmViZ0FJRUZaL2Zt
ZnlzeHV0T0ZidWZrc3ozR0pSbVd5ampQaUJyNGRQdzdaS2xvR3M0Q251WkxQNDlkd0VZCmo4Zmdp
dGR6SVovU1E1VVh1OUtMdzlXWVpqMXNQWUNoL3ozdU9OZlBvZXVhMVhxSGZncVFNUVNxOGV2VWZ4
a2k0N1IvamQ4cS9odEUKalIzL1lDU3VDa0R5aml1N05tRytVenllQ0RFbit4ZjFHU1pPc0Z4ODFN
RjJqTVZQZmxlYWZzYzMvSm1QVGZMaTRJVGQ1M2Zsbyt1eApuUjM5VzlhMjhYV2dIYTlOMFFOcjBZ
OC81MVpLakpuVXloZkhSWmJyemw5Y1ExNXE5WVlPT1VwcXhQbjNTd0htdC84ZWRyV2VoWlllClgy
MmFDd1dOZkxuZ2FZNmltbm9YVVYwUzhKMExKUTI5M3ZWQ0tXRGMvbFdRd2ZRbFdqYU5ZU3g4cWxP
N1NqQTVBZVJUdnNER0RqOEsKeEZpUzFlNjFNSzJMTHluWEkyM0ovZG10SkcyWFhTMS9Kby9kTWJI
VkY3R0UwUVUyL3ZXZE1MY3FKaXhFeEZRN0d3U01hZS9TUWVHaApjRmhub1N5UTdJQ3ovTVhtUStM
Vll1c3BXK09WZXFWZzAxYWNXcDZyZUJRT09zZmlDTjdma2kzRnRqUzVzT2ZDN29WSkhPeHBpWU5k
CjRmZlpwdmpJLzdvMTZsRnc5RUtuUFVvMWlnejZRd3MyVXFKZzUxdVBvdFZSQ3o5WThZeHNMY0RS
Ulk0dStmM2RvbC90Y1VueitxZkUKLzJ3TitOV1F4WnMwUFhiaS9DYXo3OUV4UDBtOXVmbHpHck83
NWx2aHVnb2tXeC9YNDNzaUpuYm0rdTFpay9PYTVkU3F6TTgzV05PNgo1bEdhbk1IMGlvS1phdzJi
NmJuNmFJRTk4M2FyM3g5OWM4Tm4rZnhHckdvVnpUZHE4Q2J4UHA1N3lnMkt0UTVJK0ZsY3paZEE5
enUvCk8veFBTYzRUQ25aZUxtVGkvUVBpdlI1YjFvVFQ3dlVYaSszSHRSSlZCRVg1RXFKOVlXZWY2
dEFmZmpzK0Y1TGlmMEQzMkxzbHorZXYKeERBd3NmTmkwSXN6bVBBYS8vQVl2REhyRFFUNWtaNytk
d0FpTW5KU3pXd2M5Y0VIVS85NUU0RHZ4RkMwNGh4NjRFaUgrNXcvNFBCLwppenBlc1NtYzM2L2o5
Y0w4bUJTUzFxL2lJeVY4RVlncFVJejFlN2lsOThPaStkbGk3NzV0SytaSmQ4eGx5ZU1SczJJc255
ZjdzLytCCmdjMUpkNDBUUGFlMTRsVlF5bG4zTFpQd3JMUEc3NUJhUHpsWjdleGJMK01OaVF3NE55
NnErRUpCTDVhVFB3Q0w1WDRQaDMxSnIvTEsKV25UVjlxSis4TjNGVGFocndhdStDaHJ2ZHJVNmVL
eks1SjBwRTh5T3RBc3VjdlM4cTQyK2ttWjlzQ2x5eXhlYU9HZlpaVlA0eUtISAo2b3dpUy9GVUd3
VlNHR01zRzlvczhtQUloTGlJd25LZEhINTVoZVBGVmorekp6NDd0ZnBHY2wxSDROVGZxNjFsa0Zk
YUNrdzlVangrCkVZb3Z2UEE1SkkzUFg4RXV2WnViVDVic05aYXdzSEpMVGhrL3EvbGV5YktZSXVl
SDdTbEFhSzZmMVFLUkdEUVQreW1zZXN5TjdIK1UKRFg4RURVNzVLbXl3OEY2TEdVZ1RDNzNmSkJt
L1JENXhRSi9YK0Z2Ri8rM1N4Wi9UNXQ3Ujlzem5WMFgrWmVsVkZvcUs1YUkzMzV6VQozSFNXcEZm
UjRhTmFjY2dCalZqb0ZhMzg4Y2oxbnhMdld5MHBMVjc1T2Q4L0xQb2ZtbDgreU5FeEYzeWg2K2Jt
ZTA4UjhxM2gvMHE2Clh5bithbE8yaFlVUFdpTGp4NkwrRzQ5cXRwR1FTVExHbVhBQjg2am1vSzZr
eVVzaEhUTmYrWTJQMGw5Zkt3ZkpNR2g4WS8xTHBQTEgKZGMwanBUZysxSlh3c3hyOXQ3cG52NUw3
VVgwdjJBNU5ZeFl4K0p4QXY5RHhRT3duTjM5TzR2Y0pqNDh1S0Y0Z1UwaCtuYlRHTDdYZwpIb3VO
S0Q4bXc1ZmMrTktSZDZBU1kvdTlHdjhXNjByZHNXQkdURFFwQlFjZWNZbitHYkg5UmxLeUZQK2FH
eVlkZC9SWnNOMmd2RW1yCm45VUZ1Z292UWcxTXNLWGZZeWhteG9KcWJIbGh3Yy9uMFBZdkZlYW1L
TXZHdExFNm5sOGwraTVoVUtoUlJCKzB0NnBJZko3OUpZWmcKMUp5QkVtakhVUDYvWDViazFWaVNP
cStpd1haeGF6K2o4QkVIYmZCWkgrVWpoZER5eFNkNkhQWU5JYjd5WHpReHRVeGs2bVBYV0FPbgo5
VGlYTDdMbUNvdCt6cFB4RGNKTFlXRkxFYlVlbUdxZXhpVytCQjFlNmFDTGpZNDI5ZGlzWm9RUDdw
WGE5UXZ3QXo2dE9lMXFWU2dkCnUyNXFmemJjTS9aT1dRV014V1FXeVM2ZVhTemhLKzJXaDNMaTVr
NjVkclg4K1haNDNyVlNMTkhwb2w2UGZNVVMzM0YwNFoyUHBZdVAKSFBzcXFmZ1VYeGpsbDZWU3JX
M2gwVmdjV1dBNWFFOVR1TFhVcGJDbUVCaFhVbmE5M3lSS0pxckFjQTBVRWpxL1VYMC9SaE10eVN5
WQp2MXljdHplK3V1cnhKdVZHZnlDaEh0Y21LaXdUUi96RFdmbmZMWnUvSmg0eHhEODZXYWdwelA3
NVNISHFIOUthODYrVXhhZEsvczZoCmpjYU5mcy8xN2MybmkvNmpvdVFlM21vZC94Vm55ZjVyNmZC
Ymt1RFZqS3YvT1JyVlRxSVFKTFk4STJoOGtPc1Vyc1IvcERjM1h5NTkKSGtYejR6L2xCOFJiL3lJ
VDRxYkkwa3Bhc1ZXYzdKSnY5U2o2eHZuaUNnbi96NHJINTlaZjVWalZVYXUzTTJRMFhpcGlkblZ2
MGZGagp0cStTWFY3SWZ4REwrenEzOGhhZnBWdmExYzgxS2VodXNWajlJL0xxMVBUdTVzdTBxSDBq
MXorUGdQV0ZpUlNlYjFZMG42djc2ZGVTClhSd2RGbFpoa1BTQnBZRjAzeW5tZjZjdWhZZTU1RFBI
QjdwSHY4ajZmaWs3ZDhIUklmK2ZLZi9mdmZpblVQeXdqbmZvZUsyZFlVQWcKMk5CZkRuZTFXNVQ4
ZXlUM28xL3htTXVJZ3dVYU85c0tJMWpxcGNEd1kwaGNUUlFyZXRnL2lDOVRsTnZ2VS96R1pEN2c2
SGdvbDFBdwpYZmhrN1VMWWN6NDhIcFh1NjZUN1Z1bitkUHczL1FIbDVsY3EvbGV2aFlqNStERXJj
eUt1OWk4ZWI4NS9URmlQNHI5alFBLy9ZcXRoCnh6SHRYTVFZaCtjK3V2QXc0UVdLelVvdGxKb280
QzdZSFo5TjlCTGJGUE4xTGhoNUxxSURlOEZNcko2eitDNmErREc0YkRvV2YrRW4KY3JCYWJsK00w
V3Y1QVF2L3lZUGtHanFkdG1kdzNYWVBCWmcvQWMrN0plWllKNmVLS0VYMlhHeDFjV3RpMlRGRFhZ
amg5VTY0ZHF2Qwprc3lZd3VEaXdNY3N0cEpUR0dVM0N2bERZYU9yVmp5aVdXekVOeWJuZ2tMTENS
RUd5MkIyeUNtMjB0QjVxRWVCM01xK2lYeG1LSnBWCk9EbFRQcWNhMDhxaWVIWGE2b3RGRkRFV2FE
NHZmYnY2ZjBPYUh4YkZncUt4WW9QNWFaSzh2bjBWVGkzallsdjdsNHRtcDRjK1NOQS8KcmRkL1U1
VEhvVE1hSkxVWWx5Y3dLdjV2RnYwTGtyRjQwMmI1THh0NDdQU1BPK0NLdXhCdjlLM3IyNXYvVkhv
WjArT3MvV2M2M3FUKwpQeTA2aTlITURmcjQ0OXNELzRNTzNnU3NtV0FHdjFseXZnMDlaMWhZZXQ3
U1BKOUEyVUhyalV6eWtybUNFM3QxL2ZQTC81cm92eTh1CmJZMzdUMnJNWTJiK2trL3loMDYwMFAz
WE5mcFhkTEJycmxiMEwyand3K0o5dFk1UFVqKzRvZWgrajQ3L1NORitvT01sYWpScHpDaVUKSGxt
T0xmRnpqVEt1N0tOWlYwM05uSEhsTDNnZzFzSFpVTjhYZS9jemxxTlhxdi9sV3NqK0pEeU5VekJZ
Q0grdjdya3YxOW44SFRLcgpzNHFYWUlGUFkvejQ1czlMOTQvSWh2TTVIcjFLQnQ0WDZmZzFWZ1ZJ
VHFSdloxd3B3TWp1QzBYNHZMT3VFTTFGZlQ2eStVT2l2MCt5CjE0Z1NYODJqWTJDc2haTjE5MXNs
NTB0MmwzNlcxOFZQT3Y2bEh0THhJdTg0MnIvaTRNazRoZHRYVnZzYVA3UHIzTFhkSVE3eFdMZ2QK
bHlndHVzSjhScXpNdzRWUHNzeXZpb2VjVWtUQVZPTXZINzFSR3QrOCtrY2d1MjlSWkordjQ3VlNs
NUY0OExGekVtQTZscmRMOTYrSwo5WXdMeWdYL2lXL0VqWCtERlFaOUg4SW1SK2hGYmh2eDhCdi8x
cW4xdVlxWVlJSmhwWXJMNExZTFBnQnF3WTZOeCtLVEYyTzMzcUhZCmdtRnJwNkl3c09sOFdMZDFF
aXNHd2ZUZnIyZHU0dUVqWDdUelhJUGJEb3padkN1UjZ4ZmcyK2QxU1hEQ3lFdFI3NGlaSTJPMVVR
Z3AKaVAwWTJsUHNvbHQvc0YyWEo1K3Zqc0pidGhSTkZxQjFWMnZNTHNDNnluVU9xb2lhMzBXNGlu
RXdkWkVJNGs1Rm1oUG1naXRsRmpTYQpGMncvZ3FzbGpxSkI0ZUdSOEpDcmovUy9hS3NzaGxrV3Mr
aERjVlo4MHNJL1poc055bTcybStqaXJmendwK0RxRDhaUHYxSllMS3RBCnYxeDZIN0lQa0d1cC9n
bnAvV0ZwOGxqeHRUcUtHOXNxOWp3aS90K2w4MjJpNzVZR2M0amVHcVdUSmVrSHBVZFJtNUhQbWFE
emowbnkKMjRUeFo2VVRtOUtvdjh0TFVlSVhZM3l5S0Rob01Wdk9MRjgrK3hNNjN0M29heHlmSnV6
ZkpUNFhhL0dUVCtLcEIvVVZieUhTNTQwRQpQcmhXRXU5S0pUYlc1NGgrZ1hyZllVM3NPZlRyUDNW
OG5TeC92Mmh4aTE5K2FqZjd5MlR6dTZYemRhTEZ4N0wwM2luNjVScFJ3SCtWCjVLK1Qzb2RGZVZy
eGd6cCtDbFZScmdSc2t5L0doVEd2a1Z3UHBSZjllYVdWaFdLUUNZaXNJL09MVFhXTkZ6NThqUjJp
bEwzQWxjY3MKL0crVy9ROUs1L3VEcGJFTGg0eStRZndmRk1TWDZJeDlxc2IrSzJBMnIxOTQ4VTR0
VUJUZjcyU2hrZzkrL2phL1NJTzRQbEcyYjQ1LwpmT2R3dkxKeHUxTys5SnZacFBmL2lPSWJyRnN0
a005TC8ydUY4d2I1L3dLeC8wRlJuMVBwL0xUNGYxM0hkNmdDL3gyTjJYRlNOTW5GCkt6VitIL01o
UWZwdlRGRldvc3FCdXVPTmdBVXVnR2dNLy9MOVlDem02SlNlRjI0VXNmY0N6andrTzgyTkw1YzVq
OUxKMDRCNkU2QUEKbVdOc2pNV1lOeHAzTjU4dTJUc2t5NjdaNTFmOHY2TGpKMlg2V3RGWDZLZzQ5
ZFpJYytiYStpSFovUzBsamtJZUd6REpTZUt3amFjaQpmOEtxbUtIbHYzSWpCWi9Qam5Qb2F3eC81
RVI5eTNnSkJqcmtSV01YT09nWmU5WEhyblZGT0QxbTJCWXNDWkZydmdZTlRRem9jdzQ4ClZuLzlC
cmRsNGcxTTlRRXpucGpEQjJ5TjRkUE1oK3F3UDVqWGE5Y3Z3QS8xbTVFVjZOeXg4cTVVQjd5eHEx
Vi8xVmwycjk3VnNxOGsKajcxanpRN1ZuOE9pcTVaZGJiQjFWU2xuK2tmQmJsdjBLT0lzWEJSMWZG
Ymhya1VLUHVlTGhSb2pDaEN0RnJ3cVVvelJxeC9COGFYYwoyc1dQdkdoUVdLREJQSEl6TG0rTTBH
S2tlT3dkV25ZVVZYWm4vRUo4ZU5QbUdPY3JwUE5tU2IrKzBiaHVTcitLNnRkcDlNazZQa0UrCi9p
RlIvbUxQVDZyUGwyMytwblIvVmpUKzgyRDdNeVRINjk5b0xEQVo4K01rMk5NcUhsNHppNHJ4VFJy
elNQVnQwaVhTTlo2M2l2TlgKemIzUmI2YXE0c1FiaGZlSXgyNEpOQXB5eFVPdStXSVF2Nldxdm9D
bW9YcmxzL3hUdk9Fa3duaXJOMHNnRWNOcVUxN3FOWHkra1BWLwpTSmZmYmxVTmVxZjUzMnEzY2F2
UHNQRlFPYWs1VlI5di82eGt2UG41by9aVFd0akd6M3NsNXpIZ3Q0bkNYNjhNZE1yajdjM3ZVWStu
CkI5VktsMnc4S3dZelNFNkNXMlBRS0VLMVlGUTJsSGZjTjY5aXdkd3JDQUwxcGNDWWk5KzBlWTd1
N3ViM1NmNXZDZVE5WXJOSVovRUgKLy8rVTZRKzB6UytWUGtYMXh6VitOejVGT2V0ODJRY2JueGZ4
b2Z4czY3OGhQdk41eW4vYjFqUTl1SG1qZEhrY1RzSHdGeFpkSURHOQp1L2wyaGYyZGtyTjRmYndv
Ynd4ZmtKbnpJRjYrY1l6ZmYwYjhkOG1HSjAzR2toUFBpWlNtR0pBck94ZHQzb29oVTJOajR0aWh5
YS84ClY1T1MvT2lsaDgzdjRzQnVITCsrSzBTSkxYa2Q1Mko5OU5yeGZZNXk4RUhGOU9NYU8rNHVD
UFRmS1ZjL0lrb2VYaVY4L3ZHWnUxWlAKNjVMcitIaVY5UGh1eU05S0RzK3hjUDZacjJTZXY0dWxl
QjZMbGZ4SXY5S3o2a2tPbnpiMHdEcnplZ3htWkZEUEEvK1JDd2QrRHdjZgpsK2FwWTkyMjRTSzNE
RnlDVUZzeGc0VnNsV01qaUFNK0N1WTNYZVB6RjdVU1o0QmtmNlYyL1FMOFFQc3FUU0FGZU94Z1ZR
Q1plWGExClZXajF1YW91Z255WnFncXVja0VSQllOSHdwcHpIaStiQ21VK3ltNTc3WEpkbkNWYmQ3
cVZvMHFhOTVrNmFWQmRnWHJsTE5SQ2pVWjIKdHl5SnRYQkQwU2xkRWxWN0xXN0dzcTNsMDdmVTBK
c2pabHNhcFkwVm5vcUNYaU04VEV5c1BsUGpMeEhsMjh6RVFsc0wweG9ITjkxbgpTZm9icGZPZE9x
Yi82ZnZkNHYrWWRJcFRjYUhIdjRxaVpvOHZIaVB6cVBpN1JQbXhuSXBkSFdueUphdC9TUlNiWUNV
WG9ieVo1cjA3CkJnQUFJQUJKUkVGVStYZWsvZldpZjlsYXBjc2N5Mk5SWW5wM3kydjIwUXN5Zjcz
bDl1YmZsaDdmT2k2dm5BdThGeFZiR3RXbTFjdzIKdStBcFozWVZSV0xGQml4K3hwbzNPMTlycUdu
QjhJL3A0RXREdjFRNjhRSGxIeHpzZjZldWpJK1JEbStDK0huaVFxaXpIYlM2aXVZWgpaN1kwZnFU
cTk0citGbEVLY1BpSm5CODlxOStCTFAzc3NzWnViZm1Hci9TeXFJN0hxK0xWbk90KzBxREh6WWV3
OHJENDFJdlVWU3psCjZnOXFVZjJQeGYyQjVyTURKV1R2b01RalRuYWF2SmxqUVNmWEZNRDFzMlBp
b1gyRytGOGgvWmRuWVI4MGNVQ0pVWVFiWHAzUEYzMkgKZW05clBqN0lxQXVLNGpDVi9BUEtCUkwv
d1h1TjRic1FDK1kzeU0vblNmYzlvbHlYaVNmVUR0dWZURFhzR09TVGM0dWVmYmJmOGtsOAphaWs2
eENldFViU2tXNHRXNnpsK2ZyeXF4bXQ4dmtMZ2N3aGkrQ2NPbXZpYy85K3NNZmNqOC9DYkVUMG1a
YzVqSHRMN3U4UXF5dWZVCi9OUkZ4YW8xUzBXVkgybjZIUEcvUy9TeDZNaWpmU1R2MCtlWWkzUVZS
TTkxbWFQajA5ZzU2UGlEeFVTUVk4b0xHQndOWHpUamx0bEcKZlJwNnR2RklZL0VGT2ZpTUhSZitU
ekpENkFVK3pUN1ZaOGhoL2JaRGJyNWUwRnV4SWtQQmo2aVJ3N3grdTNvQmZrRUYyUGtrWXM3Rgoy
UDFxekZ4VkxOZGRydVhpT2FjdXVIcHdMZXFjUDZWYmV2bkdjYkM4UTFadVdHSnAwQ3l5VmJqVzRr
bFljTGtNdVZtem1HSlppeWUrClYzdjY3SUFwM3I1cDlFcUxUdXhDU3pvWDRocVhYK3p3WDFKdUJ0
OE8vdEdEVDFmL04waitPdXNrbHZqQ3Nqd2lxVWlJdjdCK2g2VHMKbXYrOEtHOTFFZ3VVVnJrNVJ4
WkpQU1o5azdRK1JTeTArTEduczgwSHhlY1JKSCs4WUkwL3ZvckhFNFViLzVtLzE0citHZWwreU5w
Ywo3U0RXbk5WcGpObUxCSzB2bFBSZkZHVUhYQnJvSjZMcHYxQm1OTkZGb3dwdzJSYy85dWpEcjVq
b2Y2RkdmMUgwZTBWTFVuWThJZmhQCnhQdlBkWUJKSzF0M3hhdFl2a3hZbjZmK0h4Q2J6M2VaQ3kw
VUs3elJPR3Z3UDF1djdPNC9XUWQvVVFzZXhZUEZNOXJQOFU2ZmV3bmkKaGE4UWVMMVY4YUdBZXlH
V085dEl6NS9SMmxsV0RRMThnMW5ZT0FzUE1LOHdBdkhpZWFjM1AzYzNieEdYYjhYL3o3TGxxNVdq
dUFMVApNZUl6aFNBeDV4RXJ1MGcrY3ZpdG92NVJQR0lnTGZZaGFwK014ZmNFNFJFWFA3ckV4dzQz
Tjkray9uZUw4cWFDNG1OZlV1R05BRmlNCmt6ZE1HZk9INTc5WW1MeVJwVWlzdjEwcmNTTWErWXgv
VXdSOGVRdDR2YWlOK2ExNjh1Tm1TdDVxZzJGTXoxRzI2RGNtVHdWb2pwZDUKS0s0Nlg5RUpsZElK
bS9oWkY5NG1tM2NFdTdGRTVybm9JdUkzU2VSSDdlUGxuenc4Snd3ZWcrYzNpbzA4ZEh6bFUrQzJX
Mk9oTDZ4bApMdGJSSEE1ZkhNT1pWTjFHQVJURGVpMEluMkYrcmpZN1RNY0Jwb1QyMVZqb1puem9l
OENwS3IvV2tiMHBzc1lDWnZWTGtQSHB1YTU2ClpXWjk0MG9YS0pveHBIdmxkdlVDL09KREZXQkZ6
UzZXY0UyWm84dUNsZ1lYVmZpNllKbWZpaTNOWTlIc2RyMExwaUR6RDEyaFBkR1AKT0hGQ0t3MTVS
RnhGRkl3c2tMVWtZbEc2dk5hdUVSdXNXZWpzM2pad1lsdlNra2NQU3FLd1ljSGxuSlNQdWtWcldT
OS9FcWtseGlObApzWHlaclBsMWpoOGorbXJSMTRqM0dsbndjN1RQMmJLc0V3YzBlRFBPNEU1ZGZv
emtTNFg1UnRIL1hnZUZwS0lrMmhVbDBmUHUrb0cvCm9meGJwZkZwclMwaTdkdWJWNGwrb2lpUElj
c2VyajU3MHV0bjZRQ3hrS3RmcjlNVE9mbGlhYjFSOUp0RS81SW9qNXZKYkNKZ05LTmoKZEt0dlMv
UEZwbHQ5eGtnN1k1ZlhuTDJpMDNQTnN1endYK2M2S1BBckkzRFNWdXZmbzJqZUxOblBERGtvL0dX
bzI1di9TVDJlRHFSTQp3czlWQWhhSTVPc1BpdkxqU044dXlyZkttZk5QaVBLdGJuNjhoaStTL2VQ
cS95YmRFZVNjTzRORjQza1ZXditvaUhSbzNrMUs3eGVkCkh3dDZjWlkzTC9oOEpGQzZtQkhkV0Zn
SmlNVUlBZFRqdXRmR0lrVnhSOFV4dEl5K2xXdlgrR1h5ODBVYWY0djRYRk0vSmYvTTNFV1cKUXVK
NEZFT285UGpjK3d0azkwOUkzMy9FM291aUJtQm5NYlRqeFQvaXhramNEMlgzSllyNzE0dityNUw5
RUNwZ3lNeTdYSFhyQ2lyLwozRCsvV25xZnE3aGVrY2U1MHVlVHIzd1p6QVZRVm41S2dEOEt4UENy
c1JvNTlMZjlpWnN4TTFiZnZ1QnhrRThXY096eGRZbFhTbzczClVJREZKdzRnTXRjamhTL3MrQkpG
OXpQRSsxUjEzcWtjL29qb1hSZlo1TjR4b3F1RE55R2ZLUG9yZFBqYjI3SmxEU01PMEZhYjFVL2wK
d3VCemJuajNYQVV3aWhieEVTY0hMOUFpbkNJUG9GeGpVSFFzaDRLZnNXUmdJdk9jb2ExdnZ3elVj
dDJrRU1hK3hTWFhBTG5QaVREeApDNWpwaXFFK2NlVk53QUViUFIycm5WUkxsODUxMisxYjN2SVdu
Y2NuTjEvek5WOXpGZVEvOElFLzZvSTVDeXV6bVFWNVBKcjJJMmxKClZGeWRTNHFzRXVmZHJlWUo1
VkUydVdTUlpDbXNJbGw5Z3EyaU9pazZORDltRnBXcGp4UlhLQ25FYnNwcWthV3dFbWQwb05HaFI1
OVcKTzU3Q3JYRkowQUNoYVBsSlBHZi9LM1paMU92ME1UMFdSdmt2Ym1rRnV5VFRQdkh6YXhIZnEz
Z29BQlNFdnlPS2pCMGxmNStWQXZjNgo5YmtwWXdNbSthbGNnSmxqemxFczhlTzFkQ2xLeVY4a2s1
WStkaitxNDIzU0pKYjM2L2l3amxjTDY1TkVQNm5weHg3UW4vWmY4U1ZUCkV6c3hJYTkrWWhiRG5O
QnBHODVIbzZzc3lQQm9jNDUxdm9NOHIxQzBpRWdIRnprM3ZheDhoN1BZdUZ2MHg2WHpwVnp2MWxk
ZVcvNE4KV2czcW05amNSMnJnbVBLbTFKM0NnVTlSNW9iQjFxTDJFZitOTFlYR1FTL3hZTkIybHFj
dmFwZWx5Mk5RQ3VIN3BNc1RrUS9MN3k4Vwp4S3UwaHJ4UzlCTWs1NDJJWXdCNmpjVzR6UnN5T3Fz
UDVKa2pQanRXcVQwdkgrL1EvSDVDbVB4YXhwK1ZsQUwvY2RKL2xTalhORjg2CmNndEdzTU1IajVh
eDlkcEhlUFlablpZTkd3V0NYdUlIem5id08vOHVLQktna3pjQ3dVNWNHYU5yTEFNSkE2b0c5WUVj
YkZGME83ZjgKQmo2K2VQWWhxZjJNWlB3NTBwZkoxM09pTDVjZUgxL2RydGpCRzlqQ092TTg3L1p2
WDFKT2NXcDIwbWMrOWgyU0tXTWFQSnFMb1NpRgpqaFlNeXpWZzdJTVh6VEh6d3c0V0xmNEhMZmJr
YSt3OHc1ZlI2aHVXWXdCYnNySHpiWEJqdGl5NnByeW8yUmFxdzdrUy9kb2YwY3N2CnZGRnZxYnVz
djFkdGp4ODlyNzJ1Zm1CRkY0SjN1OHFPZDY2aTlma3ZDNGY2M3RWMllTYUJTaDRMR3NXQWhhcG9q
Yk80b2xWRnQzYS8KVlRqbVRqZ0w3eXhPZUdwTTJVNzlXdVlZNHpvYVZWemh0SC83eTQ1TkEyc2lM
WitjeHZJRlF1VFR2dnlWWDZTTVM4dEVZNnhxM2hYSApsTTg1SjdxeUw0MmFGeWdyWnVZUDVxdmtp
MTFzZUxHcm1LcGcxdXlyWHp1N2FJT01iYjBXdDdDcTJFNUphU1FLS0xLYUU3SzFtSCtLClpQK3dw
ZVVUT1MzNHM1ZWNKT3BDcmRlS3EzTFB1WWx1SVJtd01ZdHpSRi9saFZIWHdweFJ4Vit4VEFSNlV4
K2ZOZGZwSDZrT0NFOXEKb0w1endldFZ3UXNVT2hxenFHYVJFNTlmdGNndUxZVTNuMk95YTNiTGdo
MHMrUEVSU3U2TkNRTTVmc1VidHZDUUxmRVEzaXJYY0k2bApoM3E5bVA4YTJmTEV4anpMcEdPNDFz
MGM3UjgxSzZrVExLaDRPYXluTVhFUU8zbWhrQlZEZlhWNTBXTDRuT2huTUU2ODhmWFJLREpqCkNw
dG1XL0hDSHdVeVBsczI5R3hVK3NNUFdFN2NpVTl3YWlPKzFodGpzT0hGUit2Nldtai9RemZ4TnVh
NFZvclBaOHE4NlhtVncwQkgKaHd2S0JmL09LL3o0RllaTjlCSjd5NlR6MUs1UVBKcm56cmxwRE1K
dzNBQ3BEZC9xQjhzODJUd2x3d2FzMXZXVTlHSk1zTG9UdS9DSgpEUjR4dzZONUxFWituQWhNNXdL
aWdjZXRoOGpZWW1KdjNPNFBHL0U5VitRWUU3OUk1SFN2Mks1ZWdGOTQrRE1xdUhxOFF0d3VzZ3Fk
CkwxVmxyRG54ZVJBTEZ6dFZ2aHhCeTBLZEpUeUxMU1ZxTHFFcHdKT1dQc3NoLzRJRllpSEFtZnpJ
SjEwTFNyQ1FrbnFLZld6TElsancKcDA1MG9hVS9DOHhxTjdHTy9zbkRYTWdMTy9FTDhqQi9aZ1ZP
eFIzRStKMVd5UitlMXZ5Rlh4aVJnUW1uNGpxL2huKzBLZHZFUGVNcwo3ZVFpdG9XWitJNDZzUTNO
M0JpblliSDZoeDhVSklsaitvdkg2QlZTeVpIVk9hcmUxSW45NUpRblh1dE5GcElIK3F4ZGYxQkFH
SjhvCityRk0xbmVwTzRMMm5WMDgzOHppMjVIdlpQRTE5czJOZmgwL3FoNlBQV2t1d3VyK0V1RTg2
MTJ6bUZtWTdVZGdhNUhDYU1nYk00dkkKeWovMEY3MVYxOFZxS1FiRVRWeVpCOE1zNko2SGRHM1Rj
NHRlTUIwdkVNdmNjUTAvbE9TQWlZNFhqak5tMnc0NWVtQXVjd0FTK1lycAo4V0tManVmU3VoNkNS
VDViTDNQTFFoL01BNWFjNE4rTE9WZ1g0a0RCTmkyTEx3OFgvZmhOdnVJLzQ5VS9HSllIRzkvTC9M
QXhkTS9KCjhjR0RxVGJpVlQrNjVyZmN0aTN6T1dsYjgxdW4zWTNDNStzWTdGV09IUW1Dbjd5SzU1
eUs3eUxQR0lWUWROWDMrUmNkOFoza21LeDIKbnBzdzdUKzZvWTJKalZqR1RQeU1hWW1ibUE2OEZi
TUZrWmZsVlY2dlhvQmYxQTY0SGg5cklkRWNXQmp6U1BnUkM2VVdsSG9FUEplNgpXdGhxZ2FXUFpQ
SXFMN1h6VGVHZG1DekthR0FUTy9JVWZYQlNta3VqN2gxZXl3ZHlNTW92dlZyb1UwU0xWbEdvR05F
Qml4YmRLcUtNCnF4VS80N0pEVW5ZVHMvNkdiOW1zbUdkZHh2RUZEVkxwMVN2OGlxb29yNHpKUjlu
RUtqdTRPYTVlN01PSFlwdXpFZlR5ZHhtN2JHY1IKTFY4cGtNYzR6cnJnVmtzazhaZ3g5c0V1eWxl
dDBrb3J1aFY5K1VjRGZ1S1lPcVZWMHVtdHNxYXhIeXZLbUlXT3hjR0Y0MDQvSDh3dgpVTUdxSG45
K29pamZadjVsV1JDOVNyUzlaUHp2bDhaRWx0WGdpWDlNeVo4VGlwM1A1L2o1NTFxSWJGejZGR1F2
T2lzUDZCN1g2bFM2CmR0bHh4NWZuMGZvRFJ6bzJYekJ0cXpFNkhKNzZqTGNXMkxZRDA2YThwTDlR
akQrYS84UmhETmtOMzNUQXNlQ0lBU2E3VnhmUGZzT1EKZklVTzNOaUxYcG8vZWkvbEkyOTBiSWRQ
NGx2MTZiZC9aR3VlTHZuM2xCSTNjd01PdThaT25velZjenprendhS1EvUXBYNDFsSDQzcApuNFdG
b1NaVzJSQ3orbzZ2L2RwSDh5enIyT3hEZkJvK3djRFlXS2R4ZEV6Ym1YTmJKckJuUVdiUTlpTU9q
YzJEcXEyK0dEZmJjVmlWCkZ3Vkl6dWlpSDMvT2oyVE1uOXk2Nkl1NjRFcjVpZnJ4UHlnWWtvMXow
V1BIVWVwNnZXcTdlZ0Yrb005dXZjaHFFaWxHYXpGTUtXSUIKSkFXMDdBRFJvOVVpTzNlZ3RkQ1dm
dXhDVjkzb0ZRYmVLWFFUTTlpeFNYeFZZTTY2TXo0UXpuR3YvcEdXRGg1cVZKeThNUWd2bW5NYwov
WXFwWWdoYXpXQXRudGhWMVBHUFBmR3ZjeS83OGhIYzZLK3lzcVdFSk9jVjc0cDV5UzRZNkNVM1Qv
dGZ0WTV4bDEyZGw4SlBId210CnVHQUdwVGdsaXdhMFdwMmQ2SmROWVNJUEJ2MjhtYWpJNGJTY0d6
ZkZ6YnRPMlh0aEZaOEVjWGViTXI3emI0M2laNWQ1Vk16UFZIOUEKOUx2RS8rZlI0d1lHendhbDd6
NGhlYkhnamthbjd1d2ZrUjYvdGVqdys0Smx4by92Vkd0OXhtWXRZK01sVnJRalcvd21GaWlINHhB
ZAo4Y1VPYyt6UlczZ2Q1eWdVSGdNaTNRTW10bXFSTzdibUdUTSswZW4rcXV1NHdHeDV4Z096K2Jh
aEgzOE90c1lPQzM3aVcvWEVYeGZYCkVaOTA2US9iOW5NWUw3N1dPYWRRR3F2bjVCdzJwcUJHbk9h
YklkN0NEOTQ2SCtMa2R5RFhpZWp6d2pBK1JFZDg2Z1I3RkJEOEtHYlUKYVM0OG9vemR4OFlEOGRU
SDk2cURDRi9PRndNMTVPYlgwT05nT2E3V3NTNHYwVjhvYVhUY3lOV0dQYkcyM3FGWVJpZTA0eDV4
eVFaTQpiTmY0Y1VKT3pGdGs2TkxDbDJqbXBQbkdoaStoNWRoclROeFhibGN2d00rcW5OS3E2RlpC
eVE2WStMT1EwazhoUEJiZTJ0MnltSWFmCm9sT1loVDJ4NkoyTFo3Qm5RWnQrNS9KTWJva2h1UFJw
b1RWS3pMRXJXajVUREtjT2ZEU0NBWTBmc0pGVjdIVnU4K1lqcUVlN1lCMzkKRkU1aDBWOTlWQ0U4
RitUWTE0eG1ETlZMNGJxRVZScXhtRDZUR3ppSkdTM2FwRFhIWUt5eXlsUEZGVDU2aVdWaXhOUFRu
TW9yR1BSSwp2bXBOclBiRERjWE41WVhKZDIyTnZjc1ZQd3NnTnk1cUdSdGY0M0VYUHRGZlpucWlu
NzFFalhOVXgvOG1qZDh1RzM2RXBYUkZ3TUFuCjFIeTkrTVl1L29mbDYrdUZ4YmVaNjByUitaUXU3
ai9YL3RUQmNHQWlBUXVHbVNJYXU2RVhmdk1zYS8rWTJqZDY1ZCtMbFBrbi9kV0gKTVhFZ0hkUnMy
MWl3TC9wZitLdTl3d05FQi8xMURoNGo2M2lSeGRaMEdjZmUvTVphNHdBNk8yU2Z6OGJFaC9VYXk0
dHQ3MkJqRCthcQpnMDFpUVpaOHdUL0hoWjM1ekFNNVl6SENzejlrOEdEU1padzVxMHU4TlBORlIy
R0pudXdHci9VYWF2SWJIMzRPZGFzdlJuSUNUdm91CmZOSnhlT0luUHJ0VmZPanF2eWs1NkRCbnZP
Q0R0K3Bnd053V21XM0ZNQSsrRE9qVFBDOThBU0ttc1N3cDJiQ1ZBQm41ekM0M09ZR1AKYmZMdXNW
aEREaTRPWlF1SkhuM3oxVG56TTViS05kdlZDL0J6S21kVkJGZ0tzempQQWtuK1VwQlRGcklNWi9G
OHVpQ1Nxa2pMUGo1SQp4dlF6L1ZWaFN6R3RRb2J2dFZpUjVleCtDNzNzczZTbnNJUmlUenZ2T0tl
OE5IaXRlR3NNWHFJLytnOC84WlVWY2NXKzdHcU03OEl1CmovRldORmh6anZGWk5rRTZ4czkxQmRy
NnIvem43R0M5K3A5ZTZ4d2tXeE9CT0dubGNhVWdUZjluT1pybE5UYnhkVVE3am1iUkxxczUKdGpV
M045OUJNSldsRnpXaW9JbnZteE01NDRWL2NXeGw2LzA2dlg0Znh0SmpGMHpSZkkvaS8wUHFmNVZr
OVRoWkVlRFBDMWxqTzQ3aQpmMGo4MzYvalhScXVQeDRDM2h1RndXK1BjblBNOU5xL0Z3eGtqSm5s
d3RmSVk1dkd2bmRTV1Z4aXczakVobTdIaTEvendZS2Y4ZEszCnJmeXlBQ2ErMk9TUmJPYnFMem9C
czhSSjJCNWpyL2l3dlZTY1Z0K0oxV0hnRzR3bE52am9yNFhYclBnTnRhSlVOWGEzNllqL2tsN3oK
VXF6V3VUZ0c1QXJJY3NKb0h4bTdvTUNYSHJrajlwV240U2dRQXh1bW1zL2JTdFczdlhCd1kvK2k5
ZzhESDR6VkRuS05qU1ZqeHlmaApLTG9vcWtGUzBNWk90T2NXUHhjeFpSZWZJMTRBMVR4bnFBemJ6
WnlURmNyV3hWUUtQSUdLNzhRWFNzNE9manJubmp0WWF2R0RMeDk2CldXbFB4L21IVDd5V0wvcnhF
VHVQR1Z5M1hiMEE4N09sTks2UFdwS2hsS3hhR0t2NHpnVTl4UmE2Mm9CUlplWklTUUc2dExLWVJY
VHEKeDkvWmR1cFdiTFhnZzFsRktKalE2c2RUNVBFZm04UlIrblVlRThlY2Y2SEF4NDVSRmY2em4v
SlptRUdHVjk3WGdnZjJHc1BxODJ4ZgpYbXFPcTAxaEhITlN0dVZ2UmxCeHhUODArVU9IbHJuR1Yv
STJaY1hKR0ZwV0s2MzhQWTBWdEptL1dhcUpoV3RPZDRnWExvMVJwKzhPCi9CN2ppa0VXSDQrNXN6
Q0F0dTY0dzE5Q1Z3WGpEY0wrMC9MQmoxUVJGVDk3U2VIOEsrSy9RL3d2MXZINU1uKzVuVXZKOFhD
djMrbFgKTitybldzWC9kc241QlJmNVBjSFNNdFluaUw3cEVJdml3OTV4MFY5MmJBNWRNcWg5Ukxm
SElqVmZPc3Y4bklPRjEvSFY0cVhBL0RnZQpXN0FYekJTVTJDT1grb2lQUGd6TFBlaCtkRlpxd3ls
UGZNWVVMcE9pNzlhWTRESlh4NkdPaTN2MFdnZDkyNFhQV0xJVTVzU2NPSU1aCmZueDZEdTBybU9T
Q1g5aVBUUDhQK1RFUFp2UGQ3ZkVvdGpaU0xJc2UraWtDNlVOYlpSU2o0Vk9DaGhseDJLN1BGVmdE
djNHTUJiK0IKa1RPWDZBM2E4dmhLbnYxWk1pQ0xEVVAwK2xTTk9RUUxPUzJuTUh6b3lrc2N5Yjl0
TUY1OGpiZ1JxaUhtU0Y2aHhsOXNrTk1vM3JUSQpNemRqNkFWc21RMDkrTEd4VG14RnI5eXVYb0Q1
WGNGWlFKblRzVitGa1Rtc01zWlZrRmpFU3NLU1NvL1hLdEpIV1VsQUx4K01VNFJDCll3OFdQSEs1
eW1aczZUMGRWM25BamxhbHNBclJhbFA5OGpmalNXeG4vb3doRWI2MGZkQktFMHYrVlpzOTRsc2ZP
MDlKNldQQjdPY0kKaEdoQmo3bUpoNm1UL0UyYlFnaE8rQmxEcTAxSjlTcVc5TXNUbytsemVnVWhH
dFd2a2U0WUZ5RkZiWVpvRmszdUpuOERNemNrTTZQQgpoNkpMUjJNYlEybXRGeHpUUlFjL1dZeGsr
ekxkekY4aEczNUxGcnZmOWJjMHZWLzhiNUNQYjVRZXZ5RGxsNGgrckhUNGd3RDh1QkUvCjMwNng1
cTJEZjRXaStIVUc2dS9rL3FzYSszY1I0OU94aWtFOGF5RjBmUERSa1N4elp1dzRtNTg1Z21Nczhl
WGJiV0FiUk95bVZqbnIKTUZaQTltc0Y5VVZIWE1HUVh1S01iT3lBMFltTmFCYlB4QlZzeHA2N3NP
SmpZQ1d1bFM1eEdhUEg0Snl4RE5neG5QMlB2TFhkaWtYYwpscCt3dzQrZjZCaGJPT1NVdVhnc3Fx
RmpNbDhDNXh5NUR1dWgwSHd3MDBlaHB6eHNFTk9NMFRhOGNVTFBjN2UwNVBFM2RwSXJOaGc2CjRo
K1I5WnRQMEluVE1iWDg0S2Y5VzFkeVd1SnlMQjBYZlBDZmlxOEZzVEdOVGZ6SGgzU1JjNTJsVUNi
KzdONlJjK2ovaUIyZHcxd1kKb2ljYUxPY2dmSXpicCtOQmVOMTI5UUxNTjUxVHJMS3JaUkxoRmEy
Q1FUS3lzTU92OHNZazRjTTVGdDBzMDFtc3kvYW9TOHFxWU9OagpZbVgzTnJHZDJ1SC92S3V1aUtm
L1NuMjR3UzdhcDZuOXpibm1kQ1hlb2hVdk51ZjRwNTZFblkzcXhYc1FzRjBMTGxxeHFEa24wcktZ
CnlFalhVZklDRFQvbnBNYndjeTZLWm9ibGM4YVdjV0ZGOSt5Uk14RE5paVg1cTFIRlQ5OTNoaGRl
OUtYbG14L3RRcGpGb0dYWnRjM1YKcERHdzd6dVV3cDBDQVh2bGV5d3NUNmt4aHh4NzhYd2ppcXE5
WHJGOXBYVC9TQzh3S2FMNUZyTUxzL1Q0SlJ2c2tNSGxyTGt2UHZJVQpZbjZ6MUt2RisxM1NlODJZ
SHpGMDNNUkJ0MTQ2RnoxMk9CSkc5N3hEVHQ0NmhvdUZoRGxmc3MvOHM5TTgrN2ROYktFRVE5d09T
bjNpCmF2a3F5em1BdC9LbE91Tmd3bzF6VVUreWRWZHJXenNUWHpSek1nc3NNYUkvQ3FMNHhBTGZj
Wno4RDcvd0c5dTg2TDBFM3d0NnoxMHEKZGQzZ0ovNWdDbTlnZ2ExR21MeVkwbzIrNU9hRlNtYVRq
RmNiQlBMbGVBdk95c2tKT0tpQWJaMk95L2t4YVBrUzIzRmJWeS9PMHlLWAp1T1lWTEZIRUExTURy
ZysvT1ZRZnZ5aVk0dFBLUFpiSVkvajloSWZ4NEtsUFBLUEFBaVdneU5lNW1pKzU5YkZUeHp0NFVm
VHNQLzZnCk9uZzU4S1ZyN09pTHB0aWpmcVYyOVFMTUkrZ3FmRTkvVmd1Ly9sVnVXTWpKVVhqMFdM
WnBLUUxCcXZIOGdoYmoyRUduVFlwbUZTbjQKSloyWTUySTdpMW04VGQxd1ZsOVZ0Qks1WFQ4Vkw5
SjZFMUZ5WGdzcjBkYTh1U0RYUEJ3TDRiSElWZ3cxbTNwZG84UERHWHR5a0ZUYwpoUm1zRlMwNkpY
czZmdmlybCtnbmY1bUhMdFVSeWRtbUpORUFqL2xEdWZyaHN4Q0tqREZzeWNMalptTHNVTUtYa0J1
THc1QmcwV3drCkdqMzQ2RUdpMDdLMWVFY2VYMUlmUG4yamcxRlliMUNYSDBINkZ2SC9XdnR6QVZZ
Y285QzIveXJJOVdzY2dlU01vQU45dmNaZnB2NXoKbm5mNzgyU0l6d0ZoTXZ2MnoyUTdmdHRwbk9K
clBuR2lzcnpwWUR4OE5LN3g0YU8vOE9pUGZJS05MK2FOcXFnWDVGNHNWMzRwU0tmMQp4cmp4d1dS
QmpMK3ovNEVGQUdyNGJicWVFeGNuOGIxUVF0RUR0L3VPVDJQOElhUEZWL1NDN1ZpUVIwOFUzSU10
c3M0RFdBTVRPK1lHClUyM0VvNzd0VzRDTzRSdmJXRzFuWDFJZXR0ajBtR3R6N0Z4eG9JWWVLZ2Uv
Q01TMGo1YkR1b1M1OHBNVHprbDB3YllPTHlmTStFUm4KN1Z1L0RjbU40eERUZVRyUERUNEd3YzQ0
ZHMwbmY3NVdrSzh5eVRtL2xpVlBpdy9uQ3pueHJIWWFpbTMrUmYrSnAybm1KNU8vVHdvdwplK0Jx
TEt6TWxZUFg0aDlwRnVncGkvWnFnM1h4S1RtRkdiMk1mU3ExKzAxNW5UYlJuK1dxc0NkQ3hSZ2Yw
TmlVem9vMVpVZVUwcGtZCnEvVG5iejgxWnk5eEJqSGpJejM2ajI3UjlmVnloR0J4cVpLLzJhSTdz
ZEdKWC9TUzA1dy81RGxIUjAxWmNUR3ptTkJjS053cHRWRTQKSkkrZVZYV1hPTGhRbUxtaHVJTVFp
bUxEREd5VHZxaURSWTVZMUF0NEZ3MnZBRFlReEttUUdQTWxzT05Ma0FCL2lzWmZKZjMzQ09wLwow
WmcvSmwrUlZYRk40V1czU3h6WjlmSm8rck0xL214UmZuV2doWVRqT0tFTXNCSGxjRGpNSWJMV0ZT
azlLRGFRaW1Ea21ZVTE5aU1QCkZZOXRzV0dCV3d1Yy9lTTdXRkExajV0YUIyWmpyWEhDSHJxTC84
U1BidXh6L3MxclA0NG5HRElDU3lZVEU3M21JN0N0V0tNUHI3SGkKeS81V3Z3Q3FqVGNwd1dtK2Zh
NzY2TVlHaXYrV202M3h5TFhFa2FHMzJ1WE5RVS9CaGNRODJkQ3NLOERZR0Z2OFF5RkdidTJweHho
ZAorejNKQmw4ZCtvN3pGTmNoenVDZ24zazJMM0ZmOG8vYnhIMm0rRDBYVFJkSkNZeTV4aE5ma3BF
YjZ6WDJtai9PMFpoTGJFU1o1UENmCk1WVE5jVXMrbGdMMTlkLzgxVVp1aDkvNHgvNUs3VjUyd01S
TVl5Rm1UbG1RaXovM1Nka2h3bWVwUDFJUW91dkxISWF3anJ2Q0ZJRFYKSHIwWkF4YlovY1VER2hW
WDlhYi82aFYzalI5T1daZEgrcGxieWNwalNsWThNVWF2eHRCai9GTi83WUc0UmhKWmNlZDg4bGFu
ZEJOQgphUVdodU9IRmZ4QmZpcUpQcXpOd3pGOUoxdmhLYy9wbnhyU0ZldUhUVlcrS3pIZEE2ZmlD
bHk0QVdURDlyaGs5OFEyRGJZOGgyQSsrCit0eVFzUTIyeCtKZldzaU5hNERDd3JtTFFQTUcxakoy
ZkJtUE85ZlJNQzhlSGYvTE9uNm5PUHg1dUw4TDFmaDk4djloMmI1Y1BQNWkKMWNjcHZsZEtuNy9S
N0pZNFU0UXlOL2hXMFF0NTh5NWRsSHdoVytmc3ZFWlBxTVlVOWR5WkcxaVN1NEd4WXF0UFd6SFJq
ZjdBUnEreAprb3NoYTNzQ3RxMTBzMGlPM0tMVE1TUSs2N1lObU1SRk84dU51L2hINTZEYmNZV2Yr
QmdQSDdJbmQ2c2Y1d2NzNHVvNHNQRzRXQXpICnVFTVlZN0I5UHRBRlErRHg0V0twc1duck9SZjRJ
UmFBMVRDajVadzQzbUlObllFSkgvdVdHMXQ5WTRrWnpNVFBHTjJCMmZIQkhEYnEKYzY0T2hWRTJp
ZDk2ZWdGei9BSUxRSU9sN3NBcTlpaGE1aVBIaCtpNGJTUUFZczJmZFJyVGZNbHBZSXluQU1TSm9a
Z3J0bU1KVC9MSQp4aHpFY3c1a0g1K2VNMWdGNTRCaXQrWVBYbXlzZkwyWHF4ZmcrZ3lZVEtjQTUr
ZDU1MUtmM1JKYWRVejlhWmNDbVVmS1pjL3JhbE9XCjRjMENYWnlKVVYvbHdsOGtWVnJ5eVBlSXVh
SWUvUmNDVVY3R21tOFFNc3VwRzVzalhVZlZyeEpmK092ajdsVXpzN2pFaXd6NlV2YWcKbCszeDlW
S0JMb3c4V1loZFVWKzBkU2NKaUN0Vi9MV1FBTC95dWVnWis3cm5wWTkxd1EwUFUrdjJUUkkrTjBN
QmxOdyt3UlRmTXZYeApBMlowMVMyczlzOFFqTWhEemJaeXlhM1RPSmhHenhSbGRET253bnRHdzFk
ck1YMjFZMkRGVWNzQ2hGM3lRM3pCTkY1akpSZUp6M3BTCnpBSWRuNHhYSFRzU1BzMHlkenlzdU5V
TmR1SmZZMEV6Y1JpbTVsTTJtZU1abzNWc3UrWmkxUk0vL29ncmM4Ym0vT1RCZW1kTXNCSUwKRkQv
TlkvN0piZVpzSDUwdjVNNlJTUGpZd3pZZlBHUm1pSVpmNGhtM3hwMENHM1FJd3c1ellnVEhjOEMv
K2hRT1kvY1laMmRmWUJsYgpNanFSTXh5WUtHQXJRa05HT3hmTnlNR0lQWHJoRHp6eGpLRVh5NkJt
VE9yaUZYN2lXc2N5ZE56Z3h4WmNkRVJwem9VbzQvQmpnenh4CkR2dkdIOFZSWTZBNXJKTTRHT3RB
TUNoS0YrVGt5RHJZTk5oSHMwbWN3SSs0R0Z5L1hiMEE4NHM0NXFKUE9tb0hTczVUR0dhQnFRbWgK
UVNKbjhVSTdCVHgwZnY0TFRqQnFONWhDR3g4clZtRS83YnVLMHlNL3NrNmhldW1pV1JIeFd0akVW
NlB5U1o4aW43blhuQkpQNmM3Ugo3Q1d1d21OVXNZU2Y3RTMvcTIxZGw4bmZwZUlaM0lwcmZ2NTdS
S2tSbDJibGswZW55VnRzQ21sY3lTemNUZ0JYY2wvUTZTeFpBQUFnCkFFbEVRVlRVcVBpR0V5OEZF
TjY0K3FXWEcrRE14ODYyMFFkVExZc3RHR2Fkc0pHUFFxZUFQSlpkRm1PTUJrWjhOUGJBWkJ3WlRv
VkoKc3gyVDdQRVowL0ZpaHpJNjdkK001cU9UUEJsR0w5Ym5SVWZ5RVN5Z0VtLzhtMG8zV0Nra2VX
enFNWFlHRnRXNVNSOGY5QTlZZHRJNgp5Qmd2OFZ0ZlRFOGRQanA5REI1c1Q2aGtRRVRuZ0xYb3JU
am9abXpiSlMvQmVjcVhHT3VjWTVjY2VreWNLeFp1RWlkOTVDaXFaWEYxCktQQnhLQW9mRS90SFVT
MjZVSzYzZFl5aXI0M20yMDU2c2FOTERHZk14R0s1WGl5SDZqQ3ZJTXBYZU1qQlE5Yjl4T3c0eE1P
L2Q0bWkKdzZmNDJDUitGOWZXZzA5REY2WEVkZEFWUDVqbzV4elJIM1p5REI4Nzh3cHU0Rm1YRjdY
WVJBK2J4STg4K01nVGEydzhsaThLcTgrRgpEVFFXelJzZTRISVlXK1BZUTlkK1lnYkxjNVNoNWRH
RGlnZmVsZHZWQ3pBL2hrU2M3SmVnS1pSVld1cmE0SlZycEdRcE5YUHhUMEZaCktRVmtZbUFkbE9B
VWR1a0VNM1RxcnBiUkpiTlZjQkpEc09ZYkF6dTBUMlFwVHNjNUpxWXBMNzJ5S00rRlUzSEZmK1lX
ZTJqZVdHUUcKazVaV2RNUFB1TEFTMzZUeEVRN1JZTXM1Q2tieGVuN1pHZWt2KzVTOHI4and1VUp6
RVdPWVJjNU1NYnl6RWJwbGVLSEpnSXZkWG50cwpoV0EzdFZ4NjBZWG04YXN4QUFVTGpFWFB3K1lU
and0elk1N2p3ejZGekc4bWhCbWQxZS9BQnp4WU9PN0RNWWp2R0dIVGp5NllYaFdLCkQvc2MxeWll
d1labWZnSktMTEUxalc4N09tS3Y4dlRCeU53OEIrRmZLbVREUi95TFlUdm1zY2JYZk1jV0hWRVhJ
Y2JuK0pZNFkwT1MKa24vb0FiL2pJdytEM3hpK3JrNzgrSlByRVVPS2dGUXo1VnBFaFRNS0xRWnFX
YUNEczV3Q3o0V3gzUk16SGVJejQ4UmY1TVpDcjhHaQpIM3ZrS1NRSEdmSG93T0ZMeFJtNUtmcjRG
VTN4SWI3c2pFY2MwcUVOWHphWVk4VG9tcmJld0Z4bDZBai9yQ3VWbVh2MXBlS1kwQU5uCitNVUJl
WUdxZFJpejhDMXl1aGZqeDE2R296QTNsb3RuWXpLUnZ2WHN3NzdFY3p3RXB6NithY21mZWVnMDd4
eW5sYS83Y3ZVQ3pDTm8KRm16K3NlaGZLc1JNZ1JUUThxc1lhNmRYdkZyd1U0U09POTlnazZXalht
RkdQZ3QvNVhPT3kzUEdXTUhoTlVVcXVFUlRid0pLSG43UgorRDl5c1ZrNVlJS3hZazk1YVU4Ynpq
elMrbGUyNXlLWnpHR0Zka3BxelNnSUphczVyZjdMSW5OTnJPTktyR1J4SStmcUhBdGdkSkRSCmxy
RnZKdmc1a0xjZTl1NUNkYXhGMFJpYVQ0cFVNQTk2aldtQ1QrYmZXTGdCM0RkcDlLQTArQkRkaGF0
UDZ5SUhRd3JFYmtqMEYxMXMKUjlGbm9PWmNFQzl4d01NR1FjZEZjZkE0TXVTU1hmTHZPUU1oSGZ4
bkRvblB4UWsrMkUwakc3cnRkOVd4cm9ObzMySzRDRmdnWHJDQwp1L2dIMTFpWlkrdGlHb3dSQS9P
Q2IwRFp4UlliZUdxWlEyeVRyME84N2Nzd1MweG4yOWpZbjdBenRoMis0VFhGTjJOYTlLSG15Wi9q
CjZURThaSnlqN0tqZ2hVK24wMnhxVERFR3Joak9BNExXaFdMUFN6QlhmZXRab1hIVXgwZmliOUhJ
YmZ5bllLK0ZCOTNFUDN5QWh5QVUKSFIwMFUvRjlqcENMUnovOFZjL3pRaGU3cHZRZDV6S08vOHox
WEFnSEpzYWQveEdyV0xTRGYra3hkbHpxYzI3aWYraUJwV2FjMW84TwpJbzZEajlhSmY4OWgxWk9Q
OFBEaEhNdG16RVY5NHJoeXUzb0Jmc1ovWXZqcDNTcmxnWnd3aFRwU1ppcFhLWWh3NGN5Q1RJbVpo
YVMwCndZQmIyb1Y0ZkRSTW5xYTBFc2M0V0dWNzFLajRpc2RyaXVjUmkxSDVqNGV6Ym1tVUZGbmsw
TEt0MS9CbmdTUzZGTlRTalkrS20xRmEKNGE2am9DWi9KVnQ4c21pNXVENHU0alBDckxtNFJMem9x
WlBkRVhjQjRsWFBDMS9iWUpTaWRWRTNla0RnRzMwd3d4Yzk5NjNUaGN5KwpDT3lzTHd3SGZNRSt1
cmJGRkZ0YTI2VHdvV2NSOFN6ejhDSWlkZXk5VUhmTXhvaS9ZRUZwNFMrWVpyZWVjVkRUbU1OVHN2
UG1vZHk2CkkyN0dhb2wvNWNmZTU2dDFra2ZENGdmK2dvSE5Hb2VHSS9meFlUbHpzREVhM1ljdW1B
TkxuZUVqOHJZRlk4amdxU1hlRVFjNmZTU0gKWG15WE56S1lKaDc2WG1TeEFSRC8zUjhVdm5oTTNY
RXlWc01PYkg2TEZRMTdweWU2b210aFEyZGR3QWNXK2hpTEVUbkQrRjh4UFNmcApXU1lsOUJ3SFZB
ZU5jZXhYek1HWFR1U2Vrd2J4eXhqc3dRZFFiY2d4WE9LTS9yQnBXZkNoNk9EUW1EMDJueGZHb2Vy
VERSWUdzYmxZCmlHTXJvOHd0K3RENHBPOThOWTNPV2dqajA5ZUs4SWhqalV2VDhybjArV1NPSzli
SlA4WmNFbjU2SUVvYjhRRXMrL04xWWFYcnZGeTkKQUxQanJVS1RFbG1CVWtCb0pjdnVGcnB5YThl
WjNTS1MxVzdpcmp2S2lSbnNlS3FpbFozcXhFb1AvZWdtaXVKZ1V6NVcvOUdCMG1MUAphYW8zRElW
V2ZvOXhyWE9hWHVOOTBqcmxqSU9PcHprNjIwWmFORDZGd2tVS3pDZzR1Z3E5bzROSEg0dlc4eFhN
V1B3VUl4U2lOeFpTCnJtUmFZM3NoaGRlNmtRMWNHRzBEaHN6NnBmZ2VMNWpSc2Q4RjAyTk1nN1g0
UDg5allDTEFaMnhXMmpKcEhPUytvYVdIMkl1QXdOWlkKZ2pYbVoyY1R3M3hBOFF2Rm5zNUNZWHV4
YUY0d0IyMTk5QnhEeHgwTTR5RWpUZ1hxZ2lMSzJCZzlOOE8wN1NFRy9HUGIrTUhWc1BnUwpySTk1
RTFlS3B2V3hiZityTGhqeGxRVXg5bEQ3QmYranhBVUd0bGxjTXc3MW5KRzNubk4wc3JFTUE3WEVF
WnIweHM3eEVwTUV5SGl4CmJ2TThocThXRE1Mblhob0xzNlVsZDN4V3FQR1lzOEZQMkF2bThBMFcy
Q0taSXl4OE5VVGRVaHEwRzh2UTZiUTZ6cEVuc05xUStNTkgKbjdsbjNvZTVuYkRRRFFaUUhFT2ZR
ZWZLdkhQZThDRVZXbnhoUWx2ejUxaUtYZGlOcy9vZE5pMUwvQ3MvbU1rZmJ3Wm8rQjV4YUR6OApu
ZmpSWlU3MkxhUFlKUlowcnRTdVhvRG5JMmhPeTNFWFNXR3FBbkorTEZ1NnpHa1dtQnFsUUVlbXRM
alZUckgwNFJWeStZdVhvRTNNCnNqNitscFJyWXU2Nll4bGZFN0U0cFp1aWVzWkRKekZWUHhwRkM2
UGVvT0IzU21mOHNTc2Y2OXNBdE51S2k4aEZsU3VFUHJKY0xhS28KZWR4OHhsNDRvUjdRS1IyYkxU
emZUSXpWMEkwdmp4djc0aUlzR1hGazRjVy9ZUnJMNC9TaE9rWXNEQjFJVTNCMEoxbHV4N3lvU2Nk
cQpDeVdMWTI3QldQQkpnZWVCTEQ3QlduUThqSzBvODhqVEFMQlJ2YWlQRGJyWW9NSVkrbEd3RTYv
MUZ2MWhDMWI3ZnlsZGZNV25pNW9ZCnEzMndrei9yRUZkalF6Mm5wbXU4enBXRW5vK1Z5dGZBRnk4
NmdOQW5YdDRRNVB4anR1b1RqMk5Bb0daN1VWOXJVRFBGYjVxeHFYakIKdzQ3QWhwM0c5czA4dW84
TXRVdTZ3SVBKM0x4Z1N6RStCcVlZQXhORnRTRURXTHpFUHloS1lObHhZMlpjb29PL1lZY09rS2M1
QVdlcwpsUSt6OWJzN1ArOUZKSm4rTysrWlkrYm1Bb0l0Q2l1bXhwNXJaTmozTWVhc01XMGR4OWNh
VDY2eCtLQUF4ditnaTc5TG1PaGxSNHFQCllkZitmZDEyL2kyTGpxalBaODlOUThlYnVlSExjcWdP
cVhrOFlwVUJQRER4QWJXT0tNMzVxKzYxWHE5ZWdEL3o1bCs0Vm13YjUrZksKQUJjSExiUkc5WHFK
dCtxK2xIekYyUDJkZ1oyQm5ZR2RnWHZMUUcwdzd3MStBKzhNN0F6c0RPd003QXpzREZ6S3dDN0Fs
N0t5ZVRzRApPd003QXpzRE93UDNuSUZkZ084NXdSdCtaMkJuWUdkZ1oyQm40RklHZGdHK2xKWE4y
eG5ZR2RnWjJCbllHYmpuRE93Q2ZNOEozdkE3CkF6c0RPd003QXpzRGx6S3dDL0Nsckd6ZXpzRE93
TTdBenNET3dEMW5ZQmZnZTA3d2h0OFoyQm5ZR2RnWjJCbTRsSUZkZ0M5bFpmTjIKQm5ZR2RnWjJC
bllHN2prRHV3RGZjNEkzL003QXpzRE93TTdBenNDbERPd0NmQ2tybTdjenNET3dNN0F6c0ROd3p4
bllCZmllRTd6aApkd1oyQm5ZR2RnWjJCaTVsWUJmZ1Mxblp2SjJCbllHZGdaMkJuWUY3enNBdXdQ
ZWM0QTIvTTdBenNET3dNN0F6Y0NrRHV3QmZ5c3JtCjdRenNET3dNN0F6c0ROeHpCbllCdnVjRWIv
aWRnWjJCbllHZGdaMkJTeG5ZQmZoU1ZqWnZaMkJuWUdkZ1oyQm40SjR6c0F2d1BTZDQKdys4TTdB
enNET3dNN0F4Y3lzQXV3SmV5c25rN0F6c0RPd003QXpzRDk1eUJYWUR2T2NFYmZtZGdaMkJuWUdk
Z1orQlNCbllCdnBTVgp6ZHNaMkJuWUdkZ1oyQm00NXd6c0FuelBDZDd3T3dNN0F6c0RPd003QTVj
eXNBdndwYXhzM3M3QXpzRE93TTdBenNBOVoyQVg0SHRPCjhJYmZHZGdaMkJuWUdkZ1p1SlNCWFlB
dlpXWHpkZ1oyQm5ZR2RnWjJCdTQ1QTdzQTMzT0NOL3pPd003QXpzRE93TTdBcFF6c0Fud3AKSzV1
M003QXpzRE93TTdBemNNOFoyQVg0bmhPODRYY0dkZ1oyQm5ZR2RnWXVaV0FYNEV0WjJieWRnWjJC
bllHZGdaMkJlODdBTHNEMwpuT0FOdnpPd003QXpzRE93TTNBcEE3c0FYOHJLNXUwTTdBenNET3dN
N0F6Y2N3WjJBYjduQkcvNG5ZR2RnWjJCbllHZGdVc1oyQVg0ClVsWTJiMmRnWjJCbllHZGdaK0Nl
TTdBTDhEMG5lTVB2RE93TTdBenNET3dNWE1yQUxzQ1hzcko1T3dNN0F6c0RPd003QS9lY2dWMkEK
N3puQkczNW5ZR2RnWjJCbllHZmdVZ1oyQWI2VWxjM2JHZGdaMkJuWUdkZ1p1T2NNN0FKOHp3bmU4
RHNET3dNN0F6c0RPd09YTXJBTAo4S1dzYk43T3dNN0F6c0RPd003QVBXZGdGK0I3VHZDRzN4bllH
ZGdaMkJuWUdiaVVnVjJBTDJWbDgzWUdkZ1oyQm5ZR2RnYnVPUU83CkFOOXpnamY4enNET3dNN0F6
c0RPd0tVTTdBSjhLU3VidHpPd003QXpzRE93TTNEUEdkZ0YrSjRUdk9GM0JuWUdkZ1oyQm5ZR0xt
VmcKRitCTFdkbThuWUdkZ1oyQm5ZR2RnWHZPd0M3QTk1emdEYjh6c0RPd003QXpzRE53S1FPN0FG
L0t5dWJ0RE93TTdBenNET3dNM0hNRwpkZ0crNXdSditKMkJuWUdkZ1oyQm5ZRkxHZGdGK0ZKV05t
OW5ZR2RnWjJCbllHZmduak93Qy9BOUozakQ3d3pzRE93TTdBenNERnpLCndLTkx6RjhJNzlGL0lN
aTdScmh0MnVQYjIySTgrL0RabStjZVBYZnozTVBuYnRaK3hzOCtldGFHeno0b1BYUnlZUGZNZzJk
c0R3MGYKWGZkbHUvS2ZlVmc2OE9oSDV2R2pHaE52WktHUEhqNnlidXdlM2o2NmVmSEZHeDh2dkhC
ejgvaHg5Y05qekVGTEgvcmt5UnpmeVU5NAo5SkZCMXo3MmpOUFdmbmlrc1ZONW9BLzBkZ3ArNk1P
SHk3aFB5dDBUSE4vZDNNVTUxRHlDb2ErRFp2bVRtMXZMNFQ5Mi8xWTY5aTMrCnJYbk43ejZtdDNm
d0h0ODhNSDN4NW9INjVvZjMrSVdiaC9oU1RMZFBYcng1YUZ2Uk8zU1ZaRFZvalpYc20xdnB2R0Rl
SStrb2VzbUUKZnlQY1p6VkprZ1I5Um9mSE12RzRMKzlubEJoazVCWDZxTjkzUG1vYnNXL29jNlFQ
SllFMGJPamp4enBLc21VYVJ3ZTk5RU1mdEQyWApmZnFySG4wYUo4d05SYlh6MklHWHFGNWJyOG5o
Z2xuVmxMZHFURnd0NXpaNEdlY2l5eGd6THRRMjQ5eTd3YU05N21zRWhjRnIyWXVpClhDRHdYNGor
SXNNZUhRNGFPdW0vS0Z6RytJZCtwSFdRcHcvL0Jla3hSay8weWQyRG15ZTZ2KzgwajhlaVR4NDhN
blVZdW0rUlBiNnQKYzRFczR5YzZKM2NhQS9SRThqdmQ4K2pkOWJtSzNETHhudHoyZVpJZU9uY2Fy
NVJ3cktQelp6N25rUU83bkZOa0N1dzJNc3N6aG9LaQpRLzlKSWFlRTAwTWZ5aEdlRkFjdmZlamFm
SzgySTMwb1I3c2VmY1pjdXBIUjU0RC9TR2thbDNXUDRlVkE5c3d6Yy94WTkra0x1czlmCjBIMExm
VkgzYy9xaHpOSDlGMHZ2STQ4L2N0RHhXTGJReU5KZktmZ2ZlZktSbStkZmZIN29SbTZlWkxTUHZG
ZzR6ejkrM3JwUTlOQkoKSHoydUkxcnFWY2J3WHZ6cVdwL29YNlAxQ25VTnFNWlE3QWs4cUhlM05h
RjFJdHk3akszYmZSWlcvdkdmWWtxeE5lMUNuZUxvUXEyQwphMTA1MFdYTFN4MXhxbkg4UVlmdXVB
cWxLRDhjeHUzaUhCOFUza2UrT1FQNDBqU1F1VGtveXR3a3VZSG9jOURRNWVoemJCNzlGY05NCnZh
dzY4S0pEZjdVSjVrcWp3ODJUdm8wb3RoUS9BQnJrN3FhS2FnMlZUZC9oQkMyZER0em5pUnlMVlJO
VGtYVVJoY1Y1RkorNWRURjkKSUJsNWZ5QW11QlJNaXEzbFVrYm1Ja29ocGZEcU1JZ3dIa3FQc2VP
Ui9hMXVZaGZqdXhmczN2SmJ4VWVScFQycnk1ZytoWlg0R0x2SQphcENDTzRxdWRKN3B5MzRVWEZZ
VXNPUWNHdDJIbmJ5c1BLdzJOUE9aVlBzLzAxN0FoNXlnY2lLd2o1dytMZmJFVGh2alpqaTU0a2Vl
ClR2ZzJRaDRGVGdZdDR4ck4xOGkxcWg5YWp4RmplbFliL25vUjRnSW5WcTRSY3NPWTNGSXc0Y2Q5
Y1BDRmpCeURSVEZGZitCcW5CWmIKNnpRV0JacHpleVAvek5Yamh6Y1BLTWE2UmlpK1hDZGVidTV1
OWZZTWJQM1hBdjNnZ2E3eXZwOGZTRmNYbVBXZVNJOENhejJ1Ty9Uawp4a1dZR0hUY2NtMnFjUXBk
V0p0Zk52SU52MjI0VHlpd0dQbytvcGY1OXpWUTl4S0I2Y2c1Z3k2NGQ4TUl6elBOeE9ZNHBOdTM1
Z0dtCnRPY3JzS3ViOVRLTWxzUHRRY0lKZG5SWTA1QnhtbGQ5NVBFUlhjdVppNmJIZWtyem5OMmJM
eFJPNWx5cmM5VUNyK1ZSYWRrWUpqaXcKbDRZUHIrOCtqU0RVdjZqY1ByNTFrWTBmK01UamMrWGdD
VlhualdCYUJqMlA0VjI3Y1RWZnRZMUpDVFZKWjNLMEZHTHpmZjNWUW93NAp1bFk4dlNSeGxWYVVT
eUc3WDA0QU8yRHZWblVUd3FjZnYyZ1AyMkRuSko1OU45L0pseXlGbUYxdmRyNnNNN2tnZ2N0MXdZ
V1hpekc4ClZjNUZ6WUZzcGRqbGdsL3RFdXFaK2dJWE14UjUrcUhjYUJ5TXViU1NNKzdycnBzT2hK
M3dyWXZ5c21DMFE5dUJUWEFVVmd5OUc2cHMKQXVxQ0tuNFYzbHBBblhlNXBBaFRkTm1wc2lzbUJ1
SmhSK3lqRjdhYTgrM05BeGJLTHI2RWtCMHd2RG90dlJObTUrc2RyYmplNmVyTwpZMHlEc3VPbHVa
Z3VNc2JXazkxYWFLTm5HMWJUeFJaZUNqRjZ0S3hpS1pRcHpOa2hSUStjNkt4Rk4vWTVXYkZUYnR4
NnQrWUswU3dUCjc0N1VlK29pYWNQWWQ3YW1hUVNoQktZMmhqMGVkaEZJSjBYV0J2MlNPWVdYZVFU
bVlUcFJFRTFSdHRPV2ozbG9qTnpuamI2dU04NVQKd3FBSTU4MVdGMTBqSTZmNFN0ZEZXTmVUZDdD
QzRGcTY0WFJ4eWFyd2NpMTVlcEk5MGE0NDRIN2lZajhxMkp3SGJIVjlKVFFLb1F1MApMQ1R5ZFQ3
aWd0Zm4xZXVYcm5kdUVZelo0VVptZlh5UUo0QjFQM2x6MEhxU2VId3JYNGhSNDk1NzBPZmJ0NTl3
a2FXbEg4aWNBdVNSClJSZHFUTTl6Y3NIbFVvVEdmcVhwajVqYWZzV256eVdDN3NwL3B0L2tzc01k
TGY1UGRLek53a3JSYzM1YUwwVWNISzh0bk5kZ3FPdEMKTHBvNkVjb0pBOGRZa3FkWjN2dzZiKzAz
K1cxcys1SVIrclNNUGJqU3k5VUw4QnJYVTRGckhpOTc1bVV1bG5uY2JQMU9GSDFQVWdrZwpNU1R1
MHFUWGs5TzVNY3k1aUI4S3NvbzBPMW9PVGlpeXRNTUprdS9FSFhub2VrSENTeUZlZDd6dzFnczZG
MlZzZzdWUzlLTUhmKzFICkx4ZjRHWWNiQ0Y0T2JGY2Q5OGx2NzJaTlVjS3BtdlBNRHBoRW9reUIx
U1BHRk50YkE2S29BeFc2N0dhOW8yV3lPdUJLUnFNUTM3aUkKVmxGR0JvVEN0SXdGajZMYzZxUGdq
c0xiZmhpemFITHdwb0ZIMEdQblcxRjA4UVVaTkIwVXZoUmZGMktOczV0bFRDRWxHQllIeGpSNApL
WmdVRmc1aVNKRUpEOTBVemhUY2pBZHR6QlJiVDl3engzcmE2eEdtMjBnQ09qUWNxd1V2OG5GQ3d5
aTFxUGZvNTBIYVBuaGNyTFIrClFqWDhLL2NWUThjVHR6MjljZkxLZXI2T3dodEZpYkxqUlFzNGpw
WEg0K3prMzRXWDNNZy9mZmo0NWtqaHhaNUgwTXpCNTFEMEk5S1gKa2orUzREcFg0ZUl4czR0d3A5
YTdYMFNQZGYwOWxJMHYvOW9WQSs4M2lqcHZMcmlxM0p3Nll2VlRHKzJLaVlHSExpNnE0bnNlWE1z
UwozTjA5ZEFydk9HL1lLRGJnZWVQYU1Cckpsb0YxdEtvUmY4NERBaDEzdkdIVjQzU0t1QjlSMjJx
K3hJUmJGeGpNNk1QdjIza3FMejM3CjdUSDl1QTFGRk96SXp6SXVsUlVubHc2MnVWV3dpVTZvOHhZ
dzVrOExyWkhYNCs0cWtORWJuUlJZTTVCSFo4R2hUdVRmTUpSZTVibHMKM0hlMzg2OCttelczeHVS
UmRPcEI5RXVCdVMwT3cvd0YwdnNwd0QwWkVrSWJnV3ZvZnVRNk1kN0ZhdmY2c2tjcXpQMVpiNHF6
ZDdJcQpsb3lOMDJjT1hIQ00zMWp0eW5xOFJMWW1rWDVzMFgvbXRncHhDdkpLL2ZoWitjYlBtdmRM
L1Z4Znc3azYzQkNYamxVSHJOaXV1S3ZPCjJvL3V5b3RkWk53TWZZL1hHbW9Ga3RUT1dHejEzNjJM
c291c2dqVWxNWUNoVGwvMlZZeTdvRElwNEdqU2MwNVZkRk9RdldDSlgrZEgKdHBKNWw4R2lEaDh6
SFZXSWVmemNSV0RodS9qNm5UTTR1c0VweExKL3dBcElPKzk2OC9nNXV5UVc3aHpvVTRSZGlPWFov
RjY5RGpxeQp5VW9DUldibnRhaFdNb1dWQklPYlFrckNQWllOalVrR3k4VVlobG8vQWpVdS9PUnhG
T3hTVTRXb1RzT084eFg5aHZONVF0UG51RzBoCm5EOWErTEViRGhOUGdLVExHNmZFUEJ3YVJDOENR
TzYzVVNJZDN2Q0RXaG9yTTI5UVhHUlpYbkF1UDhSQ3NZMlB0UWlQdm5UVFp3NHYKNkpySkd5cGcx
c2ZSNEZHSTgwWUtQNUw3R21HM3EydWJJZ3liTjI5dXl1ZGpuWU9zUVR5RkFZYVEyRG5qUXNPNkpn
Vk52L2dxcUZMawpXb1hYVjZFVStSeVllMEM2T3VvK3dVN1hQZWMwNXhWY0E5T1JkUURNVTFDOTA3
Vi9LWTQxQzUrUzVYUnk2eG1uOGRhK1l3Q3Yyem8rCjkxR0JGejQwRFV6OG5CczVpbjc4b2tNL2ZN
YkJNaVVlWWJQT091ZFc0RVV0UHFYRExwbWMxVnFMMGJIRmR1UWxZdWFnZjdiVjY5cW8KSGNqQ0hu
M21nWTBDdjN0MDU4K0FWN3Znd1FPWFp0dGxiT2FWWHU2bkFQOWN3V2xlbmh6ejAwRmlrMFQzT2F2
SWxwYml2RklLNWpyTwppY0lzeVZ0NWdmT0pCSitMb0U5aVpLYnRPMS9FeXVObmRycXNMeHp3Y3JG
aDQ1Q1htQmxmYXJtSklzL0ZEbGI2bCt6T3ZLejVLYmFSCkIzZU02UWpZWDdyS0xyaVZLdXVsNmJ3
VGdJNFUzSG9yenR5MEtBU1FFMk05RlYxMFdjVDByK1MxZU55eXl4RGZPNUkyQkg4K2V1N0MKeTZT
Rm5jK0FzZk9PRjEvVzU3UGYydmtPOTRmaXExZzgxaUxHUWt6T29TemFXYmhId1VVbVBvVzRINCtO
M1M5MnJEQjUxRXpmUE4wZQoyTlBNRXpNcmtSOGI5eGg1Rmx0VDhYMkNOTCtNclNQZmJtZCtia09j
cWtHQ3g3aHpTTmN0NCtpNE9FYTQwT2pCUWljWFRidEpQUzBICktMY2dieXc4WEVEb2N2R1RBMVBO
NXpBV3Y4K3BUbHozMjdkenJoc29EZXdCblE1eUNkYmRMd1Y1RkZtSi9UaGErY0xQcmZUOUNKcTgK
T3RpUzY1cmlPcUxCclVmT0NsdHY0bnpwYzByNzBiTFhBdkU1OVUrZUVBZTc1NTZIaGcvMU9Kckwv
UUdGVytlOHZVaFBtc3dkaGsrcgo3cWErR1d1QnQ0cnZwZHJSU2xYcVBnZGRjREhsSGxTMWxsQjMw
V1AxaGFHM0RtVWNQUlJQRFZmTWhkalc1dm1KRVlwczdVY1hPMUlJClRqRFE2eW1NMHhqOVVLZWRO
SFZqdkg0Y0Z6NTBmUXp0UEVlSVBYTTY0Q2hyQWp2b3RiNTUwczFhN3FlWFMwNXEvU2t3K3Z6ankx
WFEKMVFkd2tSc1REQjNHYlR6a2ljSDJIY045a2R6NVY4TlBrZ0RNQkRLaDRVUzU4a1hLN0ZjOUxr
ZGRCVW40MEUrblQxaVNDQnNjR25aOAplOXFmQlZPWSt6TmhDblFlUlQvU1p6OXJzbTNLQ2VnNERN
UkwrM0dNZldLR3JEdTU4TGdIYzNBaDAxOHZhUFRTNkhQa2hvQm1ISnZvCnZoUU5IcmE1Q1lQTE9E
ZFFLRGMvclhLcW1VbzVPMTRDR2NXV0FJaVZJM1BHaWZpbFV3WFhZM1NzeHJtU1QzVFlvVGJGRjN4
OHM1dk4KdDZIUkFScFlHbCtHc1Z4OG1tMGtaS0hrQzFyUUNraTY3SDdYd2tvTUZFY3Z6ampUT01V
NVJkUEZWa2xoVXRITlkyakcwUU9Eb2tLRApqa0xjcXh3OEVobzVOTVh2UUJWRTlBYS8vV1Bqb2cz
RkhteVlhdUhYcU9VZEQ3em9qUTRBYXRrcDk5QzRKVG0rWXQvaFd4RDl2amJLCkRxVVc5UGtZZkU2
TW0zUjRIQnM5ZUF4cEo3WjUzQXpKSlF4V0czamtIY2pzZHBHNTBIWmg1UkcwZDdzRUxXQS9taVlm
N1F3WkZ4SG4KRFJZN1lRQ2ZMZjBIR3ZQTmFPN2ZSNXJMWTdQNWpQZVJyekZzNnZGMDRiRlQ1cjBw
T2ZLWEFUM1FwUzhmZm5UZDA2ODNsZlY0V2RwKwpISjIxQ09wSHpzWlJYMWhWY0xXenBrK0U0T2ps
amh6by9QdTBLMDduaE91Qm8zMkJUL3o4aDUzbTIxUThwcytSVXdPZjhjL1ZvbU5YCmpSTU1iTk5I
RDUzb0UvTGF3b2VYTDJaaHUvSlhmU2NnRE9LVWJqMm5iMmJIemxxOTFwQ1ltSExaeUFuZlpxN1VB
RUpYMVAvcDliOU0KUkhMd2dtbGRlQjJRenh1NkJXWHI2SUx0MXJMb2hIME5ldlVDVEpDWlpBTE1a
Ri8yVUkrWlZTUjVwT3lqditYTWhNODJzVFcvRStERQpMSWxDSjloZTlEdERzWEhSa1U0VkJBZFd4
YmcvQTA1aFBsUDc2UXNpNXpFMGNZVnl3WEZFSHNvTmtadmkzTWNXbTlEMGkvUFNyOEhPCkRZbGQr
aGV0VU9oajdJQ0hJb25zSUpwWFg3YXF3TjNIWWF0QjNLZkQ3bGJWdFhiQVdpd2RXT3RDdE9oeDhL
TkcvdklWcGgxOHZnM04KUWtjZlcyUlZqTm54Q2x1MlJNYTU5VGpmZUhhNGNwQkNtMTJ1QzdQdVRo
YjJUSW5GT1FVV3lwRmlrTEY4Vk1HVkxIMWs1SXlpZS82cwpsNTFoRW81OG5BREY1TEZBdkh0cWlw
eVdZcHhDSzNVWFR5Z3Q4c1J1UG90eEswUnZsYnY0TnNPK0tVb0YxN2RCRHhZU25JVTF1cXNzCjhY
RGgrckc1Z0VmaFhSWEZaNDZKRXpCaVlMZE5US1BKWmkzR2JKbklJeW9weU9oU2hQMEdxVzFkZUNu
SzRsTjBtWmpQajdyNFFaOXIKd1UyTUZHS2Qrd2ZvNncwZTM0eEdsZXNyWHdMbGthOGZMU3R1WDRP
YUp2Tmp1dkNaajA4dFgvWmpwMHdhcEZJN1k1eUJTRmg2YzZuOApZRTVXa0pPSytoWTBNTUt4UVBj
QnhReEZORkZhR21pRFEvSDNnS3NmT3dZbFBaa1podGpPcHlEUXVmelc4WW9SdS9BWWc4ZVlvOThu
CjJQeHdPb2xJOGpQKzZvZitrQXVYMmZERTBtc3J5YVF4OGJVSms4OTduNm9GYlIvVnJQa3JUVzBJ
RDJ6alFCV3MxeC9oZHlvdDQ2ZHMKekovQTd2RmpTYlRJakcyRzJWZDl1WG9CWnRKUEJkeUpUbkpH
c25TRzZQdG5lL3R4Y243MEtJK1cvWmhadTltTWsxaXdjcUxpYjFDVQorQTkrL3ZYVmtLU09MSEpT
YUUzUnoyZkJmQTZjeDg5Y2pIa0UzVkE2UVp5a091Q0ZEeHg5WkZ6UTV4YmVhaFA5c3k1amNHalJn
YkorCnhYZjZxUTNvSXFzYkhzTStFT1NPUlVnL3dTd3Fkc2VMSnMzdWwzZitvVURrd25iTzVJaEh5
NlZEOFZTaTNQbzZrTzhVVlhiQ0xxN0UKSmo3bmgzRVY2eTdrNGhNN2ZIL3V5eUlJZzViSHpleHNB
U0FBNzNLMWFHWTNCT1Z3c1pXT2k2MzAwYU14VHJHMG5zWmdyWHprMWhFLwpmV3lUWUhqdUU2ajZK
SmdWbHNWeUZGbU5PK3hobHgwcldGN282ZEE2dHN3VE8rU2VJLzBHQ3A3NTRBOUc2ZllqeTJrSGRy
ZW9NbFM0CmJ1M1crdWtqeURXNzhzcENyekdHQXNxaFBqRnhMWkdiMVJjM1RzNEZjdkpNZzA4ZjNi
RVQxbUQwclhWNXpIVVFIeFJwK3VZMTA4V2EKck1wSGkxOWs5OXY1NFdNTllpYUUydUZXd2ZWMXFE
bjdvMm9WWlA4WUUvTnFXSDltekVEL24waWFMMlI1elJQVGFycit1YTc1REpnTQpWVzcxV0ptQkZj
QURBeEFGQjl2WERIeU9HbWQ5aTEzVWN3bkN4NXd4MUhwR3E1ZnpHSHQ0SE9sSFBYeXdWamw2T1Zi
ZDlGY1pkdXVqCmFHUzBQSVptM1hWeHRWSEpLaC9xeTNadHpKMFdhcjNXY1c0RExoMnlubi9JcUJO
OUpteHZESjFuR25KRDl5VklvVFdlTE5hV0doSC8KR2E4NjErcGZ2UUFUOUZNQkgrYzM1T2l0QjVO
eWtucDJJN0dkU3RncHhLSDVISmhkN0prM2txdTgydytKN2hQWkx1WjQ0ZWNFUm9megp2VjZZS2NU
Y3dQUzVBZFlETzJ6Z3BRVWo0NVVHR3g1OVd2UkR3Mk44NXRtZ1g3aUpmSlA2WWhPWUtOK3VaQjl4
SjJnQUFDQUFTVVJCClZPcmorMWY0V09aTG9Ia3NuY2ZOaHBPTjlld1FqakxqWWt4QnJxSUxGeWd0
WWU3eFdwLzE5cU5uN1hUdFNsajFob0FmSmVKeE5UdGcKaXE3K0k1TlM4ZXV4OVBqaURNSVUxZXg0
QjArVFJaWkduMFU5aXp3MFBIUW9CUEJ3QmsxeGxRc25MWFlrRUJtTkFzc0VvaHNlTkRvcApyS0Ur
QVpKbkhPcGlMVDcrV1hTWlIxcDBHQ1AzODlCRmJqMzRhdGloYjcxaWtjZUp0K2haWHk4OGJZaStY
SHVYR3AvWVdvNnlHbkphCnJsOU9IRHRoblRQbmd3dWJNVGJrUUR0QjAzVSt2QkhMZkIydm5IQ3ow
UHh0YVdMRWNiZnNma2wyaXJEeHNCTld6aHNtZk82TCtTakUKaWlHODlYcG9ucCsyWUNBejczUjdW
OHdwOERYSVBOa0I4eEdWdXR6L3ZMM0h6aW5UTmhacU9aMCtkZGFsNE9yR0lpeldQb295YXcweQpO
d1FhYzEvVjlhOHhRbzV4bmFpUHJiQXB4bDRERGQ0b3dnQVQ5WFZOc1pWVVNKUGpoTkVOSGkxODZD
Vzk2Q1FVR3kwdnNjZVc5VzdGCmlTeDBmUlM5UUxqTG5QSnZ5SHA2VGw3SE8yVHFaQjFtYmErUEw2
YlVPV3FkRlpkdk1hZGhId3g0cVRYb1h4cWJxWmVCM1VtTWZwdEYKN1NyMDZnV1lDU2ZnVEQ0VGNz
U2RkSitRUG5PV3c5ZEpJRWsvMzJZL3NzTytMdm9HRndBOEN2SzZtMDEvcGZFRlZ1SU9qZXhNQ1RG
aApRbnNhVnFPZkM1VStOd3hIK2xCc2NpTUZCMzVrNmNjdk9qbkM0NGFKYlhpaDhIT3pqOXdLZFB6
Mks0UlJrSkZ6M21OODB4N1FjZkFVCldpYWh1Ky9zVURwK0ZFMHgxbEU3WVg0MFF3RjBvK2VpM1FX
WHdwdUdDeGJBRkdOL0xoZWhhSDN1cThXMVA5dXppQVhXUlZVSlNHTngKNWhpTHI0RE5rdzVPT0tL
RERTc0Y0K3pNZUxSTUlYRkE4SFhRb0M0aXNzOEt4WGdVbG82QllrVHpUa1oweUJzblk4Rlk1cVJJ
aGorYQpUKzR5OWs1dFBjR3QxMlRvWjBYd0NaODUxOGtvM09oN3BFRjJ5SXpwci83aEFVRlJUV0dH
UnhzNFBaOWNCM3hwaUpiNWU4Y3BlK2NLCm1RREI1SWFBUno2NWxxQmdVSkI5RHFTRE9ucWNGeHBG
bCtaektpRmpiSkMzMjZsRC92RWxIZTkrcGRCdjF2ajVZRDRQeGhaenJqY3UKZGR3U0NwOExPMFlo
MUxVcEpjbjg0M3FhbDEyUkovM25GM0k4MExtc0wydEpUYXI4NWl0MjFuN1VYRkVvaGJvZmhER2JI
bVBqWFA5cAp0VlpWMzY4RW92ejRQb05CWDBmV05mcys0Q2tjQjJaVjl3MVBQSUtpSC9uaVplakJR
ODRwV1Z1SFlSbDlHbGpwbzc5aTAwK0xQMmo2CnlFWmZ1cXdMWGhzNmR2TEJXandhZk94NVdScGZx
THJZRmwxd2g1MXdSMzh4SkovT2FlS1F6T3RqZEhvKy8zOXFVRXovWG1tdkhIK3YKNWsvYmpZdEdv
cEVFVFN5ZitZWlNISDB5cEhlbVFiVzliSkZicHhNMGNGRkVyaXNoaVQzTHJDSzU3WE5lRjhvRndL
Tm00dkhQQ092ZApGbC9XeXVObjFnaU9YR3lodWJDZzhLRGhNZWFpall3WUlsdnBTL1hSVHp0amdC
MS82ZWZHZ0xLMithS1NIdGN4OC9ablg2dXpnQ3ZJCjJ2bHE0U0xndnRNcW41SkpqNE1YKytwQ1d3
V1ZvbHMvNThqa3RHUzB0anhTakxzZys1RjAyMmVWc2t5TFdSVmZIZ2ZXK2NNVnYycVMKbllkK3VT
RERHWUFmUDJ0eUxNaE9pbVF1eE0xREY3NTV1cXlqNThLcmNSWjZGMTdaa0NnYVl4S0hMVHp6RlRB
VVBzMmYvYlkreGRSVApsU3lGTlhvWnA0QmxuSi9iTVp4ZVNDWnRGQzRQTkRaWEx5Uk1mb2hwYlNt
ZzVvT3pDaGZkNEhNQjBCaFRJWUlYZWV4SDBaVytkVnFRCmVQcFVqQUtlTjFGamZ2TGhIUzhHK0pR
OVB1QWxueFJYOTlFVllQb1UxdlN4SFQrcVJBemNmSkp6amh5eit2MTQyZWRYR201cjBTWCsKTzUx
dmVPNXpiY3FmcmltSXY0aWxQQUpYdnhGTDBJUXNHVi9HeW9Mc1JWanpkQXIwd20vTTRueEx6V25u
QzFxdzFpZEduQjcyd3ZsNQo0QW9PWHU5c1lmUTk1aUlyQUw4cHp2VXpUaWdXSUFsUXpWT1h2L3hp
anZCSWFVK3gwcTNnMElWSEM2MVI0MlN3eUxFaExQdHAvdG9QClRuaEEwQTkvSFVlSGorN1NlQXlk
K1VEZGFtcCtMQjI5VU9hOUZzSDBrdy8wekdzTUlJT1BUczRodk9IdlpCTStPTlNrMFRvODc2UVQK
YWs5cWZJZGdLUC9DTzFjdndHdEloNFJ4TWZXRW5DRDEvYTFsRmI3UTlURXlTYUU0NXJGeXZ0V2N4
SVhHWDA3U1lZdy9IZml6Zms3WQppZnFrSlRpWkJDc1hFeGNhRjN1S01aUnhEaTdlOVFKT0ROQmNw
R0NsRHcxMjdzZlZadTFITC9ick9IcmdqWHRZVEtZM2Z1RUdiL2Y5CjQwZFM4cmM3TFkycGM1UHpa
R3hQcG5hOUZGcFBURlRXbm9DdDVSQXFSdTJBclZlN1lMUDdKVGxuWjFGSGZRYU11SHp5V2wvQTh1
ZkUKL2FzbW5TZ2MrTXRWV3YxQ01XU3lLY1lzekc3aTBjOVJRYzV4UHYrbENKT28yTkZQNGlnQ2Zv
WW1IZzErQ29OMTVJT0NDYzhKeDdjYwpVWVNDa2NKN3B1Q1pKd3dYVmhocTJTYUpiWDVPTGpMdjJ1
aGNhQ2w4Mk5HWXIzRjF2bDZ5NFhzVkxtUG1ROFAvS1BMQ0lnWmFFMWNmCmo1azdUZnFjKzhSVHpM
cG1WcDdoMjBkMHVIbWNZL0hwK3cwU3k1SDZMc280YlQrTWlUSG5qYXVSejM1cGc2ZitLTTZ5SFhO
Vko4VlkKZG56KzYvdGJlUDQ1WVNsNitreGRSZG9yUlVQWEkrbVdTNGwxcEhTa3EzenpaU3YvN21j
QStOOVBIdXphZVZGTVZHbmppU0xRbktXcQpiaGVLUHVkZyszSUF5L3J5WnhQZlJUSm9lOW5TVUV0
RGRGNUhHdFlxMFEyRmlad3hwd0JxZVBIU1Z2dm94cDdURlY1bzdLRG84WHVoCm8yLzh6TmR5S2Vp
LzIrSnpIYnRHdElyN3JkL1phRWtUWWRSNnd0SlF2Nks0VnBiNU92ekZjdkdiTDEydDJENC9iUlIr
ZkFUaUd2VDYKQlZnVFMvSlN5QmhuRWdSdGZpZkFreUs1T3FLUER2cVJ4Wjd4b1NoVHZIVlF1TE9M
UmM3WVJ6L2V3TTVZQU5OeThrUDdCQ2F1eE0rRgprNHZJWnRFM3lIeUpEaGVtNjVkdW9KVWl6dzJT
QzVzeC9GekFvUk8xWkl3amc2NEhOdy9qOVNZeXBtYnJER3BRTSsvc3c1Wmozbld6CjgvWHVsMTFz
Z21OKzVndFhYUnI0RExMclpjSGxzYk5sQ0xDUmt1T2lxMkxyYjRkS2h6NjdYV0l5Q01wU1pPZGht
ZVgxZUtGeWZ2cFYKay82OXY3R1ZMeGRpTGNvc3V2WXJtYitFcGNzWVhoWmpGdk4xREFUakZGUnNY
WERGbzlGZkN5a0o1YUNaMzNwSk5JWFlCVVpBNXJVZQoraFJDNTZ4dFhCaVpOM2drc3VYb3BySzU2
S0ZQWU4zQVg0WmhtK28zTDduaFoyMCtXVEJPaHRFTDJ5ZEx6RG94Q3FNVlBKYVNoMUIwCktIN0VJ
a3BNRkJibTRBTERuS1FITHI5ZHlrV1ZKVVhuTkEwOThnc21oZFI1MHdCczlQMU44KzVqNDNNb1FI
YkNHWHRlMHVHZHI5OU0KNFVPMk9LWVE0OTkyMHNFUnZ4a3JjK1BObWhUNDBTUjJ3Zld0YUJrSTA4
VVVOM3pEVy8rZjZJTkdYUGw5cXNZUE5BL2V5UEw3b1EwbgpYYjYwSlZITlJ4M1dqUHJSUHU0TDND
b3VYSG1ldUVZSkl0cVhnSHJTNFRHMUdPeUNKU055THhJRXdMVUNUL0phQnlXRHZ6Uk1hY0J5Cisw
Yk1tSDV1NmRJNnZrWVhHdjN3Z3VsVDJUN2d4Ui85M0ViMGFkakdQdjNnUnU2a29jYy9LOWxVQVN6
VThSUWp0WUQxZkcycEM1RkgKQmk2Tng5WHBSK2JWcjdGOUh1U2ljbDQybUlKbnUyYlpUMC9LOWdL
emJVQ3ZSTG1TcjlxWVJONEpKdkNSckV5T3MrUC9hTlMvb2FObwpLaFhDUVluazhOSXRzb3hEVngx
NHRwVTV1K3NVNDR1MGl6VUZQTzBRQy81MUVISmFuNWR4OFliL2MxRXdjbU00QlkyNVlxOFk4T01y
Ci9PaWUrZHdnSE01YWRyeFNYc0wySk1iTmpnd3dmQUJPWUZvVS9ObXZpN0lXQ0xGUnlYMjQ1ajZm
NitiM1BYdTNiQ0JlM0trYlRmYjUKbkRjNzRiclljYW9tQi9EOTZKbWZDL1p2dXdxR2pIbVV6Q0xx
UXN0aXFvWTRCUmI1MmhpbkFKTWtrc0tLa1ZVak12aE1EcjUxZXBZZQpOeVo4RGhyODdGak5Jekh3
T0NTbkwxWlJkOFNYSUhJby9rWTIxWVdYNWtVM0EyampyaXpiaTdIYUhlUTlJSjVMN2NCWExCa1RG
aTFqClgxd2EySitFOVd5MXh0N2xTZFpwTWFYSTBnbVBSTUJMRVVyZmRWTjg3M2FsQXo0cmZjYjQ5
eVBuRk5nZUkzY3N5Z2x5R3JyKzVSNDkKemk3WEJUcTVrNUozeFNnckhLNHRYV00wT1BQelg0MllK
bytwYVhMSExjUzNvSE90YXVpR1hYMGJXaWJLeXhNcHdoc0Z0OVFVYmx1UQpTODNmbDQ1KzBRZVBy
dDNYTldRVlhqaWM4emIyVFZtZkFkTUZpZnNhUncvMVJnZFYwbmFwSVRPdWhLR3IzaW9QSDE2S09K
YzJZNDYwCjlFUGhKK1Q0Q0kzTkplbzFXcmlqcURJeG12M3BSWE82MHhmMHN2NlN3L3d1NmRpV0Fm
NWpqTG15azNIaUZtWDE0eDl5LzlNRWpJMC8KL1l2Y21CUE9ROHNiYzhTVDcxWWtpQ3ZRV1hXdUFC
WUlncWM5bFpSMWtwMEU5REpaOUgxMGFsWU1ZeGFzcGNobzZJOEVMUW1ML29paAoxRGtyMVVJYkUr
YjRERmpGbU04d2VNTWR5Z1dmbzkzNElxVy9YcGpnbkhuUkR6OUZHTHZ3VmdvR0RYbXd6MzNrc2FG
L2JseGNucXVVCnN1UDFxc0xLa2gyc1FXV1pPV2pzMzBjckZtbng1MXQ2UjErUG9rWFoxVEp1T2NF
UkE0MDFPbC9DWWlIelRsZ0xUNHNIdFM2RlZnZVAKbmYybEdOa2V6aE03WGI1NHhRSkw4WTBUd0Np
d0hGNW9RVk5MTVlibnhiellveEN2eFpkK3hxdzI5Rk04UjErTzNPL2J3NnVTZEprNQp1b3hwS1lT
bThKdm5CR25zdU1WMG5qVWVXYUJQQzFXWFhTWjJhZjNGb1F4Tmg3ejlId3lrTWVSdDlWTGpuSlNB
RTUrYkxuSytsT1M0CnBlVENHNWtVNlBKY05IS3VJK2FPbnB0dW1CUmJNUGwyZEhJRm44ckRsTWRP
dU0yNElkZ0pjNE1SR3pkZXppUGpWQnV1QjhjcU9ZcnIKWTJqMGFDN0VkT1NmNjJqa1hGMy96bWhr
cGN5MXgzeHFYZVdSZEJWY2EwaUZjUG5pbFhmQk1EWDJaOEdhTTh1NlVSUVBJZEgzZlNMSwpCc1Mv
aWxJRjErdVR2a09Bdk5ZcVFGdGYxUGVRQWFSQkhzZ1g5eWpiYU45VUduZUxXbTZILzQrNk40KzNM
YXZxZTgrdHV0VlIwa2dQClFrRWhJbzJJZlJ0UXhCYWVYV0p2TUlvUmpjM3o2Wk9ZeEtjeGFvSnRu
bjBTODJ3K0dvMmlTTEJ2c0VFQ0NncnliQUE3c0VRRWhDcTYKNm03ZHVuWHovZjdHR0d2UHZlOHA4
bm1wd3g5dm5qUDNISE4wYzh3eDU1cGp6YlhXWGx2MHdOSk1FMGluWHRqNmxQZVFmM1FlOHNzMwp1
QlZXMDlTbm5EWWN0a25TMWpSZlI5SUhFMVF6bjJTS1hTV1FkYnRsczY2UG51NWY2SWhJbXpVamEx
MTh1b3NmNmh4ZTZlRVpnMGFuCmVzYUkxcStjS2JvSFY2Z2RiOWRQb3VnVjVpUlVsWTUwZERyWUhm
Qis3cnlBdzB2R2VSRExsM0gwaXppOHY3dkM4cGcyNTVUcUdxangKVU9NbStLWjY0REJaTTFDNmYy
YkU4RXc1dGs0YmxNTXFhcDJFMXFVNTBaem9FNUF0clI5bStVM3FVTTVTbnNFTlhKajlkZ2UzbHNw
UAo5amcxVzU4MVRyaGphM3lYS3hFMERMb05LUDY0ME1ZMWlyS2VjamE0YWx5NDEyWTNXQjlLVFJB
bWVFN0FkZUhSamFFTHBIVkdEK2J0ClVqTzczQ3g0S21pZXRBL3Z4VncyeWk1NVhyaWhpdkFJa09h
ZTcreDJSejZCbUJVOXdYZ1JtSUJzRUIyME9Pc20reTA4V1p4T0hQcmMKQzU0ZFhKemRzbkcySFhN
QUdwZklpMDZEa2ZpMEtWMCtjTFluajMwM2lVdnFVcnB5RzRQZzhCUm5mVVl4NExMU1VadTVmWXAz
N3U2bgphUkRzQXU3QnEwRHNYSGdkUUZQdzA3WWw4eVJQRHpQeFRVNGI1c1BPSDQzYnJpcTF2UW5D
OU10Vng0Tm0vRTExQzdLT2t3N2N1d1F0CkE4bkFIVnV3SzVldXUzM2ZHVDM5bXpsaWZWN01vYXox
eTA3M1R4ZldrL3Blam80K21xdmVlWHVFZ0d0RVpqZzhSUEk5WWVWSjhiUHQKTzdRR2J3S2xjc1pM
cDBYZEQ2YXArSTNkTHRUdGEwVzBIelIrcWxkT1JpVWZFS0lUQmVQdmFOVmc4eTdKbG1rQ0t0T1FV
cEhZNlJoMApQWHd0S2swZWNaT21QdVhvR3JxbE5MTkpIYWJodDNUNDFuYWt6M0FlNHFWdDdiZk80
K0tFZkc4MzBZZnllSEZ0YTMvM3pYZ3hmM0tzCnZJa3A4cGx6SG1jSDdWTWJKR21NYlB4MmIzanc4
SngwT3ZFQWJBZlhUbW53NnV3NHFEdGRFeG9HT3J3NXk4N3psM3U3WFA5UFlQYTEKa3NEaWd1ZkFD
ZHl2bTV6N3Y1YnFYQjBwdkxhWkFTaWovS3kyNWNuczZrSFlqY2syY2Y0TTNDdnBtOTh5dXdYNERM
QVhzNmJ1Zy9LMwpnRE9MVDJiaW5yVk82WHFpc3kraGZpblo1Kzd1UzM0NCtYN1VEOVBNQzhmK09Q
aVFQd2VSZWhSSXBrRlhCck1PTm92dlpIL3ovZUJCCnhERStaT0k5NGRydGVwVGxmcThMSjJubkky
QjBqV1lVaDIrZWJwNHlNaVdaVDV1dmwzTDBHNjlZeFBJa2F2dStUYWlBbTZETG91UXUKWnN5MmRJ
Rk40QVhQWWswdmo1NUszODZCdTQxZDAyM2d6ckVTZkEyOGo3TFZCRjU0ZFZBTU1BQXdFdGFuWFZj
T3Mvb3REWDZwZzhpTwpsN3BKL0FSRzhRTlA2Y3Fzamkzd2RKdERuM0oydnZLS2MzZ0dKNWpFbTV0
NnZBNlBKMlpaT0pyYy9CWlJ0TlFIdEtFMU9DOThCczZ4CmE1dG9CalRza21hZnZEWVlIcnh0NENW
STdhVkZYVXlZUUt1bzhIYWlnaDJ1M05ZMVNkZzI5WFVTc0xnSnJuYlF1aW1CbVRJMjB2NWMKaWg1
ODdnbERYM2ZBbnBqRlNUWkc5bnZCbmNSY3hBKzFuMmN0OGJ6VERiZkg2SDdBTFhIZkJ5MnRwaENC
RlRYaHcxejEyT2NjRGRyRwp2N20rbHRlcm1qaVFzU0luYmlLYUZtd1lOa2krWUl4ODd0RHhUNjVp
WVlEZDhUTDB1RVhOTXc4c1p3Z2oyblh4ZnczZmQ1RDF0UGVxClQ5T0E2OUUza0MraG1aRWJYU052
bjdkREJibnl3YTVOeEM5STZocGJSbC8wSTI4bnN4N0hTUWVpMGsyUnI4cmUzQWZ2dWo4cHg0ZHMK
ZHFTSFZxL09uM3kyWmNwWG1RUmI5OGhhRHJ5MkZYeEdCSkZ4VGpTZDdJZW1uMmpTMkhRSXJZZUdC
ejhPb0hQam5HMUFEaXdKdlFkbAplTU9pSThWYnBpakE5cnpQbXlCTndNNDlYK3FIRDJaTmZiM2ty
RzErbjA4ZHE3K0Z6WDdsMFhlMW13ZDJHZUszbnJNZnVkVnlZUERDClo4M0l1Vnhhdng3WXdLeU1R
Zm5Gd004R2R5WGxlNUdmUkw0VCtiajJRU2ZOeExheXdxbjNoTEdRdGlWWEdBTXJ1YjUyVkE5ZTFZ
NjMKdU1iWHBSTURrWThkSUtTNXk4M09sOFczM3ZuY3dWbWFqTjFlQ2o3VWsxMnQvQ3prd3JtY2wr
YmtWNjlwZWZES29KdnYvSWF3NldSQQpPK2gyT1kxWnNnRGZTRDdYQ3pFOWpYOVRkMkZmRjNkaCtW
eEZURmxkdWg2REc1NEFZVG5CdzNJTFZNcVRsUkczNFlHVFd2L2dKN2h1CkQwODFYeHdnako3a1hX
QTdmNTZIU2NwQnBWSU8yWklPdnhkWmpFTWZ1YWtyc244c2V0aHJJM0tLRHVQVzNtb2Y5QzAxZ3l1
NFNXZXYKQVZ3NGZwTG1pb2dlbTNFMXowbUo4bVJwTXk0WnNLV3VIMmIzTzVlYy9YN3ZCRnh0N2JG
R1dlSEhMK0lIdGlrRHJzNklReWp6VUIvegoxaUROTFJCM3dMSmxmcWZFTE9acmRwbGVhaGVuT2F6
dysvNVR4cWJjTWZNOVk2QzhrbkpPVExEeHZKdUJVbEhNd0pvUm5IMmdrWkR4CnpmQnQ3QlBsMnZh
c1RiMzFsV2VHUy91aVNyMnFwSnpBbVM3TDBFbTMzRUQySFNpT3ZqbnZRK2xHRC9raGw5dTZIUDNp
VFcxYVZRNCsKRDNtSFBISEJBT25hYXhyYzhHeWxaSVpKdW4vdDhLTmJPR2x5dkxZa2FPZElOWTY3
ejhMdThGczl4bGN0M0ZOdlBhcyt1ZEkrNVY2NwpKWDZIUDhzTGQxak44UXIyRE1kUlR1S2FUT1dr
b1U4NVdxenY0ZHJmZS9obERKUWIvdlZBRVY3cjI3ak5nT240VGdadEo0VjU3dnZPClBXRFBOcjE5
ZElZeTJVV2prNU9OeHJkSmNCeCthd1UrNGNnRW9FTDVWb3JmaFBaQ3lrK24vdjd5VVM3bWJYV1B6
YUVsZnN4YTMvbzAKWlRNbURkbGVCVHRaYkR3K2FYNkRjTzE0a1V5QXBuTjBXRDNOVW5aTVJheXdS
cWpMd095aVJUbjNmb3NoNU5JU08ycjZlb25QWUR6QgpHWVpLNld3VUUyenBsTHVYN0hRTkJyWlZS
WmhkbUYxczVhRjBiK0dKaFVGM2NoYjR0SXZnN0hqZDVnU0hGZ09Bd1dJQ2dmQmtHMHNnCkFXZTdm
Zys0RjhBTnJ5RUpzT2lVYVlNSHY1UVRnQzhvNGNrcG1hV21WV0N0Y1dkM05pdHprZVVJZEQ2dlVx
UkozVVdhUmV4VTNjemMKdWxqVStyVGJ3Ny9pY1RLRXdUREJUVk92NW5hQ1huWU5IWDlNNEZXcGdX
ZjhNM2pkWXFDZGt4QmhKMnozWVM4SXE5T0RURjNaL2RvTwpqVThnZG96R0Zua054dUVGdnlVWTVw
N3c0RHh4c3k4ejVtZTBjNGhWT2g5enE4QXJSZEI4TUt1bVRkWGxzaW1IWWg2KzhxVENlOEhlCk1j
bkRWOXBtbHJGQjF5Tm5mQzVBU2FML09RNlJ6ZTE5RlNMakx5eDVQQ3EreVdOQVRwUmJYMnd1MVRM
Sm1SUjNBdVg4UnB1d1J4SHoKd0paYlNpTlZTeDkzcXRMbmFVN2F3SlpyUFhLdGNJVm5SejV5MCti
S2MvbzBKend5OEgrcnp3ZVE5dGJuRWJMVWh1bXJkcHUxMTlJawpmRXlhT0JBU1BIdjE1cy94MG5x
a2IzWDUwOWxqRklNSzdYalMvekwySFJPQTJ6bmp3SEdDSGNoa281ek9iTFIyeE1qVXBKU0twL0kv
Cm50LzFkZE1IdzhoSjNXUnNwNFJMYUZRY0RONjBGZG5oVVEvd1RLZ3Bvd2o4TFV4c2c3SGxscW03
czUzNnJmQzVBeDRaSjQwNnA2NFoKNXNHOUJmZy9RSDg5NWNlVDE1UjV1OWk5MW10ZG82Y2M3ZmxL
a1FvSnBxTzQydEJISkFSek9ZdGErZ2RyRG9JMklqN0ZaL1YwYzkwZgpycDB2QWRaRmxGUThsTUI1
L2dhZDJoT0V1Tjd0VHBETmZUWHdwdkJsVlVLQU5zTXo5MzROdUM2YWJVc01WbThDTXZnRVhCZnhT
Uks1CkhBZCtDN3lTTk16a1ltNmducFhLeGhONDBXR0FsZEcydGpkaGdZcEtaYVNURW9qaE41Qklj
L1dkb0JKYzgyV3JCem00T2F6RzF1R1oKVWoxZUM5RlFMelZiMTVUZHpuYUZ1MkU1bWsvWk1qM0E5
aEVEdDlvTzhMaVR2K2daZzQyb1R2RmVvbDd0azZFTkV6VFpOd05zK2dyTgp3Yyt1TjlTQ0ZSa3gx
WWJlZWhNTlFNNUpUeFpoOVN6dHprbytQQ3FiUUd3emp1ZWtCRndiSWRzcDU4OGtiZGd1UndQclpI
ZkE3cVpKCnZpRXJ1MkF2cWRPRzdCa0gxWkVTbUFNMUFuaStGeXhhckUxeWxCWFFiRGtSemRlV0NM
NmVtTm8zbjM3MkJDVUhTNjFWZVJxYVJtMjMKd2k4S05BQ2xPUjdWYXlzVHdlV1VoUmE5VXVkTE9T
Ykl5amx6YUlWYlhXaGIzMnl3VTV1Y2ZvaXlQL0xONGFMK3RUNDhhMUEvSEM3NQp6YVBMY3Myejdz
ZUJiY2Rlb1ZIYUVjOG9xNExpR05tVWFjTTFUR0JQUTFYRWhhUjM2Mis0UnVlME1YaDFqZTh0aHo2
eFplckRmeExsCnJCUW5vZXRZSGU0c3ZZODdEMTZsN2tOWjRNMlhuK1lYa2hxMjlQS3d2RHB2MHJF
ZDd3R1FSd2NOend5U0Rrd2UyanBJNnU0QlVtNEcKTkxxYXozRzkzUVRQTnU3RDErV29qbm9xMWlj
UVczcjRlKzZYYkIxR1lmSGQ5TkZQQTl5YitnZVJUYzdCdE5jTVV4K2M5YjYybFQ3WApTemlxN1p4
Snd6aVhublBVR3B3NWlyTDdWYi9pL0ZucXkweENEUzlFS1FwUExVd1RrQzhtSU9jaHF5ekt4WGFS
eHJncUlhOEtqVmRmCm5ucG1RWEpoTTBEbnU4RHl5alE1UWxSY0tMTUQ3aktLb2l6NmF2Zkx3blpC
UU1hUExOemVDejd2YnRkRmZHU0ZYVm5NR3c3OXdUV2YKY0JaSzZpWXZrMWxmQSs1ZW9JVVdaZkFu
T0Nta0xBM01TeXdpMi9yQXUzdlZIM09KdVFLdGpqWlZBSzVBV1R5RjMvKzhqY3R3SnQxMwpmSm9P
RnNORlBDdFJnWDd3SStXQ0kxeDh0UUF0Z1ZpMFl6dUJkL3dnZjhhT21hdC9uSWpEcHpwM3l2RWpj
T1lDT3JZZ0M2OHJlT3JBCjZza3FUcmtGWGVVVUZNY1k1T2lvNm5ZcFdqbkhQLzYzWCtSdEI2eGVV
QVprK1lSTkJ1U01UV3I1Mk9hbXcweWdEQ3Z3M09QZFpIY2kKSldkd3BkOU9NeTAxb0Zhc0JkSG01
QldWNFc2RVptR1BsNnp6Y0JhMHVnSUZnRmdVaGQrNmV2U1RCSk02VEs1MXU2VHJUWFpUZU1yQwo3
ajdGSzJqaGVxTllVQUNCV3g1MERRL05Sa1krR1RzZHRuY2NmclZoK0tlTWgyMFRoSDlwSENYaTlV
M3FvQU52eWdzWTNKUmlOOWhPCldFK3ZBS0s2MmhDWG1CS08rc2hjOTBaNHAraWh1c21EbDJkOXQv
VHdubVRwN0Q3UnBOR1Q0bUFyalJxSEQ5N09ydndqWjNsQlVDYUkKei8zZDBQb0JyTUhOZmQwSjRu
Ti9WM3JHUkJ0bUx1dDNCOGl2QzRTNERLU05rOVpKVjVqK1ZBOTVKdG1UME9YeW1udkR3QjdpSHBC
VApDcnRmbVllMWJnTHhldVQvRHR6THljS2FZL1krc1hMbTd5VS9oUHA5S0UyMlo4NXhpY3gyWEVM
VDVkdGhDWndFY3dYZnJtOW9sUFJPClNKUUx3UG9VOUFSWHorVFZPbU1YWGovYVdpZ2hXWm9NeEx1
QVBFSFdROTFVUnVWVEFaMkNIb053dnB1WmU3d01qcGVXVGRVaGdXck8KWFU4dVI4T1RSUmZTTkF5
WTNTK0x0K1Z0T0NZL0I2ZXpsSGRSbjB2UVlKS3lLd2EvQmdWaEErNFdHS2hQTU5adzhkWk5DVVRB
NGlmQQpEcy9zSWhPMGdveEl6UUxCMnIwYWJHc25NVHRodXoyMEVwbGQ4QnhTNlJLa0N3TndPV09k
RTZXaFBxdWRGVE93eHg5ZFFId3VYd00xCjBVQk1INmU2bGpuaDBoZjRSRmkvT2FlWUE1RkpIZndF
Yk1mYllHTGRGM1lZQW1aK3pSZ0VyUXpBQkdKdlVzNFdDNmxNK3R5NHRFS2EKKzhJeEVqbm5ScHlG
UGV0N29hVlhKK3ZrTGljSXFKdGRzR3RFRDlXc1RRZ0V0LzV1OE9ZTG1PZGhMY1hNb1FsTU80aExj
R0gzRms4ZAp0OXd2WmtjcktRS2F5NXdLcTdLNlZQbEo5bVVHS0xoWnJick40YU9VelRZYzZ6RmhI
WGZwbnV4ckU2T3dhN04xU0RldHpiKzkrclJuCmFSNjUwWE9jckRqVEJNMnMvK1U5UHZtTEloblV5
YS9TT1M0a3Z4c2NuRHdOaHlBTnZzaTVkREN0b29mUFNiYmwzN3lnWXp5WWNVRjIKNnNvbExlNVBY
ZlRncGl6T0UvblU3Sk5OR0RtZFV2RUtUME9IdU9tOGVQL0dpVk1HNStBc1Nkb01aQWFnYWRIVnJJ
R3h4NEhjOGpFUApaNTNtTFB2dy91L2NCL2I0bjZaVkc5VTlFRTQ2SDZEU2lhNHhlVGlyNGF4SDBM
MkN0Rnh4RGQ5RDRURjVRUHdlOUo4RVRxaFNlZXQyCktmNDU2ay9sb0pySkRTckpBMDJjWldBOVpp
T1pqRmd5QnNNZFA2VXMxZkVWZEgzYXZZbk85VVB4akFTTDZ4cVFBMmYzaWxOSWJlb08KQmhGYjdV
Y25uM3BPY0VidVZILzNWL0lxVzZ3S0F4bG92ZVNjZ09zQ3Z6TExRRGFBbXQzcFdwb2t3V3Z3ZFJk
ODNrVmM1MndKQnJjcgpFMGpIUjlialNNcm9RSW15RXp4c1B6TGdUT0pEYTkyQm03YjNrSlY4Q2t4
UW5hZWF2YmVMbmJuY0hBYmc0amtNckxmaHIwb2FvY3crCi8yN2VGNzU0ZDU5RDk2bFowOVFuMkY1
MGtjL2k3eTZCYTNER0huWjU2L2lxUmJBVU9PN2RWeEY3eldMakJON2hTWkNGVC85TmdIYWUKV2s5
Q3djb2pPZ2RTemE5TXBndnVDUytOenRoSEYzcTNTOUlneW1VMWo4WlFPK2N1V0JYQ1M3S3YrUVV1
aHRXZGNKaTRsSnl2S2cxZgpvMWZKUmlGRGNIVjZRVFRJSmxIM3VEekYrbUszVEdtYWNzWmlEQzFm
NjM5a1BZaFVrVXZXU3BVZXpsZ0JVRXFSYzhPRnJzaGh3STFjCm14SWwvYUVOazVRN1RHbCt6S0Fj
a3c3NXJNczcvQ3Rkbk0vUUhMaVpjMkZXUy8wQ29kWWc1T01WcE1kV1MrYkM5bjNoVmZFQnJOL0sK
ZHhDNkwrckwyaSt2OWgvOEhhaW85dUdMWEJzOE5xbDdHNnRqZkhXbzYvOXIvY1FEOE5vSkhSSkgz
SjdoNHNuVDJYR1U5ZnpwWFA1VwpaMW8zYlk1cEhUQUZGM3F4UkZiODhBZm91bW8yMndaWHJOdUVj
eEk1SGdaaGoxdFBtSk01QUN5OUI1em5RU2psTTNzUW1BZHVsYWtQClBIbzlXRDhFNUR1UnY1OXNR
Rll1WFFUK0xmS25VNytyS0dDVDlJRUwwektoMWFST3YySUk5UVRtdVplTE1Ec1JuNGF1WnB4Y1pT
ekgKeEpiS1BtUmxNbmR5SXM2UEx1VEJLNEpydm5Ma0diN1puY1ZCS3BteU1aZW4wZUg3ZUNPMzNm
dTFkVzFyNFNudDh3VGlLZWV5NCtLSQp1ZjlyNERVN1k4cVJ5RThnbnVCckUzWndDN3hMencybUNi
YU5jNVZMbm9BaGZyS0t4Sk16TmcyTFlzRDdMUUFBSUFCSlJFRlU3Z0JVCmw1a3JpQXByc2dIUE5F
RzM0TG4wUElHNEhEQTc0RzRnY2hPa1V6bjRrT2JsNWxrd1pwN013bHp0NjVLYVRMdUE3bE84dHNu
UkEybmsKVlM5ODZwU1hzS2VmWWsxT2V2dHNBczZKU09uZGRzSXpnYkw3MVpmdzY3NFlCRzlPa0d5
WFBEdmRMVGlybHlRK0hZRi9BbTQzVXdmZgpWT0IxanBnR1pUbVhuV2R5amE2K0h6eTdZRmx2OVFT
QzFONm43MWI0YUgzeEJUOFlYNWVkUWRLWDNjTll5amJqbElyU1hsUllMcnBsCmlaK2RYMWJ3U1k1
YmZjSWhHVC9SOWZJUkNQQlpDek1ldGpOdEFaSnN3MnhLRnltcjNYWjNLUFd4czZQbFFHY29ta2U1
cVkvZW1VT2oKWnRxNnZicjRuTWZ1bXhuMmJUMkh0cTNCVUE0RGFROUVaUHl3LytHeHJ4S1ZiME9t
akkrZ1dTWlJqTjdnN0R5cGZBL1FObVNjbEd2bgpqWTJXZzR2Z0NYK2NlQUErMW1BZGhxTTJwMHdu
ZEVZN1pGQ1dxM09qTDVKNnNoMG56OHlBUlg3RHJjcVFNVzIwcm92TFlLbkhZMkJKCmpvRm84d3JM
c3RVWGZzSGhQMEFIUC9TMVhQbmVrOHI3a1g5bjZZdCs4YkwxaTdIdEl5aDdYbXdscUEzTzVNR0FL
ajE2TzlsWHMzcFIKVUE5b1ZUM2Y3MDN3clh2QjdrUzhISjF5RnNoRjN2WTNmNkV3Sjk5enBvL0tT
Ym5INjMxZUwwbTdXeVpieGc3NDlWUHNpWE1ibHVpdQpkNzV1TkR2ZzRWVzVjSDNBeTdUdEhmQzJL
RXZ1WkJETzBUK1huak5vRU8zUFh1RHREcnJhVE9BZHUxSkhUd0tMc2k3dThGbG1NTG9PCk5zR3Bn
MjdCczNPZDNhVjEyL0lId0lYVEdkYmM0bHNEYlFYWVF6b2lKSnM5ZDNzL3pSYjZMUFpoMytaZXRT
M09RSHNwN1RxejFGZnQKVk5BZW04Vzc2L1dFb2U0ZDcrUmRMcHhmOUQyaUUzaEJlU2w2ODVWRStI
ekFLVHRmYUtHREhoNFZ6RHhMMEtWelhqYWVRQXpydG9LTApVNlVQYlRrK3d1WUp5SE1pc04wRGht
YmE0OVAvbmRSaFlKWStxQUc2ekVOWURuZnI4TkM0bUVsL0x1T3ZhQXZQZk5rYVd4VFpKRG04CkhB
K244blVtNlI1SnQyWEhySC9VWFJGdnNiSFlJbC96eldQSFl4eWpTTlUrZWhhUlRIUE0waVNUZFYw
Y251NEh2VTdkZnEybnkrbUcKdHJhc2NoNFdvOU15ZXBDWFp3SzA3WmhXZW1GMnNsUGZ5bTRqL1Nr
SGhiU3QwY1BZZlVzQVhHUVUwWU16QkxKUGtKeHhzY3dmeG81ZQo2NHB0L09vVWhmSERVOVRkWjlZ
OG1VeGRWT1ZrUGs4OEFLOEdDL3VYZnp2WlBSakhXNS9Pcnc2SWpJNVI4Q0NObzBVUHZMWFIvTmFq
CmR6eW1tbEUxVHFRY2U2YUpkUkxPWkt0MmhnT1pSWDVUMzdwWG1ZMFAwWUZYL1N1czlpZVFuMGQy
Rit4Qll1a2xyYjhGbmdOaExZWG4KSUNqZjBSdVVha3JWblZRRVYrcEowalJRQkRudCs5SDlTY0ZI
MzVHaThRckllYXBUT0R0Y2NjTCtha3lwS2hYVTFCc2x0bWJGVktVOApYdDViQTNMOTFxK0xTUXRw
bTR4VFY5d2RUWGErOE0yVDBPSk40UzF3ZHI0cFdaUno3M3ZsMFZIWkNhTXZpejNFK0tLZDZLSnEw
NW9qClBNRlhIYWJaQ1c5QlZrWnl1Z2YvaGhlZUFHczVPOXNwSzhnZEJ0NnBhOFFPWmc1MHNKMTU1
YUlvYnViOXpsZmpiNnhpSnp2OGk0dXcKWmRMS1c3akVRY0FLeEdXcmxGMDcxZ3pLTHRtV3pOQXRr
RHBiWFVZY1ArbjZ0UDJaeUNLcTZ3WWE1bEhTaklPTzN4bFF0UGxNNElVKwo4OEl4TkUwSEoxaW4z
djFLVUI2WllxOTd4ZUphZHVNSHdiektEelV3UDlYZ2c1TG44V0g5VWxMTGc5dGJUd1lkZldXT3g0
WG5IQjV4Cm5weEtzcnVtbk9pd3U2NzFUbHF2UERMWnR6WTlRcTB6Z3ZNaHpoUytZZ2pJaDEySkNr
cmRZZDNwTG03d2thWHVtcUlIUTJ0MTh2T2YKSkY3WnVLZHhhN0ducnduaVRGTldiZjl6MVpmMmxr
YkxGNjFrREZuRUp5N01YSnh5V0RJdU5yNnB5T3BQbnc3K2FIUCtsSzJ4cUppVQpkVk9iMU5GNlJ2
ODd1anp4QUx4MUJzdDlJTW9ub0wzL09tKzBXbDlKbVFlbXBDMVBSYzlEVkQ1VUpUejFLZFVWdU8v
cjZxQU1Jb1BnClgrbzlHM1I0VUt0alo1QXAxd0ZSTG1NQTc1U2x5ODhGcDl5aVE5cE12aWszZXRO
R24rV3NOWU5UM25RVmVkUnVBTGE4dGcrbVZXY0UKK0xBOXA1QTNtWE1QT0plYmdTRVloT3J5TS9R
d3dtbmprZWsrcU5SR0J4ZWRGYWd6MGNHYkxNcmVRdWkzZXBxNUxqdm5jclM3WGhaYwo4ZUZDSURi
Qkc5dFRqN3BXSmt6ajduck5YbHFlSFhDTWF0dkNwcEdkMTUxdllHUWxoYVA2ZlNzNzMrMGVjQlp0
R0xvdkFielVhQURaCkZuU0YxV1BHanRuaEpVaTRJdlZoa283QWswaE5rZVhNdXRsVVFWZDNGMHhy
dWZSY2dYZDJ1blA1ZVlMdFhGWjIzSXBXSFpvQXJEYVQKWXpJeWhkbi9WUDcwYVJ0dmgzU25aOUdT
YnVvaXNCL3AxbEp1Qk9TOS9LeDk4b3llQ3NJN3J1eHVjMEtDSHd4RXRoK2Z6WTdWVUFSTgoxNXFz
R3B4VjZsUE83bncxZVhhNDhvaVk4VW1WZWg2NmtySFRTaytuNk4vR0l4LzFzUHRCZG42bFhxUm84
VjdTUWJLZjQ1TlZ3TnNtCmVsRFQ2MzNQT2ZSeVRsRlBUYU5jTytpbmE1Rk5XYzNUMEdtWFkwSUZj
KzlXM0s0aEtwM0V5ZGlMUmJXbFVtOGZVUWJQcVhMYWllTFMKaS9pSWppckx0Q21iYlpzSGJscFFw
UVpNOGMvSnZmWGpUQlJ2bXZhTzQwbmYwWnYyaXoyd3Z2SC9jUDB0ZlFvVWMrYXJWZGUzK1d0bAow
UUdiOFdEN0FRZUhzbVZMUStzWldSN2dtcjlRTkFQY25oMzZ3ZHpKdWJDOWtyS3ZHQTN0Sk1vVEQ4
Q0hSdWxFT3pITzNEcExKMnVpCkN5RFZuZDdvaXlKeDQvRGhDeG1aL0U1d1AxaTFCdWs4QlQwUFhC
MldETnBwRm9oNThNcEJ2Smo2UEhqbHd3T1RQYXNVOWpoZEo5a2gKdk5iWGlTZmU0OFZ5eGZjODJu
cnBFbjQzZU42NFlRcHdUbzN1a1Q5Z2FaZVVqNXgvcUltL0k0ZlFtOGwvakJGL1JuNHI4QTJVMTdN
VApNU0RmaFlQNnpzQjNJYjhyQW85RStQNU0rRTFINjZ1SjdVanNKOXVydTFPUkNORzNDYzF1TjE4
M291NWJzSzVobC9FNk9LN0hocmZDCi9qYVVYa2wrWitydkRQNGVhTDhLaFpkbnQ4dnFZb0ExTUU5
VysycUFqWk44OHRtdkhzMU9PRWgwVnNtbk4rMWNyRjFWREtyUkFWMGUKNitTYkNiN1hSUUEvU2pj
WWQxQzVNemJlSlVFVytlQmtsRDdadGd5eXUwRDdBdUEvQmZOcUxqbS9tdkphZ3RoOUNNWit2ZXd4
K09FSgpsRmYyMTRrbTBQcW1vcmRCbTNRcnU5MjdVTG04RVI0dnQ5NjZlME9XdTdXeTJmWXhHZnFk
Mk9Zb00rbDZnSitIN0JQM2I2SmY5eWZyCjR3K203bGliNWxLMDhsV25sN21YdkxORi9BMWNrdjQ5
ZHZYUGhlMHYyUFcra2Y3N0VwbTc0NTk3Y3ovL3Zsd0tmaXkwRDBmL094bGwKRGNMWkRqS0xzME1z
TytOenlDQVpQR21VR1l2VDdMRlBIYjJSZ0J4THBKR0U3d0g5WXVkRENLM0hZTnRnR09kanVSZk1E
eEF5NXhYagpJL2VEZ2RGMVYrckJMUXBjWTN3K1FkUGZqSzVjaFVvSm52SUtUdHgwRVlkSGZHMFg5
UC92azUzWGIwVCtUVEI0NGY3T2FMOFg1V1BnCmZ4RHR1Zjc1cC94NVRqVHkvV0Rvb0lHbFdIYWRo
OERtU2Y1YVA1MTNwam4rVGgzOUFiVy9JRHUzWGtPK0FiMzNwUFJiRTk3T2VpLzEKVXFZOWxhL3Bz
TjYwNFoxUzlNQ1drd1ozV0xjdnB0bUpDdy92S3A4WGNzeHpDUEdLWTlFTm9HTjkwbGw4L3FMSVB1
MzRoUE5tckVYNQp6T0h5ZHZ1OE5Hak9YcEkzL0tpc0VTaHlZbFZ6enJoWjNkcHUya2tVSngrQTdV
eVBSQXh1ZndsUEIrSVdKMlRudzQ3c09TTlRzemcyCmVlVGlPQWVyNmRLRXE1WDZqQjIyNzhUb012
ekFjYjVJL2lNbnZaUG1PNmJMdUliaWkzUzJGM0J3N0J1VW5XeStKMEFaNGxueXdHdXAKQXV0bWs3
b0hucm9MY0dBK3hwejdGNnJ3ZzJ4Y2RMZ0trS1pmbzlTN2ZEOUgvaFd5QjJsQ0IvTCszS0Jyb2c5
RWVReHc3RGZzVTZDOApNcEo4SHpyeXYxRitCTUg1TXNvTG5uN1dEdVRkQ1JoOHArMzBSNk5JMDdl
M1FuOHA5WmZTenZYUUxpSEFFQzd6N3VaejdFaVNlOEgwCk1aVExFSDhDK1hIQUxtUTFDR213QXJI
QmRIYStMZWRpNWNoUHpsZVJETGdKdXBSbGtzb3FHMXdUZU5FRnJJMmZCZVdQd0htUHo1Y20KbkNP
cjc5M0FQNHRBc2d2QUlMem5PQUVhTGs3UjZDK3ZOc1NPWnhKa3Y1OGdaY0E3RGU1MDd4NVBnMzha
K3F6L053THJ2NFArTWNCZgpTbmtQNUF6Q1A0SFRmaHovMkJPVEp5OVBvL3l3cXNZVkZheXJROWZC
OS9uaHJBL3RmUnk4Lzd6N2EyRDRGckluUEVtMDg2ZndtSDZBCnEwc2ZRSnVmQy93K3ZiNTdURnpr
amlLNzlocER6MWxleVM3NCsrbkxmMFgwZW1EcHZtYVZINUZFbWt1NCtBZlBVZDUyOU4zZ3JnRDcK
MFRUNXJ3aTY3Mm5iRTFtODhzQjhTakNtclp6QXBHMWhNdngvQS9RWnlQaDdRNzVsQ2s5bmZqNFQv
bnR2ajlYS1Q3SndEblMxQUNyeQp0UTlmRGZTdG9OVGpOMWljcnhlajZ4dDVDT3VLMktBd3Ruc3dj
NkxvVTgrK3ovM2J5TlhIS2g4RzIrZkJhVkxzRmVSZlFOY3I0THVWCkE4cTlzYTJxdys4RW42TmYx
bitXL003c25ENEIzc2VCODNoejdpWEFBcXBMT0tWMS9tcmRnaEE2cFNBTTZuc084djhGUFg4Sm5H
RUYKTnFsWE5xdlBJdCtMeXFkU1BwRmpWTjI1NmtBUkprdnQ2QlE2Y1BSUnhwYW1EODYxYlUzckRs
bjg4Q25yWVRkMWFhdStyWjZ6R00ycAp2ODB1YlRWTit3T0lHMXJEV1hmZ2k3L2tGKzQvV1V4cU40
bmYyZ3FtNURaWmVUU2EvNUdSYllWRGI5bVRLazQ4QUd0d2ZrMEVDOGRCCkdodkgwRUU3c1RrQzN5
U1FycjBSMTMraTQ0REdqVDVsTG5ERzhPaEU0TWhtNUlHY2xhQXRZNTg4UVMyMkJGTWZNMkdhclNZ
d0pQSFIKVStLTEJPakd5VE9UTmFaUXQ1eXMwUEN1Q3Q0RXowM3dzZ3drZS8vWGIwTzhDMW1kazJm
aXh4WjRML1FGUVFBamY0eWV2b1hTcnB1agpJRnM3NE0xK0ZFdUtjWUdzSGIwQjlJK1Nmd20rcndE
elVFbHg2dTdTczVlZDY0VWFkVSs0bm9iT0VoUnVQNTVMZmc1NkRQYVhVT2JxCnFBUmdzNEVtbDhv
cC9URUY4OXZJenlUQS9pcmxrOWo1ZnZnNFM1azFUWjJqZmI3L2E3bVhwcDhKdHRCMFhod29vWWh2
UTgrVENSQVQKZkpWM1ZwZ2ZqdWVlUmFDOVp6d0l2MjNtUFlMVGpnaDNpUVJYd004a01MMldMTlpB
NjM1T3YxOE1uSys0MEJlRHNnem5DWDZlSEwyUQo4aXVvUHk0N1czaXBUNWN2QW5iZGMwNU1jZ2M4
U1c5bmJBZEJXMW91L2lYa2YwY3RQRzF1NW96S0JTaDlGL2xWQk9MM3h1WjZPTXUyCjZYa1lUeDJk
SlJnOUhkb1B3M2NMZ2ZjVXNIZUFiK0hVNkJKZyszRTJHRzJrRVZRYmlQWElMK0szWDBiUHB6TG52
cFhBZXZlMENjR3gKMkJaemd6RzRmR2lYNDZQOXZrZTVUZ2lsWm82TVUxemRZNThVa21mQWs3Qkht
N2FrYnVaRU9OSU9kZWlaNzNrSVMyUm41Wm9ucGk1NgpBa3FEY0JzbkVNOEcvQTJ5TytUVFJyNEV1
YklyRDJsQlMyb2RiMFR1UHdQL0NvMC9qWHgzaVJrSEFRaW9TUGVhUDhlMEpGS3RsMGRICnI0TGhx
Nm0vUmhzaUM3T0drbHFzdnFHa0xianhEWlQvQWRvTElINVZNL2sxeVRWdGNvMXZkV1ZhRXcrYWl2
andyYnFPZzlNbkNLTmoKZUtyT1hQVUJ0SEg2Z1czVHFWbXZ5dy9GWC9OenRIV3B2ZE9oZ0VxQ2FG
ejBwTFZkUTlFRGZiT2hWYTExNGVpQk5uR3QyVTZrT1BFQQpyRlZqOE5aQlBENnc1ZFpCZktGakow
Vk9ISDl4WER0djVka2M2aXpJZnpGdFBGU0ZVeC9WVTNaRHNhWHQzR3hwbXVhWW96NjZxaTVaCk5l
Wk1RSUdCQzh6bnlFNDV3WGg0QjI4NVNYM1AyeW83L2U0QVA2UzZOOVNVdXppQzlaNUpxb3pzOXcv
L1BRMytQSERkai9XZWJEM2wKbk9iU0tBclZXWWpveTlsNGNIcURzWUxtSXZVbTRLZUQvNWZvZlZo
eFJyYmFiQldxb3dOUkRZLzNnTTl4dWZrWjVKY0J1K1AxY3ZScAp5a3VvYjBtVE1jUzJVMnFVTnBr
QjN3cmdTY1JOQk9LUDh4SzBPMStmZnJhY0pLK3BkV256WEliT1BXQVhheGY4dytST0RQemJXS2sr
CmgwRHhSOUs3M2RrQlA1clE5alB3WmJHTVBIcG01MnRuc3dQMktlZGJqbDVJSHo2ZDhrWURsSUdK
WktBZE9NRlhuRUVadk9LRHV3Ry8KZkJPMHIrRHJMWnBnTmdpYjlNdHRCTnkrcXg0LzMzcXI0VTB1
Zzk0Y2FhbjJ2RHgvZEIzMmZDY29qNEZUcHk4OXlzc2tySE8vTlFGZQpCL2VSLzNId1ZnaHpETmw1
MGsyZmduNFZUMHAvR1RKL1NmWktpWGNGVE5yay8xa0M4aHFFRFhOYjhMRi9Xb2UrbjhHUEw0SC9w
NUI5Ck4rMTJCenhKSDBMakRJMFBjbWoyaVZhUWpiNnRYVm5nTWVCQzA1S2tEWVRtM0pDV2NhTE92
S3Q3d3NVNm56WGZvYXN2QnNoYjFEd3MKQ09pdmxtWGJiRWt3TzQyTmZtM3JCN0RaWGEvOG5vc0pt
cUxUaXFyUW0zUGRyb2VCajJ2SVg0OTkvNGJ5Ym1sYkNreklXQzFkSElIcApnL2dhWDI4Zi9Rdmd0
M0hnNjVkOEhSaHVucVBHQnVZSUdmSGdvd2Q3MWFYci9nVEMxMUg1UE9ERFZPMFZWam1UNVFvWHRq
NEhyM211ClFWTmY1YVFkVngvODBEUXdhMDBzQjl2dHgzRGhNVTY0YVpuUFZNby9vaUg0anlIQmhW
VnM0YWxHVDYxcW96RFlJbWtVLytXOTBxT3UKcVc4MnRNaUczNm00dzFBZmhuZFl6NmJBem83aG02
UEdRWXNQd3RmTzI0UWJTRWRWbzRQZ01WMmd0NUQ3ZUdyanBBVFpsaDBkWTVmbAp0Qi9sYitkamI1
TEJaejNkR04yTk8wNUZ6Qi83STFSY2c3YzB2WUh5bHdVV25WWS9pbnhuZ1dQUzRwb3lDQjNmQXZL
WFVWSmZNU3JsCkxnWWVzRjU2ZmhEWGpPL0p3WHhQRnJvckthK2xmaTN3dGNDM1VMcUw5UkwwOXRK
NWROMkNuR2Y4WGdyVndMU0xuZnJCUU8wWUJaZm0KZUdBQkx0OW43YjFzMy9SbSs1N3BUdWU4VEht
YTFmeisvT3JSZlNodklMaStsdkkxczhMTFNzcENUL2tNOHIzSTN0ZEtRNVpHQ1hOZgppczdQRUs2
QldSNlROcGtUaUZreDhzQ1B5OUw1byt2SlR3SHk4cmlYbk91eU0yR0RCZmI5Nk5CUFlVZnVwYzZP
TndFWFpwUDNOdG5uCkdYeC9FK2pKNTgvdzlDekJsd0JydWdTYWw1enRnMEgzM2NpUEF2OFdndTJm
VXQ1QS9TSjNzdmdtd1piMnZvOEEvQ0JvOUtwb2xOSU4Kd082MFRQcTZBbkRWczdzdE1KK01qa3pa
c2Q0RXhtUEJQeSttbTd6RVA4bnh1NHJLUThtM0lxTlAzQVY3aWR1eCsyTHlxNUU5QXBkQQp5eHk2
ZFdCb2wwTjdCRDE5QlAzOEMyUmZSTkMrb1lQdUJHTDdieUMraGhPNGo2TU5MK1UvMm1EcmlaaDlZ
cTVWcXZaZDFaMHFYczUxCjNseTg3bTVsMUU2ejR4Z0ZMYTh1Y3g3QW9qVEpaeWREMkJXU2JzdGNh
MTN5eFMvMG54ZTUzOFo0aTlsUzlGVHRtY0IvaWNwdE9sTlAKRXdpOEUvRGRvVjFIZTljQ1o1ZnFW
T3ZrY2VVQjh3Wk8vSjdGcGEzUFEyYnUvWGJ6K0xxWTY2R3RDaW92cG9HdkFWMWZIS3ZlZUdVcwpO
b0JYNUYycFA1elNLMWN2WTV4dXB1Ui9jOWZmMHRiM1VTK2tCQ3UzbnpBLy9iSTAwRTRhL05TbkZH
OWE2Y0pyWFQrdGZDWEJwNFllCkp2VWRoMTl4NnJNajNYYlcrMVRGOGplTndUZkh3WlRUM01TSTZH
bmtKamRNbE1maEZ2SWRBazg4QU91UWRBeXo3UEE0Y29XMU9IVWQKTm80QzE2NlRuRFE4VmxaNTlZ
L2NIaDZ1WTUzWmd6UzJXQ29YSFUwYk01d29NMWxXbkRiSUtnNldxbGlTaHE5cXU3cDZpRzBsMDdB
OApvMS80R3ZKM2tYMklZc3hVM3pzejhUOUZodHRKNnRnRWdGOUsva1dRQnQ4RXZXN2tNcFE5Q2Ra
UHBIeEE2NXFKNTluMHdMK0wvRFBvCm1aZkxOTkFGNHpUNVlqcndNblQrSFl2bUF3blEzZy9PU3pl
Z2VSbmExQ0xwcUpkVlg0ZUtYRzRlaDlrTytkMmhmVFRaaDYyOEZ4ZFAKeHM0SzJEL0xEdmNQQ2No
NXNRWTczOXNDWDNUMGZRVGFyNFA3YW5sTkxWb1ZtZ1Z2OXQ1dmRzRHVlczBHM3FUMkxEWW9ld1BC
OVBQSgpmd0JQZ2dVNDVVMitmL3NuMlBuZU9Vc2JnNkNlRnEvd3FFNTNvZHdQSlg4SkFlaHM2c2lq
dzJEbEx1cEtHdnJYQk5ySGtxK2szZHdqCkJqYjlEY0hXZTVxL1NIQTlCVHl6OWhwMnQxb3hPMVlu
em0zUXR4LzBnTGJ1Z0gwSXE2eFdhNlZYZ0hrVG9QaGtQdTZDbmdkUzk3MVgKcnlXL2hsM3hFVzEv
QkJ6cU9FMzlITzBvY1NPZjNuWjRMWmVtVDU4N0ErWjhkcnVlVUpnK25pRDh4ZUFleGttSDkybDlT
dG81NUlYagpQeWNnL3dEdzl4SkNRUkR3SGVYYXlmb0EyRk9ZTzgvQmxydkNBNUhtOEtVTHZIQktE
eGIvb2RzMys3OUdBT1hNeXoxZUpNT2JjajdrCnlXdE42OXFCSng3YU1lbGk3L2RhbGMrMnpNSWJy
bEhhRUI2dkJKdy91aEU0TEpBRnJrTGtpUndENzRMdGQ2YnVzVzVYYm1UT1BJOEkKK2ZNOGJIVXRO
UHR4amptbEx2K2VpL0JuSW50NWRPdEQ1aTQ0cThyYml0LzM5U1RxVzlHcjUyMTNzaWUrZHlGN3I5
K0g2ZTRFckJ6bgpPVGxaK3lzcVB3cjh1K1J1Z3R0UnVKaDZFbkpSMWxVTFRDemV4aWxuWHZIUjFY
VHhrMWErd1krOFBDdDk2dE1aMStCMUhSNS9qKzQ5Ck83dk44R2d2ZjZaTmh6WXZmNGtGOEZtdWYv
SnNNdXJCd05FRkVONnRmWUFMYkZxSmR4QSs4UUNzc1hZdVh6dmlJSjZ2R0UzZEo1VTMKbUlONTZP
S0g1bFBKZWJlelR5K1Q1K25tOENDVCt2QllrZ2MzNVo2TzVobmM5dlJ6UHgxdGZaNkFuaklQVjNH
Y2Vxd0xlOHZJNDlhOAovZUlSc0pNK0I1NUhBR2ttM2t6RXd1NG1zZzk0L0QzNTd4aG9EeEF2ZjZM
R1VZK3M1YVhRUE91OXA1T2g4ZXBkVS9ET2xwNHUzOUZFCjJMUGJqVDVnOWVReWR1dHlBNkxSTmVG
RWVva2FIdklIa1Qxd2Z3c1dFMkMwdTREOEtoS2ZUNmw0Q0JTWnRpeEEzZ3MyR1A4dEMrenYKNW5L
emw1ekp3SmVRTCtXeTYwY2orRmdrc2dpTUVzdnFTSjdnZkNxS2Z3M2N6OWdHcVZ2TEF1Ujk0YTl5
bDV0ZEw2VndkcjFZcWFIeQpPL2N5QUZUU0JxVUJkTWszQWR2T2k0Y09pNEhDL0tIa0h5UDdtOHcx
R0pUcU5sRE1UbGhha0dlUHZoM0xyb3QxRlhqZDdmb1U3Y09nCmZ6ZndBd2pFN2lpek9BSnJsUFg3
a3IrRTJydFRlcDl1N3V0bVZ5eFhMak1Ea0c0OXl5WG90bFZYclFIWWVZTVhhRzNYbVRmVC85bkQK
WFFxL0ozR1BJM3VnRXdMNHJDZDN2ZUx5WVFtOHU2ZXFQVzUvQ054ZllhdW5HVW42TTY2KzlPaHI2
TnVuMFpuNnJyRTNTQ29vWndnSgp4SjVnZlFlU3R2Y0ZpRjNQZkRCbFhBaElmOFVPK0V1WmdEL0cz
SWpoN2dwTm1xV2ZFMndKVnVJNjFjNnhLelprM2hKdzVzRFFOd0tPClVrdjFOKzBMSzI0cDJoekRs
V205RzQ1NzlZNVhkdXZWbnFkRzN2LzIvdXFWYkVFL0Z0NzNULzEwN0EwWHZ0SmRWOEQ3a2VoK1gr
Uy8KQTkxL0JkSWQ2K1Nib2Y4V0FsNFZVS0YrejQ4eldKVlBrMGcvU2I2V3VzZG5CWW1pWFEzK1c4
bnZRdllZSEg2cTRYVkgvSFVnZjR6NgpUMHBVNTFxdUFnb3RLU1lOUC9nNS80bDg4N25lbVdJcnVp
eE5jM2RnNm9XdHoxVmVURjVKNlNScjJUWEk2WTh0U1dlNjFIcFYyQVJUCm42Z2pDWnNpWC91QitI
UHcwbGJZdWtuYzZKeVlOWHlERDJQYjU0OHk3T0ZEdk9NZkp4NkF4NlRWb2VKMDZ1WllmZFkrbms2
UFhDWmoKdWxvOXY2RFRvS09uSFFOclV2UU1iWlJaZGpzYmlybzZWNzNyZU1zM0UydGd5MVhOQnRQ
ZVR6RVpYVnBkSkEzTzdpZ00wTzVhaEZPbgo5R3oySmtvRHNQUEVCeUpTQ3B1Uk4xOEovTDlUdmh2
WjVBRmcxcWFCVTE4cytsTjB2WktzU0lzQmVZbjFWRjUxS2V2ZzdXdE51SDVKCkI0cjFYWjZLaHZq
Wk1QNFJBZHF2WWFUWDBzSDlZWndFRUFVV1NqbUorWXorVTBjL1BUeVJwUjN3QnR6UGhldGRXZER5
OG8zTE9PclkKM1hMR1ZLWHdYSDZHMTZkbnIwSCtoZEdsQmJad2l2dUkzQU1EWDVma3NRUGNPQ1dY
b0hGS3ZvNUU2UzQ0S1RwUUtEdGFiaVovSWZtRgpCRlIzdnNrR1o5TGp5VDlFRzdVcndlR0pFTkFT
ZktsQ3ErU2w1N05jZGoyYjE0ZnF5MHM0T0wzczdNTlc3d25URDFKZUFjOThmOVlBCk85L2ZOUUJQ
d0gwc3U4NEh3disxN25JcEovQk9JTmI4MndqRzBrejZmTDBFUFhoUGtKTGFSajNtZ2YyRjVFZGh0
dVRobGMvNzJwOU4KdmdSKzU5NmtOOUhkbndkM3NRSXNjT2M0S2ZZUytSVlVmeGduUHB3VFdTKzd1
d0Q3YzNoZXNxNVVnYmpnUzQ0K0VVQS9QQUhmK2ZVYwp6RUhhci9pY08vcFZkTCtJTmo0QVhFNk1l
akd2Z0d6Rkk3TkdYZEdrNFoyNi9UU2JOQ2I5VHlPRjJ6NFZOSGRTekxvb1QrU281VHZJCnlvZU5Q
bkVRK3pXNlUvUlZaSjNVS1Y4OHArRjlLaFA3QVloNnFieDIxK3hnSVd1UnBSUGZlWEUzNEMramZC
cW8rQmxaandrL1BOSDAKL3J0SjN0a0JTN2FwMThINzAwMmZ3QzNwa2VUdlF1eE9KVnJNOFB0NjBX
YVBTend2K1J5b1YwSDcxbkpyN0ZQMzNOSVFualN5MW5XSApkVXZkSyt5YXM4TERKMTYreVNNM2RN
dEpheHVCbC9aZFM4cEF1TGUrQWN1ejFvRzN0WHZGeTlZTlRBa3F2UEp2Zi9ETVg5cUV4M0tWCm1S
aWtmTm9QWUI4WGd4dDNSd3RYbXBOUE9DYkd0b1Bzc0ducnBGV3k5Y0dOVTRZMy9DUFhMaE8zcFl4
WDZ6Mk9YcVMwRTVtbHZ0bUcKanRXcCt0Y3hYUDI4d2ZxKzZac05BQW1zeU53QXpjdDNONUM5Tkhr
OTlXUnA1RFBVUFE2NlMwSTdFTHJwUThnK1BQUGVWa2c5bjJMUAp3RVhwVDQwalB5KzdXQi9PSUtp
YXdYblo4eDk2bVZnZWo1emdwVFhQOEhMYW1udkdQZE11Ui9VVHVyR01DZUtXOW5OZFpqVjV4ay8y
CnYwSGV5NXRiQXVmQzhXSGtxd2VKcm0xQ2ExY3FscVFFWWhaRnlzOGluMktCOUJMMGx1SC92ZUxj
ZlVhVUpmWFFPZURQR3ppOVY4alYKRFhjWlp3aTAvNHgrL043TzYwQXVpT2NUS0g0RXZzdVZTU1Rv
SnJDOW5DL2ViQmdyTC94SGJTZklyZzlXYWNaWGdidWNrdzBEcmwzMAowcTVCMTNsbTRKMEFLbnoy
N0ptamR5RS9nVjN1cVNVZjNVSWJaQVB4YmREUFFqczJOMTh1MzNEcFpuUlkvMUR5MWVTejVHcTMy
cmI5CnFkdSsyYnJwR2RoNVRwaU9lQm5kdnRtbkoxTStsRHd2REpGWDJPekppUDJzckI1OWRQSFIx
ZVN2QjlyR0c5QjNMWnUvVXgvbnhBYkIKWVFqSUIrMmRZNnpNRjV4UXFjODBEY3FzbkVZdTQ1cjZ2
SzZVY3ViUTlzN3c3WVVjM2I3eTBiRlRJMFhkQ1ppcGlPRFlJRjhWU0JHTwpqTWk1Z0d0V01mbzVB
ZVdld0I4aXZ6U1lQQ1pNcitYWXZKVmpyMzZKekdNUStuS2MvaEwxYzlROXBpZGZBdnd2eUZjWTVj
M0trS3Z0CnFwYjIzZWZqWUhsQ3R5bjc2cVlkMTRXeTRaVjljYzNnbEJPL3ByVSs4SlRLQ2EveXd2
RlhhRmxwVm5VRmF5OUp2Z1RKeGZnMWJvUzYKS0kvdkZiUk5CN0hUOEtVRXZ4cy9HSFpzNFY3bHly
cUREby9TTzFpK1l3THdHRVdueG5tRFNtbG5qK253T0VhZTFRR0g5WEYrZU5Regp2am5RcWR4aE82
S1VuNE9sQmtIcy9pUTVuREJwWTlvSk14KzBsMGsyN1RiZElpQWZOZEVVcU5Rc2UyYko0NDdsdnBR
ZW9CZTBEVzJaClgxRmtrOEVCdkpwczRFeEMyRVhqOGVLQTlkSG1MM0EydlBOdFFhSU56QW5nTEFy
M1kzSEl3MWpzV1BJdVozWUU3Z3JPa0gxUXE3NkMKUk1rOXJyTHIxTkdmMlBnNEE0WGFjQm1veDVM
VlgwbG9hdU1KS2NKMlhOaVhjL2dDZzRSSGFzWG40dmxjZHkyVDNlVjZtay9lZG9BbApqc1RhVGoz
QTRpWGZGL1F1T1FzOEFjQWQ4SlBBL3lDNTluSnRXd0l4K3ZNMHJTTUR2Q1R1aWg3OUdvSG5FdCtw
akFQc3R2ZCsvd0ZCCjYzMElTdFZIZGtmVURiNzZmMkJwQnVWZElENGJHNjRnTUJwd3MvdUZQN3Ro
QStndFo0bkZ0eVFyVTdDbHdmWDR3SDNxbGpOSEgweVcKdHdKM0JjbGR3SzM5OEdyRExlaCtMcGE3
NDUwZHVQZWkzNW44R2QzMzZZTkIxK1F4Vk8rVnRzL21TZnJ4b3FOL2pOOGVSbVkyeGRlTwprMlB6
Ni9UdnI0ZFZYNXNKdUxsbjd6VmUwbHcybnZFZjlwUTYzTnpqbjlKNTRaeElpWTRDRXh4R0FBQWdB
RWxFUVZSTVRIaDZLcWh2Clp0VGdOcDA5N0dHT1hGRThGaXRnRm9NendXQTY3TEo2RE13ekVma3FI
c2VIeDg2cEJOYzZYaDdwOGNUeGRScWNlUjV5dkRiTjFQeloKMXJKcSt1aEZ0Rkx0WTBTbngxTStw
T0hoTDNQcDI0NXQyRk9LLzF3Z3ZScWVNVDdVNHovZW5xNlJTTi9SUGU0NnJoUjNpQjk1MjlpdApT
d2RHSFZTelJtZjBkb1NzMytybno1RTF6Wm8rYlRoUVE5dHd4d0d0NTVBMCt1THJRK0lKMVoxVEo1
ckc2RGdOTDQrVHAweGoraXVECmw1NGYyLzQ0YnEvenNKdW1qY0FPd1l5eWc4cWZNaHN1RWdvTlVJ
T1dXbzBidkR2YVFPTDJKcUk4SzEvRDhtM29EWUJYVzZoM0V3VTAKYnlaZnc3WW5qNWVqZnhiZ1dl
QU5XcC9KRWVOYmt5YnQyUUpTR1ZqSjU0LytiVmM4b0YrTFFkNWZ6bHVPY3BZTWNtZGhCT3VwNU1K
NgpteXQxbGFtSGZDOWhRVXJ6cExxTVZtejZWMC9QencyK25JWG5OSXUxOTMyVEU0eHU1ZktsQzFS
ZmZzNkRNV2pUYWRyVXhRYWtMWTA0Ck92cHdlTHhrZkIveS9haWI3eThoc2dLNzVLc250d2V3V0lR
TnNMN0VRYjAraS96bFdQcDhPemJ0ZFQ4L0NhZCtGNHYveFZtZWNIaWUKYmk2NWFDOVR1cUhhL1hv
SjlpWG9lVDFZTCtIT2ZWOTNqRitXQnR6SVZPQTErSnBtRjJ4cHFsM253TGR3b25SMDlKRUUwMS9F
eHV4aQo0YkUwblhQM0c2ZytES3B6TEoxdFgweVFxZ0JUYjBUeVByWnl6cHZWWlpkY2NtbmExeGty
L3ErcG40SFhoZHFrbkMrbCtPeGJ6eHhkCndTcmgyUHVTanJvVXFRMCtOUzNPVXhlWWs4dG1LaVI0
YWVBYklmbUxYcm9tRDd3Sms1NEg0c0ZlbldEZUpEWFAxaGRrSjJCbVBHV3kKbVVrYVR6Q3IxSVNW
SGtJcG5Tc2tvM0V6dDl1TWNSb29nUmQwWE1RREgzNTlUbldaLzA0Sjd2cytDSVMzUUx5U2xhdFo5
RDk5QXIrdApPZGhsNE56OGp0b0g5a0ZVQWRWVzZzK25sVzNWRDhkMDVKeGIxOGdqUHZwZ0pIMVVX
UlJZRGJacG1kWVZ2cDNrcGZEM2dmd1NqUzcyCmJuZ25vTDJUZE8zVWJ3K2UvZzJmNWVSVlpuRHFG
cFptbWpMMldOY0prOXFXbWVlaXM5NmdvUHFycnVwL1JBNzRoMmQwV3ZwWDBzMGMKcGFWWEc5YTJv
cE9QNEJiMnNYWG9KMUdlZUFCT1ovalFZZjZaeGxtMWFCZnQwRW5oUXk3NDZiU09VVmM3VHg1MXBH
eWN1amZuU1dxWgpEYmZvYXNGcUk1WDlEMVU3U2N5VFZsajExWHBSaDNmWVExOFlZdXBLVkd5aGx4
WStod2ZRUVB3YjVCZVR2NUg4WUxMdHFNc0ZiMDBsClZwLzZ5RGNxbWQramZUUzgwNlNjOFI5MDRm
Z29SRCtHcTNiVDRlVWp4M1ZJM0MrTVVObFNvR1BKS3c2Ui9uc0Fia08xR3F6QmpvY3IKcjJ3NllF
bWVlNzY1Qjh6MDR6SnpjTzVjNWpJMHVQZWcvaDRLS0R1cDdaanFsTnNPV0hwNGluS1dTOUJmUVNC
K0xrRTJselRaWFdYMwpDKzVUWWZrMjhwNUxOVGFybml2dW1rdGZkZURVMGE4UjF0M3htdk4xSThT
ODFQZ0lBdXh0N0E0TndETXZEY0s3SGUvKzd0ZmRxYnRRCngrUXhsTDlrTXdtd1ZmWW9nV0tubmNU
WHd0ajVUa0t5d2ZKUjFVN2xSTVZRZU9tbHZOVUpmV1gzenBWekRBM2VvUHludEo5akRYaDIKd0Y0
QWVCSVBaY2svTy9selRJS0x1VGRzL3p3WnlmaU9GVHlJTlRxRDRvVG00d25kOTZMeTk1enBlV0pX
ZUs1R0FEeDV6QmVaRXlaSwpnb1JqWkxMLzVqeUlWUWcrbC9rZ2JrM3FXM1ZLdzg0TFh0QXlLdVJk
NTVlNmZaQ2pVOVl2VUpsZmxMNFVSNVpaV3pKZGtQY3JSNnFKClQ2S3ZqUUJXeDVVckxrTG9vZFFi
a2VuMkxQVDE3OXNPcGQveG5lUzk1L2Qxc200b1BlTlQ1c2NuMkpPbTlBRkxYODV5Z1grS0xlTVkK
TTd1K3dvM2FLOVRyZW5USUozNXdVeXE0d2x1OWJZdy9HNTVHeWkrTnRJaFBobHAra3NlLzZWUG1O
Yno2UEhqWUF4ODIzbXFrSFp0UQptV05CT3YreEpSMDdsdnNPSVU4OEFNZHdqTjF6cXYzc2ptanR5
aE8rN29JT2lWUGtOM1c1T1VQSHREUEZUWXJqclpJRFN6alFzZkZ1CmhMSkQvSXlQcFg1ZUo1SHdw
UEJaYjV6RkovQ2hFLzF1bm9ldVpXN1J5Q2FPQlVVK0g4cTZtZEo3cWQ0ci9sdnlxOGgvUWZiKzhk
SWQKS2p6OUNPNXB5SDhqOENPQW5leGpWOWxSQjNmNnZOd1Bxa25vQkZ3UzhsT1AvNngwUjJmUzZz
L3JRTCtDL0NMSjVEb0RCK2hrTXlaNQo0My8wYU12ck5uelJ3NEYrTDZtbjNSZyt0TkpRbEdFUTEw
cFNSS3FDczVjWkRjNlRsMHZQUEVxNUt1M0dDbVdZK2lyYS9SMnl1elc5Ck5la3F3RzhqS1BNU1JW
RGtMUGkwRWNmU3RxeWFFTHV0ZUtuZFFGYjNQUDhrY0pIVmZBbGZ5WGtnUVhmdWtlclRDcndWZkJF
a1ZmQTEKNkpvTXZEdVlyeXB4dVZsL242ZVVGMklXZnVmVUduUXJvS3BCYThJWmVQMjREN1pYbU5i
MlNRWGJKWlB6d0hmeWFvUGQva3RnQTYrYgpwUFBBcG50dzh1QVQrZUxxRlpVY25mUTlic0xHaXk2
NnJGd0VUL25IVXZ5MDYvaWNQM29JOURmWXAwNjNFcGh6THo0QldUeDVkc0lxCmI5WUt2enU1RWwv
cThtWU9HTXBXZkRmVTJGTThFYjJPZjFobFJ6eHlLWVgzVStZNGZMTzV2QTlrY2ZVbUtuMVlOSEg3
UjF3cnhCZjYKK2ZLMHRXdEVmZVo4L3pvOHJobGx2L3gvcFJuUU14OWE3RUhnRGNJNlhCNUJyOVpI
cW1IUVd4SU9UK01lRXNiU3k5WHcxVnViekFDcgo3S0hPNGJGVS95VGhhVy93aCtYd3JtVjhCNk45
Mm95S0xqK2FzL3ZnM0VwOFdCVU1DL0wrMWIvajRZZzBEajJoSGNqWjVyU2JkWERvCmFicmtSVWtM
MzlCUHNEeFl3ZTY0NW5SOGRhWXFkZUE0TWE0cHorNTErcmltRjVrTHlOQkdmcHlJNnBxY1N4dlRy
alRUT2hBalB4T2wKT05TaDdxb0pKMWxHUCtYZ0FPOUc5cncvTVJEOEJGekZnNk9NTG1pV3JiWmVM
QUhOZ1B3cjBINmUwb2UzNWhXVUhxQnZJWDhOK1NjNAowTjZKMGlCcy9DbmJTdFAwUWFPRjQ0dWxB
OWF6Z0V6RDhQaHkramZRaWRkQisxdXlsNnl2QWU5T0Z2VmJyb1dpRHZicHMyM2tJRUJtCk9xUGRw
bWxDMlB1Ly9yZ0U3T1ZRa2FtSW1DeURCSkkyVHdyZmdwTTJmS1ZRWXVuemt2TmtBdWw4RC9qcDRG
N2x2VVdTaDVKNSt2QnEKYWo5Ri9rejFqbTdBNmpsT2pwd0J1ZVNsN0JJdlU2Q1NoNis0Myt1YnJi
ejhmSDl3K3RyQTZ3NjRMa05YR0p3ZDhEenNaRm1CajljOQplb21aWU91QitFNlViOHVPbGM0QzIx
VTFuRGxUUVZ0VGhUUEc0SDFKeXJpRjZ0WVhYL3Zwbm5uY0dGbzZYOXlYWE9MT3VIYlY3bjROCjZt
K1IxTHZmMFhwdmRyL2FxaDdqbk8zUGs4LzJEd3c0NTV3MGp3SkxLbHNTUHMxRFMrZU9YcUQrSmpG
S0ZaRERLN0t6UEl2Umpwa1AKYmNtL0pWbWpDMkMrSTdnUmp3Rm9ZOFovcnBTSVNaUHFFVWg1b2V5
UXE0Tit2VWp6d0xJenZSMlJmU1Z4RE91RE5wdVExVDhHMW5URApIVzdzczlqcHJHOGdVRmUrMDRN
SG9CeTc1bmdmbjhzK1Y4azBjM0VsbDhHclRVK21ETnc1bWI2ZFRxU0w4SmhHeDJKS0VZNzVsR2Y0
CkpZL000S1VOYnNTbkQvSHJJS2ZiVTZxci80Wmx5cEd6ekx5ZFBrMnBUZjFYUXoyRTBoQjVlTWFI
bzNlTkUrTDJkQS9UQ1pRbkhvQTEKZk8xd2pOZnpTNy9UdWJYVDBLYkRxeVBHdWJmYlR3ZEkxZU44
blEyc3J0RTNzdHYzaXJtUEpaeGZTd0tlN3dDejNtM0g4eHpYM21JYQorQ3duMldlbysyTU1YcVd5
OU90R1BKUzQ1WFFUZThSTkd0elVEMHNQNm45SWZpOXMvd2J5Mi9SVCtsR2xYNkQvYWZKVHdFMkto
ejJDCkp2Y3BiUllZR2ovUFdZQVBWYjBOK09XVWYwSDVHdkxyZ0Y5UFBrUE9RMWJnZkRqRWgwS3NK
emV0ZnRHSUIwZDQ4S3BleUZFUGxIalAKTncrYmdNOERLTlJ2WkNmajZ5Ym5WWk9hZWljN01Va25w
T29IT1Vla3hNYmJaM09TdUVWVzNDWVBQTFNGeFJIZnlkdkNlUjVNYzdGagoxMGxRM3A2bUphRE9W
NCsrRHZoeDhMeExWc05SMXZiRWp2a3cwQmdBRFVTMUF6WUFtelJGbjJ2ZS9RbkVzK3ZOZkJSSk1v
QlZBSzRnCldnRjNkK2w1SHF5UzkyNEVRazltenM5bFp1cUdublhYSzk4RTVETzJMWDg1OStpaXk5
aTVJdU5wdzF5MGx2K3l5N3p2eTI3MlVrdjcKVXltTFBqb3NieUFiRDI0ajZQb0FtRjlMdTdjZDVG
aXhCZnRrWHp3Qk5Ia1pPaTNIZGZtSWYwTFVva0pSdmVUb2FwSFd5eVVwL1VxZQo5L2d2MTA5em90
T0x2aWV4WHBnd0FEa25IYytkTUtCSnVTMnBmR3R3d3dhd2Y5cERPUUZOVEZJSzJ3ZUl3Y2UwQTJP
bUNDVHYxVHZQCmVabGJndGc1TG5kcFJpNmdLSnFvVmdKV1RYYkZ0cjJRa3dzdUhDOTVsU3RDRjNt
NVRNYStZcUE1K3ZtdDhKWXJmQkVKRHVjNHZTdDgKWHBLV3B4SWNxVGdIbUNXSnZEdXFkazBTOWlU
Z0xpRGVna0ZEY200ZEpubDFCVTN1M0FLVGRkTmNpWnQ2M0FiZTB2VnkyaDM4MUtjVQpQL0FsODB5
SXVwMVhsbTNjMlg1ZUFzeVdhclp2MWVKRm44azVITytvWHlWZDdzV0RvSnV2eENLWE5ydmRScGVP
cWJ3RHl4TVB3T2x3CmUzK21TNExxT0dZNlE0ZmxOYThwdUhhZzh2TWlqbm5CeHBUejhvMnQ3Z3M3
ZUNCa0w5QVNZSWVlTm16VFA5dmNiM1kxWVlQSE5NdDAKcVFkN0dEYjhJTHFVMXdtNjBvV25iam1w
WFhYMHJpQytpdnl2eWFIWEVSZzJYNHY0ajVDWkhlV1lZVjlxRVFWRDRGVFF2cjJXNnMvZwp1K2Nn
N2FWditiMC9lekVMaEhlTlZKM0ZTTUppVEthbWRmRVk1c0pqc2dnL1FPQ1dpZTNBZnQxcXh0cUE3
U0oxcCt3TSt3RXNqeXp2CjcvTDZ5WHpuZDduWG0wdkxhMTNZeTgybXhiYXE1N00rRmxvVzZOamNK
S3paRmxsUXdsczlmZVpFaC9JcjJGMDlJNHUvaXhsdEJxYTAKay9KMXNxbHF6dTlyOGxOMTdIem5q
VmZ1ZnYzKzczM0RXLzQzNEU3UU5XaU5NbUZ6amdld0JrTURvMG40TGdSUDAva3pIU1NwSi94MwpR
SjR1VDBEMk8rWGFNM1BJK1dBeWVKYW1WQzkwSTJ3R1kvV29VOWl2ei9uZ2wzUERJQ3orWHRvN2pl
SVEzNWcxdG51eVVha2NWUTlsClZWQzJ2eVhtL0R4L2RMV002TXNEU3dHaFkrTjFYR0s1djFGL0xq
OTNXOUo4NzdLQks0RXpneUZmNlZuSFJ0VWhhSWJ5S1lQY1BoejcKVzFuc1Q1OGllSFliSVk2K2xI
eDQwenVKWTRTemJCL0VTc0lwaWwwbVN4N1UwejRxOUExVGliczE3bGFDdDAvYTRZZDhXeDFVMThG
YQppWHhCa3RSNTBkR2JGUXU5NWRIcjkzNXJIUVhvbEdOZkhUbXFRZTVJNGRDMnFLUjBQZkw3M1A0
TWFDc3YvbW9vL01OclJWbVRPTlBoCnpscjY2SmRuOHNpVlZIMk8zdUUvamtmYnM0WjB1NjdqeDZX
WmY5SUNMMmNSNTMzOTNsS1hKNEVjblRrMnVwempSSC9INXpLdVNWdkcKeUxaSDIvNS84Mk1NMDVm
cFhFcDhzNzMxaWdONWd6bVRUcEEwZ0RZOHBVRjIwcDZ1UVZLSzl5OE9DdFF6Umg0ZHZqcFp4L3Fu
Yzl1eApvMnI4N1dRNVROS0NYMmtOSDhlL3lxLzBUYy9DSUgzd2p3Yi9TQTcyUDI2NkprcTdFWjdu
VXo1cGs1UGl3ZXNCejVHVlJuaU5KTmp2CklUK2Y3RUxqUXB4algxdGpMM0x5TnowQjF2YmJHVjV5
ZmdneVZ4T29mMGVtMW10cjY4SVZYMGRmcWZXZWR2RUtWSnFsT0xVb0dBcGwKOUtaaEc2OTh5R2dn
UHZiK2IrUGRpbmxkbEpYQnk4N3VjZytUczhMRi9DbDAvbzlvMDlkdHBoL04rdHZnZjVUOE9TUFlm
ZG9DY1lVLwpxQVliODZuY3g5ZFA1VTlLRWszd0JIanRkT3ZTY3dXbk9vaFovQWxrQnRvS3hnYmJx
ay93TlJBYWdQWHJiVjV1N2wzcWVXQkR3TTE5CkNYb2N0ZTJBb1dueW1EMGVNREQ3dk1GaDBzN2Rn
MW44M0dOMnhIVlBWNHZQY3duYXRwMFg2cnB6M3d0V3p5N2d3b2N2YXdjc3BaSzYKSjlYOVlPZW5t
RlA4OXU0bGVZQXZEMkdCWTFScWZvNzFtUS9GbTAvcSsvT3Rlemx0ekRZOHpJT2s0b21iVHdyS3Zx
Q2Q4UmRsVzYxQQpKK2xyRG5vUVRVTlAxRmlTN2JkOW1udkFObU55M0hKTTJDOFl4S2RMQ2lsZ1Ji
RHAxZ2NkNWpRU1JUSnhRanYwbG9kMGlZUWxXY3U2ClI4QU92R01OVit5c1E3MXNBZXZWdHJRSGI5
S1VYVDBzMUdFYVd5MEhKOTV1cmJpVlQ1cHBwUmZtd3MvNGJnU0dQTFlkbEk3QnBJR1YKVDlxUlVo
VnZMTkZQMldHRDliZUdOMzdxamxlTzAxYWg0QzBjeTZQYnVtbGlUTlZPN3ZQRWQ4RDZ3azc3dXNr
SnNwYldUZW44T01weQo0S1pKajBNYUgvNmhPWnFkVmozQ05SbUY0RmwwaG4wbmxtcWMyenpMZUdh
eXlMRGlJbkQ0b1Q3eVlrN2d1U3d6OHRLRnAzNm94dnJ3ClRQendUVkQrZ29sTmVQeEVuc3JmeU53
cEUwcllQcGhSY2oyQjlXbVVmMDMyNngvS1Y4T0JyQkdNS2hmTTVLVCtZUExWSUI2RzNQdWkKeTN2
YWY0djA4NEFOWHVvb09lR3lTK1VoWWFBTHRWL0hFWmQrQ2hMQURRSjdhU08yY0FUZ2tHOTRJVlVD
RWY1ZGRaK25kU3c4OW5ndQpMODhsWjhzdllvSDZjaTdqZVQvNG84bStwemU2VUtITTE1SWZqLzBQ
MUI1VGlwMVIxWVJJNWhpWG9LOGdYK2JPaUR6M2dlVzVvZVhICkpJUHQ3SUtqTm5ycm51OEVYUEVH
WGgreU1xaDZ6OTlMeUNhRHI1ZWlmYnpJdGlmb1dqdlRPMlF2UWZjYUt6cjlzVVR5Nk5UbGwyNHkK
em5jdlE4L0RYR09qeDFuZER6NmIzWjFCMndld0hFNjFYY2VsYUgvajJQWnI5eXVlR2pqelBIVFdX
TTZGSWdodGRCVEZlKzZtekVxSApWbDhpZjQrY3lTQmpHM2FFc2RHMmJHSlUxWjJMWFB6YjI1dGM2
MVFqU1FIbHplSFpGWkxIUHdiMGFWZDhUTklzczNLUlR5WElPUUVJCkMrU1l1dXFIM3haejFabURJ
TWRrZENpT2xFU1NoWnlXMmRrSFVmM2ZUTzYyNVRLNDM1VTU2M01hT2JoYTd0b1lpckQ5Mk5xUnFO
NHkKMzJZbnJmQ3daM3psS1RWbDNDS2o3TWdwSXp6cjB1aVE1L2JnbFRZOG84L1NQSGg1ZDdReVls
Mlg0N0FvOUlPa1BmRUJjTEVIUFhCRwpGK1ZiNEV4N1loMTFoRHNKNytscHZ1aUJUZm9XdEVlbzJ6
dkRWL0pPT3AxNEFONDYyeDN6UU4xTFZzbHhRc043ZENvNmNadzBwVEttCjBUZU9ucnEwd1FrbnRl
UGlYQkhheEY5a1dsOHg3bjhlbWp3VFIzekVXdTlNb0tpZXRscVZ2Qk9RaGVVZFBZZHlRM2V5dnd2
eXFncVAKN1hWKzlhSzMraUdpR25YSi9wZmtWNUlOaUcxbERzenhpZDhwZmloS0gwSVBya2JzYXVE
N1VQcCs0SnlvYjQyNkFPSWwyODNxZ21BMQowK1Z1a211YnRDdmFXS3RqZUUxVmlHR1NBRlcrTlNz
d2VScHBYVHU1NWxIRnlDb1RQcEZMRXI4a3YvLzdoV21YL2tMN1N2STNRYzlYCmtRakczUDNtSmZV
WDhWN21pNDUramtXdlRwTUowSE82REtUNS9zeWphWHg1VjlyMjNyeEpNM3g1eGZVRTVBcTZGVUNI
WmxtNzM3cmMKTEZ3dTRTU0ZZRnVaWFNmdHZObWc2MjZYeW0wRVdYRzMzSHhMN3VmZVRGbHk3RzV2
cmt1amh3SFlLeDRtSDg2YUhiQ0IxNER0bk5kKwpjd1ZqN2F5Nk8yRXZjWjdCTmxPZGVQRWtQanRp
K1V0dDNRTWVIMWp1NzRKTDE5Z1lSZjF4RFdQQUV3WTExbW1BSHh1aGJWNXNhV3ZnCk8yL2hzdEF0
SHJrS3BQRFJibEoxdFdCeGd4Y3pNTWJjWkwvTjJEQkJOU3grcUNONjFObDZJMXN5ZzVxbUxDVm5q
U3NndnRsMnhJMkQKTFdxMUdhL1VjVGpLNUNISEZ1MUsweXF0STFkWlQ0SmZuY1lBS09WOVBieFJR
U2xwbDFTd2p4bGFSS3E1dE9PdnJvbFRUeVFVUFNhRgpCL3pJeXpLNE5uK3ZmcWdpZlRwQWpyem80
K2dIN05WWGtHdHZoZGUxTzdENitKTTJjN1A4Rk9IQ2g2TjRiQ2Q2K1BRL0JjYXR1dlo0CnJFeUsw
Nlp5TXVXSkIrRE5MUHVYRVFTekdCNG5PZkJrWVoyeHBuSG01cVNJRjQvOG01TkZrWU9Mc3RLaS9L
WnlYM1h3Nm8yTzI1bDgKYXJtOUNkSm1UME5WTHAvcHJzM1Q3Z1RmaFJ6OG9XNTVUU043VDQ1RDRj
R1BtWG1uTG55Ukh5Uk0zbU43T3NpWEF2c21xMHJGNExyMgp5ZlRYUzlkWHBSMCsyQ2tMT2pacEE5
bjRQRzFLOTJ0UzBDZ053bU92aTBEVjZ6N3k0RzN2aXZCVm0yZ08zNDNnTmdYQ3BxMEVzSEZGCkpn
K3hqS3FHQTQrUThzTEtkVnVwdHc2S1NjNnFMNEhtZTUrcmdhSThGYmxuZzN0cHE1eWR4Ry9DLzRP
d2Z2N1dsSEx1UFgwUzJXQm4KNldXcHF0OGJ2cmVPRGFxbXJkZFVZYTEzdnJ0WFBzNGJwMmJ1dWhP
ZGJIOVVkUXM3NGJkNXJ4ZGQ1Mjgray92QXhuM2ZoSFV6RExQcgpWZjlOTjlYcGpTLzEzN3ZsMWY2
UU9nRlkva21YOFpDV08ybkgzcDJ2YmRldStCUlByZE51Y0xHSUI3SDRXVUw0OUlMODJ1NHVPRlRn
CmJtcFVCejg3NHRvMTlmeUNVaWVQWGtUVnI1WHVPYUNLdGkwY3RBM3ZNQ3ZoWFBRWG1aVGpRLzdB
cGFmcUl2YVFSVVR1UnZLV0ZPMTYKdUNXRjNQTFJMVnd5TlQrRXdTSG5QVUJaSnVDTzNqcVdzSE1r
WVdxcGpHMzR3Tm0ydkNycEZxSnY1bUVkaHhkeGNsSXB4NXRLU1gvdgpoM0RYVmV6UEZrWUIydlJU
V0pwdU05M1ZzTHlaQmoyOTh2UnlTL0tXSVR0VXk2K3lHM0VCMUwrbXFTdTN0aTNQcW12b3ErekE1
WnV1CmJYYTBwMXJKSEVQMk9EQjg1Zm1TMjlNQnFqelR5aWlzVDFKT0haTVhVdkhKSDRPcmpiV2Qw
WEZIeXhNUHdHc0h4M2c3Sm13SDhzY0kKemFSZCtlMk05RFd0OWRXNWd4ODlpZ1VXR0I5UDJTcGpU
eXVQcnJXaFkrQ1pWRU9LR25VS3RFNXB3OWR6aEw2SzNhV3BUN21qWEFqTgpVOUNIRko5Z05HVnlX
NUxkbWIwRzZEbmt2T001WlRYdVV2bFZNRDJlUnVXMWJXVmpxeXdnYWt6VUJXR3h1YjVXdENCZ044
MFl5cjdwCkFmL082bzVPZFFuWEplZzNvOVFYZ3lTbGFFR05zY0V3UysxNkdIY2ZMd1hrbTZhOERZ
czJGQjI1RVV3ZFl1dkpBZ2UveTl2N1NFdmIKRWl2eGh1bWpid2Yzc2REcUpmcGxnL3ovRXJhUGhP
MUJZUzJaM1h6UnZsSW43cjNZN2I2U0I2MTgrTXJkci9tVjRJYS95cExST092MQp2ZC9hQmJ2cm5U
Uzc0RGNSR0cvRE5uZkE3bjVOWG9KMkJ6d0JlUFRmZkhOZG1DWk1yM3ZHOUZ1NU0raFJabzZOQ2J6
U0x1ZlM5TTBHCitORHJBU3o5ZnplK2x2UTZ5ckdhQ0gza205VU9reTcxMHJxNlViRWt2Ly9yUTFx
RGttamxWSDVjUTJ6TnhFTDdjbzQwRmlYeWxySzkKQUNGUHAzcnJWemVZb2h0U2Z0VWh2TmxRVDNm
UHZNak1HQVBMdE9aVllaUldhOE16alZPV3lsWThzazNmbWxjdXFzcUdhSlEzTmxJUQpNSE91SWJu
YnlKaW1yakxvZlBwakdZZkp0Mk5sek5UbEdVNU1jUXdjWitycW9KaHo4TmpVU29UZkdEdktsTFdy
aCszSWUwejNON2FoCnJYekNadFBRcTFhZjRvWm42Rk91Zk1MeHg0clU3dlMxa0s1VldhOUV0NUta
dFZNUDU5Z0R0L1JaNHl5dHo1OHlxMXpvTWJadG1iYlQKaDFaYXBwekk1NGtIWUhwV2lkS094YUVZ
SDNpNlRRY1BIWDNvR0Ixa0drY0Zic2NNM2pKSlZySTZJN2M0clRsUzJJWnBiV3NtUWxUSApabTBO
Ry9yVVdiQ2ZBYVhWdGFVUTVQVzVKc3ZBclVPNXRUNEhSb1Q2WTZVUHZ6dXB0RXNabmRiSlhrSTJo
YzlKSkVENlpYSGtNcG5lCmF3ZUlmd3J1OFpUVjUrNDU5WkpYQUJ5NTZ1VzNpL0t1NTl2NFRxaGZO
ZklyU0diZlkxczV2d1VNWEY4Lzhnbm55Zy9ocWVmMUZaUUQKdndINnZmek9ocjkydE9aNXFjYVUy
MVBRTEwvQlhYUjBsdkxiZUFqckprb2ZzanBGdmlmNXk4aVA4ZUdzWlBpcHo5dXQ1aXRIZm5jMApy
NkxNUWdWdk9TZWxid243WWhiQy85dStkOFliZVpMN2l5aC9TZitKSUVGdVB4ZW1YSDdxNkwzdytM
T0dxUm45MGZNM0VwanU3SlBECjNEdXRnRnNQVzZuSFVhb3lBcm4wN0c3VWU4QW1GOWpiQ0xZRzMv
T1VKdXVvemU3M3BwdDJRWHRnZDdwN08yQ0ZTTzUrYjBid2lpc00KdHNxcFpSSmYvYm04bnNkdzkx
dDlPanA2QUcvTmV2blc4MWg3ZENNLzFQQldaSGNuZjNha1h1QXg4MiswN3J3MkdIblp1ZExBcTl3
NQpBdWNFcXRCSEQ1WXREZ0hocExWdHpIUmZuZ1RzUFh6bHZIenRTVVcxMFQyMnV1N254cm1XL2hS
aGQvbTF5bTlQTjZ1aENQbjBvL21xCkxCdlViQ3Vuejh4VDArRDVxdERGMk1relBMdmpuNm1WUk9u
VkN0ZUJ2SVFrZXBHaEx1aEdOYmQ2Z0FHUHpqQ25lNldxWXpBMWVlWG0KWnlyekNTOVZzKzV4VE45
RTMrNXUveHkwNVpLMTdJTnUwUlF6dHRMK0hsdE13a25xVlkxMXlrbER0eHg0YUphYkRQRFFweHo2
eWlOdQprbnpTSmxkZEk5U2xJYnR5czBuYlpKbEcxTUZmcjJnbGsxRUZxK0pKNm16OHhydkliamo0
NC9lbVJmZllFZzBRNUVIM1prTXdKL014ClUraGt0S0Zsakp4U3hXdG4wNURPaWZlcHRjK200OE1y
UFk0WnVnN2diMUpnYUt2VGxSbjg4S1ZVaDZJdG5yYkNTUnV0djMyK0oyWkYKdkRsOHpYc0J2cVZH
bCtXaHZ0SFRySnZPbFUvNHYyOE01WnBwOXdHRHA4eGtvTFN2cit4R0RTWXVjUFBMS1I5TThIUlh6
Qys2VTdvZwp1Um9RV0ZrVlRvRmpHNU5TMkY5a3FjdlhkcFNId05LV25jMElVQUR6N3pFOGJYZXo0
ZlNTbWUvSURiK2RnSmRQZnFCOWtyVWxMMkJ4CnFKK3NZSVJQSGYwWmVyYVFBLzg1NksrRmVyV3li
eWZWTEdrOUZpYS9YbVIyd1NZNGZ5VmVlRWc4VWI4RG5JZTNvUDg2K1QrQjMxMXkKcnN2TzJyVE9z
dytFSTc5ZW8rcTJSOTg4bDRwenNQcEJRYkkrRDFyTlplZTVEeXlyZW4zSytRL0k3bjRUSUNBWWlN
MW55Uk53TGRkOApNL1Z6NUZ0dkl1Q1R6M0Z2Mkd3eThBNXYzVE91dVM1czREZG5MR00vYnkxalYr
NlBPT1FkMU1MY0QzWkludE0rM1BXL2ZLSHRabE9HCkx0RHVlQ3FmblQzNmNTN2RYOCtsZTM0SGla
L3M5TGR6Njd2WVQ4cDQ2R3V5d2FUenBaVHpNRjJtUS9UeTRwaGRJOVhnV2g5RG5HTVoKZWo3YXRq
L1ZQdWpKOFc0ZEo2MTI0d3QvZEU2SFMwNitxQm8wNWRyMHBrZStyZmxoYWlIeGt6SHdZbjdBd1pQ
Yk92YnErTXV2bUlIegp1UHdBanRWTHlaNEVPOC9tbUg2MmRMTVdnYy80bGVHcnExYVROdmo1UUZx
emRqSDJ0b2t5SHRibEZiZmloU2NOM2ZyZ3B4eWVxVSs1CjhrWStmZEV1MXhvYTFKNmxqUTF1TzZm
UDRWWkI0MTBMVGRzOFhmR1FObjU1K2kreThDazc4bEhDaDhkdDdCSG03eDJWUEFKT1BCMGEKSCtm
cUxGSVdLTURONFV2ZkJwY09qMk42NUlJYjNxV2N0bExPSUU2UDFERWpiL08yeTUrNk51ZU9ycEdS
VFY3U2lGWnQvelBxRmo1bApodC9TK29wVGV2UWV3cVA1VDVCNUliTEtqMWw1TXhhajlIZ3ltNzND
b3lnVGpkSjNNSHVBWHJ4OHplSytLRFJYZTd0Rk1mM1dMbWhqCnEyM3JpL0hIOVRUOENnUTk4NjRF
cFEzeTBJOEZiV1BSK1lUM1hjTVB3VWJodCtyaWwrK1JUbWZFU3BjNEdiQjB5dFFabmorV2I1SWkK
Nkh4UGhPN1MrdmM2Z0ZoMlYvSnZiVFY4V0FmdHIwUjlwemFTOSszZzlaOG8rR3RGSTFmQ2RSKzRY
a2Q1anQvK3ZTZVhteitNbkY4Two4bEkwVDBjSyt4TnlONUZuenBXTzZzY094cCtnRElBVGtQK2Nu
ZWliaTZFQ0wvZDRzL3VWandCcjBEUlBRTDJKWUdzK0E4NkFlNXY4ClpJT3gyY0FzNyt4K0xjMjJh
VFBWL3U0K3RIYmNGOExsOUQxSGg5MldDZHh6QVAwZFpoMmJPUWRVVDNmVE5uMzM2MG5lSDljdjNn
TTIKei8xeUw1Ri9lN2t3R3VialNnQ2Y5by92WTlBT3Zxc0R1TXJBcDAzZWFpa0JDbVZXSm0yTnZh
Qk5vWE9mSHZDVlZxRWxxd2s0NHk2ZgpTVHNtYlhwdGNVZncyTWdtM1RaSXNuVVRxWXV1ckp3MFB5
bXJGcWdZQ3F0dzlGa2xxWDh6Qk5FN29leDl0dWFyYlcxK0pseHZTVU1jCmlidEc2OHlZTGJnMmU5
Rm56ZXEvQmwyL1ExbTJOU0RoSUtseStpVnNtckpxOVRrOFF4OVRwaTU5NUtZOGpqWjY5dnlsa2Ja
dHVTWjEKaHFCdSs4cWZDaGE4N0pzdWFCZndsOVQydWNyS1crTlY3Y3hjVitmQVU0bzdxY1J3blh5
S29UT0E3YlJ4VEtyNkRRY05MczdjM0FKeApTWnRqR2gwWmRJOHpMSlVmWjBkMFZGQ0diNm5IeVYw
ZkhjbzRVUnpQd3dsamZZM2oreE1BQUNBQVNVUkJWR2pTdXp0cFpqNkdmbGdmCmZhTXo4c08wbE9L
dklUK2QwWmpMaXZrNkkzV2JmQVM1SHFMU2xuS3NwWC8zYUlQV0E5cExWY3BYZThWdko4cEgrcXVT
cXVJUHFqTVcKUHdJeWV5aUZtejdCalF0eW0ydzB5TlB0Zk1nb2hURHQySmZuUlk4Mm1KdFozc25C
VTErU1R4ai8xbElmOElNSDBIRHpLTEZhblExSAo5YkFOa3Mxa2RXQmtQNWo4K1NLYUxUeDhlUC83
cVJ1ckFpVTBmcDltZkh0Wk94aU9Vbkl0bDU5L25LQzBlK3BaZUwzdks5K3VRWFc2CnMvZGVkeTQv
RXlRdEp3bDdEMWkrWGZEZDdXeHZ2QkhkNUcwSHZBWGd1a2RiUWJqdko2UERCN2txVHlCbXBNQ2JQ
T0Y2ZjB6elNPTE0Kb042RzVlOEYwNmRmWURmc0U5NlR3OS9kY042b1l1WlArYWVJUDRZMkw4MlB6
OUlRSDA4azV6dXBZWVBCMUV5K2Jlb2VoZEdZWkczNgpsUjZIR1k5aWFRWXJ5bmRmUWtQdGp3TFVT
V013R2FkMW5rU1hLa3h0UmcwUExhSnY1cjFHSE14OEJCQk04MUFFUjArVUZibFU4b2xkCmtWOTVH
cmY2VGxGWmxQc1FLOWFvT0RiYTRtdHJmd3JjakpuRStRdjc4akUyV2Y0NDY0Z244cTRKUGozZzVm
WEppOGdGNFBTcGJDeXkKc0hsTnd6ZTRsWDlvZzV0eXgxczltUGt6K0szc3R1eHpqUUtkNE44MGZo
Q3ZsaTFwSTMvajg1VHk5NTk4dzUvNVMyMHZkWFhrYkcrRAo5eGp2ZUlWaGVjZWxPSzFIWUp5Vmp1
c2dSNkxUT0NZME9qdjFsYjdCTFpjQjI2a1k4cjZqanFITG1MYWhyWU91bVRNNVp0TElLencwCjZ3
NUdzb1Z3cDZVN2c0cStxVWcvanNjRDRjWGtieUw3d28xRlphYUZYZmdNOHNpT3pkUC9kNWVCdEZz
c0NPSXcvN250RlNtZmdmbW8KU1ZtdDdPbUM2N25JL2I0VzBESDV0OHRtM2RGZGFHakZZU3JiSGdU
cUFVckJXd3VHOG55ZkdQeXJJbStiTFdBYmdxYldYZldpLzJmUQo3bDRTMklhUGVpMUtMUk81MWxm
ZGdVQUMxZFpUV1FsTkRBTjQ1UDhOdlBkWFJGM0swWDlsZnh2Y0Q2ZzY4dnM2SEFmekJ5THpmZ29w
Ck15d0F2dzdxQjhFVE5sV3dsM3ovc25sMnY5ZXlJMzAyMmZjd3F6TUpJSmVTRGFic2JyWEIzZStO
TnhwNGErY3JyOEgzcGh2WjlaSnYKaFdheU5OL01idmhHOEk3djdKd052SFhNVlVQcTBJNnh4ZkxS
WjlqSjl3Tmkwc3NicCtLUGw2ZUYrY0JMMHYyNG9KODY0L3pSeThqLwpYdmJOT2Zha05INmVZcE9F
aDZlVUh2bkxQYVpwMy9JbDVEOFVPYnpDY0d6dEt6czA0TitEOXB1dEo2eDhUUHNSRXpuOFVBcEdJ
SDBxCmliUy84ZXdybTNXc2RKVS85SGU0L0NBcktsaDR0SWtiL2ExM2pzR3hwYnB4NnVqRGtMcy8w
am14M216ZzUwckJ2ZUt3SGUwL0pxbkwKSi82ZkN5MTZLVGZPQnNxK25iQjhaVU9WTzBwQm1yS1lV
MzFVeWUwa2RiMjlsUDZuelFQR2crcjRhZlA3S0ZXV3Z3bVFhMXdKUzlPRgpSOGVJVGhuWjQvam82
OFNLdERzQ0oxaWVlQURXNEhRMEEyVVBxdVBUK1FvQTdReG8wdGNVK1o0bXgzVjY5Q2dUeDg5c3NK
MlJ3NFpOCkZoTnNZNnQzWTZQbmNJSllQdzQzemFoT2ZTa28zZVg1Z0lTL3BXcVpESHdEcDk2ZXNm
cExSNzRwNmlad1hzcDdNOWw3bWQ1bi9WRncKWDB6NXJmRGtKUXpVV3pWWSszTjA5QUhrSjFqcE5C
TnNTbCtnWWFvZ3NwUCtEbkEraUdPU1pjWWtLUDJUVHBhZnpvSDhDZXIvRDR3NQo0SUhWT2hNelN2
aXdyL3VwR2hqZmZJd1M2bzJlZ3QyQi9BaW8zTnNPbzVybGFVMmxJamgzMkQ5TnprSUxKc3RaOC9s
VnFudTJTQVlvCjlqZWlkY2pmUytDT3NMWXo3U3RMOXI3MWQ1R25IWDFZUFQ4NitqcmtydEhPNUZZ
bkwzaXovdnNLeUpjcTArMExxT0g1Zkg0enVOY0QKeXlmZFhITU92eUQvMXlDZUJlQ1BZdVNsR3dS
QTcvbm1rdkxzZ3VHNW1VQmF3YmVDN01EdWJvVU51TnN1R05oME00RzZnblk5N1N4dQpkc1BpNTNL
MFBkY21iZFNtSzZsL01ObGtYYVB0ajd1bWJ5Zi9OMUhrK1N6WklQcEQ2dm1qWi9ENUNVaGVCNnc4
YXBLcytiM3NKNmk3Cm1ta0NERExaS1Bsem1xYnNaUG4vRDdqL2FwU1ZaSDIybkRyOGV3YjFidzZ1
MVFQUDJLcFJuVWxkVkgrczJIQTNMZ1BnRmpDdGd4anEKbENOcmM2b05SeFBUSlRCcFJodjhreEdD
d2RoNlBsT0VLMjA2SGo2TTl1VzIyR2pBNk9lMDZ1akxvUCtLOVRScWFTVnFONVJ0UHd2YwpWNGZD
aDgwS1U0NnRxWlk1Z250SmVmTmhPc1JiSHpNRzdpN3VpUTV1ZUNXTy9qb3U5dGhqcDVoRFd1cmQz
OHcvZXJYNVBIM3p3Ly8yCnQzUWFqYSsxdGZGcHpmNU5IMXRHdlA1UGtuODFHSjZUVHFkUFdpSDlx
dzVzZmNpMFN6UGpxSlJncEV3SHhjMmZ6QU5QS1c0Y1V4TzMKbkRNNDIwMjJ3R24rcGE0ZG5HYWtE
ano4VTQ1L1ovTEF2YVdoRFVKVjNhMmdwUDg0a012ZWpVU2ErWUdHVzJGeTcySjVLendwclpQbgow
czhLZzhZdVB1eURSWnQrRjNDK1BHTFN4aU52cDBlRDlDblZ0MDBId3VRWCtVOGRmVFd5VDRYMzBj
MGJId1F1L3hoUWY0LzhhL1JLCi9qemhpWHo1cXNkTlczekVrK1Q3a3plZkJqUEdWZmx1Rkk5RHp3
dmFockR3WVJEK0pmS3J3RCtXZkg5Z3Z5WTF6cFR1UTFjL1J2bHEKOFd1aTZYZEg3eGNFWnp0a2VJ
OUxXcDRzZlhnMC9aRGRlckpmU1RvNitqU3EvM1hsd2NZYnFIOHBUTTl1WWRYNXZkUlYyUU9vL2pO
YQovRjdScEduZjZtdkkzNFJ1djRiMUFPRDdVZnJWSVB2bkNaZ25aWnAyZXluM2N3bVdad2ltRnhG
c1RlNTZ6UVd6UTBhRDh5Z2pScU9vCkQzeDBwMHNTbkszbldLQnR2MzVrSC81bjZYRXdhUHVyWkVS
Z2REdEd2bC84ejhpZkJQd3c4dDJrdGs1UE5sOEJ6Uk9vbjZWZDU3MnkKU2MzMEhsUU01RnVDTHdv
c2wrU3Rob2VTWHdWK2RCZ0kzNHkrSjVNL0ZacGpkait5T3dpUDVXdkoveDNhTDVEOXpuem1jdFB2
aFo3cgp5UFptbHhvZTFKUXhtVmJSWjByQURBUkJXbmNwcU1GUEJkcXNUWnRqMHVhZWNsVHNLOUU5
dzZFcTZkWTliajhHMmk5cmkyTWhIL2tzCjhOT2h2Uno4azRCOXdjNXBsVWlEOWMraC9SVDUxMFV4
Y0xQTGttWHZtanpWdDVma2J6ZmsyUy9yM2w4ZW5MTFIyVXFPZzFmY1lWdWgKWWU4YUJ3NTVhaFVL
MDQ1RTFlUzRPNyt6bG9PTDM5cTQ2TlFoWWRUT2hndVR6OGltOVZiWXRQRGE5NkVCSHllL3FQcGZC
azg4QU91RQo2WUJXV2FjZjZVcXNGTVpKbS9Na2txYXpsbE9mY25CeG1FN25iM0JoYnQrTzNsYVJk
bGZIS2JQV283K2FBNjlkT3JyeVNrc2JRV3hRCmRQdnJTUDRpa3RrMk5TUGp2TUxTVE4zT0Jzb3Ny
dHViOXExcmh6Kzg0QU1zTGpLbTZMVWtseGdRcDhkM2hmRFZDSHp0UnBHYkJNN0wKMFA4Yy9NTXBy
NkorUHlRdmdYUXRvdGVSLzVLajJUTnF2eDliQ3hhTTZIc1VmQjdRTDRlZU0zQWJoL1FhZEpTUGJR
Q2NTR2o1ZFJmcQprUE5kMnRkUi9vMHNwQ3hrc0RwaWZ3THZINEhqdVU5K3BQM1UwVDNCL3ozNTc2
QjUyZHhnY3BqdUN2MnIwWmVKQ3B3MmJXaVNJUGhaCk1FVUhsa2YreUN5bERFTm9ubStENTlmQTVt
VUhJVmRmbm85ZFAwUitDcmhxa3UvZDhwRFIvT3FSNzMzK1dMNXk5RlllUlBvSjdwSG0KVjRRby9W
MWRYMlRCV3pTTzNnVDlUWlIvektYZC9NclJsUEdwOHpFOU9ucHZ5aGZiOXBwbzlDTGFOODBsYU11
cGUySm5UUjM2TjBjRwo4RTFBbDkvSlU1d1pMM1VJS3lrL1RDbnRWeUc5QkQzMFQ0VHN5ZEMxTW9H
VXczbmdRdjRuMFA0SWpOUDZQdVNyYU5tQS9VcncydUlZCm51cDNTR3VUeWRKNWJGQzRYRVNoSlVS
L3lzRkxJeitaNGh1Z3o3Z21FRkwzQ3ROUGtQMkJrc3ZodXpld3p3eDRZdXZYZlM2bU5JL08KZndM
NEZ5aDhFWG1DcVg0S1F4ZXlEMy9aaHNYNHlMYlRCL2trNkFzS2VWUGFvSHFMUkxrYlQ1RTF0aklq
SWxQMFVCVkZ6dG9ZWmVxVQpxSEpTOHdsOEFhaFgwNDdIelhDb1MvdCtsdnhNa0Q0ODUzTWkrdDRI
SCt2R0JmNndTZWlPM2FQQXY1SHlPa3BOR1dXQnFSNlhwQmx3Cll4b01VOHFiaDdGYmFNV1BQc3ZK
c2cyK1JWSnN1UEJxMUpLb1pwNWFhaXovOUJvOVFTeU1nTkJNOFg5WGxKRy9mQ3d4TEhzZm9XTjgK
ZUtCYk42V05OTk8weG0yNnduVXlIeDVUSjVyU2lhV3pxY2QvNVpEcDVDd0MwL2dGOWNXUjRSbWRP
cnYxaVo5Qkd0ajZ0Q25mT0ROMApFTk8rZGRNNmVRcWpURUZEczh5NDJ6YTAvQ1FoSzVEVkxjbXpW
UUJhWm1PaXZ1a3I4cVpBM1p0K2FEN1E5TjJVVnkwS2gyNlpCTThvCmVDelFKKzYzSHBacW0wQU03
Mi9TK0U4aSsrTlF2RS81VXZJTjhZWWU0UThldjNYNTZkRC9UL0lIcEtHbWxiYmNoK1BMRTkyUE5t
UXoKcUJZY0Y3L1BvYTNIdEV3V1BWaHpLQ3k4dnZUaC93WHZRem84TXBRRnBVVzI0azVBVDRPK1Ba
UXo4anB5ZFNaOHM3aHV3Z0xJSm04dwppTzVYQ05GeE1TY0RGeDk5QjltdnlQQVQ5ZXpPK2VrK3Ny
LzErODNrYS9vTldQT21KOVhOZkZYRlA2TCtUOGllM0poc0lzMUFER3ovCjlOc1lBOUszWFhuSitZ
akx6ZTlOdmw4L1FPV0RWL00wc3c5WHVRT09McVVCYk8rR0cyNGhldys0TDBGVDl6TDB0QjJBajds
blhKZWQKNjlLemI5RXlHM0RyVXJRUFpsVlFIN2tyYWVjTHFGeXQvK0tqcGRRWSs0VTlyOFdXRjBC
NkpTaHZZNVNkbkN4eGtwTHMxNC9JSDBsKwpFVTlLUHpLaHdSWGRaY2ZNYkZHLzdaZ25nZnBNNEk5
VVo3eFdQRnRBbEErYWI4ZHl0N3RaditvQS8vSFVueWl2OXBKSHZxeVA4djEyCjVUVjFSM1p6eXVQ
Z0lOSDI4TzNtZ3BwM3FhVEFhTDc5N0dSQU5NL1J0ZkhKYUJwSHd1SHZnRCtkOGgrTXZITDJwemo1
NUhXYmZQNEIKK1NYa00rUko4cWpLV3pkZlEvWjNvazBXRFc3REc4TEJoMDBxYng1WWxxa1B1OEhZ
MTNPYnhzeUJSODV5NERDdXZLR05SVTFOMnpZOAozSUwxTjUwZnZ3L0h0dlp2S25iQzJ3anVVQ05X
SlhpMUozV3h5V0NHS2JHa3dCUDdQUEVBYkNkaWVCc2RTNEhIK0hTU0RtNmRneUU0CmZjMElCUWEz
MHZkNmU0emVhYzgyc2tqcHlKV3ZIU282TFdRMjdHbk5wQnFNNU9QUy9CN3dTc3VrQXBGSjJZVEly
KzJMcHk1UGd3VVAKRCsyNVgvbFE2djhXK1AraWRIY3hhYlZublhUeGFSOE52bnJ4c3hHWUlEQ3lL
VzFIMzJ6OUtyaThYVWd2RDM0OStZbHQwNk9XUnJOdwpnYitlVHJ3Q25sMXFoVjFNL3k0RytCU1lQ
cGE4ZTlvVkU5Q1poYWpiY0R5U1c2RXpwM0xkOS80ZThJK01iZ1JHZWZQdUZlb2JuU3VoCjdRcEtt
TzhBSjd2d0p4c01Tc0FGLzRtdFpHM0t4ZTJyd2Vmdm9JMloweXA1SXZsYjRQV3lvYTRiOXdWR3Vv
Nkt4U0FJWHBINE9QZ2YKVEZaZ1pLeE94UU8wN3ZkNkwvaHNndTkyR2RyQVMxYjdMUVJrWWU4Skc1
aG5wNnlxT1M2RVVZeHFyTm42Z25RM1hFVVJITGVua0QrYQo3TnZJdEQ5cGVLZXVJbkhrSm0xc2x3
RTlqZnhNZU8remRWMmcrQzBTaVAxT3NHTmpVRTV3cm5ucytIOFcrcjBLTU8wTEhhWnRYalhKCnIv
RjhKZm56aGhVNHU4Wm9RUk9HUm85MHMxMUxibUR0aUN4MlVkS1NSclVLbkJ1SzFOb0QwOFpiWEI1
bjVmQWlaQWVzelB6Rm5sSXUKYmhQdjlpNEY4YlgwNFRPbzg0cVpZTlZzbjlSYngzVjYxQkpWYU5P
N0EzNGIrVzdGcXJuUlVGcmFyRVhxb09zTEJWRWJKUjJXZ3pNSQptelZyZUFadVU5dFBVYlAvb1gx
YU5vYnRVMVBMTWJndzFQcG5sOHF3OG45MU1McVFtbko0RkIrL1R4T2paM2lYSm9ibEhWYm15dDVK
CmFrOW5Gb1hwT0Q2Wmd6eSswc242bWxIWkhDTXFvd1VnUDM5N0R0ZXY4anV5eXZyUmVyYzJsSkxP
ZjVJczFFTVgwWEpwQi9oL2xqVEgKRkxORzU1UVNnSDIvaGFoTU9QbHR3enc0cjlXWllESTQrcHVj
T3QxZklqTEkzcC84UUxJTHQ0dGVEblpYM1U3cExqSzdleTlxdG8zeQpSUUlhcDZDWFV2OTg4c2RE
KzBHRWZsdWowamFBc0g3b0NEeEIwQi9xZWd6NUV5QS9VaFoxaHZVVUIyemRxMzA5bUZyZ3FsKy9E
OE9qCnl3UTRDOWo4QzZhY1ZmWjlFRlZmQ2ZrODJIeXc2anIxazdjRlVQRk5GekRwWWVSL1RKc1Bq
aVZCOFVHak9pSTRTblFrRDlsU0ZwVFYKckJuZUVlbUFxNXdOZXVrdytxb2F0WUQva2Z3WWVIenJV
bjZQdG8xN0lTTC9oZnpaNE9mUzIrWi9WWWJ2UEpkRGVUQ0xtZzlXL1FINQpaZWp5OHVoYmdIMXY4
NTFwMWwyOTk0T3ZvbnduY081WWJpWm5BeEg3cUtUOU1uR213bmI4SUdONzdvRE5Eckc5dnZSSzNy
VzhkWXNSCnNaS2tnYnY2b0hmMDRXdjJGT0o0NHhYRnh3QjlHUEJ2b01aZDFyV3FhenRUcUZDZ2Nm
ci9vZkIvQ3FoUEJyNDdFN3JteDdTakFuVlUKc1gwcXY3RzRNL1o0T1hmMDlaU2ZBZW43YU9kM1Fj
N2h0TWtCWk40aTc4NzlJMUQ4YWZEZVoxTW1aODJNK2tUWnRHMXBubmFuVkdSNApCTzJqTkVyQlNn
UFlQdzQxMnRhbnFRMHZlT3UxVmdYWnNoVGhIUU5LZldycXlYWGZNYUhHem5ud1Q4bWZqTnd6NEhr
MjVRM2tHRVE5Ckp5NjdJcnZlVDZMK1diQjRLZHBEWHdzT0hhaUt2YjZxSTR5Z0c3WXViRnBwNGpU
Vk5QUXBDMXVmNHBRYlBhTmo1ZEc0ekpOdWU0L1cKRmVtWnQ4MHpjUHdyai9qSmdPS2pjMmhkaWg5
YVlvSDRKWTNlRFRVMlRia1I3amh3NGdGNE02bU50YVArVDBxSG9kbEo4emdqZkRCSgpINTZSc1J4
SFRUbTA4S05GUjQrdW9Ua1lvYytzc0YzL25BSDhyMmtteGJBZTB2eXB2dmNFNmFXMlhHNUQzbmRm
dUNBa2R6ZWQ2SGxtCnlWSUNwVG92MEF2T2xIYUJjOHpCdXlacHlxMmxMSXBXZjIzQUpMYUVEZXIv
Q3FFdm92NGFVSzhEOXA3czY4R2ZCcjQ3cGNIMVllUkgKZ09mUkhEQzJndzlwS0dVd3A0NitBWnJV
L0x3aHZCNXJ3dnlUOUxjRkpSMHVuSWl4cFBUNjBvdVBBdndvOE5yd2w4QnZRdEpYSFBxRApEWGNu
YS9QOXlQZEY1NTFza2YvcXBTWEoralFRV3JENThONjFYemtwZWhOSFhnTmpKS1c0eWRFRlllclI1
SWtRVCs2MkQwU05lTVlVClhzY1Y4dTJtekN1byt2ZkRLVDhVWm4rV2tZdkl1VnpxZlc0dmwxb21i
OGJCQTg1WlBHbmE4UUROZzFiUVRZNVBwZUwyMU9JS0pIMjUKaGZsT2tDOUR6WTdQK2I2cmk1ODhl
b2EzVkpjTk81eFBpNTgvK2xUUVhpWHdrdStma2IyWDZNbkY5V1NmVjNDSGUxL2dCOVArbzFEawpP
VTc5T2hNQTh1cnpoME8ySk5xMG9MWUJLWkdxUW44NGJOK0QvQTJVenllL2l1eHpESDdEd1Bucy9I
a1ErUVBKWGtrNlRGK2VSbUNlCk5HMWJybkFxbk15QS9zYm1uZVBiKyszQ2ZtOWJ0dmlIVHFvMUtK
eGNSK091SFVmVURuSnFkUFRETFdlZ0ZtdnB3RGlub212UGpoMHUKdE9hVnhjdkpYMHgrTXZsbFpI
L3E4ZFVjbVc4QXZodjZ2Q2YrQ0JqZm0xTCs2S2RVeFgreUxlR3VVd1J2ZVh1cDVnNWp5Y0V2Zkpq
VQp1OUxrR1JsNXAzNG90OWF6bHFsb1RWTTlLT09QNWh1NFZpbVF3L3MvMmpzUGNGbVNzdnozdlp2
WVhZS0lpb2dFQVVGVVZJS2lndjVWClhGRE1DYk0rS29qWk5XSGNSZEJIVUJjRDV2QmdSZ1hCaUk4
QjlCRVZYUkVUUmt3WUVVVkZaTlhkdTN2bi8vM2VyOTZlNmpreko4NjUKYys2WnI4N3BxYW92VnIz
VjNkOVVUM1YzNDVzdXhJTkhqazVQNTVoMVBEQWRkY3F1TCtiTi9GcXk5UWZnSllQVXQxU2RNVkRr
TGtjeAp1eHlmR3NIVTZqdnZFeHljM2c1bHdCV1lVZTV0eXNwQ20zS25UdnY5dU9PVzFOT1NNdjFF
empNaHl0N1FzKzVpUHJXUU9xYWhiM2wvCm80UUhyYStuUEkwTUJsa2M4Vm5MT3YzUEhTeE9US0Y4
bCtEeXBZR2t5MVVockJsMnlBbXJxQ1BQaVZMWWhobFpKRmVEUkFnUy9OU0YKVHhrK21YSjRiTlNq
NEtzQ1ZKV2FyYnNHTDJjbVNNWW1QNVpwT1VUSnV4NDVjbllBVDJWNWt4bDlRRlBDTGpMb05KSWV4
VW1kY0JYRQpYaC9iSk10U2pMTDJrWkVJTTdHVmFBaU1XRGU5ck1OTi9XeTB5MU43d2xxMlU1bjZM
YkxaOUJzR2RDTURjUHFmMno0elhIMDFGM2d6CnpjdHBMOXVldkhsZkxKMjJzZzNRNW5Wa00zRXNa
V214cmZjSStyMURoMmNiTTBQbUN4bGxabGxzbDBSUVF0ZjZ0cGoxWUlTc2tuR24KSW1iUWlSYWtl
SWE0ZHFKUkp2V3VEbHk0Sks0RXI1bFMzVFlnZXZ4VHN2dE1POXFmb0dKRFBrdzN3WG1xNmdTT2lP
eFNpTlRxdUdYVApERk41MjA5NjJTaURJeThBTVRDdVo3TkRSd1hNb285WTVMaHB0cTJYdnMvRTFa
Tmg0QXJUd3lYRXNSaUNhRVJEZ0pFdkE3VEpTWGFDCnZpeEhCcDk5b3M2NUo5dlNjNUxXQjkxRlhh
VHhRektQZk5IV25KZk90ZCs2SFc1N2wyc2NaRlNtODZQSisvdy83dnZ5QjlYWXBMancKRmJKUlI3
ZkpxUnkrRWtmSStZZVdiVHFIdHE2MDlnRHNEcmhqZVFCM3pRWFEyT2llOWhrRDNJblFVZkdENWx5
eXFMYVJOUml1bzI0YQpaU1VBSm5VNTlxU3p4RzhLNDhPbHpMM2o4Q2hJa29NdlpYamVrYWhiMXpU
cTFyZDhuNXZmQjFyTG0yZWJxcmVUbFB2cXJya1JmZE9OCm5XaWg3RXZRbG1VQU5GNFlHUTNSQ1RZ
YVRrdjdOSTV1VDR4eWVuV2JSdVpvUXdZVENEb25jQ0p2NUhSa091YlMzbWpIQmVsRlpiUmgKeHFv
ODdOZ1dmVkVnamdKVGVXem90OGMycUtxbm5YUkRHMUJDTkhOTThRWXE2aStNN2U3QlkrYk9qTWt5
VVp5a3Bock5DT3hhdDVDbAozTmRmWjhIUVZqR1kvRXhCVTYrSzI0cXlMYlFELzdrcSt1cXJQZCtM
R1hDVWtic3FWajg3UjQ2dFAwYnMxKzNOTm1TZnduaHJWMnNvCjN0UVk1NWJMZGlCUHNvejdrOVQr
MDBHbG85a0Z6eVhuQWp4alE5aFEzcGhrdU9MRDhtMU1vRTVTYStkSVUrZWo1a1lwRHpzQ3BFbGgK
VTNhbi9Vbmk2RkJDV1p2di8vTlMyaklHeXB0UE1zMktLY2hBV2tFRE9jYUY4S0NtTDdSTDNaWWNx
c2dFOXBUVUJldW1iMzlpM1hyUQpaREtJNUM3MzV5N0xrQzhtbW95T0F5MWxrcnF5WURNNThlVXJE
aVUyeTVwdVBkZVg4YzBiYy91TFBqdUJRMy91OW43ZGtBbS9UWWtNCnRkaUVYYUJpR1d6SlRqSlRK
anJWMjVySVVIR2FOOFdVSStkckQ4QmppK2k4UmpFb1hjTUZFZ0RGcHAyd1o0cXMzV3dPa3RUVGdI
WkMKZ3d3cE50RmtMT3FSQUhvMDJma1ZNK29hRUd6UWhoWEpMbGF3eDIrRy9jN2M2MUQyRHJ4STcy
MGlRN0tzdjNIMndUZ2w1aktXcFI4YwpqYklQMFl5bWtOaW5BMWlDS0lRNW9hY3NoYlpqd204eUtR
aExTT3BTb21jbXhwWVpydnVGSDQwcDVzS0l4alJzaWM4SGR2c2tYd2dFCjBadUVncWFHd29OQmFu
Slp5ZnFpUVlzNkQ1VzBnOUxvZ0VyYUZRQlJsaTlvblBpZEtPZHZxYWJRQnNhRHNjNmN4endPd3pO
aTQ3ZGkKWm4xY2FiaDdiRThJR2l1MnMvazB4Rzd5Skd1Y3dPeUtLeko0dXF1dndsWnNycU43aDdE
Tm1nRVdZV1hDSnJQZmJLTmxzWmRCMnY1UwptcUI4dTl0ZHByY2lrYlB4YWtMdUNTYW5EZDZhQS9s
M083Ry9PTDc0ZHpJZkdUYW5NMmU0NTVpTmR2TGxnWnorNW54ZXMxdjk2bTNzCnMxL1dsNHZ3bmI2
YVhYVzJ5Y2x4c0NXRFdOQzFvUk5KYllFVzVXeWt5UG9RclZYUjcvM1lqdmNiZUxLRmZOclRFUk4w
N2VkY1o0K1UKWXN3OENZeXBvblVPd2FDZVI1SXNTQThkOE5LTU9MaVM0U09TWkZ2L3NJdGJqVWZ3
SllKOWRRd21kdnloVnN4cEtzMC9rT3ZQVitaSQpQeXFHaWR4bGVDNGp2eWhyR3c2ODFDMVA3dVR5
b2ozem5Xc2ZvaitrbHMvM3hUUTQxa0ZLemhieENFWGJDRFBnT2VJVmRJOUZ1c2p6CkZYWmtxMjl6
U0dLbjl6SGFRWGxOYWUwQnVPK2dHMDlmS05NQi9jVkkrS0R0NWVrVC9ENzE5WDZBVExjZDFGU21Z
Q0NkTjVOcVR6TXUKVzcyakpXWHZjRDFMWXk1ZmVVS0doNXgzYnZnazU5N3BYRS91emsvTExmTnBl
d3JRRVFna1M1OTBqVW5nWnA5YlVTdzVkR09RemQvbApJR3NoRkhtUTJZUlhFMDBLSjRYZ2pEU0U0
Q1JOYlVReCtCcFh5ZVdJOENrZlVtZzJrTzNyS0VMek5tbEE3N1NWclQvS0JjRkFMZHJBCitid0J6
WWw5TldINGJrT1UxQTdScU95V0FzT3psOG44MVplYzBhTkRpU25jVTgyN2oxOFcyMk9iSFRkdmJp
MVB0T2tzZ3JmdXUwMGEKVDBkN2pmbzI3eFo2ZDZTNUxUR3p6VVRieDA2UE5BZmdLNi9NV1RDTWJF
cWVaRkl3UmljYTV1T0FObEptSXhCZmZua0c1TXZpWGNDVQpMN3NzdDB2anZsN0s1TGxkRVRNZHlw
Y0xEOHJnNG0zZTkyem5ZbDNOVndPelZScUwxbjlUbERjczU3UTJiaGd3RERDUjgyWTd1RVpHCnNv
MnZob3lNRGtZRW13d3FWSkZGdEUvNE1EMTR3ckdaUzFaZ2E2VWdzS0NiR1RESGhINzdSVGIwcGRk
TTRVcis1RE5sUlpOZXNoQngKUWxjTHhkVVhxRFNFREx1UnRTK0xsbmNPendsVm42K2dtZWZjY3M1
bEZ6ZllwdytST0JkNWcyNWQ4MU1xUDZGWnhuem52UnhsWWRNVAo4ZGQ4UWdaTC9sUnVSaHhESnVm
MDFsOWs0VXVIOXJjNk5OSERScThudmhyYjJtTGZrZTlvbTFweHRJKzFCK0RvVlNZNkc1MVRvNlB4
CktyZE9RMXZzekNJd2dFTkttRnE1QVdPNkJMS0NvR3hLcndOdGxJa0NQa2k5TCs4SS9RNnlTSk5T
KzRESHpvczh5WFcrQlhxbmh1ZjcKNG5xNzFrbk51UTNYZTc4dTl6enBoMzltb0EwZXMrbVVOdW1G
ZisxVTdVY2c5eHA5bFVNSXVYbDdZZ2VGRVFUbDhRR1ArNEx4azdZbwpwZ0g4eC9FM0p1c0dOMUxh
a0cwK21sMFpHdXNTRXdtVEVwS1JWaVp6a241ZmFRUTVhSFJzYURZQ2owVGV5YW1JVU51UXhaOThS
ZzU1CjlCL2xTR25lT2tsTG00bmQvZU5TTkF0ZlNHN0tpNk44VGRpeE8rL2oweHliVHJFS09xbzNS
aFViM3VCZUV1L3k1UkszRnYxRXppeVkKOS91T3g1Und4bFBxTWR2Rmp3TTFzcFE5QTVaZzZMZ3Qx
c3MrSlhkT2MxdDI5bC83Z256djFMRXQrakdIRXh1a1prdk1WZ1VwQk5tZgpoZHBjRE1vSXBNcjB0
VzB1UW5leVErZTRRMDUrbXhDK3FmY3lrRWlTRHdYbm9sR0p6WFpDRDFWWHM1RG1vS3NiTWhCcVFU
QU9PVE9XCkZsYURGYnlvTnV1andiU0JQeDlkS1hRbTlsZGtTWGtzUnMzR1JSUXI3VnBRc3ZOekVy
YlYvYUJiMWVlcjFKNS9JdXRFbVkxZzI1ZmgKVzg0NU5HemJQdlUrSVdlK1piUS95a2Q4Uk1yOUt3
cnVCM2xzSXgwYjhaZEhHUnJCaXo5by9iN04ySmcreW5hNkl5MzAwVVZlTnVMVAp2cEN4SExaTmw5
TTFmYXc5QUx1UnptbW5PekcyR1hBMEdrRnBRTk41YUphbExHRE1CNEQ0YzFJNWVEM29vMzdUc2F4
OG9OclU1VXZXCndrZVRwVG5MRW5RMjVDeUxuT245VG13K3VXYXJrY08zdnUyN1R1N2tNcm5MdG9N
TVpmR2FRbFNEQmlhUncwQ2dTOGxyTklUYVJzWWwKWmRsdThzWlNRcU1aZVJCMHdqaXE2RkxtOU5D
N0cxV1FqcmJzV0lSbDU4Njc5bVFUUWs4R3NaUTJSaEFRU01jcHFnNWtjZm1uaElPRgp6Y2hHZVFx
eGpWalpGLzU2UzlEN3hEN0N2dG1hR0N6cWo0ejZTOUJyUURBU1BNNlRsYWFQRHpMeTJzZGxDc0Yr
RXpFV1hnM0RpNkw0CjJyZ2NQRC9scHYrN3hRTTVOT2VOUUpxSk55S2RpeURNSmQzRnhLTW1rMDV6
Zk9uWk5LUzU3TXhHWVBabGFHUnA1enpobXkySk9nWjMKeUtRMEdCZ1h5eVVuOXFiT1pvT25ZUkVN
TTVHQnFVWjBaZmxQUzMzUk9JdGp2U1kyMnFUZDZnS05OalB5SEF3S3VibFJpRmlPWEhRTQpVSTRO
dldiS0tuSU4zM3FVVzBLY0lBd3UyYTltQzltMmNlNUpmdElneTNZbzIwZVFtbXYydTdnTEdnYkd4
NVRHVXBjOVR5VXNvemxLCjlmWkdJaEloNHZNUzlGN09idnFjc3B0Z3V2VTR6NUZNZDU3VTVYVEx5
Q2J0RlZ4Q1J1V3VDL1B1TkNpMXo0WEFCRWY4TnlWaGhmTW0KTDdwY05OekY2bnlGSERMV1I1V2tm
Ym9aV2VTbHhIbysxeDZBbHpVZVVBeU1Ua285NEFHT2srU2kwK3F3Z1dtakpacGx1OXhBNVVtZwpB
VHNhVENCVlpVRHcyK3lUazd3enFOSSt2RU11NDYyUzh3N3RIWlc2aHhQU0xnQUFJQUJKUkVGVXk3
Wm5YZGZOTngxL2k3UytydmJFClYyZTFQV1RkWnlsbGQyeEt1WFFEemN4RHZwVmhhc0xZZEJJTGNJ
L0VCd3U5Um50UkNNZjRaZ0dJQk9RN2lwYUpIQi93R01Oc0YvVkkKZHA2VnJDUHJUWFFieEhsczZL
UkJjU1diblUrNkdvTnNTeFF0MzVIVmw4VTZLdFluVjd1aHdTQmxRU3hmUVloS1BnYzZrQW8vOU85
UgpNYjdQQ2wxdVcySkUyR2dENzNOK1JWaDVkR3dQRFJyM1oyTUxSNWRmSHBldjQ0OWJlRjRXMjh1
RG9WOTMvU1FxQkdPN1V3VFRCMFVSCkhrK3h1dW9xVmp3ekJqS2toMng0cGh1TU1SRmNTZjJzRnhv
YndWZkhWOE9KTEg4TDV0SnovaDdNWldZdVBkUFc1cXI1VEwvUXNKRXAKMjVOVmFFbWY4NUdhMjBt
ZDd0TXFHRlhVQ3A0Y1JCMTNkcU1jUWtkVTQ2aTNSQ1BZVEJMZnpNak54NmprTEFpdmt4dnRRcHd6
Zkx6WgpCMks5QzV2UGZRT2U5Z1pHTEt6Z0svSVFRZzVGOFNkTjZQeEJIMldqVERzNmgvS2hvRWVy
Mmo1aHV5bU4wcGhRZGZ0V2xVZmhyb0NPCjVjbjcxTmR0bTV6VTY3a3V4aEtlN01oUE9nQXZ3Y1gr
c09DVHVzWkJkdFJ6NGRqVDhlTmpKTWNnR3lYTVFuRHhyOWR0YUdKQ2Z0QngKY3RtNTZldklqeVVB
cTZFZUVIYWdTQVpHVlhBTzlFM2JBVXpYc3hHWU5pRFNDWk1HZ3h4OUQwNDZhd1lZTklDY1R5OGtD
L0FrMjhneQpiWUltbGo0b2U0TzN5TGNrTWozUGRmZ094SlI3R2Vva3k5cVBaODdVL2UwU09YUkpi
blBtTkpZdEV2eFdsSEJyNzlpaE1KaFk1aWtCCkZmbG9ZQ3ppcWdWQmNTRGtaZWpSc0tGRFBSdlYv
S2g5VFN6SHd1MEtBUnlwY1JaR3QyMWpvNk8rMzRROTJXeEdNSzl2RkRZd0doL2QKanZqQWNudDBU
NVoxbHVWdU55cVVzOHNVZVdqS3RkSHA2eU0zb3Vmak4xRVNELzUvVHVUUGpmeUtjTXk5cXJlTDdi
WHg0dnZYUlQwdApOWnZON3RrSWtDUnU2M2xJekg1Wm0rMFpiRjUrOWtybzFueEpUejhjbFB0QVRK
QWwwZjRycjd4aW5QMmE1bjdSak56SCtLTGczMy81CjdUZC85eVU0KzNkZmRMMC9zdCtnZTdiaG4z
UkFKcG1YdFIyZkVtdG9vRWhSNDlNa0thc09vOG1OT1RJV29CaGxHdUxVRlUyU2ZEYXcKa1VJSUV5
VExxeDRmRTN0NWhrcEJmeUlUNVpCRGRHSVdrYUNseWZpTWR1bjRHbW1Ra3NaMzNja2w1bEFsL21S
Sy9HU0l2c2tKdEdZdgpHSG1zNFk3R3pKUGI1Q2RUd2ZHNUNGTWs1MW5iK2VrK0llZHpFV1UyODlE
cXk5Ujd2bm1tT1VlT1JGLzRFejVKbW42T2JRMlo5dWV1CmV0K0ZiaHlrVEJ1eGlhRCtFNXYwbEFZ
dHIvMDNaQ2VwVlVkTU94c1R1VFZVamlVQXUxM3pIU1dCaHE2T0F4QWowWktCRVM4NjYzclAKSDh0
TlR3TTJOMkYyZ3U3YUVqNHMrUTRlTzc0VE80cDNEdTgwOENpYjE5ZGRKaWQxM1VuQ0N0cklYRkpZ
OUlNSWRqbHdYTDRrRnYrbwpuWHlyNEZJeVhXQXByb1VzR0tUNFovOVRVamsrY3Fla3MvUnJtbU1Z
dm5aSzhadHlrMnUxZVliUjJPWjlid2NTN1lXSEhrazU1YVpBCnF5aVNMS082K2NrSzVsek9KT3RJ
cjhrM054S0JwS202Q3IxV2xDMGZDdWhieEdVSU9jMXZmY0l3ZUxEWUtNU1JWOG94K0gvQmZsTG8K
M0JDTTgxSG1KUXpZNVhUQVJwbFo3S3RGUXhFRHpVZ0VPYXlUSkIyejREdEUrWkVSTUFuV3JMQW04
RHFBSXVla2NZdEtmd3pCNndNdgpkZXY2a2pNNWlYN0E4OHczWjcxemUzMC82YjkxVklpUFN5NGhH
R2RBemdWWXVSanI3Rm12Zkk0N2c3WDZHUWpjUzFtSmozRGVJSkE5CnlzaVE0MWliT0RBV05xcEw3
Q0dPbm5ucUFMWmc5QWxDUjdjOGZsU0cxeXVaam8yZVRxM1pnUnk2Y2gvbkV4MnEwR0xUZ2lpeDI0
cG4KNk0yT2pySEdFN20xeFhiU0JFYmE4WWlxVXRET3h0Y3pka2p4SWcrL1BEMExIUWZaUHZEMlhX
cHVwdDFzbHZzTU9iV2xoenNFb05zRwo4cGJyZGZ0eTc3dW51Nno5STBCYjNKY2JUQllMUDltUUVY
ZHpvdFBRT09wSXkreElKM2kySWNIdVE3ck5EdVJSTGt3NlZ0aEdwN2FXCjR0b0RNQTFXQnpSUTlD
QTc1RTZwc3gxdkVXanBHOHhGWmc5T2xBVzg5d2I4V0MvYU1BSVd2akF6MWh0c2JzL2lEa0o5R2Mx
dVVEZmYKT2JSK1I2VHNlR2k5WGhaNXAwVitPNjdNVm00WkUxdVhkdlNKUnZCN3NCNWxoekE3Tmxq
bnNhcEcwaTVlVWFaQUUzU1EwVmtEdVRONQpXd2hQdG9JRm5yUWJmOHRUTUNPcGZTcUdaQ2prK0Vk
WlgrOURJTVdhSU5ZNm8rWkpDQjZiVXlkbkVqbU42Z0dkMkJnckNLWTUzV3NhClZibU9qMWs4NkVH
elgrYVpMWEZQc0ZRUjZtOUZpajBuWGlhd21PZ3pXRDRtZE80WmxXZEgvbEtFQkJqaE4yNHIwbWZv
eCt4UnFUVUgKRDhNNW5vK1Y2V3dFeHZ0RzdXRlJQUitCbUVkVEVpejdrd2t2VG5DQWJXcGo1bjNa
TTJZWXlEcmdNdk4xeXR1T1dPVTgveTJadnVUSwo1eXRhbml1ZUV4QzMwaGJtK1hRWTZCVmpEMThm
VWZadFNQUWZmK3hmN0lDUjY1N3NoVnc3YlBEaE1XWXlnLzhHWEpRbTQwNmRoRk0yCjdSUEl0cnIw
Tzc0TVFteDlhbG5XcWNDelVpdHFQS09zNUROTUw0VmU5anVIbm1Nd3BWM1g0Ulp0OG9NNFpyR3Zh
U05vc3ZFN0x4c0gKZndSWHlobGdJeGN2RE9yRUVOZWp5THZFZVMxYlJSdlNzV0RvWkNEcnVHKzUr
ZEJkN3NSVmhMN2dhcVREYTY2a2J6blRsOWsxelhvWQpzMiszV3c3OGtWMForelNTTWREeHh2NURn
OVg0T25jRk51SUhqWngvMDJVdjZ0Q1VaRFlOajhjZDhuMkRrOTBVMXBPdFBRQURnanJRCk9wWVFa
RVU3U3QvUjZMMDdDTTkvZE0xbDU5QU1qTUJFQm1ESFVaUVNZcUtqeDc4QVpqK21FczJ3dkhQajY1
MUhCdHFIZVQydEwvZDgKOU4wVXk4QjNJSWEyeUxmY3N0eTJiYmV2MHkwU2ZUSVdTUWdLZ3AwalY5
R2h6N3Frbk1MNnpJODJTbkh3MDE0T3FQTnhBandUTTJ0ZQpWcGdCT2pySXNZOTVuc1VaWmJuaEtn
Sm5tSFkxUWUxa09pamdJNHRYOXAyOUpVNm1UbEpxZ1MvTVdFenM5Z1ZnSkxyVE1ER3BGQVhvClBj
OHM3RW13OFdrWFNRLzZqM3kwMGNxOUhYUkhmdUF4WWdoUmhxMFVlU2FyUHlDcTE0ZllLMk5XeVB0
d1h4SU12bnVRRk9mamxZUXEKai9hakZwZDJlVUQrQTZONG53aTYrcFUzWnFVRVh5Zkdrc0JMWU1Y
WDJDUUxMT1NlOFVKMm1TQk0wRTNhTlBENjFpT0NiNlpzTkgzSAozMldYWGFIYmp1YVhuL1Ayb3lh
OFpCam9vRHVaT1czRzF0SWtSakJ4cXc1MlV1aXdNMnByQVpteW52L2E2a3p6dkprSC85WkdKOWZX
CmFHTWRldERPUmQ1dnB0MFNYOURpSGFQblk5Ky9qV01pYnJHNkxZTG0rVXN1amZjY3grc1FZbitD
ZGo3SzBLbUxUL0NVZlBBVlVORk4KR3ZRTXV0Mlh2cTY3UzR0ZzBHTzNXQmQ3THJDNGYreFZYK3F6
STY0YXUzNDg5eXIzL002MGl1TEYySFAyY1J4WWxHbG5wdmtoaUVEdQpwanBHeHhqQWZoWi9QbTVs
MCtEQlc5SVE2Y3A3TTlpY1N6WmdIWDFIZVpuK1lsc1BVMTk3QUFZRWQ0QUdVUWN3T3FORU9VWTJE
L0o1CkFIRm5MZGZuTGd1dzBCWFF0cGRPMG5Tek83TENWdzhjZHZvNlN1eGtKTWFITXJuSHlyeVVt
TXRTaDJlKzVXMmpsNGZHdVdGVjJzMG4KdXQ2bStzR2drNDJmNytPbFBXQXpUYktQdFBvV1hOL0Rw
R0ppaVNHTmsxU05kdkRrSWkwS3Q2aGpTUGhIV1RFWHd5STdUeG43RlJNVAphU1k3cEVvUVJyb01o
MjFKenorYWJSSE1Rd2U2SE5obzBFWmJTSnRQbWRTVXlTVFhoR1UvaU5ZMVB3amVUL0tBUmdDWENP
Uzl3TFlwClV1UGQ2N1p6OFRLRzJmREVJTDQ2Y3Q1MS9Pcll1TWYzcGdoeVBLdjU2akRCODY1dkgr
OEZ2ak5tSXpqZUhKbTJlRDBoUVpFeEovRDIKczJEYWsvNmp1ZWhGc20rM3hUTms1TkJGTG9OdnZC
ODRncnNETVRsQjEzVnMrWGRmY3U3MVRkc3gxczBYTXZpaDd2dDl1ZVNjVzk0RApqRisyMUFHcmVW
dmRSaEhGQ2tNNFljT0h5dUxtaDJUNGdCOENiZ2l5YkU2bW8rL1U4MFZyZHN6SEFDVGJjbTRUbmMz
Y0QvS1lVRk5ECmxpOVhHb3M0UUJEVmhaNG9ZRVltTENnL0VsYjNKRUFiN0M4S2FhZlRoZStFTVRi
a25acHRrVVk3dENjRW91Nm1JMDVaOUNYbDNjNUoKMXUxdFFTUFpwbm5ZdHcvNExwdmUxK0gzeVR6
NktCd21USHpSZ2NqVk1ZcTVmMDN3UUFjY0ltbmZheFYwa0U5a1lVcGs4aUYrK0pBTQpiV2hDYWt2
emEvM2U5c1RJRVN0ckQ4RHFSTmRaMWRreEdpRHVwRTl3YnYrT2VzaVRETUFJSU9SbVQvdzJTQzVq
eHo2Uk01amlCOEgrCnFaTlFYMHplTWN5VEN3WkU5bExhUEdxV2Q5N2JnN2FvMTh2Wmp1V29lN050
ODZpbnJRUjQzQ21TR0x5dWdaTEZXQlJhR3poVFlNc0wKcTRSVkJPUkVoWjJWMUgyT2Rsc2YxZkMw
Q1dzY0UrbmxoK2hZaVlMRXpWT1Q0ME5FS3BRelU2ZWFYNHRQY3VSSTZJNXRpQVpNSEtTSQpQdDBJ
Ykk0K2dxTTJCNEZ2RmpDUXN5eWtTZktzRUJFVUNUenA4bnpNNm9NcUdoL1Rac1JUcVdJeDFqMkNm
cmVRNFNIK3QwWis3dHd0CjhXS0dXY3lnUXY2eVMvV0NCbjRmdmlVQ01ZbGdpQjhlME9ITHc3M2R4
RE1iNmZaSU1UNjBqMGZ1V1M5MWx4MWt5YUdUWHhiK1EwdnQKSnVEaWo5eis2RzQrZU1PLzlSS1Vt
VVhQL1MrMklaZ3RHTk9QL0MwNEg5THB5ODlJdEFSME9CT3VVZEVYVkloZGtnd2ZzZUZXcnRQLwp2
QTY5MFRyVkhVWDdRVkh5NkZET1RQS1VseVNMVFBxclp2RXhUVHROQkFYZnNaSEpGdjVWaUV3QlBD
NDk2MjlxaTVwMG1qNTFRNFk2ClNlZlVJTkkydHJUZmVPR3ZEN0xxTmpxMEl3VEpTYVpuYmY1cE9u
S0xPdGFkUzg5TFBXOVIxM1lzTFZrYUxSK3RRU016MnFadk5pWWcKbG4vcUtHcTlzMWJ2eis5SU80
MzBPY21zekdtRDVadk1xTk1BOTNFMlZUeGFiZTBCbUU2bzRhM1JhbDZVM1hoMU1qbzRkaTRFUkFz
Wgo3VWdOaEo0LzZlSVN1L2FIRHpiYkcvVU1lZ05aQTJkYUUvSU9SM1ZoWEVjenlQUzh2bXc5Wkhv
NTEzdithREFLbHNVV20rdk9MZHY3Cm91bkFJS3pIR1cxVHRrM2xEcXEyaTVOV1pnVENDTUU0YlVI
djVHVS9Qa2dJd0hNRFJVdzdNa2lEMkVJT20xUTgzdFNVNENNa0cxRzAKMDZZbm1YU1V4ZjVUdXFG
Z0VGVHZCTEFsdjQxR0kwYWRvRmtlR2FidHdnd2lELzFITmk0TFVyVmNGR09wa1Q3ekEwVzJhUkpl
b1hQcApwYkhXT2RvbWZFTGt0dHN5cUxxNU9hTk1mV1FJeHFRTXRFa25FRlB2Y2J1NXpZaVgrWmFC
OW1HLy9zMFhjczZBczBNWllQTUxoUVB5ClBQQW1IUmlZRmJNUmJEUGcyZ3R0akpjdUJKM1pMd3V3
eU9sZnRoYy82U3Mxc2svV3pqd3U5NDdQZkk2eWZ3UDI3OExVYlNMZFlielIKVExEQTFITHVGeDBQ
dlQ2cERpMWtOQ2pJVXM1TVF5dTYvZlRLVVRZWitVaFdvNlFtOHNXc21iTm5aRndHSXpVQm1mQXpQ
b0l5OURXYgpSamhTSHMraDFlcEpBd2JPY0NoalVXYzNXS0p6bnpDZStPc1Y1UStoU0pUVnZTZ3ZD
OG9TaWc5a2Vsbm8xclBNWWc3Zkd6ejBleHN1CjkzVEtPeEo2OUdFWnJ3bG5MK2NDMnZlaWFrU29x
eXd6S1plNHpHV3dqNHgxTUcwN2x0MnREVHZhZlVUQzJnTXduYmxsUEFIbG5xUVQKUkJUakpnaDZu
eUFEa2dGcm5SQVE4R01Eb0FuZ1FaTzg5aEpNQ01rWS9BWm0wN0V2bVVURWZBajQ1STg5SVA3M1Nv
aVJ5UHVkTEtsegp1dXZPa1dWSHR4NTB1V3gyYkJjNnNvc0p2aGMyd0VQR3RwUTNCZnBDLzNTUEtr
RWxtSW1SdENTRlBFbVhpK05vSDNlODBKTnZDNFNNCmVGR0hMdHlhTHBsd2pRSmw0U2VhS2lLT2Rv
TVVoclRwZkVGZFNxMkF2M1RRMGVIMXFSbm9TVElLb1lIUnRYdGtlYkdWOUxEaEZPWDIKRzNXT2V3
dTRLQW9FeSszTVllZEpDN3p5dDFSb1oxbDVIdWw4L041TndBV1RPZllFNVpTRmRtdjhCaXo4d3Js
L2I2WDVCR0lDWWZLdwpsall6OE00WFRzMERNVEtyMHp3QVJ3TWpaWUJuWnB5MnFPZE1PQzg1bSsv
N2Y5MDJ0MmYrMjYvN0FsenpMMWY5SldnV1hIa1Z0TVlvCnNBV25IaE0xaXFZcFdsRkFnTHlsOFMx
STdNdHNFWlFaVXdhQWpkOTdQY2FkV2pnSkEyMVRHYnMyU280d1d4REZoeGJKYWlwM0NqMDkKZVBR
RGRmVUgyYWpRTHdJaU5EMW1VdlZHWjE5RGg0K2c2MjRMaWtFUkhzR1AzbEJMMnlvbEw0VFRadEE0
cHRKUFlpbUdHb051OEtPcwpjMEJlMDJvK2s1ZDhiQ0tYOExsTTN2T3pOcGMxajl5eVBoOVJ0eDNz
dXU2OGE1N043cEJmSmdOVTlKZi9WUW0rOXMwbTR6SVlLRUgzCkZzWEV4c0lwQWgrNmVjSzNzWnpk
Y2o2dVZySEZjWDN6YlRkclUweHJwaXkzam56dEFiaHZsRHVuUERCeVlOWXoyYU16QUhqbXR0eUoK
QU1RSitSa3ZlbzEwZVh6YkprMXNpWklma2cxZEJpZGhuZHNSMk5oaTd5RGhrei8yZ0FVd3ZWTllO
Qlh5RXg3MG51ZXk4MTYrTC9kOAoyMW5rOTNUdjZKWXhqM3llcUhEd2NvQnlvcUovRXdIUnhuNjJ0
Z3Vqa0pja09vMCtMc3lDZ1UwRmFrd2tycU44YTBEYXlRcWVTU1BHCldaVVA4MVRwbTZmMkJsZitR
bUhrbVJBMEZzelF3S1dwMFFHbEI0Ym5nVTZTK1NHUFQ4eVRNMmxRd2c1YlN5Nk9pOEh5OFBDbFo2
K0cKeHFXNjBOU29PK0RtbU9Rc1dQaUhVd0pacG5ndmNBUmRac1FrOUpqNUV2akE3NWE0VDVpQVBF
OXVVRkxTM3J6TDh6YWtuR2UzbG5PQQo3WFA4ZVBhTFZjcTBMNE52dGpXZjk1eVhyTjBXK3VmYmo1
ajlMcVorR0dJdUhXdzJYNHBtTEdPandZeUJkenhoSDdTeEkySm1mYVExCmVXUWJXMEZZd2JnTHpG
cU10VkJuSDJKUkZqenJZbzVFdmQ4bXhNWnJMdFVVTlRNREpnRVgzZmhzV2pxclJMMGRrMEdWRHQ5
QUF4Z3cKVjczeDg5R1VCRzRFWTNQYldudVFCMC95K2Y1dElibVVTdnJMbzNjaWlza1F6eStPclMy
cHBuWmtXNmIweHA1a0h0TnNTOW8wRFVINwpOSzJYc3c5bzVrK01kNVU4bndCRWwxeGR5SVZKRTNN
WmZTWExOajUwQXVpNVdKdmhZRXJlYitmaTU2USs0TUpiMWg1aGJUL04vanF5CjlRZmd3TUxBdUww
alFLM0Y0Z2RZenZ1T1dGWW5zdGc3QWNRSm1qZlQySUhSNmZWVVpqRGF1SkRIeGJXNUNuc0gvRWpl
VVNoN1IrbHAKMEJlVGR5ckx3NmU4dU1ORGs2dm1hOUdPOVpCeDRLWGMyMTJzbzhQT29FVEdKa2R4
b29sY0oxK1VZRVZ1WEVRQWo5aklwRU5aRmZJbwpOTE56L0tBRkVabkdsM2g4cUJvdWlXVTVKaWw2
R3l1T2c2N0xaWjUxZWlXMDdNdllhRTgrb1RmZjJiaW9YTm9GVTdkTnprTTJHNVFPClcxK2hqcmJH
UXRnWjJ5K0orQWdqK01JV1gxNG9ZRitFeUVpejZGVzczS2VxMmlZRnNmTTNUbytabUpvRkM4T1E0
TjVZbWNSVStMK1YKKzRNakVjUm9Eak5pRW9HUCtybTRKZW55eStjejNteWdSUFJodXpwZTVtVFpw
bXIrUEhobm14eVE1d0hZTStFTThnVGQrWmVEZUw5dgplOWxDK3M5THpuM2d4WmYycWVqY2ZDRVdm
YzNmZmVHREkzMTMvNVBtejhDYkdhenVnNHV5dmp4R2puQWJpbkZzNW5ETEpuYVZURWNICjhOamty
UEd6NjNZNGx4bFhRNGNqVmo2ejRwblYrUzdIcXVkeFJYU3NnczRWMExIUzJTdWV5V1BWODlpRzhJ
bEhCZEhZWFhSTXFoMUIKVkpzNjBkWjJQVEkybEJndjNTNUlGekFpdlR4V016aWZsVjJ1THFzN2pT
OE13cmJzWUI1bWJMNmdnRnVudnV4bXdWUFQ4QnV5MEhzNQo4OG5OODNtcHQ3R3FiTDArdDMxeSs0
UlBtdk95NGRxL1d4OElqSXNic1VDMEZsQVZXTnRNMVVIV3VXZXc2U2svR2JFY3RVWlZtL2lnCk1h
RGJ2aXhGWlNKbmNUZTQxZGVSclQwQXF4Tys5dGc2NklEaEU0ZzZGNE92RXdjN29GTXJHd2lENEZ4
QWhhenRXQzNRVW9JKzRUVmcKMFdOZ1VpZ3pmSi9SMHhNNEVlNkVvZC9KMEREMnBsTm44dzVLOEdV
Q3hwZHRhQTdHbHU5dFpBdnlFeHZJOUxZc0M5MmJkVkkyMnQ0TwpUbUVUUjJDWVNhYzRwNkxMWUVH
UEV4NTNwSkl5M2pBYUdBNUNqSk1PWHZwQkc2SitockVMY1N5ZWpiUExlWDRmUmJUSlN5L3F5T0lL
CmNVNmUxQytKK3RtNGpJaG9Xb0RKMWhJTWRiakxaVGZxcWRRSmRvUmVoektwWXllaGZVN29VV0Vn
YUh5TXk0NmZkWVZMMktNVDlvR1oKN0d3VThNVkRKUnBibmFYYzlpVWtXbk9ZSFRyZGVpdHJta2tF
dGZ4OW1ES0IyQUdQL1RUdFpwN3l6SUpaL1h5RkZtTTVnQ1l2UC90RgpXajJkTXZZY2JLblBBM0l1
OHNKblAvc2w0UHF5TTdsbjhiU1pkdkpGb2svVS9mc3ZkUGZkTWc3RVhJNmV6UWpNVTMzSlJSdWxp
UEs0Ck1UZ3hUZ1JuTGp0ekVMa3VwZlpoZVd3bzhuVjBhSXRwSEVlWWl3TGhmeVF6aUswOTJOREFV
TWdtT2tkS0FUa0NNY2RGWDlhdFNZMlcKdHh0eHF4TDM5b1pjSEt4anpvRkxQVFlkVzYyYzl3Skhn
M1RiVXN4cTBVVldCeG4wMUNQbmtyYnVCNmI5S25PMFVwbW0zTDg2bU9seQppSG5jblBkYThObElm
VzY2Yzg1MUx0TTA2bXg5MmJSTDQvUktPWGF4Mk1mbTIyMXhQLzZ0Y2I0Z3FKSzc3SE8xem0zWmxH
Z3p4d21VCmJKeGlSK09acGlwc3QxL1NZTVBJWmNxejN5aVFOc011ZE10aHoyWHJpZGFPZjlQV2tl
K01QR3V3T2dJUy9SUm9HcWtzaithMXYwYzMKKzczQU9LSFhVSnprUWZkQVlFZThSaE5nVVNiSlpp
czNNOG5nczVOWkJObE5vYm1VWFo4clo4bDA1UG9FM2Jya0RzSzlqUGs5eldYYgpwVzQ1YkVCbkI3
WTl5Z3FtVFZDWG9XT1hJU1UrS3FRaS9ZaXFtd3BtRVZaVmgwN2dwWUllajUvVWpoMk14RFlZOEJF
azBTalY0U0liCk5CbWYweEdUT0x4b3V4UWtDRU9HNXpvSTlodmlTaVppRjBOT3JnZGZ0cUx1QUR1
UlF4NjlXR1FWSnpUNVVFZHRwK1hvU004NVlEZlYKVVRUMHg0VE53Qzk4Tzdqd1pETC9Eb3dZTTBO
T01yZkZUeXNrZ3U0OE9NK0NmazdCRFp6ek4rQU0wSGtwT21mRU5FbjdzUHFRWFpXeApGUjlBUVVL
dkQ3cnpZT3pMNEJtQWtVZk9Yd2JJZlZtY0lFdzVnMi9jQlI1QkYxck9lTE45dEMwRE1XM1AzMzZ6
Qlh4eVROT1c3TCsrCitSQlU5UTJvQlZqeDRMZU5iNEd0RHlQK0NyQkJKeWlQVzR5UDd3TW1TSHZz
c1dOOW11QWtZRHBHWDRmc3plMFE4RlltRHdGTXEwT0oKNzlndDZaam0zM1N6UjlydDBaWDkyRmRp
MzZPb1l5bys0YXRPOTNCRGlqS1krWnlrcGtaZzA2QktJR1draWVrUThFTTVzRVZDeCtjTAo1OUJr
SzBYRWI4VWRtZnVHUElHVVpGcldzZzROR1hKdjhFM3IvZlg2TytpMFRVZzA2MkZQaVZ3K1FpQ1M4
ZWVuTWNyNmt6UEVVZ25zCjV2dGMwbnZiVFV2Mi9DRmIySXV0dDRNc2RmbWxuL0ZIY203OWRlUnJE
OERucnB2UER0YlJ3QXRsZzI5bmJCZFBhbnVwR3R3SGlZdW4KQnlleXBYbXNMVFJ0UHB2amhPS1Qw
NEpRVlpjaUVQdG11NG9pdHZGMXZsUm44MFRpRDl0RmRVcllQR3dIYXNHbGNWbWY3Y3BMZWJMNgpk
cWIyUFdjN08xKzlMZ1FLZ1VLZ0VDZ0VOb1ZBQmVCTklWOStDNEZDb0JBb0JMWWFnUXJBV3ozODFm
bENvQkFvQkFxQlRTRlFBWGhUCnlKZmZRcUFRS0FRS2dhMUdvQUx3Vmc5L2RiNFFLQVFLZ1VKZ1V3
aFVBTjRVOHVXM0VDZ0VDb0ZDWUtzUnFBQzgxY05mblM4RUNvRkMKb0JEWUZBSVZnRGVGZlBrdEJB
cUJRcUFRMkdvRUtnQnY5ZkJYNXd1QlFxQVFLQVEyaFVBRjRFMGhYMzRMZ1VLZ0VDZ0V0aHFCQ3NC
YgpQZnpWK1VLZ0VDZ0VDb0ZOSVZBQmVGUElsOTlDb0JBb0JBcUJyVWFnQXZCV0QzOTF2aEFvQkFx
QlFtQlRDRlFBM2hUeTViY1FLQVFLCmdVSmdxeEdvQUx6VncxK2RMd1FLZ1VLZ0VOZ1VBaFdBTjRW
OCtTMEVDb0ZDb0JEWWFnUXFBRy8xOEZmbkM0RkNvQkFvQkRhRlFBWGcKVFNGZmZndUJRcUFRS0FT
MkdvRUt3RnM5L05YNVFxQVFLQVFLZ1UwaFVBRjRVOGlYMzBLZ0VDZ0VDb0d0UnFBQzhGWVBmM1cr
RUNnRQpDb0ZDWUZNSVZBRGVGUExsdHhBb0JBcUJRbUNyRWFnQXZOWERYNTB2QkFxQlFxQVEyQlFD
RllBM2hYejVMUVFLZ1VLZ0VOaHFCQ29BCmIvWHdWK2NMZ1VLZ0VDZ0VOb1ZBQmVCTklWOStDNEZD
b0JBb0JMWWFnUXJBV3ozODFmbENvQkFvQkFxQlRTRlFBWGhUeUpmZlFxQVEKS0FRS2dhMUdvQUx3
Vmc5L2RiNFFLQVFLZ1VKZ1V3aFVBTjRVOHVXM0VDZ0VDb0ZDWUtzUnFBQzgxY05mblM4RUNvRkNv
QkRZRkFJVgpnRGVGZlBrdEJBcUJRcUFRMkdvRUtnQnY5ZkJYNXd1QlFxQVFLQVEyaFVBRjRFMGhY
MzRMZ1VLZ0VDZ0V0aHFCQ3NCYlBmelYrVUtnCkVDZ0VDb0ZOSVZBQmVGUElsOTlDb0JBb0JBcUJy
VWFnQXZCV0QzOTF2aEFvQkFxQlFtQlRDRlFBM2hUeTViY1FLQVFLZ1VKZ3F4R28KQUx6VncxK2RM
d1FLZ1VLZ0VOZ1VBaFdBTjRWOCtTMEVDb0ZDb0JEWWFnUXFBRy8xOEZmbkM0RkNvQkFvQkRhRlFB
WGdUU0ZmZmd1QgpRcUFRS0FTMkdvRUt3RnM5L05YNVFxQVFLQVFLZ1UwaFVBRjRVOGlYMzBLZ0VD
Z0VDb0d0UnFBQzhGWVBmM1crRUNnRUNvRkNZRk1JClZBRGVGUExsdHhBb0JBcUJRbUNyRWFnQXZO
WERYNTB2QkFxQlFxQVEyQlFDRllBM2hYejVMUVFLZ1VLZ0VOaHFCQ29BYi9Yd1YrY0wKZ1VLZ0VD
Z0VOb1ZBQmVCTklWOStDNEZDb0JBb0JMWWFnUXJBV3ozODFmbENvQkFvQkFxQlRTRlFBWGhUeUpm
ZlFxQVFLQVFLZ2ExRwpvQUx3Vmc5L2RiNFFLQVFLZ1VKZ1V3aFVBTjRVOHVXM0VDZ0VDb0ZDWUtz
UnFBQzgxY05mblM4RUNvRkNvQkRZRkFJVmdEZUZmUGt0CkJBcUJRcUFRMkdvRUtnQnY5ZkJYNXd1
QlFxQVFLQVEyaFVBRjRFMGhYMzRMZ1VLZ0VDZ0V0aHFCQ3NCYlBmelYrVUtnRUNnRUNvRk4KSVZB
QmVGUElsOTlDb0JBb0JBcUJyVWFnQXZCV0QzOTF2aEFvQkFxQlFtQlRDRlFBM2hUeTViY1FLQVFL
Z1VKZ3F4R29BTHpWdzErZApMd1FLZ1VLZ0VOZ1VBaFdBTjRWOCtTMEVDb0ZDb0JEWWFnUXFBRy8x
OEZmbkM0RkNvQkFvQkRhRlFBWGdUU0ZmZmd1QlFxQVFLQVMyCkdvRUt3RnM5L05YNVFxQVFLQVFL
Z1UwaFVBRjRVOGlYMzBLZ0VDZ0VDb0d0UnFBQzhGWVBmM1crRUNnRUNvRkNZRk1JVkFEZUZQTGwK
dHhBb0JBcUJRbUNyRWFnQXZOWERYNTB2QkFxQlFxQVEyQlFDRllBM2hYejVMUVFLZ1VLZ0VOaHFC
Q29BYi9Yd1YrY0xnVUtnRUNnRQpOb1ZBQmVCTklWOStDNEZDb0JBb0JMWWFnUXJBV3ozODFmbENv
QkFvQkFxQlRTRlFBWGhUeUpmZlFxQVFLQVFLZ2ExR29BTHdWZzkvCmRiNFFLQVFLZ1VKZ1V3aFVB
TjRVOHVXM0VDZ0VDb0ZDWUtzUnFBQzgxY05mblM4RUNvRkNvQkRZRkFKckRjQ3ZmLzNyaC8vN3Yv
L2IKVkYvS2J5RlFDS3dSZ1RxZTF3aG1tU29FbGlDdzFnRDhIdS94SHNOMTExMjN4RTJSQ29GQzRH
SkRvSTduaTIzRXFyMFhHd0pyRGNBWApXK2RQV252UG5UczMvT1ZmL3VVRmFkYUY5SFZCT2xST0Nv
RkNvQkM0eUJDNDlLanR2ZW1tbTRZLy9NTS9ISDd2OTM1ditNZC8vTWZoCjEzLzkxNGZ2K1o3dkdS
NzBvQWNOYi9NMmJ6UGM0UTUzV09yaVYzLzFWNGZmK1ozZldjcGJKRjV5eVNYRG5lNTBwK0VOMy9B
Tmh6ZDYKb3pjYUh2emdCdzkzdk9NZEY4VXU2dm9mL2RFZkRZOTV6R09HZi9tWGZ4a2UrOWpIRGk5
NHdRdU9yVDhYMHRleGRXSkRobi9wbDM1cAorSzd2K3E3aGVjOTczdHBiOEUzZjlFM0R6VGZmZkdD
N1YxeHh4WER0dGRjZVdHK1p3bUdQNTJXMmlsWUlGQUo3SVBDVlgvbVZzK3V2CnYzNTIwQlMvOWM3
aWN2UHM4c3N2bjkzdWRyZWJYWFBOTmJNNzMvbk9zN2Q3dTdlYnhhV3JXUVRlMlpreloyYVBldFNq
WmpmZWVPTU8KOHhFRVpqZmNjTU1zZ3M0c21uaWdMUUx5N0ozZTZaMW1YL3UxWHp1TEU4WU8yeGNq
NFRNKzR6TW1HTVNYazJQcnhvWDBkV3lkdU1DRwpmK1ZYZm1YMnlFYytVbVAwQm0vd0JtdjMvaHUv
OFJ1VDhUOXNLend2QUFBVTBFbEVRVlRJTWZIQUJ6N3d5TzA1NnZGODVBYVVnVUpnCml4QnczRDNV
SmVoWHZ2S1ZtdUYrMVZkOWxXWnJmL2QzZnpjd00zalROMzNUNGRHUGZ2VEE3UGFmLy9tZmg4Ly8v
TThmZnUzWGZtMTQKK01NZlBuekVSM3pFNUtzQU0rUXYrSUl2R0g3aEYzNWgrT3pQL3V3Smp3cXph
R3k4NWpXdkdmN3FyLzVxK00zZi9NM2g2VTkvK3ZEMgpiLy8ydzIyMzNhYlo4eGQvOFJjUDk3M3Zm
WWVmKzdtZjI2Ri9zUkhlNnEzZWFtd3lNNXEzZUl1M0dPdnJMbHhJWCt0dSs0VzJGNEZ4CmVNLzNm
TS9odmQ3cnZRYkt4NVhZM3crYlB1UkRQdVN3cXRKYngvRjhwQWFVY2lHd3BRZ2MrQkwwTGJmY01q
enVjWS9UYjVXUGVNUWoKZENudTdObWRjZnoydDcvOUVEUGNJV2FxdzBkKzVFY09QL016UDdNU1lv
THp0M3pMdDR6OG1GRVBuL1JKbnpSdzZabDBsN3ZjUllIMgpYZC8xWFlmUCs3elBHNTd3aENjTVAv
aURQeWdlbDJ3LzlFTS9kSGorODU4L3ZQLzd2NzlvRitQSHAzektwd3l2ZTkzcmhyaGFNSHphCnAz
MmFMclVmVno4dXBLL2o2c054MitWbmxhLzd1cThiNGt2NWNPOTczM3VJS3owRCsvNXhwUC84ei84
Y252T2M1d3h4eFdoNDcvZCsKYi8xMHc4OHQxRmNsMWdyNEdQaXdEL3V3VldKNzBvL2plTjdUYVFr
VUFvV0FFRGh3QVA3bWIvN200YVV2ZmFtVVdmRzhMUGoyMkJLcwpmK3UzZm12NDltLy85cDQ4S1RO
ejd0T2xsMTQ2QnQrZVRwa1Q0US84d0E4TWNSbHdlT1l6bnlrMkM0b0lXbi96TjM4ai9xTE94VkMv
CjZxcXJoaS8vOGkrL0lFMjlrTDR1U0llT3djblZWMTg5Zk4vM2ZkKzRQNTAvZjM0TWVMc0Z4c00w
aGYyWjQ0aXJSZS8yYnUrMkx4TmYKOGlWZklqbXVsRHprSVEvWmw4NHlvZU00bnBmNUtWb2hVQWpz
UkdEbjFIV256SVR5d2hlK2NLeS85VnUvOVZqZXJjQ2w2TjBDOVpWWApYamxSMzg4SmpsbGNuLzdw
bi83cFdCYkc5RDZxdkQwSTNPOSs5eHVETDcyK3ozM3VNM2FlV2ZFNkU0dTZDTUw3RGI3NC9vbWYr
QWsxCmdhcy9SMG5IY1R3ZnBUMmxXd2hzRXdJSERzQi8vTWQvUE9MemlsZThZaXp2VnJqSFBlNmhT
OUc3eVJ5VXgyL0lYS2JyVTkrMm5sN2wKUXVDb0NIQlZ4bWsvWHhBdHUxZk81ZWRQK0lSUEdBNXlH
Zm4zZi8vM2g3Lys2NytXNllQb0xXdExmOHhzOG5oZTFyYWlGUUtuSFlFRApCK0FIUE9BQkl5WmNv
dHR2WW1IV09oTW5RVzV6NnRPclh2V3F2bHJsUXVERUl4QjNEZ3hmK3FWZmVxQjJQdmU1ejVYOG03
M1ptdzN2Ci9NN3ZmQ0RkUmVHVGNqd3Z0cXZxaGNBMklERC9Xci9QM2o3c1lRL1RLbWZFZitSSGZr
U3JRei81a3o5NVQrM2RMa0h2cWJ4RTROWmIKYjlYOXh6MkxGZEVIVGF5by9wTS8rWlBoUC83alA3
U3ltd1ZmcTlMLy9NLy9ERnpxWHBYNFhmcU4zL2lOSjJ4bU9LemtYa3kwZFJVbQpyQ3JudCs2NzNl
MXVpMnFUT3ZkZGMwOHZxMWo1TGZCdDMvWnRCNjQyY0ltVVI0SXVYdHFmS0xmS2ZuMzF1dlNKUlVy
YzQ4M1BFUHZ4CjArdFRwczBzQUxyLy9lOC9zbGlFOXJ1Lys3dkR2Ly83djJ2bE1mZDg3eWY5MTMv
OWwxYkY4K1NteXk2N2JEOHFGN1dNQXpDcm40ODYKR3o4cHgvTkZQU0RWK0VMZ2tBZ2NlQWI4bVov
NW1Yb29odjJ4SXZuSlQzNnliZzB5N1VMa0xBVGpoTjBuYmxIYWIySUY2YnUvKzd1cgpMK2h4cXdr
bmZBTFpELy93RHk4MXd3ejdjejduY3hSMENCejl4cTFVTDNuSlMzYm9FU0EvOTNNL2Q0Y3NDOGY2
OU5yWHZuYjQvdS8vCmZuMmhvUTFlNk5iTHVNeVhoVS8vOUUrWHpSLy84Ui9YN1Zvc3BpRVkwaVpX
aTMvYnQzMmJ4WGZrQi9GbFpRTG1SMzNVUndrZnZoaHcKNlpPVE4wRTQ3a01WTG92allWM25yTnps
VnJKM2ZNZDNsSjJmL01tZkZPdC8vL2QvQnhZVnZmbWJ2L2tROTQxcmxUMEw4eWd2Ky9KaQplK1Rj
bm5iM3U5OWR0Nyt4V3BtK25lYjBCMy93QjdvdGp6NGU5Zkl6Tms3SzhVeGJLaFVDVzRlQWJ3Zyt5
RDNRejM3MnMzYzhOQ0FXCmtNemlrdGpzQzcvd0N3OWlTckwvOEEvL01MSEhRenoyU2s5ODRoTW5P
ckZJWmhZQllDKzFXY3k2Wmp5SUlwNmtOWHZxVTU4Nml5ZDMKNlVFaDhSU2lXY3hlUjV0eFAvTktl
ekh6SCtWaWg1bkZmYlc3K28xWjlpeUNqblFpQUkyeTBHUHh6U3h1bjlJRFRiRGw3YWQvK3FkSAp1
YjVBKzNrSUNYS3hhclpuemY3MmIvOTJkcTk3M1V1OHIvN3FyNTd3RHVQTEJ1SUxpZkNLd0R1TDJk
Y3N2anpNWWxYd2pJZUZmTm1YCmZkbU1CNlBRbnBoOXorSyticXVOZWF5Q244WFBCV1BmM0Vld2lI
dThaL0hGUVR3ZTVNS0RYY3duWnh4bys2cjBzUi83c1JONXh2RTQKRW5pNlhiUnpVeWxXeXFzZDdL
dHhGV2d0elZqMzhieVdScFdSUXVBVUkrQzRPN2h3MEw3R2ZidXp1TnczbnBSOGNvcmZwR1p4TzlD
Qgp6QjBrQUJOazQ1di94QzhuN1pneDd1bVQ0Qld6M2xuY1lxTEF1Nmp3OHBlL2ZCWUx1MGJiTWJ0
ZkZCbnI3L3UrN3p2S2NUSWtLTzJXCjRrRU9zaDJYc1VjeGRPSUJKck80ckQxNzBwT2VOTm9EeTdo
dmVwVHJDL0h3RThrOTlLRVA3Y2xqbVNBY3R4bnRlTHJaWVh4aGxDOVUKSHRzWHYvakZvNSsrOEl4
blBHT1VRVFp1T2V2WnM1amh6dUpTOXl3ZXZES1JpL3UvWjIveUptOHkrOFJQL01RWlQ1b2lvTVNq
R0djRQpadnNrajFYQ0UzdDk1U2xQZWNwRTlwZC8rWmQ3OXRyS0p5VUF4eFVPOWZmeGozLzgydnFH
b1hVZXoydHRXQmtyQkU0aEFvNjdodzdBCllCS1gvMlp4dVhSeUF1U0VHVTl5bXNWVHFsYk9JQmZ4
M0NzQWMySisyY3RlTnZ2R2IveEd6VGI3ay9NN3ZNTTdMQTJtaXo2b016dEMKbHlDMktubUdZUisv
K0l1L3VGUTBMamRQK3IxcXhvcHlYRExXekk0Z3V5ckZDdFI5MmZQakVPTTJyRldtWm5GWmNSYVhk
RmZ5OSt1TApQc1p2akdyWHgzLzh4NiswQnlOVzhvN3RqNGV3ek9LUzlWTDUvaXBEckN5ZWZlLzNm
dTlTT1FjYXhpRWV5ckpVQnVLLy9kdS96VDcxClV6OTF4aFdRci9pS3I5RE1mS1h3RVJnbklRREg3
KzRqeGovLzh6OS9oTjRzVjEzWDhiemNlbEVMZ1VMQUNLd2xBR09NR1IzQmxwT3AKZzVienU5NzFy
cnBrYWFlcjhzVUFqQzJlSWMxenBibnN1VGpUNWxtOEgvekJIenlMMzB4M3ZUeloreU1JZW5iN0Yz
L3hGejFyVW1hVwo1L2FUZjl6SGZkeUUzMWZpQVFpamJMeEFvV2ROeXQveEhkK2hRQmEzamt6b2ZZ
V1pmZTkzVlVDUFJXS1NpNWRUckh3T2R0emJPWXNuCmh2WG1KK1g5K0dMR0hMZDZqVzBpYU8rVy92
N3YvMzRNMXZUamZkN25mWmFLTTNOM1A1a0JyMHJNaWkwWGp6SmRKWGJCNkNjaEFQTUYKQTB6WS83
bFNjQnhwSGNmemNiU3JiQllDcHdrQkIrQURMOEtLRThBa3NRS1doVFc4RFNrQzdvVDM2bGUvV3Mr
QVpvRU5UeExhYjBLVwpWYndzeEluZi80WUlCcU1xRHl0Z1lRNExlT0lrdlhJbDhhalFDanhXa01W
TExOaUpZREh3QUlKbEc0KzI3Qk1ycEZjbEZyQTQ4VXhyClZoUXZTekhMMHlNRys0YzVMTW90cnQ1
ZHRicjFudmU4cDFSWitjdmJrMWdKdlpoaWxqeDg5RWQvOUNKNXJPL0gxNC8rNkk4T2NVbGUKT3R3
RHUxdmJFV0wxTlF2Wm5NQWpybHE0T3VhczduWmF0UW9jZm45N1RYeGhzc3BXNTM3NEJvOWM3WEZj
SnlqSGNUeXZzMzFscXhBNApUUWdjT1FBYkRCNk13U3BXYmdXSmhVQW1LNCszRmcweGs1elFkcXZ3
R0VBZWZCK1hmNGVmK3FtZm10eGF3dXNPdi83cnYzNDM5YVc4Cm1ObUt6Z3NlWW5hMmNpTnc4UXhx
Yjd3SVl0V1hCMlM1ajVPRURJRjJNZkhRQkFKUkxCcGJaQjJxL2tFZjlFR2pIaGpGSlhqZERoYmYK
RGtjNkwzTmdwZkZSVWg4OENmcCtMdmR1TnVNeTlZVHRBRDRoN3JQQ0xWMU9ySkxlOXNRRE0vNzh6
LzljTUt4ajlmTmVlSzd6ZU43TApWL0VMZ1cxRllHMEIyQUJ5YXdvbkM1N04zQ2RtVklkNWE5Rzd2
TXU3RE4vd0RkL1FtOUl6aytNM3NBbHRyOHFmL2RtZlNZUmJXN2lICmVMOWJYSzVkT2N0bXR0RGZB
LzJzWnoxTGR2dTI4SlliWnZJZitJRWYySk1QWFk3ZmtZZitiVWJjTTh1WEc1NEh6QnVwMXBYNkp5
VHQKTmZ1MVQ4YXFUMy82cDMvYVY2dDhCQVI4N3k5ZlRybnljYUhTdW8vbkM5WHU4bE1JWEF3SXJE
MEEwMm5laEJTL2V3N2YrWjNmT2NIZwpvRS84c2ZKbmZkWm5UUzZwTXR2OG1JLzVtR0cvbHlhNUZN
N0RJMGllUmRqMlVYUHV4L1hsWW1iWFAvdXpQenVhNU1FZGNZdUgzdXkwCmVObDNGRHBnZ2FEUFZR
RGVNdFVuN2cvbHhNeWJwLzcxWC8rMVp4MnEzQWZnM1M0Vjk4YTVETjJuM1M3ZjkzSlYzaHNCQitC
WWEzQ28KQjUvczdXRzF4THFQNTlXZWlsTUliQmNDeHhLQURTR1hYWG5PclJNem9sZzg0dXFCY21h
Uy9hTW4rUTJVeTdIa2U2VStJUEdiNmV0ZgovL3E5VlBiTjU0bFdYTkoyNHNINlRwdzBtVUh6c0pK
MUpoNFlRaENPaFVFRHIyN3NFNisxZS9DREg3enZMeWU5YmwvdXZ6RHdtL2wrCkVtOVo2cDhrdHQv
QXZSL2IyeXpEY2VNck9FZDkrY0pSY0Z6bjhYeVVkcFJ1SVhCYUVEaFFBQ1p3Y2NueklPbjY2Njhm
eFptNTd2ZUIKNzZOU0szRHA3WG5QZTU2ZXZHUWVNMkJtd3F0K283WGM0aVhVL2M2Y3JiOVgzaS9H
aXZ0UWg3Z1hWeXI4Smh3UGt0QlRuL2F5Y1ZBKwppM0I0ZlNHenpGZ1JQbEZuSnM2Q0tNLzZKOHg5
Vm5pc3BkTitBekR5ekphY2VodW1WWDV3QkR6NzVjdlcrNzNmK3gzY3dBcU5UUjdQCks1cFU1RUpn
cXhBNFVBQm1RVkhjUTNzZ2dKZ2h4aTB6QjlKWkpjeUQ0L21kdFUvOEZoeFBZK3BKTzhvRWJ4NWM3
N1Jvdy9SbE9TdXcKV1F5Mlc0cUhjb3hCbGk4RHpOYTUxTTBpcVhVdHZyTC94UmRPOE9XQ0ZlRXZl
dEdMSm4xRTdtbFBlNXJWRHB6M1Z4dTRsTzR2RlhzWgo2bGVSOXpiMjBpdithZ1FjZ0srNTVwckpG
OURWR3Z2amJQcDQzbDhyUzZvUU9MMElIQ2dBQXdPcmtnK1NXT3preTg1YzF1emZ2bklRCk81Yjk4
QS8vOElIM0MvZUpWZFlzOHRvdDhieGlKd0lrcTV2M2s2Njc3anE5SUdBM1dTNjE4bHV3RTIrSmlx
ZEI2V1VLSC9BQkgyRHkKV3ZMK2NuZHZNSjYwTmR4NDQ0MUQzRHM5a3BtTkh6YXh1cnBQcTU2UDNj
dHdtNWZIR25yYzg5dXpxM3dJQkxqMDdOL1NqMlAxODZhUAo1ME5BVWlxRndLbEI0TUFCbUh0ZGZU
L2lmbEJnTVEvMzlKSjQrY0d5K3hkNUswNmY5cnFrVE1CZGZIbDVQQmxLOXlMM2R2cHlQUDk1CnJE
S3JqUWRWVE80dkhwbGRnUmNkZlBkM2YvZkFJckM5RXF1aC9Yc3NzMEJlaGdDTmUyalhtZmdOMjc4
SEx0cmxOakFXdnprZDVmYWQKeHozdWNYckpnbTN4b29qK1ZpZlQrNXczR1RueDAwRC9wY2YwNDhy
MzJtZU95Kzl4Mi9XeHhwZlhkYTJrNzl0OEhNZHpiNy9LaFVBaApzQnFCQXdkZ1RNV1RyL1FHbnRW
bTV4emZHOHRLNFhqNng1elJsWmc1OWVtbW0yNmF6S1I2SG1XQ0dzR1IyM3VjQ0RiOEZ0b3Z1REtQ
Cm5GZTM5VzlMNHBZb3ZoREVVN2g2TVpXWnRmTjJvWGpRLzhBRFBQWnpDWjNGUjd3dHFFOEhXWHhG
bi91MFdPOTUvVUt2bms2WkIxaXcKVXByRUxTVEwwcUx0eFRvNmZGSENqMWQ0eC9POUp5dThsOWts
U0pQNEhYalZ2ZHBndTUvRVpXK24zWUlybDlvWlcrNGJqa2RXRGtmNQowbUYveS9MK1lUREwrSHZS
YU5jWGZkRVhEZmU3My8zMDVXKy9Dd0Y5K1puNzYzM1ArVjYrRHNwZjkvRjhVUDhsWHdoc0t3S0hD
c0NjCmpMbTh1T3oxZXoyUXozem1NOGZYNHNVRCt3ZWUwTFFzTGJzMWlGZlg3Wlo0SmQ2UC9kaVBU
V2FZQkZOV1JpOWJmRVFnK1pxditackoKUGIyLy9kdS9yWGZvb3NQdnBRUWNUcExNM0s2OTl0cUJW
d3pHUSs5M2E4YUUxeS9HNHBhZ3hRZVNUSVFYS3ZGTTR3bGwxUmNKaExpRQpIbThZbXNpN3dpMVhu
T3pwYjc4QzNYenkvZnJpS2tQL0pZSW5qNjFhUk1jbGZiOWVrSFVDL1cvdXZlKytYN3U5T3BDRlpF
NEV2LzYyCktOUEp2L1ZidjFVL2kvejNmLy8zd0JjQVhqTjVIS2wvNGhpK0ZxL2E3T1dUZDJmZmNN
TU5RenlPZElobmtxdXRlK213V05BUE16bU8KeTgvMnYrN2oyWFlyTHdRS2dUMFFpRm5wampmbnJI
cm1KcStGaTl0YzlJem1NS3NYRE1TbFJyMGtnZGY2OGV4Z251RWJKNXJ4OVhNOAp6em51alYxbGNo
YnZ5NTA4Y3hpN2JMeUdqamY3N0pWaXBpVjU2NUh6Nmp0ZTNoQXpweDNxejMvKzgyY3hROXloMCt0
SDhKcEY4RDNVCjY5Nzhxc0FJUmp0OHJ5TFFUcDZuM2JmaEVZOTRoTjRpdEtqajUxbkhMRk52RU9y
NVBNZVhaMlJqSjFhZjk2eXhmQkJmS0RIbXZMeUMKNTNOamw1Y2tSR0FZN1ZIZ09kQzhCcEczTUVV
QW5QRDZDcTlQN1B0SVgrSUxReStpY255QjJ2SFNEZmJUWllrWE5mUTJWL1Y3bWU1KwphZlNYNXkv
M2ZuaEY0MEVTKzFPdnY5dWJ0bXdYM05HSk5RYXorRm5ENUxYbHgzRThyNjF4WmFnUU9NVUlPTzRP
TGh5MHI3SENWMi9jCmlkdGRadkVpOUJudjhPVmtFYjlWelhoREVXL3JJVmd2QzRMNDR2Vm52S3lo
UHlrdEs4ZXptMmR4T1hqWDVzVzlrVXZ0OENJSGdzTmkKNGoyMmNZdk01T1VCOWgyejN4bDlPMno2
b1IvNm9SbHRqbG5ibmlaNFkxRDgxanFMbGVKTDJ4K1gyUFhxeGJoQ01Ocmk3VlB4Q0V3RgpRdHJN
TzNpcDg3WWl5bno1ZU1FTFhqREt1M0FZWDlZbDU1MitiL21XYnptMmszY2c4MTVsWHJNWXYzM3JT
MVRNVW51VnNSeS9XYy9pCmlzQVl4STAxT1cvT1loOXlVSTlWNDdPNHozbjAwOHVDMCtMckJ2bWl4
ZnQ1a2FOOU1WTWQvUjZsd0JkRFhudkpDemY0UXRhM3cyVysKWE1iUERyT1loZS9wS2g2VW9yNmlH
NWYzOVE3cXZaVGlKeFA1NVJXYXg1Mk9landmZC92S2ZpRndtaEJ3M0QxRElZTGtFTzlWalhQRAow
UksvT1hMLzZhcmYvNDVtZmYzYVBNU0RoVU5jQXVlM09aNS91K3JTNlg2OTgvSUlIcHlBcmVOSVhN
S05kK2pLTkpkQ3VWVFBKVVFlCnpoRUJTQytiT0E2L3RzbGxmcDRUemNiQ0lINktZTndYWDhSaCtR
dVI4M3N4bDJwNU9oaVgzazlxNGg1NmJwdmo1d21QNGFxMjhsczUKVDFFamNUODFqeHE5ME9saU81
NHZORDdscnhBNExBTEVXK0x1ZXBmb0hyWTFHOUpqY1JYUGhtWmJWK0tsQmNjVmZHbGpmK0tPcXc0
NgpNVi9Ja3pPUG0yUmJmUGpIdXZBN2pCMmV3Qld2TER5TTZnWFZZYUhlNGdzclZqV0FoWWFyZnNO
ZnBWUDBRcUFRdUxnUU9OUWlySXVyCmk5WGFRcUFRS0FRS2dVTGc1Q0d3MWhrd3EyUjU4bFdsUXFB
UXVQZ1JxT1A1NGgvRDZzSEpSbUN0QVpqYmRpb1ZBb1hBNlVDZ2p1ZlQKTVk3Vmk1T0xRRjJDUHJs
alV5MHJCQXFCUXFBUU9NVUlWQUEreFlOYlhTc0VDb0ZDb0JBNHVRaFVBRDY1WTFNdEt3UUtnVUtn
RURqRgpDRlFBUHNXRFcxMHJCQXFCUXFBUU9Ma0lWQUErdVdOVExTc0VDb0ZDb0JBNHhRaFVBRDdG
ZzF0ZEt3UUtnVUtnRURpNUNGUUFQcmxqClV5MHJCQXFCUXFBUU9NVUlWQUEreFlOYlhTc0VDb0ZD
b0JBNHVRaFVBRDY1WTFNdEt3UUtnVUtnRURqRkNGUUFQc1dEVzEwckJBcUIKUXFBUU9Ma0lWQUEr
dVdOVExTc0VDb0ZDb0JBNHhRaFVBRDdGZzF0ZEt3UUtnVUtnRURpNUNGUUFQcmxqVXkwckJBcUJR
cUFRT01VSQo2RzFJVDMzcVUwOXhGNnRyaFVBaFVBZ1VBb1hBeVVHQW1Idjk5ZGNQWjJhUm52S1Vw
NXljbGxWTENvRkNvQkFvQkFxQlU0N0FrNS84CjVPSC9BL1hTTWh4Rkh3VlFBQUFBQUVsRlRrU3VR
bUNDCgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2Vy
dmVycy1ncmFkLTE5LWItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKCmlW
Qk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFlQUFBQUZvQ0FZQUFBQ1BOeWdnQUFBRE8ybERRMUJKUTBN
Z1VISnZabWxzWlFBQWVBR0YKbEV0bzFGQVVoditNS1lLMGdxaTFGcFRnUW91MEpUN1FpbERiYWJY
V2tYRVkrOUFpeURSelp4cE5NekdaR1IrSVNFSGMrVnFLR3grSQppeXJpUXJwUWNLVUxrVUxyYTFF
RWNhVWlpRUkzVXNiL0p1MU1LbFl2SlBseXpuL1A2NFlBVlE5VGptTkZOR0RZenJ2SnJxaDI2UENB
CnRuZ0NWYWhCTmJoU2h1ZTBKeEw3ZmFaV1B1ZXY2YmRRcEdXeVNjYUs5UjJZK0xSdDlmMUxqMkx2
NjU3MitwNzUrbmx2TlM0VEFvcEcKNjRwc3dGc2xEd2E4Vi9MSnZKT241b2hrWXlpVkpqdmtScmNu
MlVHK1FWNmFEZkZnaU5QQ000Q3FObXB5aHVNeVRtUUZ1YVZvWkdYTQpVYkp1cDAyYlBDWHRhYzhZ
cG9iOVJuN0lXZERHbFk4QnJXdUFSUzhydGdFUEdMMExyRnBmc1RYVUFTdjdnYkV0RmR2UHBEOGZw
WGJjCnkyelo3SWRUcXFPczZVT3A5SE05c1BnYU1ITzFWUHAxcTFTYXVjMGNyT09aWlJUY29xOWxZ
Y29ySUtnMzJNMzR5VGxhaUlPZWZGVUwKY0pOejdGOEN4QzRBMXo4Q0d4NEF5eDhEaVJxZ1p3Y2k1
OWx1Y09YRktjNEY2TWc1cDEwek81VFhOdXY2ZHEyZFJ5dTBidHRvYnRSUwpscVg1TGs5emhTZmNv
a2czWTlncWNNNytXc1o3dGJCN0QvTEovaUxuaExkN2xwV1JkS3FUczBRejIvcVNGcDI3eVkza2V4
bHpUemU1CmdkZFV4dDNURzdDeTBjeDM5d1FjNmJPdE9NOUZhaUoxOW1EOEFKbnhGZFhKUitVOEpJ
OTR4WU15cG04L2x0cVhJTmZUbmp5ZWkwbE4KTGZlMm5SbnE0UmxKVnF3elF4M3hXWDd0RnBJeTd6
cHE3amlXLzgyenRzaHpISVlGQVJNMjd6WTBKTkdGS0pyZ3dFVU9HWHBNS2t4YQpwVi9RYXNMRDhi
OHFMU1RLdXl3cXV2Q1plejc3ZTA2Z3dOMHlmaCtpY1l3MGxpTm8ranY5bS81R3Y2bmYwYjllcVM4
MFZEd2o3bEhUCkdMLzhuWEZsWmxtTmpCdlVLT1BMbW9MNEJxdHRwOWRDbHRaaFhrRlBYbG5mRks0
dVkxK3BMM3MwbVVOY2pFK0h1aFNoVEUwWVpEeloKdGV5K1NMYjRKdng4YzlrV21oNjFMODQrcWF2
a2VxT09IWm1zZm5FMlhBMXIvN09yWU5LeXEvRGtqWkF1UEd1aHJsVTNxZDFxaTdvRAptcnBMYlZO
YjFVNis3VlQzbDNmMGNsWW1Uckp1bDlXbjJJT04wL1JXVHJveVd3VC9GbjR4L0M5MUNWdTRwcUhK
ZjJqQ3pXVk1TL2lPCjRQWWZkMGo1TC93TkFZVVZEWHhMT3pzQUFDQUFTVVJCVkhnQjdMMU5zaVhM
a3BSN0NvbzNtemNISmdiMU13M21RZ2NSbW9qUWhpWkQKQUJFUTVOVjkvbG40RjF1WFpjVGE1OTU3
S3NrVm1FdXRNSGMxVlhOM2pSUGJ5R29VZi9Pbk5mN3U3Lzd1dHhuandEZ3dEb3dENDhBNAo4SE1j
K0lkLytJZmYvcGJIUC83alAvNzI5My8vOXo5bjE5bGxIQmdIeG9GeFlCejR2OWdCK2k3amIzbjgy
My83YjMrYmZ3WGp4SXh4CllCd1lCOGFCY2VDZjM0Ri8rcWQvK3UxZi9QTnZNenVNQStQQU9EQU9q
QVBqUUhkZ0duQjNaTmJqd0Rnd0Rvd0Q0OEJQY0dBYThFOHcKZWJZWUI4YUJjV0FjR0FlNkE5T0F1
eU96SGdmR2dYRmdIQmdIZm9JRDA0Qi9nc216eFRnd0Rvd0Q0OEE0MEIyWUJ0d2RtZlU0TUE2TQpB
K1BBT1BBVEhKZ0cvQk5NbmkzR2dYRmdIQmdIeG9IdXdEVGc3c2lzeDRGeFlCd1lCOGFCbitEQU5P
Q2ZZUEpzTVE2TUErUEFPREFPCmRBZW1BWGRIWmowT2pBUGp3RGd3RHZ3RUI2WUIvd1NUWjR0eFlC
d1lCOGFCY2FBN01BMjRPekxyY1dBY0dBZkdnWEhnSnpnd0RmZ24KbUR4YmpBUGp3RGd3RG93RDNZ
RnB3TjJSV1k4RDQ4QTRNQTZNQXovQmdXbkFQOEhrMldJY0dBZkdnWEZnSE9nT1RBUHVqc3g2SEJn
SAp4b0Z4WUJ6NENRNU1BLzRKSnM4VzQ4QTRNQTZNQStOQWQyQWFjSGRrMXVQQU9EQU9qQVBqd0U5
d1lCcndUekI1dGhnSHhvRnhZQndZCkI3b0QwNEM3STdNZUI4YUJjV0FjR0FkK2dnUFRnSCtDeWJQ
Rk9EQU9qQVBqd0RqUUhaZ0czQjJaOVRnd0Rvd0Q0OEE0OEJNY21BYjgKRTB5ZUxjYUJjV0FjR0Fm
R2dlN0FOT0R1eUt6SGdYRmdIQmdIeG9HZjRNQTA0SjlnOG13eERvd0Q0OEE0TUE1MEI2WUJkMGRt
UFE2TQpBK1BBT0RBTy9BUUhwZ0gvQkpObmkzRmdIQmdIeG9GeG9Ec3dEYmc3TXV0eFlCd1lCOGFC
Y2VBbk9EQU4rQ2VZUEZ1TUErUEFPREFPCmpBUGRnV25BM1pGWmp3UGp3RGd3RG93RFA4R0JhY0Ev
d2VUWllod1lCOGFCY1dBYzZBNU1BKzZPekhvY0dBZkdnWEZnSFBnSkRrd0QKL2drbXp4Ymp3RGd3
RG93RDQwQjNZQnB3ZDJUVzQ4QTRNQTZNQStQQVQzQmdHdkJQTUhtMkdBZkdnWEZnSEJnSHVnUFRn
THNqc3g0SAp4b0Z4WUJ3WUIzNkNBOU9BZjRMSnM4VTRNQTZNQStQQU9OQWRtQWJjSFpuMU9EQU9q
QVBqd0Rqd0V4eVlCdndUVEo0dHhvRnhZQndZCkI4YUI3c0EwNE83SXJNZUJjV0FjR0FmR2daL2d3
RFRnbjJEeWJERU9qQVBqd0Rnd0RuUUhwZ0YzUjJZOURvd0Q0OEE0TUE3OEJBZW0KQWY4RWsyZUxj
V0FjR0FmR2dYR2dPekFOdURzeTYzRmdIQmdIeG9GeDRDYzRNQTM0SjVnOFc0d0Q0OEE0TUE2TUE5
MkJhY0Rka1ZtUApBK1BBT0RBT2pBTS93WUZwd0QvQjVObGlIQmdIeG9GeFlCem9Ednh0Qno1MS9U
Zi84RGUvL2ZaUDYvUi9paDlyZmd4enJ1RWxwazdNCnRSSGNIL1ZTTDBmc3FzWVY5di90T2wyZjZ6
K25wdWZyZW10dzd1UjRKdkU3WHRaVDA3bXV5YS94cDM4QytQeFIvMTE5L2pVZWM0TS8KL2Qwei9y
dDZ6QXVaaS94VkRqejdYOEIrcTBUbnEwK2ZUVnJyekJrVFR5MzRsVDc1Y29ocWUxMXp4Qnp5Mk1O
aERkZEc4T1NCMyttdgpOS2xYQjgrYVJuUEUxTWdWbDZlTy9JeHhZQndZQjhhQld3ZWUwNEI3Yzhn
MVRZRmZieExaTEpLUFhibE9Iam5YUnJqSjcydDRjdEU3CkV1djY1TnpwNFdRTjU5UnlpQm5OdVRi
S0ozcCs1dWFONnNreHhJL1Y4ZXljek0xOEhCZ0h4b0Z4b0J4NFRnUG1Pdm1IbjhiZzJpam0KMm1n
VFllMWNicThMUjE3cVU0ZkdOWE9HWE9kWkgweStFU3pIbmQ2enlIMm5OMmN0WXRkVEI1NWMxb3dy
bm5VNnQ2K1BDdk1jQjhhQgpjV0FjQ0FlZTFZRGpZbWZENjgzQXRSRk5OaGViaWxqeTRMTHVHRGdE
VGVyQjRJcXhabnluNy9udjlPYUovTHFlUFJubWVqNzFCL1BICk00dW5scmw3a3JlTzNJbmp3RGd3
RG93RHR3NDhxd0gzNW5CMWJadUVFWTZOcE9zN0J5NVk0bUFNc0w5R1R3MzF2VmJtbU9kUUErYTgK
NjNQTlBJY2FNT2JtRTFkUE5BOWZuRGtqOVFjeXozRmdIQmdIeG9FYkI1N1RnSy8rK045aG1ISFhZ
TklvOWNhdTY5eWVWMmMwei9wdQptTXRHbC9xdVN4NjVQMEpQemF4N3Q3OTc1Wm51dU1tWitUZ3dE
b3dENDhCdnoybkEyVEJ5M2w4eXVkNGsrcnJyYzkzMU5pRndmMWQ3CjNtRi9sSjc2ZC91N3QzdkpK
U1ltN3k0bWw3MW1qQVBqd0Rnd0R2ekZEanluQVdzQlRjSkdZWk5nZlRWWGs3SHJjdzB2YTdIT3Vw
MUwKcm1Ob0dPQ01kL3FEOGNWMVRiU3Urc1Nzblh6bW5pZTVpY24vdmZwZTh6dTkrWW5qd0Rnd0Rv
d0REL29Yc0Mrek55VHdiRExtM3pVWgphOEdCcndiY2VkZUxHK0ZlNmJNR2M0YzZZOGRkRStVWWUr
NEtoOVBQSTg4SWh6ay91UDJPNmxlcWhyd3J2WnlKNDhBNE1BNk1BNWNPClBPdGZ3TDFoMkNENjFh
OGFDWnl1djhMZ2RON2RQbGY2Syt3N2ZjL24vam1uOXQyQVJ4MUdhbkp1VHE1OGNkZHFqT1FkWUZl
NCtZbmoKd0Rnd0Rvd0Q1Y0J6R2pCLzlHMFFScTdZNThrckM5YkRwZ0UzbXdkcjlhbExuQnBxdnRQ
RGRWaVg5WjFlN2xWVWI0VFQ5Ny9TaWNsTgpmYys1N2hHTk9tTnlyckRNejN3Y0dBZkdnWEhnZ2Y4
cmFGNnFEWTNvdk9Pc3IwWTJEL1ZFY0dzWi8xejlGYjlqN3A5N3VIL255c2w0CnBVY24zbXV3VnMv
OGppY3UxOWoxVjJ1d0dlUEFPREFPakFNdkRqem5YOEEwaUd3S3JQMjlYSG5qaWNsTFBYbHhZbzYr
SmdmMm5kNzgKSGRjOEVZNzdHTTJyejVnYzlhdEVEWG52OUhMaHZOTzdEM3pySm1hZGllUEFPREFP
akFOdkhYaE9BKzdYdE5rWTcvTGc3emprcnZKWAoyTlVlcWJkUmZhZnRQUGtkWjcrT3NSYnpQTy8w
Y296cTFZQTd2NnVybHFnK3NabVBBK1BBT0RBTy9PREFzeHB3YnhCY3QyT3VpYjJ4Cm1OTW0xdjRT
UTlmMUhZT3ZsdWh3L3AzZXM2RlRZdzJ4NUpnVE04ck4vY1RnOU5xcHN5YWNycytjYytLVlB2TXpI
d2ZHZ1hGZ0hDZ0gKbnRPQXIvN3dpeGw5NmF6NTJYeGMzL0U2VHAydTc1aHJhN05tV09zN3ZXZExU
UlhZajlRbnJzNzRlL1NlQ1M2NlhwdDFjdUF4NUdaZQo3R0RNY3h3WUI4YUJjZURHZ2VjMDRLc0wy
b1NJem0wdXJ0RTVOMXFMdFQreEs3MDU5VFlydGVMeWlPOHc5Zkx1dU1tVFMwdzh0Y3pOCjlUazZo
bm1qZW1KcTVJckxVMGQreGpnd0Rvd0Q0OEN0QTg5cHdMMDU1SnFtd0s4M2lXd1d5Y2V1WENlUG5H
c2ozT1QzTlR5NTZCMkoKZFgxeTd2Undzb1p6YWpuRWpPWmNHK1VUUFQ5ejgwYjE1QmppeCtwNGRr
N21aajRPakFQandEaFFEanluQVhPZC9NTlBZM0J0RkhOdAp0SW13ZGk2MzE0VWpML1dwUStPYU9V
T3U4NndQSnQ4SWx1Tk83MW5rdnRPYnN4YXg2NmtEVHk1cnhoWFBPcDNiMTBlRmVZNEQ0OEE0Ck1B
NkVBODlxd0hHeHMrSDFadURhaUNhYmkwMUZMSGx3V1hjTW5JRW05V0J3eFZnenZ0UDMvSGQ2ODBS
K1hjK2VESE05bi9xRCtlT1oKeFZQTDNEM0pXMGZ1eEhGZ0hCZ0h4b0ZiQjU3VmdIdHp1THEyVGNJ
SXgwYlM5WjBERnl4eE1BYllYNk9uaHZwZUszUE1jNmdCYzk3MQp1V2FlUXcwWWMvT0pxeWVhaHkv
T25KSDZBNW5uT0RBT2pBUGp3STBEejJuQVYzLzg3ekRNdUdzd2FaUjZZOWQxYnMrck01cG5mVGZN
ClphTkxmZGNsajl3Zm9hZG0xcjNiMzczeVRIZmM1TXg4SEJnSHhvRng0RUgvcHlpelllUzh2MlJ5
dlVuMGRkZm51dXR0UXVEK3J2YTgKdy80b1BmWHY5bmR2OTVKTFRFemVYVXd1ZTgwWUI4YUJjV0Fj
K0lzZGVNNi9nTFdBSm1HanNFbXd2cHFyeWRqMXVZYVh0VmhuM2M0bAoxekUwREhER08vM0IrT0s2
SmxwWGZXTFdUajV6ejVQY3hPVC9YbjJ2K1ozZS9NUnhZQndZQjhhQkIvMEwySmZaR3hKNE5obno3
NXFNCnRlREFWd1B1dk92RmpYQ3Y5Rm1EdVVPZHNlT3VpWEtNUFhlRncrbm5rV2VFdzV3ZjNINUg5
U3RWUTk2VlhzN0VjV0FjR0FmR2dVc0gKbnZVdjRONHdiQkQ5NmxlTkJFN1hYMkZ3T3U5dW55djlG
ZmFkdnVkei81eFQrMjdBb3c0ak5UazNKMWUrdUdzMVJ2SU9zQ3ZjL01SeApZQndZQjhhQmN1QTVE
WmcvK2pZSUkxZnM4K1NWQmV0aDA0Q2J6WU8xK3RRbFRnMDEzK25oT3F6TCtrNHY5eXFxTjhMcCsx
L3B4T1NtCnZ1ZGM5NGhHblRFNVYxam1aejRPakFQandEand3UDhWTkMvVmhrWjAzbkhXVnlPYmgz
b2l1TFdNZjY3K2l0OHg5ODg5M0w5ejVXUzgKMHFNVDd6VllxMmQreHhPWGErejZxelhZakhGZ0hC
Z0h4b0VYQjU3ekwyQWFSRFlGMXY1ZXJyenh4T1NsbnJ3NE1VZGZrd1A3VG0vKwpqbXVlQ01kOWpP
YlZaMHlPK2xXaWhyeDNlcmx3M3VuZEI3NTFFN1BPeEhGZ0hCZ0h4b0czRGp5bkFmZHIybXlNZDNu
d2R4eHlWL2tyCjdHcVAxTnVvdnROMm52eU9zMS9IV0l0NW5uZDZPVWIxYXNDZDM5VlZTMVNmMk16
SGdYRmdIQmdIZm5EZ1dRMjROd2l1MnpIWHhONVkKekdrVGEzK0pvZXY2anNGWFMzUTQvMDd2MmRD
cHNZWlljc3lKR2VYbWZtSndldTNVV1JOTzEyZk9PZkZLbi9tWmp3UGp3RGd3RHBRRAp6Mm5BVjMv
NHhZeStkTmI4YkQ2dTczZ2RwMDdYZDh5MXRWa3pyUFdkM3JPbHBncnNSK29UVjJmOFBYclBCQmRk
cjgwNk9mQVljak12CmRqRG1PUTZNQStQQU9IRGp3SE1hOE5VRmJVSkU1ellYMStpY0c2M0YycC9Z
bGQ2Y2VwdVZXbkY1eEhlWWVubDMzT1RKSlNhZVd1Ym0KK2h3ZHc3eFJQVEUxY3NYbHFTTS9ZeHdZ
QjhhQmNlRFdnZWMwNE40Y2NrMVQ0TmViUkRhTDVHTlhycE5IenJVUmJ2TDdHcDVjOUk3RQp1ajQ1
ZDNvNFdjTTV0UnhpUm5PdWpmS0pucCs1ZWFONmNnenhZM1U4T3lkek14OEh4b0Z4WUJ3b0I1N1Rn
TGxPL3VHbk1iZzJpcmsyCjJrUllPNWZiNjhLUmwvclVvWEhObkNIWGVkWUhrMjhFeTNHbjl5eHkz
K25OV1l2WTlkU0JKNWMxNDRwbm5jN3Q2NlBDUE1lQmNXQWMKR0FmQ2dXYzE0TGpZMmZCNk0zQnRS
SlBOeGFZaWxqeTRyRHNHemtDVGVqQzRZcXdaMytsNy9qdTllU0svcm1kUGhybWVULzNCL1BITQo0
cWxsN3A3a3JTTjM0amd3RG93RDQ4Q3RBODlxd0wwNVhGM2JKbUdFWXlQcCtzNkJDNVk0R0FQc3I5
RlRRMzJ2bFRubU9kU0FPZS82ClhEUFBvUWFNdWZuRTFSUE53eGRuemtqOWdjeHpIQmdIeG9GeDRN
YUI1elRncXovK2R4aG0zRFdZTkVxOXNlczZ0K2ZWR2MyenZodm0Kc3RHbHZ1dVNSKzZQMEZNejY5
N3Q3MTU1cGp0dWNtWStEb3dENDhBNDhLRC9VNVRaTUhMZVh6SzUzaVQ2dXV0ejNmVTJJWEIvVjN2
ZQpZWCtVbnZwMys3dTNlOGtsSmlidkxpYVh2V2FNQStQQU9EQU8vTVVPUE9kZndGcEFrN0JSMkNS
WVg4M1ZaT3o2WE1QTFdxeXpidWVTCjZ4Z2FCampqbmY1Z2ZIRmRFNjJyUGpGcko1KzU1MGx1WXZK
L3I3N1gvRTV2ZnVJNE1BNk1BK1BBZy80RjdNdnNEUWs4bTR6NWQwM0cKV25EZ3F3RjMzdlhpUnJo
WCtxekIzS0hPMkhIWFJEbkducnZDNGZUenlEUENZYzRQYnIraitwV3FJZTlLTDJmaU9EQU9qQVBq
d0tVRAp6L29YY0c4WU5vaCs5YXRHQXFmcnJ6QTRuWGUzejVYK0N2dE8zL081Zjg2cGZUZmdVWWVS
bXB5Ymt5dGYzTFVhSTNrSDJCVnVmdUk0Ck1BNk1BK05BT2ZDY0Jzd2ZmUnVFa1N2MmVmTEtndld3
YWNETjVzRmFmZW9TcDRhYTcvUndIZFpsZmFlWGV4WFZHK0gwL2E5MFluSlQKMzNPdWUwU2p6cGlj
S3l6ek14OEh4b0Z4WUJ4NDRQOEttcGRxUXlNNjd6anJxNUhOUXowUjNGckdQMWQveGUrWSsrY2U3
dCs1Y2pKZQo2ZEdKOXhxczFUTy80NG5MTlhiOTFScHN4amd3RG93RDQ4Q0xBOC81RnpBTklwc0Nh
Mzh2Vjk1NFl2SlNUMTZjbUtPdnlZRjlwemQvCnh6VlBoT00rUnZQcU15WkgvU3BSUTk0N3ZWdzQ3
L1R1QTkrNmlWbG40amd3RG93RDQ4QmJCNTdUZ1BzMWJUYkd1eno0T3c2NXEvd1YKZHJWSDZtMVUz
Mms3VDM3SDJhOWpyTVU4enp1OUhLTjZOZURPNytxcUphcFBiT2Jqd0Rnd0Rvd0RQemp3ckFiY0d3
VFg3WmhyWW04cwo1clNKdGIvRTBIVjl4K0NySlRxY2Y2ZjNiT2pVV0VNc09lYkVqSEp6UHpFNHZY
YnFyQW1uNnpQbm5IaWx6L3pNeDRGeFlCd1lCOHFCCjV6VGdxei84WWtaZk9tdCtOaC9YZDd5T1U2
ZnJPK2JhMnF3WjF2cE83OWxTVXdYMkkvV0pxelArSHIxbmdvdXUxMmFkSEhnTXVaa1gKT3hqekhB
ZkdnWEZnSExoeDREa04rT3FDTmlHaWM1dUxhM1RPamRaaTdVL3NTbTlPdmMxS3JiZzg0anRNdmJ3
N2J2TGtFaE5QTFhOegpmWTZPWWQ2b25wZ2F1ZUx5MUpHZk1RNk1BK1BBT0hEcndITWFjRzhPdWFZ
cDhPdE5JcHRGOHJFcjE4a2o1OW9JTi9sOURVOHVla2RpClhaK2NPejJjck9HY1dnNHhvem5YUnZs
RXo4L2N2RkU5T1liNHNUcWVuWk81bVk4RDQ4QTRNQTZVQTg5cHdGd24vL0RUR0Z3YnhWd2IKYlNL
c25jdnRkZUhJUzMzcTBMaG16cERyUE91RHlUZUM1YmpUZXhhNTcvVG1yRVhzZXVyQWs4dWFjY1d6
VHVmMjlWRmhudVBBT0RBTwpqQVBod0xNYWNGenNiSGk5R2JnMm9zbm1ZbE1SU3g1YzFoMERaNkJK
UFJoY01kYU03L1E5LzUzZVBKRmYxN01udzF6UHAvNWcvbmhtCjhkUXlkMC95MXBFN2NSd1lCOGFC
Y2VEV2dXYzE0TjRjcnE1dGt6RENzWkYwZmVmQUJVc2NqQUgyMStpcG9iN1h5aHp6SEdyQW5IZDkK
cnBublVBUEczSHppNm9ubTRZc3paNlQrUU9ZNURvd0Q0OEE0Y09QQWN4cncxUi8vT3d3ejdocE1H
cVhlMkhXZDIvUHFqT1paM3cxegoyZWhTMzNYSkkvZEg2S21aZGUvMmQ2ODgweDAzT1RNZkI4YUJj
V0FjZU5EL0tjcHNHRG52TDVsY2J4SjkzZlc1N25xYkVMaS9xejN2CnNEOUtULzI3L2QzYnZlUVNF
NU4zRjVQTFhqUEdnWEZnSEJnSC9tSUhudk12WUMyZ1NkZ29iQktzcitacU1uWjlydUZsTGRaWnQz
UEoKZFF3TkE1enhUbjh3dnJpdWlkWlZuNWkxazgvYzh5UTNNZm0vVjk5cmZxYzNQM0VjR0FmR2dY
SGdRZjhDOW1YMmhnU2VUY2I4dXlaagpMVGp3MVlBNzczcHhJOXdyZmRaZzdsQm43TGhyb2h4anox
M2hjUHA1NUJuaE1PY0h0OTlSL1VyVmtIZWxsek54SEJnSHhvRng0TktCClovMEx1RGNNRzBTLyts
VWpnZFAxVnhpY3pydmI1MHAvaFgybjcvbmNQK2ZVdmh2d3FNTklUYzdOeVpVdjdscU5rYndEN0Fv
M1AzRWMKR0FmR2dYR2dISGhPQSthUHZnM0N5Qlg3UEhsbHdYcllOT0JtODJDdFBuV0pVMFBOZDNx
NER1dXl2dFBMdllycWpYRDYvbGM2TWJtcAo3em5YUGFKUlowek9GWmI1bVk4RDQ4QTRNQTQ4OEg4
RnpVdTFvUkdkZDV6MTFjam1vWjRJYmkzam42dS80bmZNL1hNUDkrOWNPUm12CjlPakVldzNXNnBu
ZjhjVGxHcnYrYWcwMll4d1lCOGFCY2VERmdlZjhDNWdHa1UyQnRiK1hLMjg4TVhtcEp5OU96TkhY
NU1DKzA1dS8KNDVvbnduRWZvM24xR1pPamZwV29JZStkWGk2Y2QzcjNnVy9keEt3emNSd1lCOGFC
Y2VDdEE4OXB3UDJhTmh2alhSNzhIWWZjVmY0Swp1OW9qOVRhcTc3U2RKNy9qN05jeDFtS2U1NTFl
amxHOUduRG5kM1hWRXRVbk52TnhZQndZQjhhQkh4eDRWZ1B1RFlMcmRzdzFzVGNXCmM5ckUybDlp
NkxxK1kvRFZFaDNPdjlON05uUnFyQ0dXSEhOaVJybTVueGljWGp0MTFvVFQ5Wmx6VHJ6U1ozN200
OEE0TUE2TUErWEEKY3hydzFSOStNYU12blRVL200L3JPMTdIcWRQMUhYTnRiZFlNYTMybjkyeXBx
UUw3a2ZyRTFSbC9qOTR6d1VYWGE3Tk9EanlHM015TApIWXg1amdQandEZ3dEdHc0OEp3R2ZIVkJt
eERSdWMzRk5Ucm5SbXV4OWlkMnBUZW4zbWFsVmx3ZThSMm1YdDRkTjNseWlZbW5scm01ClBrZkhN
RzlVVDB5TlhIRjU2c2pQR0FmR2dYRmdITGgxNERrTnVEZUhYTk1VK1BVbWtjMGkrZGlWNitTUmMy
MkVtL3kraGljWHZTT3gKcmsvT25SNU8xbkJPTFllWTBaeHJvM3lpNTJkdTNxaWVIRVA4V0IzUHpz
bmN6TWVCY1dBY0dBZktnZWMwWUs2VGYvaHBESzZOWXE2TgpOaEhXenVYMnVuRGtwVDUxYUZ3elo4
aDFudlhCNUJ2QmN0enBQWXZjZDNwejFpSjJQWFhneVdYTnVPSlpwM1A3K3Fnd3ozRmdIQmdICnhv
Rnc0RmtOT0M1Mk5yemVERndiMFdSenNhbUlKUTh1NjQ2Qk05Q2tIZ3l1R0d2R2QvcWUvMDV2bnNp
djY5bVRZYTduVTM4d2Z6eXoKZUdxWnV5ZDU2OGlkT0E2TUErUEFPSERyd0xNYWNHOE9WOWUyU1Jq
aDJFaTZ2blBnZ2lVT3hnRDdhL1RVVU45clpZNTVEalZnenJzKwoxOHh6cUFGamJqNXg5VVR6OE1X
Wk0xSi9JUE1jQjhhQmNXQWN1SEhnT1EzNDZvLy9IWVlaZHcwbWpWSnY3THJPN1hsMVJ2T3M3NGE1
CmJIU3A3N3Jra2ZzajlOVE11bmY3dTFlZTZZNmJuSm1QQStQQU9EQU9QT2ovRkdVMmpKejNsMHl1
TjRtKzd2cGNkNzFOQ056ZjFaNTMKMkIrbHAvN2QvdTd0WG5LSmljbTdpOGxscnhuandEZ3dEb3dE
ZjdFRHova1hzQmJRSkd3VU5nbldWM00xR2JzKzEvQ3lGdXVzMjduawpPb2FHQWM1NHB6OFlYMXpY
Uk91cVQ4emF5V2Z1ZVpLYm1QemZxKzgxdjlPYm56Z09qQVBqd0Rqd29IOEIreko3UXdMUEptUCtY
Wk94CkZoejRhc0NkZDcyNEVlNlZQbXN3ZDZnemR0dzFVWTZ4NTY1d09QMDg4b3h3bVBPRDIrK29m
cVZxeUx2U3k1azREb3dENDhBNGNPbkEKcy80RjNCdUdEYUpmL2FxUndPbjZLd3hPNTkzdGM2Vy93
cjdUOTN6dW4zTnEzdzE0MUdHa0p1Zm01TW9YZDYzR1NONEJkb1dibnpnTwpqQVBqd0RoUURqeW5B
Zk5IM3daaDVJcDlucnl5WUQxc0duQ3plYkJXbjdyRXFhSG1PejFjaDNWWjMrbmxYa1gxUmpoOS95
dWRtTnpVCjk1enJIdEdvTXlibkNzdjh6TWVCY1dBY0dBY2UrTCtDNXFYYTBJak9PODc2YW1UelVF
OEV0NWJ4ejlWZjhUdm0vcm1IKzNldW5JeFgKZW5UaXZRWnI5Y3p2ZU9KeWpWMS90UWFiTVE2TUEr
UEFPUERpd0hQK0JVeUR5S2JBMnQvTGxUZWVtTHpVa3hjbjV1aHJjbURmNmMzZgpjYzBUNGJpUDBi
ejZqTWxSdjByVWtQZE9MeGZPTzczN3dMZHVZdGFaT0E2TUErUEFPUERXZ2VjMDRINU5tNDN4TGcv
K2prUHVLbitGClhlMlJlaHZWZDlyT2s5OXg5dXNZYXpIUDgwNHZ4NmhlRGJqenU3cHFpZW9UbS9r
NE1BNk1BK1BBRHc0OHF3SDNCc0YxTythYTJCdUwKT1cxaTdTOHhkRjNmTWZocWlRN24zK2s5R3pv
MTFoQkxqamt4bzl6Y1R3eE9yNTA2YThMcCtzdzVKMTdwTXovemNXQWNHQWZHZ1hMZwpPUTM0Nmcr
L21OR1h6cHFmemNmMUhhL2oxT242anJtMk5tdUd0YjdUZTdiVVZJSDlTSDNpNm95L1IrK1o0S0xy
dFZrbkJ4NURidWJGCkRzWTh4NEZ4WUJ3WUIyNGNlRTREdnJxZ1RZam8zT2JpR3Axem83VlkreE83
MHB0VGI3TlNLeTZQK0E1VEwrK09tenk1eE1SVHk5eGMKbjZOam1EZXFKNlpHcnJnOGRlUm5qQVBq
d0Rnd0R0dzY4SndHM0p0RHJta0svSHFUeUdhUmZPektkZkxJdVRiQ1RYNWZ3NU9MM3BGWQoxeWZu
VGc4bmF6aW5sa1BNYU02MVVUN1I4ek0zYjFSUGppRitySTVuNTJSdTV1UEFPREFPakFQbHdITWFN
TmZKUC93MEJ0ZEdNZGRHCm13aHI1M0o3WFRqeVVwODZOSzZaTStRNnovcGc4bzFnT2U3MG5rWHVP
NzA1YXhHN25qcnc1TEptWFBHczA3bDlmVlNZNXpnd0Rvd0QKNDBBNDhLd0dIQmM3RzE1dkJxNk5h
TEs1MkZURWtnZVhkY2ZBR1doU0R3WlhqRFhqTzMzUGY2YzNUK1RYOWV6Sk1OZnpxVCtZUDU1WgpQ
TFhNM1pPOGRlUk9IQWZHZ1hGZ0hMaDE0RmtOdURlSHEydmJKSXh3YkNSZDN6bHd3UklIWTREOU5Y
cHFxTysxTXNjOGh4b3c1MTJmCmErWTUxSUF4TjUrNGVxSjUrT0xNR2FrL2tIbU9BK1BBT0RBTzNE
anduQVo4OWNmL0RzT011d2FUUnFrM2RsM245cnc2bzNuV2Q4TmMKTnJyVWQxM3l5UDBSZW1wbTNi
djkzU3ZQZE1kTnpzekhnWEZnSEJnSEh2Ui9pakliUnM3N1N5YlhtMFJmZDMydXU5NG1CTzd2YXM4
Nwo3SS9TVS85dWYvZDJMN25FeE9UZHhlU3kxNHh4WUJ3WUI4YUJ2OWlCNS93TFdBdG9FallLbXdU
cnE3bWFqRjJmYTNoWmkzWFc3Vnh5CkhVUERBR2U4MHgrTUw2NXJvblhWSjJidDVEUDNQTWxOVFA3
djFmZWEzK25OVHh3SHhvRnhZQng0MEwrQWZabTlJWUZua3pIL3JzbFkKQ3c1OE5lRE91MTdjQ1Bk
S256V1lPOVFaTys2YUtNZlljMWM0bkg0ZWVVWTR6UG5CN1hkVXYxSTE1RjNwNVV3Y0I4YUJjV0Fj
dUhUZwpXZjhDN2czREJ0R3ZmdFZJNEhUOUZRYW44KzcydWRKZllkL3BlejczenptMTd3WTg2akJT
azNOemN1V0x1MVpqSk84QXU4TE5UeHdICnhvRnhZQndvQjU3VGdQbWpiNE13Y3NVK1QxNVpzQjQy
RGJqWlBGaXJUMTNpMUZEem5SNnV3N3FzNy9SeXI2SjZJNXkrLzVWT1RHN3EKZTg1MWoyalVHWk56
aFdWKzV1UEFPREFPakFNUC9GOUI4MUp0YUVUbkhXZDlOYko1cUNlQ1c4djQ1K3F2K0Ixei85ekQv
VHRYVHNZcgpQVHJ4WG9PMWV1WjNQSEc1eHE2L1dvUE5HQWZHZ1hGZ0hIaHg0RG4vQXFaQlpGTmc3
ZS9seWh0UFRGN3F5WXNUYy9RMU9iRHY5T2J2CnVPYUpjTnpIYUY1OXh1U29YeVZxeUh1bmx3dm5u
ZDU5NEZzM01ldE1IQWZHZ1hGZ0hIanJ3SE1hY0wrbXpjWjRsd2QveHlGM2xiL0MKcnZaSXZZM3FP
MjNueWU4NCszV010WmpuZWFlWFkxU3ZCdHo1WFYyMVJQV0p6WHdjR0FmR2dYSGdCd2VlMVlCN2cr
QzZIWE5ON0kzRgpuRGF4OXBjWXVxN3ZHSHkxUklmejcvU2VEWjBhYTRnbHg1eVlVVzd1SndhbjEw
NmROZUYwZmVhY0U2LzBtWi81T0RBT2pBUGpRRG53Cm5BWjg5WWRmek9oTFo4M1A1dVA2anRkeDZu
Ujl4MXhibXpYRFd0L3BQVnRxcXNCK3BENXhkY2Jmby9kTWNOSDEycXlUQTQ4aE4vTmkKQjJPZTQ4
QTRNQTZNQXpjT1BLY0JYMTNRSmtSMGJuTnhqYzY1MFZxcy9ZbGQ2YzJwdDFtcEZaZEhmSWVwbDNm
SFRaNWNZdUtwWlc2dQp6OUV4ekJ2VkUxTWpWMXllT3ZJenhvRnhZQndZQjI0ZGVFNEQ3czBoMXpR
RmZyMUpaTE5JUG5ibE9ubmtYQnZoSnIrdjRjbEY3MGlzCjY1TnpwNGVUTlp4VHl5Rm1OT2ZhS0ov
bytabWJONm9ueHhBL1ZzZXpjekkzODNGZ0hCZ0h4b0Z5NERrTm1PdmtIMzRhZzJ1am1HdWoKVFlT
MWM3bTlMaHg1cVU4ZEd0Zk1HWEtkWjMwdytVYXdISGQ2enlMM25kNmN0WWhkVHgxNGNsa3pybmpX
NmR5K1Bpck1jeHdZQjhhQgpjU0FjK051WWYvVDBUMzl2Ti9qb2E4emhmekVIL3ZSMzg5L1ZML1pL
NWpqandHTWNlTmEvZ0Iveld1WWk0OEE0TUE2TUEwOTNZQnJ3CjA5L3czRzhjR0FmR2dYSGdsM1Jn
R3ZBditWcm1VT1BBT0RBT2pBTlBkMkFhOE5QZjhOeHZIQmdIeG9GeDRKZDBZQnJ3TC9sYTVsRGoK
d0Rnd0Rvd0RUM2RnR3ZEVDMvRGNieHdZQjhhQmNlQ1hkR0FhOEMvNVd1WlE0OEE0TUE2TUEwOTNZ
QnJ3MDkvdzNHOGNHQWZHZ1hIZwpsM1JnR3ZBditWcm1VT1BBT0RBT2pBTlBkMkFhOE5QZjhOeHZI
QmdIeG9GeDRKZDBZQnJ3TC9sYTVsRGp3RGd3RG93RFQzZGdHdkRUCjMvRGNieHdZQjhhQmNlQ1hk
R0FhOEMvNVd1WlE0OEE0TUE2TUEwOTNZQnJ3MDkvdzNHOGNHQWZHZ1hIZ2wzUmdHdkF2K1ZybVVP
UEEKT0RBT2pBTlBkMkFhOE5QZjhOeHZIQmdIeG9GeDRKZDBZQnJ3TC9sYTVsRGp3RGd3RG93RFQz
ZGdHdkRUMy9EY2J4d1lCOGFCY2VDWApkR0FhOEMvNVd1WlE0OEE0TUE2TUEwOTNZQnJ3MDkvdzNH
OGNHQWZHZ1hIZ2wzUmdHdkF2K1ZybVVPUEFPREFPakFOUGQyQWE4TlBmCjhOeHZIQmdIeG9GeEdW
cFcwUUFBSUFCSlJFRlU0SmQwWUJyd0wvbGE1bERqd0Rnd0Rvd0RUM2RnR3ZEVDMvRGNieHdZQjhh
QmNlQ1gKZEdBYThDLzVXdVpRNDhBNE1BNk1BMDkzWUJydzA5L3czRzhjR0FmR2dYSGdsM1JnR3ZB
ditWcm1VT1BBT0RBT2pBTlBkMkFhOE5QZgo4Tnh2SEJnSHhvRng0SmQwWUJyd0wvbGE1bERqd0Rn
d0Rvd0RUM2RnR3ZEVDMvRGNieHdZQjhhQmNlQ1hkR0FhOEMvNVd1WlE0OEE0Ck1BNk1BMDkzWUJy
dzA5L3czRzhjR0FmR2dYSGdsM1JnR3ZBditWcm1VT1BBT0RBT2pBTlBkMkFhOE5QZjhOeHZIQmdI
eG9GeDRKZDAKWUJyd0wvbGE1bERqd0Rnd0Rvd0RUM2RnR3ZEVDMvRGNieHdZQjhhQmNlQ1hkR0Fh
OEMvNVd1WlE0OEE0TUE2TUEwOTNZQnJ3MDkvdwozRzhjR0FmR2dYSGdsM1JnR3ZBditWcm1VT1BB
T0RBT2pBTlBkMkFhOE5QZjhOeHZIQmdIeG9GeDRKZDBZQnJ3TC9sYTVsRGp3RGd3CkRvd0RUM2Rn
R3ZEVDMvRGNieHdZQjhhQmNlQ1hkR0FhOEMvNVd1WlE0OEE0TUE2TUEwOTNZQnJ3MDkvdzNHOGNH
QWZHZ1hIZ2wzUmcKR3ZBditWcm1VT1BBT0RBT2pBTlBkMkFhOE5QZjhOeHZIQmdIeG9GeDRKZDBZ
QnJ3TC9sYTVsRGp3RGd3RG93RFQzZGdHdkRUMy9EYwpieHdZQjhhQmNlQ1hkR0FhOEMvNVd1WlE0
OEE0TUE2TUEwOTM0RytmY3NHLytZZS8rZTIzZjFxMytWUDhXUE5qbUhNTkx6RjFZcTZOCjRQNm9s
M281WWxjMXJyRC9iOWZwK2x6L09UVTlYOWRiZzNNbnh6T0ozL0d5bnByT2RVMStqVC85RThEbmoz
LzVqMy96Mjc5WS8ybXQKLy9udFg2Ny81eXJ6Zi9VdmovZ3YxNXcxOFcrSUsxL3p6WlVIaC8rWHJ2
cFR0MEIwLzJyWExaejVCUmZlLzdQM2RjOS9FZHlWUHZmLwpXK3NaVjdMT3QySnBOKzYrV2VmbHJJ
dkhtYXBlbm1ucmk3dnkzdWU4N3dWMzBjNzd1Mi82NGZtb1ZmTzFoN3h6bjRYOVRYMTRxOWlNCmNl
QUJEcXovcEI4ODdBRkU1L3dseURYWE4yY0VZOGhML0VwL3NML3F3R0ZjNlkvTUY5ZTFmS0o2c2R3
ZmpBR1dQREZpNHFsTlRaK2oKWTZnMXFpZW1ScTY0UEhYa0h6RHFldXRCVS9CM3ZsZnV0M0p3eU5W
OGN5dEZZdjhxRCs4TCt1MVA1amUrUXZIbDd1VlJ2NUpmRDZTVgpJS3lGbXNKOUI3VTRhQVd0Qjd6
YzF6cnFxWm56MmhHU05iZSthcEJjdWFxUmRabVg4TmpMODFHQzN6a2diYjA0VU8yL2Nibm1YVThj
CkI1N2d3SE1hY0gyNThVcHk3WmNQeHZCck5vSWx2NitUUjg2MUVXM3EreHFlWFBTT3hMbytPWGQ2
T0ZuRE9iVWNZa1p6cm8zeWlaNmYKdVhtamVuSU04V04xUERzbmM1ODJYM2V4SWRGSXF2RndaKzl0
NU03TzJ4M1JhMGsxbzAwRlAydWo2Zm90RWo3M3R6NEprMkliT3ZkYwpOVTdLbXRmK29UdHo2aHR3
M25mbDZ6alVXeHhwbnAra2MzTDhpczk4TDI3UEwzRnh6eEVGenVrVjd4VE1aQno0UEFlZTA0RHhQ
ai9RCjg2c05YRXllRVp6QjJybGNjU0lEanJ6VXB3NmVhK1lNdWM2elBwaDhJMWlPTzcxbmtmdE9i
ODVheEs2bkRqeTVyQmxYUE90MGJsOGYKRlQ3ejJlNVNTMzNiTndJcks3WkgxYlFXWmtQYThNRmU1
T0p1alZ5U05yc1R5NzNYbkhyV3JHSVVXajhiWE0xM25kb1RmZFpBdE5aVgozME1FNXI2bWNxOHNC
VThPYzdjb3ZmWDcxcnRBMW1ScnoyKzlndlpDTGt2bjVHZU1BMDl4NEZrTk9OK0tYN1IvSGN5NU5v
TFhGNzRKCjZzU1NCNFYxeDdhMDZxUmV2cGk4Ny9ROS81M2VQSkZmMTd1dnVaNVBmWEtkWjB3dGMv
ZUVZNTNrUDJCdVl6cXZ1TzZkRGFGczNiNFEKeUZXVDBvOFZuVktqcUR3Q1JGTTRoRFYrMkhOenhY
UC9FaUIrS1VDUnluelZJcit3MGpadTdSOFlVdmRDczBzZEJkZnozRi9OaWs2WgpuRnJyN0FMaXBS
ZWozcTVjNTlpYTNMTjBralozd2pqdzZRNDhxd0huQjVyemZFdCsxVVp5Y0ZtblJvdzh3eHk4MUZa
eVkzTEEvbHk5CkdtSS9TK2FZNStoN2t1djZYUGV6ZDczNXhOVVR6Vi90MCs4TTU5UEh1aTlOd1d1
L05BN0JkVWNiQ3hCekd3blhUMDIzcUhKYkUrVysKR3B4NkNxMGhud1BCWjgxKzdsOGtlV3kyNTFW
N1BlU0RGN1k1cFMrQXpPSWQ0WmkvTENKQnZiMnNNNWphKzdpc1BmZmlQUDlhLzdBLwoyQUxCNFZr
N05idk1oSEhnRVE0OHB3SHp0ZFlYSGUvbERvUGkxODI4dnZnZFdUdlVHOEZUSnkveHpLc3p5a3RP
MWpCUHpMdWt2dk9UCjkwZnBxWmwxNy9hL3VzY2R0NS83VTliN2psNjFHdFZhWUU4MkJ1ZnduSmVG
alZzNjdyNG5WUS9OL3BIS0FkNjVBWDAxK3lKK0tTbHYKN1hQUGpYbStzL2JDWDdDdk1vV3JKM0tX
NG03UVBWNjJmMW04YXFvR1VOWlo2M1AvcFZWdTdjNWQ5Qm5qd0NNY2VFNEQ5c3ZtdGVTOAp2eVp5
Zk9ISjZldk1vYzkxMTU5L0xUWXZ1V2daNzdBL1N1OCtWM3ZWSWRiRHZlUVNFMlA5YmlUMzNUN3Zh
bnhhYnQzejhxb0JZa3MxCml6VWhtanJ4amRsUVRzOGxvdGVYYzNJQUxBc0tQRi9ES2R0NWFYRE9S
cmxKNW1vWkMzaDUvc3J2VFFwZjNLQy95dU13WjUyOW42RzAKdlFESmpWSEM5SXQvbkdzWFNYeERF
OGFCajNmZ09RM1lWOEhYN0I4RnY5Nzh3bk91Sm1QWDV4cGUxK2NlblV1dVkrNEZ6bmluUHhoZgo5
M0ZOdEs3NnhLeWRmT2FlSjdtSnlmKzkrbDd6TzczNUQ0cy8yTEU4ODE5c3B3V1F0cGNuZjAxcXZx
T2FhbXFMN3BvYXAyYmpjczRjCk5UYnBmR1d1MjNrb2R1clJVV1FOWStYMmdscXNyUTJwVXVjbWh4
QnNTMTc1OEJ4UkorR3FuUVVXdjJydGdya1ZwWXEvQzdnbjJIbEcKOTVzNERueTRBODlyd0M5Zi9u
NDcrWVdiOTh2dUw5QThPQnpXaVRudmVuSGpuUjQ4T2F3WllzWUQvY0pkditPYTZ6WFU5dnZJTTZZ
ZQpicitqZXV1aHU4S3ludHlIeExKbFBjNEdwd1g3em1XSDl6Y3VEbncxTkJKU2tmNWE3OW8vTkp2
VXE5MEZpcnNMc244dnZGTmtxb21kCmZOWUZIbWZ6Zkx2c1M1MWVReTV5UitxcWJpWjJBWER2Ynhw
TWJjMWRTQ0Mvc0tzOWd6TFRjZURqSEhoV0EzNzU2dGU3NEVQdUdLOG8KdjNqV2Z2QjNYRGdPT0ox
M3R3K2F6cjNDdnRQM2ZOYk1PYlh2QnJ5cmUzWTlhN255cVNubVBDTnpoM3JYRDR0WVVxK0RlKzV4
MnJTdwptdStjZUMzWHc2WktJN0VKaWxFcTUxWDZwY0JYSG5odjhUV0ordGFxaGdVZS9MT0pMZER5
VG43WXZ3N3hza1VoNS9tcFMvRTljZzUwCjFwZXo5enoxK3lJbnIyazhxM1dOZTdzSjQ4REhPL0Nj
QnN4SDdwZHM1UFgwZWZKOGZXRGlSQWRhOWViSkpjNWFEYmh6OE9RbGJvN0kKTU5mMVIvYjZDWmRo
ZEc2dFNyNTV1RmZxcFp0ejNTTjVkY2JrWEdHWi82VDU4dE5Hd0xITDNuVy94QkxIRjE5QnhhMW4v
cUpKajlTQQo4WXNDcDI3WFlTK0c4ak8vTVhIMnNtR0pvUU9yYzVBdmdNY1hOODh2WHJYV0l1dmtY
WndUYTg0ZTFLVEFHbUpaVzgxQitPS3lMaDNuCjJ3WGdudWN1d1R6R2dXYzQ4SndHbk8vREw1L29u
THh6WTJxYzg1ZkRvWjZZZjFIK1VyMTEzMFgzenozY3YrdmtaTHpTb3hQdk5WaXIKWjM3SEU1ZHI3
UHFyTmRnbmozN1h0Ylk1bk5lQ2t6d1NzYmFKbkxROU9adFQ4RW5ab0xDOXlxeEo3bGxZOEpDZncr
UUp2TDdXcWlQSAo5eXAzNDdXdm5CWFBjMnpNcytUNXdaUlV1VnljQlk2TnpqUDAvVW1uN3FDWEh4
Znd6azRZQno3VGdlYzA0UGFCMTE4TXNLc1B2R1B5CitoY3Vmc1h2N3h2T2QzcnpkMXp6UlBkbUgv
YzNyejVqY3RTalpjaDdweitZeHgzZTZkMG42eVptbmFmRWRUZHRxeXR6MS9XcndHT04KYWlZYmgz
dzJUM2pnQ3pzYjFscVdMUGphTFpjby95Q3p5eDVicHh3MHVYVlc5WnNFVnZoNlVMdjJXUmhwaHVk
UEhINXlpOGhEMGE1ZApkOXZKMHBkdzc3ZTVWYjhPRVBLVmszK2V2OVdwTGF4QmJ0Zll0QW5qd01j
NzhKd0czRitGSDZ2eExnLytqa1B1S24rRlhlMlIrdjNICjVMSmVhanZQdlRxT3BtT3N4YXo1VGkv
SHFGNE51UE83dW1xSjZoTjd3TnptVkZhc0I5SEdZU1BobW9uWGZHUHE0ZFRZU1FLV3lUMlMKOFl6
RXVjL0NDdDY1c3pickhMR3VWN2MzOHR5bXJidkxaWVd2ZVJYNFd1YUJlNnB5UVdWYWV5eWllM0lH
ejVINndyZTJ6ck41eFVsaQpxei9MY2VBVEhYaFdBNzc2UUR2bW11aGZnOFR5TFlMN0UxZG5CSGR1
VEM0WVA0Zno1RG8zd3ZWc3pOVXdkeVJYaktqT0NBYTM4MTBUCmM2Uk8vRXFmT2VmRUszM21QMjIr
N2xOV2VTL2lBc29TSG1zVXRPZG5NMXo0aHFyNTBGaklXZVlvY0dEVWtNdEVybURXaE11QWZ6YTEK
WFZ1Y1RjaFZudmxLdUMvUmV1Q01jNyt0azN0a2oyZHhpcnpST3NET3JYRHVzU2ExeDhaZ3NCLzZI
T2Y1NUZOZ0RjOU13Zk9jY2c3SwpQTWVCeHpqd25BYmNQdkI2UTJKR1h4dHJmdnVqcjdtWUhLSVlz
WSt1SjUrWWEydW90MVp5cnpEUFpoMzF4dFNMRWRVWndhelAzSkg2CnpLUExISHpXeVFGanlNMjgy
TUg0K0tkWHkyYWdGNzJwZ0ovTmJOMjg4cnNBK3NxQmIxZk9mTHEwa25LcjN1YVhyUW8zVnZyVWJ0
ei8KQnN3alE4ODRhNis1NWN3VlllL3YzQnFsQTl6M0tMRUZGbHhUSGx1L3AzVm5hcUN2M0FxT3Fn
MlJzU05Ccm51VExybGNnQm5qd0FNYwplRTREdm5vWi9tVWhPcTh2UE5ib3pCbkJHT29TdjlJZjdL
ODYvcUc0MG5ldWE2TDdxQmNUNzl6a3lTVW1ubHJtNXZvY0hjTzhVVDB4Ck5YTEY1YWtqLzRCUjEx
c1Btb0cvODc4TDdyZHljS3BaTU4vY1NwSFlQNXNKOXB5d0UvUUlHQXVUdTVkSC9VcCtQWkJXZ2hD
YXdpMVcKaTROVzBIcFF1eHBjNUY3MmpGcldmem5BMWxlTmZRYjNQT3ZDSWJjR0dELzJYZi96ZGM5
S1FqaTQ1QmpvNnY0Ykx4RE15Y1J4NEVFTwpQS2NCMTVjYmJ5YlhmdmxnREw5bUkxankrenA1NUZ3
YjBhYStyK0hKUmU5SXJPdVRjNmVIa3pXY1U4c2haalRuMmlpZjZQbVptemVxCko4Y1FQMWJIczNN
eTkybnpkUmNib3Myazd1eTlqZHpaZWJ0ak5iMk5WVFBhMUdwS1cxT1dkZjMyVWZqYzMvb2tUSXBG
N1pLdngwbFoKYzV1aDRKbFQzd0Q0Y3M5Nml5Tk5iL2h2eGprNWZzVm52aGUzNTVlNHVPZUlBdWYw
aW5jS1pqSU9mSjREejJuQWVKOGY2UG5WQmk0bQp6d2pPWU8xY3JqaVJBVWRlNmxNSHp6VnpobHpu
V1I5TXZoRXN4NTNlczhoOXB6ZG5MV0xYVXdlZVhOYU1LNTUxT3Jldmp3cWYrV3gzCnFhVys3UnVC
bFJYYm8ycGFDN01oYmZoZ0wzSnh0MFl1U1p2ZGllWGVhMDQ5YTFZeENxMmZEYTdtdTA3dGlUNXJJ
RnJycXU4aEFuTmYKVTdsWGxvSW5oN2xibE43NmZldGRJR3V5dGVlM1hrRjdJWmVsYy9JenhvR25P
UENzQnB4dnhTL2F2dzdtWEJ2QjZ3dmZCSFZpeVlQQwp1bU5iV25WU0wxOU0zbmY2bnY5T2I1N0ly
K3ZkMTF6UHB6NjV6ak9tbHJsN3dyRk84aDh3dHpHZFYxejN6b1pRdG01ZkNPU3FTZW5ICmlrNnBV
VlFlQWFJcEhNSWFQK3k1dWVLNWZ3a1F2eFNnU0dXK2FwRmZXR2tidC9ZUERLbDdvZG1sam9McmVl
NnZaa1duVEU2dGRYWUIKOGRLTFVXOVhybk5zVGU1Wk9rbWJPMkVjK0hRSG50V0E4d1BOZWI0bHYy
b2pPYmlzVXlOR25tRU9YbW9ydVRFNVlIK3VYZzJ4bnlWegp6SFAwUGNsMWZhNzcyYnZlZk9McWll
YXY5dWwzaHZQcFk5MlhwdUMxWHhxSDRMcWpqUVdJdVkyRTY2ZW1XMVM1cllseVh3MU9QWVhXCmtN
K0I0TE5tUC9jdmtqdzIyL09xdlI3eXdRdmJuTklYUUdieGpuRE1YeGFSb041ZTFobE03WDFjMXA1
N2NaNS9yWC9ZSDJ5QjRQQ3MKblpwZFpzSTQ4QWdIbnRPQStWcnJpNDczY29kQjhldG1YbC84anF3
ZDZvM2dxWk9YZU9iVkdlVWxKMnVZSitaZFV0LzV5ZnVqOU5UTQp1bmY3WDkzamp0dlAvU25yZlVl
dldvMXFMYkFuRzROemVNN0x3c1l0SFhmZms2cUhadjlJNVFEdjNJQyttbjBSdjVTVXQvYTU1OFk4
CjMxbDc0Uy9ZVjVuQzFSTTVTM0UzNkI0djI3OHNYalZWQXlqcnJQVzUvOUlxdDNibkx2cU1jZUFS
RGp5bkFmdGw4MXB5M2w4VE9iN3cKNVBSMTV0RG51dXZQdnhhYmwxeTBqSGZZSDZWM242dTk2aERy
NFY1eWlZbXhmamVTKzI2ZmR6VStMYmZ1ZVhuVkFMR2xtc1dhRUUyZAorTVpzS0tmbkV0SHJ5ems1
QUpZRkJaNnY0WlR0dkRRNFo2UGNKSE8xakFXOFBIL2w5eWFGTDI3UVgrVnhtTFBPM3M5UTJsNkE1
TVlvCllmckZQODYxaXlTK29Rbmp3TWM3OEp3RzdLdmdhL2FQZ2w5dmZ1RTVWNU94NjNNTnIrdHpq
ODRsMXpIM0FtZTgweCtNci91NEpscFgKZldMV1RqNXp6NVBjeE9UL1huMnYrWjNlL0lmRkgreFlu
dmt2dHRNQ1NOdkxrNzhtTmQ5UlRUVzFSWGROalZPemNUbG5qaHFiZEw0eQoxKzA4RkR2MTZDaXlo
ckZ5ZTBFdDF0YUdWS2x6azBNSXRpV3ZmSGlPcUpOdzFjNENpMSsxZHNIY2lsTEYzd1hjRSt3OG8v
dE5IQWMrCjNJSG5OZUNYTDMrL25mekN6ZnRsOXhkb0hod082OFNjZDcyNDhVNFBuaHpXRERIamdY
N2hydDl4emZVYWF2dDk1QmxURDdmZlViMzEKMEYxaFdVL3VRMkxac2g1bmc5T0NmZWV5dy9zYkZ3
ZStHaG9KcVVoL3JYZnRINXBONnRYdUFzWGRCZG0vRjk0cE10WEVUajdyQW8regplYjVkOXFWT3J5
RVh1U04xVlRjVHV3QzQ5emNOcHJibUxpU1FYOWpWbmtHWjZUandjUTQ4cXdHL2ZQWHJYZkFoZDR4
WGxGODhhei80Ck95NGNCNXpPdTlzSFRlZGVZZC9wZXo1cjVwemFkd1BlMVQyN25yVmMrZFFVYzU2
UnVVTzk2NGRGTEtuWHdUMzNPRzFhV00xM1RyeVcKNjJGVHBaSFlCTVVvbGZNcS9WTGdLdys4dC9p
YVJIMXJWY01DRC83WnhCWm9lU2MvN0YrSGVObWlrUFA4MUtYNEhqa0hPdXZMMlh1ZQorbjJSazlj
MG50VzZ4cjNkaEhIZzR4MTRUZ1BtSS9kTE52SjYrang1dmo0d2NhSURyWHJ6NUJKbnJRYmNPWGp5
RWpkSFpKanIraU43Ci9ZVExNRHEzVmlYZlBOd3I5ZExOdWU2UnZEcGpjcTZ3ekgvU2ZQbHBJK0RZ
WmUrNlgyS0o0NHV2b09MV00zL1JwRWRxd1BoRmdWTzMKNjdBWFEvbVozNWc0ZTltd3hOQ0IxVG5J
RjhEamk1dm5GNjlhYTVGMThpN09pVFZuRDJwU1lBMnhySzNtSUh4eFdaZU84KzBDY005egpsMkFl
NDhBekhIaE9BODczNFpkUGRFN2V1VEUxenZuTDRWQlB6TDhvZjZuZXV1K2krK2NlN3Q5MWNqSmU2
ZEdKOXhxczFUTy80NG5MCk5YYjkxUnJzazBlLzYxcmJITTVyd1VrZWlWamJSRTdhbnB6TktmaWti
RkRZWG1YV0pQY3NMSGpJejJIeUJGNWZhOVdSNDN1VnUvSGEKVjg2SzV6azI1bG55L0dCS3Fsd3V6
Z0xIUnVjWit2NmtVM2ZReTQ4TGVHY25qQU9mNmNCekduRDd3T3N2QnRqVkI5NHhlZjBMRjcvaQo5
L2NONXp1OStUdXVlYUo3czQvN20xZWZNVG5xMFRMa3ZkTWZ6T01PNy9UdWszVVRzODVUNHJxYnR0
V1Z1ZXY2VmVDeFJqV1RqVU0rCm15Yzg4SVdkRFdzdFN4Wjg3WlpMbEgrUTJXV1ByVk1PbXR3NnEv
cE5BaXQ4UGFoZCt5eU1OTVB6Snc0L3VVWGtvV2pYcnJ2dFpPbEwKdVBmYjNLcGZCd2o1eXNrL3o5
L3ExQmJXSUxkcmJOcUVjZURqSFhoT0ErNnZ3by9WZUpjSGY4Y2hkNVcvd3E3MlNQMytZM0paTDdX
ZAo1MTRkUjlNeDFtTFdmS2VYWTFTdkJ0ejVYVjIxUlBXSlBXQnVjeW9yMW9ObzQ3Q1JjTTNFYTc0
eDlYQnE3Q1FCeStRZXlYaEc0dHhuCllRWHYzRm1iZFk1WTE2dmJHM2x1MDliZDViTEMxN3dLZkMz
endEMVZ1YUF5clQwVzBUMDVnK2RJZmVGYlcrZlp2T0lrc2RXZjVUancKaVE0OHF3RmZmYUFkYzAz
MHIwRmkrUmJCL1ltck00STdOeVlYakovRGVYS2RHK0Y2TnVacW1EdVNLMFpVWndTRDIvbXVpVGxT
SjM2bAp6NXh6NHBVKzg1ODJYL2NwcTd3WGNRRmxDWTgxQ3RyenN4a3VmRVBWZkdnczVDeHpGRGd3
YXNobElsY3dhOEpsd0QrYjJxNHR6aWJrCktzOThKZHlYYUQxd3hybmYxc2s5c3Nlek9FWGVhQjFn
NTFZNDkxaVQybU5qTU5nUGZZN3pmUElwc0labnB1QjVUamtIWlo3andHTWMKZUU0RGJoOTR2U0V4
bzYrTk5iLzkwZGRjVEE1UmpOaEgxNU5QekxVMTFGc3J1VmVZWjdPT2VtUHF4WWpxakdEV1orNUlm
ZWJSWlE0Kwo2K1NBTWVSbVh1eGdmUHpUcTJVejBJdmVWTURQWnJadVh2bGRBSDNsd0xjclp6NWRX
a201VlcvenkxYUZHeXQ5YWpmdWZ3UG1rYUZuCm5MWFgzSExtaXJEM2QyNk4wZ0h1ZTVUWUFndXVL
WSt0MzlPNk16WFFWMjRGUjlXR3lOaVJJTmU5U1pkY0xzQ01jZUFCRGp5bkFWKzkKRFAreUVKM1hG
eDVyZE9hTVlBeDFpVi9wRC9aWEhmOVFYT2s3MXpYUmZkU0xpWGR1OHVRU0UwOHRjM045am81aDNx
aWVtQnE1NHZMVQprWC9BcU91dEI4M0EzL25mQmZkYk9UalZMSmh2YnFWSTdKL05CSHRPMkFsNkJJ
eUZ5ZDNMbzM0bHZ4NUlLMEVJVGVFV3E4VkJLMmc5CnFGME5Mbkl2ZTBZdDY3OGNZT3VyeGo2RGU1
NTE0WkJiQTR3Zis2Ny8rYnBuSlNFY1hISU1kSFgvalJjSTVtVGlPUEFnQjU3VGdPdkwKalRlVGE3
OThNSVpmc3hFcytYMmRQSEt1aldoVDM5Znc1S0ozSk5iMXliblR3OGthenFubEVET2FjMjJVVC9U
OHpNMGIxWk5qaUIrcgo0OWs1bWZ1MCticUxEZEZtVW5mMjNrYnU3THpkc1pyZXhxb1piV28xcGEw
cHk3cCsreWg4N205OUVpYkZvbmJKMStPa3JMbk5VUERNCnFXOEFmTGxudmNXUnBqZjhOK09jSEwv
aU05K0wyL05MWE54elJJRnplc1U3QlRNWkJ6N1BnZWMwWUx6UEQvVDhhZ01YazJjRVo3QjIKTGxl
Y3lJQWpML1dwZytlYU9VT3U4NndQSnQ4SWx1Tk83MW5rdnRPYnN4YXg2NmtEVHk1cnhoWFBPcDNi
MTBlRnozeTJ1OVJTMy9hTgp3TXFLN1ZFMXJZWFprRFo4c0JlNXVGc2psNlRON3NSeTd6V25ualdy
R0lYV3p3Wlg4MTJuOWtTZk5SQ3RkZFgzRUlHNXI2bmNLMHZCCms4UGNMVXB2L2I3MUxwQTEyZHJ6
VzYrZ3ZaREwwam41R2VQQVV4eDRWZ1BPdCtJWDdWOEhjNjZONFBXRmI0STZzZVJCWWQyeExhMDYK
cVpjdkp1ODdmYzkvcHpkUDVOZjE3bXV1NTFPZlhPY1pVOHZjUGVGWUova1BtTnVZeml1dWUyZERL
RnUzTHdSeTFhVDBZMFduMUNncQpqd0RSRkE1aGpSLzIzRnp4M0w4RWlGOEtVS1F5WDdYSUw2eTBq
VnY3QjRiVXZkRHNVa2ZCOVR6M1Y3T2lVeWFuMWpxN2dIanB4YWkzCks5YzV0aWIzTEoya3paMHdE
bnk2QTg5cXdQbUI1anpma2wrMWtSeGMxcWtSSTg4d0J5KzFsZHlZSExBL1Y2K0cyTStTT2VZNStw
N2sKdWo3WC9leGRiejV4OVVUelYvdjBPOFA1OUxIdVMxUHcyaStOUTNEZDBjWUN4TnhHd3ZWVDB5
MnEzTlpFdWE4R3A1NUNhOGpuUVBCWgpzNS83RjBrZW0rMTUxVjRQK2VDRmJVN3BDeUN6ZUVjNDVp
K0xTRkJ2TCtzTXB2WStMbXZQdlRqUHY5WS83QSsyUUhCNDFrN05Mak5oCkhIaUVBODlwd0h5dDlV
WEhlN25Eb1BoMU02OHZma2ZXRHZWRzhOVEpTenp6Nm96eWtwTTF6QlB6THFudi9PVDlVWHBxWnQy
Ny9hL3UKY2NmdDUvNlU5YjZqVjYxR3RSYllrNDNCT1R6blpXSGpsbzY3NzBuVlE3Ti9wSEtBZDI1
QVg4MitpRjlLeWx2NzNITmpudStzdmZBWAo3S3RNNGVxSm5LVzRHM1NQbCsxZkZxK2FxZ0dVZGRi
NjNIOXBsVnU3Y3hkOXhqandDQWVlMDREOXNua3RPZSt2aVJ4ZmVITDZPblBvCmM5MzE1MStMelVz
dVdzWTc3SS9TdTgvVlhuV0k5WEF2dWNURVdMOGJ5WDIzejdzYW41WmI5N3k4YW9EWVVzMWlUWWlt
VG54ak5wVFQKYzRubzllV2NIQURMZ2dMUDEzREtkbDRhbkxOUmJwSzVXc1lDWHA2LzhudVR3aGMz
NksveU9NeFpaKzluS0cwdlFISmpsREQ5NGgvbgoya1VTMzlDRWNlRGpIWGhPQS9aVjhEWDdSOEd2
Tjcvd25LdkoyUFc1aHRmMXVVZm5rdXVZZTRFejN1a1B4dGQ5WEJPdHF6NHhheWVmCnVlZEpibUx5
ZjYrKzEveE9iLzdENGc5MkxNLzhGOXRwQWFUdDVjbGZrNXJ2cUthYTJxSzdwc2FwMmJpY00wZU5U
VHBmbWV0MkhvcWQKZW5RVVdjTll1YjJnRm10clE2clV1Y2toQk51U1Z6NDhSOVJKdUdwbmdjV3ZX
cnRnYmtXcDR1OEM3Z2wybnRIOUpvNERIKzdBOHhydwp5NWUvMzA1KzRlYjlzdnNMTkE4T2gzVml6
cnRlM0hpbkIwOE9hNGFZOFVDL2NOZnZ1T1o2RGJYOVB2S01xWWZiNzZqZWV1aXVzS3duCjl5R3hi
Rm1QczhGcHdiNXoyZUg5allzRFh3Mk5oRlNrdjlhNzlnL05KdlZxZDRIaTdvTHMzd3Z2RkpscVlp
ZWZkWUhIMlR6Zkx2dFMKcDllUWk5eVJ1cXFiaVYwQTNQdWJCbE5iY3hjU3lDL3NhcytnekhRYytE
Z0hudFdBWDc3NjlTNzRrRHZHSzhvdm5yVWYvQjBYamdOTwo1OTN0ZzZaenI3RHY5RDJmTlhOTzdi
c0I3K3FlWGM5YXJueHFpam5QeU55aDN2WERJcGJVNitDZWU1dzJMYXptT3lkZXkvV3dxZEpJCmJJ
SmlsTXA1bFg0cDhKVUgzbHQ4VGFLK3RhcGhnUWYvYkdJTHRMeVRIL2F2UTd4c1VjaDVmdXBTZkkr
Y0E1MzE1ZXc5VC8yK3lNbHIKR3M5cVhlUGVic0k0OFBFT1BLY0I4NUg3SlJ0NVBYMmVQRjhmbURq
UmdWYTllWEtKczFZRDdodzhlWW1iSXpMTWRmMlJ2WDdDWlJpZApXNnVTYng3dWxYcnA1bHozU0Y2
ZE1UbFhXT1kvYWI3OHRCRnc3TEozM1MreHhQSEZWMUJ4NjVtL2FOSWpOV0Q4b3NDcDIzWFlpNkg4
CnpHOU1uTDFzV0dMb3dPb2M1QXZnOGNYTjg0dFhyYlhJT25rWDU4U2Fzd2MxS2JDR1dOWldjeEMr
dUt4THgvbDJBYmpudVVzd2ozSGcKR1E0OHB3SG4rL0RMSnpvbjc5eVlHdWY4NVhDb0orWmZsTDlV
YjkxMzBmMXpEL2Z2T2prWnIvVG94SHNOMXVxWjMvSEU1UnE3L21vTgo5c21qMzNXdGJRN250ZUFr
ajBTc2JTSW5iVS9PNWhSOFVqWW9iSzh5YTVKN0ZoWTg1T2N3ZVFLdnI3WHF5UEc5eXQxNDdTdG54
Zk1jCkcvTXNlWDR3SlZVdUYyZUJZNlB6REgxLzBxazc2T1hIQmJ5ekU4YUJ6M1RnT1EyNGZlRDFG
d1BzNmdQdm1MeitoWXRmOGZ2N2h2T2QKM3Z3ZDF6elJ2ZG5IL2Mycno1Z2M5V2daOHQ3cEQrWnho
M2Q2OThtNmlWbm5LWEhkVGR2cXl0eDEvU3J3V0tPYXljWWhuODBUSHZqQwp6b2ExbGlVTHZuYkxK
Y28veU95eXg5WXBCMDF1blZYOUpvRVZ2aDdVcm4wV1JwcmgrUk9Ibjl3aThsQzBhOWZkZHJMMEpk
ejdiVzdWCnJ3T0VmT1hrbitkdmRXb0xhNURiTlRadHdqanc4UTQ4cHdIM1YrSEhhcnpMZzcvamtM
dktYMkZYZTZSKy96RzVySmZhem5PdmpxUHAKR0dzeGE3N1R5ekdxVndQdS9LNnVXcUw2eEI0d3R6
bVZGZXRCdEhIWVNMaG00alhmbUhvNE5YYVNnR1Z5ajJROEkzSHVzN0NDZCs2cwp6VHBIck92VjdZ
MDh0Mm5yN25KWjRXdGVCYjZXZWVDZXFseFFtZFllaStpZW5NRnpwTDd3cmEzemJGNXhrdGpxejNJ
YytFUUhudFdBCnJ6N1FqcmttK3RjZ3NYeUw0UDdFMVJuQm5SdVRDOGJQNFR5NXpvMXdQUnR6TmN3
ZHlSVWpxak9Dd2UxODE4UWNxUk8vMG1mT09mRksKbi9sUG02LzdsRlhlaTdpQXNvVEhHZ1h0K2Rr
TUY3NmhhajQwRm5LV09Rb2NHRFhrTXBFcm1EWGhNdUNmVFczWEZtY1RjcFZudmhMdQpTN1FlT09Q
Y2IrdmtIdG5qV1p3aWI3UU9zSE1ybkh1c1NlMnhNUmpzaHo3SGVUNzVGRmpETTFQd1BLZWNnekxQ
Y2VBeERqeW5BYmNQCnZONlFtTkhYeHByZi91aHJMaWFIS0Vic28rdkpKK2JhR3VxdGxkd3J6TE5a
UjcweDlXSkVkVVl3NnpOM3BEN3o2RElIbjNWeXdCaHkKTXk5Mk1ENys2ZFd5R2VoRmJ5cmdaek5i
TjYvOExvQytjdURibFRPZkxxMmszS3EzK1dXcndvMlZQclViOTc4Qjg4alFNODdhYTI0NQpjMFhZ
K3p1M1J1a0E5ejFLYklFRjE1VEgxdTlwM1prYTZDdTNncU5xUTJUc1NKRHIzcVJMTGhkZ3hqandB
QWVlMDRDdlhvWi9XWWpPCjZ3dVBOVHFLbzV2L0FBQWdBRWxFUVZSelJqQ0d1c1N2OUFmN3E0NS9L
SzcwbmV1YTZEN3F4Y1E3TjNseWlZbW5scm01UGtmSE1HOVUKVDB5TlhIRjU2c2cvWU5UMTFvTm00
Ty84NzRMN3JSeWNhaGJNTjdkU0pQYlBab0k5Sit3RVBRTEd3dVR1NVZHL2tsOFBwSlVnaEtadwpp
OVhpb0JXMEh0U3VCaGU1bHoyamx2VmZEckQxVldPZndUM1B1bkRJclFIR2ozM1gvM3pkczVJUURp
NDVCcnE2LzhZTEJITXljUng0CmtBUFBhY0QxNWNhYnliVmZQaGpEcjlrSWx2eStUaDQ1MTBhMHFl
OXJlSExST3hMcit1VGM2ZUZrRGVmVWNvZ1p6YmsyeWlkNmZ1Ym0KamVySk1jU1AxZkhzbk14OTJu
emR4WVpvTTZrN2UyOGpkM2JlN2xoTmIyUFZqRGExbXRMV2xHVmR2MzBVUHZlM1BnbVRZbEc3NU90
eApVdGJjWmloNDV0UTNBTDdjczk3aVNOTWIvcHR4VG81ZjhabnZ4ZTM1SlM3dU9hTEFPYjNpbllL
WmpBT2Y1OEJ6R2pEZTV3ZDZmcldCCmk4a3pnak5ZTzVjclRtVEFrWmY2MU1Genpad2gxM25XQjVO
dkJNdHhwL2NzY3QvcHpWbUwyUFhVZ1NlWE5lT0taNTNPN2V1andtYysKMjExcXFXLzdSbUJseGZh
b210YkNiRWdiUHRpTFhOeXRrVXZTWm5kaXVmZWFVOCthVll4QzYyZURxL211VTN1aXp4cUkxcnJx
ZTRqQQozTmRVN3BXbDRNbGg3aGFsdDM3ZmVoZkltbXp0K2ExWDBGN0laZW1jL0l4eDRDa09QS3NC
NTF2eGkvYXZnem5YUnZENndqZEJuVmp5Cm9MRHUySlpXbmRUTEY1UDNuYjdudjlPYkovTHJldmMx
MS9PcFQ2N3pqS2xsN3A1d3JKUDhCOHh0VE9jVjE3MnpJWlN0MnhjQ3VXcFMKK3JHaVUyb1VsVWVB
YUFxSHNNWVBlMjZ1ZU81ZkFzUXZCU2hTbWE5YTVCZFcyc2F0L1FORDZsNW9kcW1qNEhxZSs2dFow
U21UVTJ1ZApYVUM4OUdMVTI1WHJIRnVUZTVaTzB1Wk9HQWMrM1lGbk5lRDhRSE9lYjhtdjJrZ09M
dXZVaUpGbm1JT1gya3B1VEE3WW42dFhRK3huCnlSenpISDFQY2wyZjYzNzJyamVmdUhxaSthdDkr
cDNoZlBwWTk2VXBlTzJYeGlHNDdtaGpBV0p1SStINnFla1dWVzVyb3R4WGcxTlAKb1RYa2N5RDRy
Tm5QL1lza2o4MzJ2R3F2aDN6d3dqYW45QVdRV2J3akhQT1hSU1NvdDVkMUJsTjdINWUxNTE2YzUx
L3JIL1lIV3lBNApQR3VuWnBlWk1BNDh3b0huTkdDKzF2cWk0NzNjWVZEOHVwblhGNzhqYTRkNkkz
anE1Q1dlZVhWR2VjbkpHdWFKZVpmVWQzN3kvaWc5Ck5iUHUzZjVYOTdqajluTi95bnJmMGF0V28x
b0w3TW5HNEJ5ZTg3S3djVXZIM2ZlazZxSFpQMUk1d0RzM29LOW1YOFF2SmVXdGZlNjUKTWM5MzFs
NzRDL1pWcG5EMVJNNVMzQTI2eDh2Mkw0dFhUZFVBeWpwcmZlNi90TXF0M2JtTFBtTWNlSVFEejJu
QWZ0bThscHozMTBTTwpMenc1ZlowNTlMbnUrdk92eGVZbEZ5M2pIZlpINmQzbmFxODZ4SHE0bDF4
aVlxemZqZVMrMitkZGpVL0xyWHRlWGpWQWJLbG1zU1pFClV5ZStNUnZLNmJsRTlQcHlUZzZBWlVH
QjUyczRaVHN2RGM3WktEZkpYQzFqQVMvUFgvbTlTZUdMRy9SWGVSem1yTFAzTTVTMkZ5QzUKTVVx
WWZ2R1BjKzBpaVc5b3dqanc4UTQ4cHdIN0t2aWEvYVBnMTV0ZmVNN1ZaT3o2WE1Qcit0eWpjOGwx
ekwzQUdlLzBCK1ByUHE2SgoxbFdmbUxXVHo5enpKRGN4K2I5WDMydCtwemYvWWZFSE81Wm4vb3Z0
dEFEUzl2TGtyMG5OZDFSVFRXM1JYVlBqMUd4Y3pwbWp4aWFkCnI4eDFPdy9GVGowNmlxeGhyTnhl
VUl1MXRTRlY2dHprRUlKdHlTc2ZuaVBxSkZ5MXM4RGlWNjFkTUxlaVZQRjNBZmNFTzgvb2ZoUEgK
Z1E5MzRIa04rT1hMMzI4bnYzRHpmdG45QlpvSGg4TTZNZWRkTDI2ODA0TW5oelZEekhpZ1g3anJk
MXh6dlliYWZoOTV4dFREN1hkVQpiejEwVjFqV2svdVFXTGFzeDluZ3RHRGZ1ZXp3L3NiRmdhK0dS
a0lxMGwvclhmdUhacE42dGJ0QWNYZEI5dStGZDRwTU5iR1R6N3JBCjQyeWViNWQ5cWROcnlFWHVT
RjNWemNRdUFPNzlUWU9wcmJrTENlUVhkclZuVUdZNkRueWNBODlxd0M5Zi9Yb1hmTWdkNHhYbEY4
L2EKRC82T0M4Y0JwL1B1OWtIVHVWZllkL3FlejVvNXAvYmRnSGQxejY1bkxWYytOY1djWjJUdVVP
LzZZUkZMNm5Wd3p6MU9teFpXODUwVApyK1Y2MkZScEpEWkJNVXJsdkVxL0ZQaktBKzh0dmlaUjMx
clZzTUNEZnpheEJWcmV5US83MXlGZXRpamtQRDkxS2I1SHpvSE8rbkwyCm5xZCtYK1RrTlkxbnRh
NXhiemRoSFBoNEI1N1RnUG5JL1pLTnZKNCtUNTZ2RDB5YzZFQ3Izank1eEZtckFYY09ucnpFelJF
WjVycisKeUY0LzRUS016cTFWeVRjUDkwcTlkSE91ZXlTdnpwaWNLeXp6bnpSZmZ0b0lPSGJadSs2
WFdPTDQ0aXVvdVBYTVh6VHBrUm93ZmxIZwoxTzA2N01WUWZ1WTNKczVlTml3eGRHQjFEdklGOFBq
aTV2bkZxOVphWkoyOGkzTml6ZG1EbWhSWVF5eHJxemtJWDF6V3BlTjh1d0RjCjg5d2xtTWM0OEF3
SG50T0E4MzM0NVJPZGszZHVUSTF6L25JNDFCUHpMOHBmcXJmdXUrait1WWY3ZDUyY2pGZDZkT0s5
Qm12MXpPOTQKNG5LTlhYKzFCdnZrMGUrNjFqYUg4MXB3a2tjaTFqYVJrN1luWjNNS1Bpa2JGTFpY
bVRYSlBRc0xIdkp6bUR5QjE5ZGFkZVQ0WHVWdQp2UGFWcytKNWpvMTVsancvbUpJcWw0dXp3TEhS
ZVlhK1ArblVIZlR5NHdMZTJRbmp3R2M2OEp3RzNEN3crb3NCZHZXQmQweGUvOExGCnIvajlmY1A1
VG0vK2ptdWU2TjdzNC83bTFXZE1qbnEwREhudjlBZnp1TU03dmZ0azNjU3M4NVM0N3FadGRXWHV1
bjRWZUt4UnpXVGoKa00vbUNROThZV2ZEV3N1U0JWKzc1UkxsSDJSMjJXUHJsSU1tdDg2cWZwUEFD
bDhQYXRjK0N5UE44UHlKdzA5dUVYa28yclhyYmp0WgoraEx1L1RhMzZ0Y0JRcjV5OHMvenR6cTFo
VFhJN1JxYk5tRWMrSGdIbnRPQSs2dndZelhlNWNIZmNjaGQ1YSt3cXoxU3YvK1lYTlpMCmJlZTVW
OGZSZEl5MW1EWGY2ZVVZMWFzQmQzNVhWeTFSZldJUG1OdWN5b3IxSU5vNGJDUmNNL0dhYjB3OW5C
bzdTY0F5dVVjeW5wRTQKOTFsWXdUdDMxbWFkSTliMTZ2WkdudHUwZFhlNXJQQTFyd0pmeXp4d1Qx
VXVxRXhyajBWMFQ4N2dPVkpmK05iV2VUYXZPRWxzOVdjNQpEbnlpQTg5cXdGY2ZhTWRjRS8xcmtG
aStSWEIvNHVxTTRNNk55UVhqNTNDZVhPZEd1SjZOdVJybWp1U0tFZFVad2VCMnZtdGlqdFNKClgr
a3o1NXg0cGMvOHA4M1hmY29xNzBWY1FGbkNZNDJDOXZ4c2hndmZVRFVmR2dzNXl4d0ZEb3dhY3Bu
SUZjeWFjQm53ejZhMmE0dXoKQ2JuS00xOEo5eVZhRDV4eDdyZDFjby9zOFN4T2tUZGFCOWk1RmM0
OTFxVDIyQmdNOWtPZjR6eWZmQXFzNFprcGVKNVR6a0daNXpqdwpHQWVlMDREYkIxNXZTTXpvYTJQ
TmIzLzBOUmVUUXhRajl0SDE1Qk56YlEzMTFrcnVGZWJacktQZW1Ib3hvam9qbVBXWk8xS2ZlWFNa
Cmc4ODZPV0FNdVprWE94Z2YvL1JxMlF6MG9qY1Y4TE9aclp0WGZoZEFYem53N2NxWlQ1ZFdVbTdW
Mi95eVZlSEdTcC9hamZ2ZmdIbGsKNkJsbjdUVzNuTGtpN1AyZFc2TjBnUHNlSmJiQWdtdktZK3Yz
dE81TURmU1ZXOEZSdFNFeWRpVElkVy9TSlpjTE1HTWNlSUFEejJuQQpWeS9Ednl4RTUvV0Z4eHFk
T1NNWVExM2lWL3FEL1ZYSFB4UlgrczUxVFhRZjlXTGluWnM4dWNURVU4dmNYSitqWTVnM3FpZW1S
cTY0ClBIWGtIekRxZXV0Qk0vQjMvbmZCL1ZZT1RqVUw1cHRiS1JMN1p6UEJuaE4yZ2g0QlkyRnk5
L0tvWDhtdkI5SktFRUpUdU1WcWNkQUsKV2c5cVY0T0wzTXVlVWN2Nkx3ZlkrcXF4eitDZVoxMDQ1
TllBNDhlKzYzKys3bGxKQ0FlWEhBTmQzWC9qQllJNW1UZ09QTWlCNXpUZworbkxqemVUYUx4K000
ZGRzQkV0K1h5ZVBuR3NqMnRUM05UeTU2QjJKZFgxeTd2Undzb1p6YWpuRWpPWmNHK1VUUFQ5ejgw
YjE1QmppCngrcDRkazdtUG0yKzdtSkR0Sm5VbmIyM2tUczdiM2VzcHJleGFrYWJXazFwYThxeXJ0
OCtDcC83VzUrRVNiR29YZkwxT0NscmJqTVUKUEhQcUd3QmY3bGx2Y2FUcERmL05PQ2ZIci9qTTkr
TDIvQklYOXh4UjRKeGU4VTdCVE1hQnozUGdPUTBZNy9NRFBiL2F3TVhrR2NFWgpySjNMRlNjeTRN
aExmZXJndVdiT2tPczg2NFBKTjRMbHVOTjdGcm52OU9hc1JleDY2c0NUeTVweHhiTk81L2IxVWVF
em4rMHV0ZFMzCmZTT3dzbUo3VkUxcllUYWtEUi9zUlM3dTFzZ2xhYk03c2R4N3phbG56U3BHb2ZX
endkVjgxNms5MFdjTlJHdGQ5VDFFWU81ckt2ZksKVXZEa01IZUwwbHUvYjcwTFpFMjI5dnpXSzJn
djVMSjBUbjdHT1BBVUI1N1ZnUE90K0VYNzE4R2NheU40ZmVHYm9FNHNlVkJZZDJ4TApxMDdxNVl2
SiswN2Y4OS9welJQNWRiMzdtdXY1MUNmWGVjYlVNbmRQT05aSi9nUG1OcWJ6aXV2ZTJSREsxdTBM
Z1Z3MUtmMVkwU2sxCmlzb2pRRFNGUTFqamh6MDNWenozTHdIaWx3SVVxY3hYTGZJTEsyM2oxdjZC
SVhVdk5MdlVVWEE5ei8zVnJPaVV5YW0xemk0Z1hub3gKNnUzS2RZNnR5VDFMSjJseko0d0RuKzdB
c3hwd2ZxQTV6N2ZrVjIwa0I1ZDFhc1RJTTh6QlMyMGxOeVlIN00vVnF5SDJzMlNPZVk2KwpKN211
ejNVL2U5ZWJUMXc5MGZ6VlB2M09jRDU5clB2U0ZMejJTK01RWEhlMHNRQXh0NUZ3L2RSMGl5cTNO
Vkh1cThHcHA5QWE4amtRCmZOYnM1LzVGa3NkbWUxNjExME0rZUdHYlUvb0N5Q3plRVk3NXl5SVMx
TnZMT29PcHZZL0wybk12enZPdjlRLzdneTBRSEo2MVU3UEwKVEJnSEh1SEFjeG93WDJ0OTBmRmU3
akFvZnQzTTY0dmZrYlZEdlJFOGRmSVN6N3c2bzd6a1pBM3p4THhMNmpzL2VYK1VucHBaOTI3Lwpx
M3ZjY2Z1NVAyVzk3K2hWcTFHdEJmWmtZM0FPejNsWjJMaWw0KzU3VXZYUTdCK3BIT0NkRzlCWHN5
L2lsNUx5MWo3MzNKam5PMnN2Ci9BWDdLbE80ZWlKbktlNEczZU5sKzVmRnE2WnFBR1dkdFQ3M1gx
cmwxdTdjUlo4eERqekNnZWMwWUw5c1hrdk8rMnNpeHhlZW5MN08KSFBwY2QvMzUxMkx6a291VzhR
NzdvL1R1YzdWWEhXSTkzRXN1TVRIVzcwWnkzKzN6cnNhbjVkWTlMNjhhSUxaVXMxZ1RvcWtUMzVn
Tgo1ZlJjSW5wOU9TY0h3TEtnd1BNMW5MS2Rsd2JuYkpTYlpLNldzWUNYNTYvODNxVHd4UTM2cXp3
T2M5YloreGxLMnd1UTNCZ2xUTC80Cng3bDJrY1EzTkdFYytIZ0hudE9BZlJWOHpmNVI4T3ZOTHp6
bmFqSjJmYTdoZFgzdTBibmtPdVplNEl4MytvUHhkUi9YUk91cVQ4emEKeVdmdWVaS2JtUHpmcSs4
MXY5T2IvN0Q0Z3gzTE0vL0ZkbG9BYVh0NTh0ZWs1anVxcWFhMjZLNnBjV28yTHVmTVVXT1R6bGZt
dXAySApZcWNlSFVYV01GWnVMNmpGMnRxUUtuVnVjZ2pCdHVTVkQ4OFJkUkt1MmxsZzhhdldMcGhi
VWFyNHU0QjdncDFuZEwrSjQ4Q0hPL0M4CkJ2enk1ZSszazErNGViL3MvZ0xOZzhOaG5aanpyaGMz
M3VuQms4T2FJV1k4MEMvYzlUdXV1VjVEYmIrUFBHUHE0Zlk3cXJjZXVpc3MKNjhsOVNDeGIxdU5z
Y0ZxdzcxeDJlSC9qNHNCWFF5TWhGZW12OWE3OVE3Tkp2ZHBkb0xpN0lQdjN3anRGcHByWXlXZGQ0
SEUyejdmTAp2dFRwTmVRaWQ2U3U2bVppRndEMy9xYkIxTmJjaFFUeUM3dmFNeWd6SFFjK3pvRm5O
ZUNYcjM2OUN6N2tqdkdLOG90bjdRZC94NFhqCmdOTjVkL3VnNmR3cjdEdDl6MmZObkZQN2JzQzd1
bWZYczVZcm41cGl6ak15ZDZoMy9iQ0lKZlU2dU9jZXAwMExxL25PaWRkeVBXeXEKTkJLYm9CaWxj
bDZsWHdwODVZSDNGbCtUcUcrdGFsamd3VCtiMkFJdDcrU0gvZXNRTDFzVWNwNmZ1aFRmSStkQVoz
MDVlODlUdnk5eQo4cHJHczFyWHVMZWJNQTU4dkFQUGFjQjg1SDdKUmw1UG55ZlAxd2NtVG5TZ1ZX
K2VYT0tzMVlBN0IwOWU0dWFJREhOZGYyU3ZuM0FaClJ1ZldxdVNiaDN1bFhybzUxejJTVjJkTXpo
V1crVSthTHo5dEJCeTc3RjMzU3l4eGZQRVZWTng2NWkrYTlFZ05HTDhvY09wMkhmWmkKS0Qvekd4
Tm5MeHVXR0Rxd09nZjVBbmg4Y2ZQODRsVnJMYkpPM3NVNXNlYnNRVTBLckNHV3RkVWNoQzh1NjlK
eHZsMEE3bm51RXN4agpISGlHQTg5cHdQaysvUEtKenNrN042YkdPWDg1SE9xSitSZmxMOVZiOTEx
MC85ekQvYnRPVHNZclBUcnhYb08xZXVaM1BIRzV4cTYvCldvTjk4dWgzWFd1Yncza3RPTWtqRVd1
YnlFbmJrN001QlorVURRcmJxOHlhNUo2RkJRLzVPVXlld090cnJUcHlmSzl5TjE3N3lsbngKUE1m
R1BFdWVIMHhKbGN2RldlRFk2RHhEMzU5MDZnNTYrWEVCNyt5RWNlQXpIWGhPQTI0ZmVQM0ZBTHY2
d0RzbXIzL2g0bGY4L3I3aApmS2MzZjhjMVQzUnY5bkYvOCtvekprYzlXb2E4ZC9xRGVkemhuZDU5
c201aTFubEtYSGZUdHJveWQxMi9DanpXcUdheWNjaG44NFFICnZyQ3pZYTFseVlLdjNYS0o4Zzh5
dSt5eGRjcEJrMXRuVmI5SllJV3ZCN1ZybjRXUlpuait4T0VudDRnOEZPM2FkYmVkTEgwSjkzNmIK
Vy9YckFDRmZPZm5uK1Z1ZDJzSWE1SGFOVFpzd0RueThBODlwd1AxVitMRWE3L0xnN3pqa3J2Slgy
TlVlcWQ5L1RDN3JwYmJ6M0t2agphRHJHV3N5YTcvUnlqT3JWZ0R1L3E2dVdxRDZ4Qjh4dFRtWEZl
aEJ0SERZU3JwbDR6VGVtSGs2Tm5TUmdtZHdqR2M5SW5Qc3NyT0NkCk8ydXp6aEhyZW5WN0k4OXQy
cnE3WEZiNG1sZUJyMlVldUtjcUYxU210Y2NpdWlkbjhCeXBMM3hyNnp5YlY1d2t0dnF6SEFjKzBZ
Rm4KTmVDckQ3Umpyb24rTlVnczN5SzRQM0YxUm5Ebnh1U0M4WE00VDY1ekkxelB4bHdOYzBkeXhZ
anFqR0J3Tzk4MU1VZnF4Sy8wbVhOTwp2TkpuL3RQbTZ6NWxsZmNpTHFBczRiRkdRWHQrTnNPRmI2
aWFENDJGbkdXT0FnZEdEYmxNNUFwbVRiZ00rR2RUMjdYRjJZUmM1Wm12CmhQc1NyUWZPT1BmYk9y
bEg5bmdXcDhnYnJRUHMzQXJuSG10U2Uyd01CdnVoejNHZVR6NEYxdkRNRkR6UEtlZWd6SE1jZUl3
RHoybkEKN1FPdk55Um05TFd4NXJjLytwcUx5U0dLRWZ2b2V2S0p1YmFHZW1zbDl3cnpiTlpSYjB5
OUdGR2RFY3o2ekIycHp6eTZ6TUZublJ3dwpodHpNaXgyTWozOTZ0V3dHZXRHYkN2alp6TmJOSzc4
TG9LOGMrSGJsektkTEt5bTM2bTErMmFwd1k2VlA3Y2I5YjhBOE12U01zL2FhClc4NWNFZmIrenEx
Uk9zQjlqeEpiWU1FMTViSDFlMXAzcGdiNnlxM2dxTm9RR1RzUzVMbzM2WkxMQlpneERqekFnZWMw
NEt1WDRWOFcKb3ZQNndtT056cHdSaktFdThTdjl3ZjZxNHgrS0szM251aWE2ajNveDhjNU5ubHhp
NHFsbGJxN1AwVEhNRzlVVFV5TlhYSjQ2OGc4WQpkYjMxb0JuNE8vKzc0SDRyQjZlYUJmUE5yUlNK
L2JPWllNOEpPMEdQZ0xFd3VYdDUxSy9rMXdOcEpRaWhLZHhpdFRob0JhMEh0YXZCClJlNWx6Nmhs
L1pjRGJIM1YyR2R3ejdNdUhISnJnUEZqMy9VL1gvZXNKSVNEUzQ2QnJ1Ni84UUxCbkV3Y0J4N2t3
SE1hY0gyNThXWnkKN1pjUHh2QnJOb0lsdjYrVFI4NjFFVzNxK3hxZVhQU094TG8rT1hkNk9GbkRP
YlVjWWtaenJvM3lpWjZmdVhtamVuSU04V04xUERzbgpjNTgyWDNleElkcE02czdlMjhpZG5iYzdW
dFBiV0RXalRhMm10RFZsV2Rkdkg0WFAvYTFQd3FSWTFDNzVlcHlVTmJjWkNwNDU5UTJBCkwvZXN0
empTOUliL1pweVQ0MWQ4NW50eGUzNkppM3VPS0hCT3IzaW5ZQ2Jqd09jNThKd0dqUGY1Z1o1ZmJl
Qmk4b3pnRE5iTzVZb1QKR1hEa3BUNTE4Rnd6WjhoMW52WEI1QnZCY3R6cFBZdmNkM3B6MWlKMlBY
WGd5V1hOdU9KWnAzUDcrcWp3bWM5MmwxcnEyNzRSV0ZteApQYXFtdFRBYjBvWVA5aUlYZDJ2a2ty
VFpuVmp1dmViVXMyWVZvOUQ2MmVCcXZ1dlVudWl6QnFLMXJ2b2VJakQzTlpWN1pTbDRjcGk3ClJl
bXQzN2ZlQmJJbVczdCs2eFcwRjNKWk9pYy9ZeHg0aWdQUGFzRDVWdnlpL2V0Z3pyVVJ2TDd3VFZB
bmxqd29yRHUycFZVbjlmTEYKNUgybjcvbnY5T2FKL0xyZWZjMzFmT3FUNnp4amFwbTdKeHpySlA4
QmN4dlRlY1YxNzJ3SVpldjJoVUN1bXBSK3JPaVVHa1hsRVNDYQp3aUdzOGNPZW15dWUrNWNBOFVz
QmlsVG1xeGI1aFpXMmNXdi93SkM2RjVwZDZpaTRudWYrYWxaMHl1VFVXbWNYRUMrOUdQVjI1VHJI
CjF1U2VwWk8wdVJQR2dVOTM0RmtOT0QvUW5PZGI4cXMya29QTE9qVmk1Qm5tNEtXMmtodVRBL2Ju
NnRVUSsxa3l4enhIMzVOYzErZTYKbjczcnpTZXVubWorYXA5K1p6aWZQdFo5YVFwZSs2VnhDSzQ3
MmxpQW1OdEl1SDVxdWtXVjI1b285OVhnMUZOb0Rma2NDRDVyOW5QLwpJc2xqc3oydjJ1c2hIN3l3
elNsOUFXUVc3d2pIL0dVUkNlcnRaWjNCMU43SFplMjVGK2Y1MS9xSC9jRVdDQTdQMnFuWlpTYU1B
NDl3CjREa05tSysxdnVoNEwzY1lGTDl1NXZYRjc4amFvZDRJbmpwNWlXZGVuVkZlY3JLR2VXTGVK
Zldkbjd3L1NrL05ySHUzLzlVOTdyajkKM0oreTNuZjBxdFdvMWdKN3NqRTRoK2U4TEd6YzBuSDNQ
YWw2YVBhUFZBN3d6ZzNvcTlrWDhVdEplV3VmZTI3TTg1MjFGLzZDZlpVcApYRDJSc3hSM2crN3hz
djNMNGxWVE5ZQ3l6bHFmK3krdGNtdDM3cUxQR0FjZTRjQnpHckJmTnE4bDUvMDFrZU1MVDA1Zlp3
NTlycnYrCi9HdXhlY2xGeTNpSC9WRjY5N25hcXc2eEh1NGxsNWdZNjNjanVlLzJlVmZqMDNMcm5w
ZFhEUkJicWxtc0NkSFVpVy9NaG5KNkxoRzkKdnB5VEEyQlpVT0Q1R2s3WnprdURjemJLVFRKWHkx
akF5L05YZm05UytPSUcvVlVlaHpucjdQME1wZTBGU0c2TUVxWmYvT05jdTBqaQpHNW93RG55OEE4
OXB3TDRLdm1iL0tQajE1aGVlY3pVWnV6N1g4TG8rOStoY2NoMXpMM0RHTy8zQitMcVBhNkoxMVNk
bTdlUXo5enpKClRVeis3OVgzbXQvcHpYOVkvTUdPNVpuL1lqc3RnTFM5UFBsclV2TWQxVlJUVzNU
WDFEZzFHNWR6NXFpeFNlY3JjOTNPUTdGVGo0NGkKYXhncnR4ZlVZbTF0U0pVNk56bUVZRnZ5eW9m
bmlEb0pWKzBzc1BoVmF4Zk1yU2hWL0YzQVBjSE9NN3JmeEhIZ3d4MTRYZ04rK2ZMMwoyOGt2M0x4
ZmRuK0I1c0hoc0U3TWVkZUxHKy8wNE1saHpSQXpIdWdYN3ZvZDExeXZvYmJmUjU0eDlYRDdIZFZi
RDkwVmx2WGtQaVNXCkxldHhOamd0MkhjdU83eS9jWEhncTZHUmtJcjAxM3JYL3FIWnBGN3RMbERj
WFpEOWUrR2RJbE5ON09Tekx2QTRtK2ZiWlYvcTlCcHkKa1R0U1YzVXpzUXVBZTMvVFlHcHI3a0lD
K1lWZDdSbVVtWTRESCtmQXN4cnd5MWUvM2dVZmNzZDRSZm5Gcy9hRHYrUENjY0Rwdkx0OQowSFR1
RmZhZHZ1ZXpaczZwZlRmZ1hkMno2MW5MbFU5Tk1lY1ptVHZVdTM1WXhKSjZIZHh6ajlPbWhkVjg1
OFJydVI0MlZScUpUVkNNClVqbXYwaThGdnZMQWU0dXZTZFMzVmpVczhPQ2ZUV3lCbG5meXcvNTFp
SmN0Q2puUFQxMks3NUZ6b0xPK25MM25xZDhYT1hsTjQxbXQKYTl6YlRSZ0hQdDZCNXpSZ1BuSy9a
Q092cDgrVDUrc0RFeWM2MEtvM1R5NXgxbXJBbllNbkwzRnpSSWE1cmoreTEwKzRES056YTFYeQp6
Y085VWkvZG5Pc2V5YXN6SnVjS3kvd256WmVmTmdLT1hmYXUreVdXT0w3NENpcHVQZk1YVFhxa0Jv
eGZGRGgxdXc1N01aU2YrWTJKCnM1Y05Td3dkV0oyRGZBRTh2cmg1ZnZHcXRSWlpKKy9pbkZoejlx
QW1CZFlReTlwcURzSVhsM1hwT044dUFQYzhkd25tTVE0OHc0SG4KTk9COEgzNzVST2ZrblJ0VDQ1
eS9IQTcxeFB5TDhwZnFyZnN1dW4vdTRmNWRKeWZqbFI2ZGVLL0JXajN6TzU2NFhHUFhYNjNCUG5u
MAp1NjYxemVHOEZwemtrWWkxVGVTazdjblpuSUpQeWdhRjdWVm1UWExQd29LSC9Cd21UK0QxdFZZ
ZE9iNVh1UnV2ZmVXc2VKNWpZNTRsCnp3K21wTXJsNGl4d2JIU2VvZTlQT25VSHZmeTRnSGQyd2pq
d21RNDhwd0czRDd6K1lvQmRmZUFkazllL2NQRXJmbi9mY0w3VG03L2oKbWllNk4vdTR2M24xR1pP
akhpMUQzanY5d1R6dThFN3ZQbGszTWVzOEphNjdhVnRkbWJ1dVh3VWVhMVF6MlRqa3MzbkNBMS9Z
MmJEVwpzbVRCMTI2NVJQa0htVjMyMkRybG9NbXRzNnJmSkxEQzE0UGF0Yy9DU0RNOGYrTHdrMXRF
SG9wMjdicmJUcGEraEh1L3phMzZkWUNRCnI1ejg4L3l0VG0xaERYSzd4cVpOR0FjKzNvSG5OT0Qr
S3Z4WWpYZDU4SGNjY2xmNUsreHFqOVR2UHlhWDlWTGJlZTdWY1RRZFl5MW0KelhkNk9VYjFhc0Nk
MzlWVlMxU2YyQVBtTnFleVlqMklOZzRiQ2RkTXZPWWJVdytueGs0U3NFenVrWXhuSk01OUZsYnd6
cDIxV2VlSQpkYjI2dlpIbk5tM2RYUzRyZk0ycndOY3lEOXhUbFFzcTA5cGpFZDJUTTNpTzFCZSt0
WFdlelN0T0VsdjlXWTREbitqQXN4cncxUWZhCk1kZEUveG9rbG04UjNKKzRPaU80YzJOeXdmZzVu
Q2ZYdVJHdVoyT3VocmtqdVdKRWRVWXd1SjN2bXBnamRlSlgrc3c1SjE3cE0vOXAKODNXZnNzcDdF
UmRRbHZCWW82QTlQNXZod2pkVXpZZkdRczR5UjRFRG80WmNKbklGc3laY0J2eXpxZTNhNG14Q3J2
TE1WOEo5aWRZRApaNXo3YlozY0kzczhpMVBramRZQmRtNkZjNDgxcVQwMkJvUDkwT2M0enllZkFt
dDRaZ3FlNTVSelVPWTVEanpHZ2VjMDRQYUIxeHNTCk0vcmFXUFBiSDMzTnhlUVF4WWg5ZEQzNXhG
eGJRNzIxa251RmVUYnJxRGVtWG95b3pnaG1mZWFPMUdjZVhlYmdzMDRPR0VOdTVzVU8KeHNjL3ZW
bzJBNzNvVFFYOGJHYnI1cFhmQmRCWERueTdjdWJUcFpXVVcvVTJ2MnhWdUxIU3AzYmovamRnSGhs
NnhsbDd6UzFucmdoNwpmK2ZXS0IzZ3ZrZUpMYkRnbXZMWStqMnRPMU1EZmVWV2NGUnRpSXdkQ1hM
ZG0zVEo1UUxNR0FjZTRNQnpHdkRWeS9BdkM5RjVmZUd4ClJtZk9DTVpRbC9pVi9tQi8xZkVQeFpX
K2MxMFQzVWU5bUhqbkprOHVNZkhVTWpmWDUrZ1k1bzNxaWFtUkt5NVBIZmtIakxyZWV0QU0KL0oz
L1hYQy9sWU5UellMNTVsYUt4UDdaVExEbmhKMmdSOEJZbU55OVBPcFg4dXVCdEJLRTBCUnVzVm9j
dElMV2c5clY0Q0wzc21mVQpzdjdMQWJhK2F1d3p1T2RaRnc2NU5jRDRzZS82bjY5N1ZoTEN3U1hI
UUZmMzMzaUJZRTRtamdNUGN1QTVEYmkrM0hnenVmYkxCMlA0Ck5SdkJrdC9YeVNQbjJvZzI5WDBO
VHk1NlIySmRuNXc3UFp5czRaeGFEakdqT2RkRytVVFB6OXk4VVQwNWh2aXhPcDZkazdsUG02KzcK
MkJCdEpuVm43MjNrenM3YkhhdnBiYXlhMGFaV1U5cWFzcXpydDQvQzUvN1dKMkZTTEdxWGZEMU95
cHJiREFYUG5Qb0d3SmQ3MWxzYwphWHJEZnpQT3lmRXJQdk85dUQyL3hNVTlSeFE0cDFlOFV6Q1Rj
ZUR6SEhoT0E4YjcvRURQcnpad01YbEdjQVpyNTNMRmlRdzQ4bEtmCk9uaXVtVFBrT3MvNllQS05Z
RG51OUo1RjdqdTlPV3NSdTU0NjhPU3labHp4ck5PNWZYMVUrTXhudTBzdDlXM2ZDS3lzMkI1VjAx
cVkKRFduREIzdVJpN3MxY2tuYTdFNHM5MTV6NmxtemlsRm8vV3h3TmQ5MWFrLzBXUVBSV2xkOUR4
R1krNXJLdmJJVVBEbk0zYUwwMXU5Ygo3d0paazYwOXYvVUsyZ3U1TEoyVG56RU9QTVdCdjMzS1Jm
NzA5L2tKUCtWV2M0Ly8wdzc4MDcrZC82NytUNytEMlg4Y2VLb0R6L29YCjhGUGYwdHhySEJnSHhv
Rng0SEVPVEFOKzNDdWRDNDBENDhBNE1BNThnZ1BUZ0QvaExjMFp4NEZ4WUJ3WUJ4N253RFRneDcz
U3VkQTQKTUE2TUErUEFKemd3RGZnVDN0S2NjUndZQjhhQmNlQnhEa3dEZnR3cm5RdU5BK1BBT0RB
T2ZJSUQwNEEvNFMzTkdjZUJjV0FjR0FjZQo1OEEwNE1lOTByblFPREFPakFQandDYzRNQTM0RTk3
U25IRWNHQWZHZ1hIZ2NRNzhvUTM0di8vMy8vN2IvL3lmLy9OeEpzMkZ4b0gvCkd6NjJ0WElBQUJa
UVNVUkJWQjJZNy9uL3hyYytkLzZaRHZ5aERmaGYvK3QvL2R1LytUZi81bWVlZi9ZYUI4YUJmeVlI
NW52K1p6SjIKeW80RDI0RS90QUdQcTMrZEEvLzdmLy92My83TGYva3ZmMTJSMzZuK21Ydjl6aU1O
N2M5dzRILzlyLy8xMjMvOXIvLzF0Ly80SC8vagpiLy8rMy8vN1AwTTUxSEZnSFBoVkhQaXIvejlq
K0IvLzQzLzg5cC8vODMvKzdULzlwLy8wMjMvN2IvL3R0Ly93SC83RGIvL3UzLzI3CjMvN2YvNys5
czRDUnBPamllQjF1aDdzZTduSTRISkRnRXV3T2QzZDNQOFBoc01NSndlV1FPL1FJR2dLQjRJSGdr
T0RCblNPUUVLQysKOTZ0OFZWVDNkczkwei9UTXpzNitsK3gyZFhmcHY2ZjdWYjE2c3Z6eVp0bGxs
elVEQnc3TUhPdlRUejl0WG43NTVjeDc2WXVUVHo2NQptV21tbWN5c3M4NXFacDk5ZGpONDhHQXo0
NHd6cHJQMTZmTTMzM3pUYkxycHB1YWJiNzR4VzJ5eGhaazRjV0xMeHRQT3RsbzJpRjZxCitQSEhI
emZYWG51dEdUOStmTnQ3OE8yMzM1bzc3N3pUUFBiWVkrYlpaNStWcUViV3JMLysrbWJZc0dHVjlh
WFI5N215RG1oRmlrQi8KUW1Ea3lKRjIrUERoOGk2WEk5bnJ0U0p1dGxOTk5aV2RacHBwN01ZYmIy
eG5tV1VXdThJS0sxZ1JYVmxodkhiQWdBRjJ3dzAzdEMrOQo5RktQeW9VSjJERmp4bGhoT29TYktm
VW5ETm11dnZycTl2enp6N2Z5d2VoUmQxKzhjT2loaHlZd2tNbEp5NGJSenJaYU5vZzJWeXlyClRM
dk9PdXU0WnpUenpETzN0ZlV2dnZqQ0huSEVFWGJhYWFkMTdRdkR0VEpCczMvODhVZGwvV2oyZmE2
c0kxcVJJdEFQRVBCODEvaEUKbVRGLzhza25kdkhGRjNjZmcyMjMzZGJLek53VlgzcnBwZTN4eHgv
djBwTW1UYkxISFhlY25XS0tLVnkrN2JmZlByY0pQaTVwSml5cgphUHZWVjEvWkgzNzR3WXFvelQ3
Ly9QUDJ2UFBPc3l1dXVHSWk3OXh6ejIwZmV1aWgzTHI3eW8yeFk4ZUdjVTA5OWRUMisrKy9iMW5Y
CjI5bFd5d2JScG9wRm91TW1sUEh2czUwTVdGYmJkcnJwcG5PL0RaRUEyWEhqeGxVKzhxcmY1OG83
cUJVcUFsMkdnT2U3cFJtdzdEM1oKMVZaYnpYMFFoZ3daWXYvNTU1OEFUY3lBL2NXNzdyckw1V1ds
bkVjaVRndk1odzhkSytxLy8vNDdNenZ0Nzdubm5vbjhVMDQ1Wlo5bgp3cXprenpyckxMdlZWbHU1
MVUzbTRDdTYyTTYyS3VweTI2dDU0NDAzN0s2NzdtcDMyV1VYdS9mZWV6dEpqMmZDN1dEQXYvenlp
eDA2CmRHajRuWXVvMlUxSXF3YWlGZTl6MVgzVStoU0Jia1BBTStEU2U4Q1hYWGFaZWVXVlYrUmJa
SnpHODJTVDFkYmoybkhISGMwTEw3eGcKcnJycUtsY202NStzWWhPWFpkVnMyUGZOSW1IazV1YWJi
emJ5RVRTeWtuTlpVQ2c2K09DRHpjY2ZmMnk0M3hkSlZqbm10Tk5PYTB2WAoyOWxXV3diVWdrYW1u
MzU2YytPTk40YmYwNy8vL210dXVlVVcxNUpzcmJTZ3hmK3FGTkd5MHdOQXdRcGFlT0dGellRSkU5
eHYvcjljCjFhUmE4VDVYMHpPdFJSSG9mZ1JxYzgrTThULzU1SlBoNmpMTExCUFN0UkxISG51c3Fj
V29aVzhyVWJ6SUIyNi8vZlpMbFBueXl5OTcKUlRFbTBRazk2Um9FRmx0c3NjQjhHZFFpaXl3U3hp
YXo4WkN1T3NGa2NydnR0blBhemRUTmhGS2tTQzFodnRUZml2ZVplcFVVQVVXZwpQZ0tsR2ZEYmI3
OGRhdjN3d3c5RHVsWmlnUVVXTUtJMFZTdEw2WHRvV2FNVkhWUGN0L2k2cGhXQlpoRkFLdU9weUFU
UjV5MTdQUHp3Cnc4MmpqejRhaWwxd3dRVkd0bnpDZWRXSitKM3B6ZmU1Nm5GcGZZcEFYMENnTkFO
ZWNza2x3N2dRMFJVbHpJNnFKRDZDbURuRjlQWFgKWDhlbm1sWUUraFFDb21qb1RQaDhwOWRjYzAx
ejFGRkgrZE9XSER2bGZXN0o0TFJTUmFEREVmaHZXbCt3bzZ1dXVxcnh6UFQyMjI4MwpHMnl3Z2Rs
MzMzM3JscTRsZ3E1Yk9DT0RLR2s1KytQNDFxS0xMaHFmRmtxTEVwbDU1NTEzekU4Ly9lUnNsMmVi
YmJiY2N1ek5JZXJPCkkvYWw1NWhqanNUdG4zLysyWWdtZCtJYUovUTFENVBQUHZ2TWlSN25tV2Vl
SHVYaUM5aGRZOVA3NmFlZnVuM0M1WlpiemlCdFFFU0sKUzlDMGFEOHU2OU5GMi9MNU9USW1iTCt4
OFdZYm9rZzdjWG5TOVBtdnYvNHlTeXl4UkxqMTIyKy9tVmRmZmRYOCtPT1B6cjRWbSs4aQo5T3V2
dnpxYmNqdzNpVUpla1NJZGw0ZmY0V0dISGVhZW5lOGNlZzJ0cGs1NW4xczlUcTFmRWVoRUJFcXZn
UGxJNEJURDB3RUhIR0JHCmpCaGgrSUMwazFBRTQ0TWRrNWdveGFjMTB5alVyTGZlZW00c2xNT2hB
Ujk4RkY1dXUrMjJ6TEtzc0k4ODhrakhkR0FjOForWVVvVjkKdTdnd0RKSlZURG92ZTMweGlkYXJ1
ZW1tbTl5RWhqNTRSYmM0ajA4eldUamtrRU5jbmV3UGlybVdRWmtHWmtnN2E2Kzl0cm55eWl0OQo5
aDdITW0zNXdqRE1uWGZlMmVIRHhJQjlTajdlTUdIUmZuZTRwSitITCt1UGVQa1NVekluVW1XTTk5
MTNuN3YxNTU5L21wTlBQdG5NClAvLzhSdXpHRFlwN0tPYVJ6cHE4K1BvNHNtcWNiNzc1ekNhYmJH
SUdEUnBrR0Z0ZnBMdnZ2anN4b1dReUJ3NmUrTDE4L3ZubkNRYnQKN3pWejdKVDN1Wmt4YUZsRm9N
OGk0TldoeTZoNTMzSEhIY0U4UWdidTB1dXV1NjZkZDk1NWd4MXdtZnB3Tk9EcjRZZ1RqM3AwMEVF
SApKY3FJa293VkJsQ3ZtSlZWbDhVUmhYalNzcU5IajdiWWVlSW81TkpMTDdXeWVnMTF5Z2M5dHo1
WitZZDg5SGVwcFphcTJTNm1XdDUwCkMxdG1UMXdYalc2NzVaWmJKc3hjcVBPQkJ4N3cyUkpIK284
VEV2STg4OHd6aVh2WWN5NjAwRUx1SGlaTk1UWFNsaTh2RXhLSGx6QmUKZTg4OTkxaGhCbGEwZ2kz
T1FrNDk5VlNMWXhUNkk2dHZLL3VYdmxnNGloYThsZTJDQkdia0J3dHN2R1hpNE83aHlBVnpOZTc1
UDU0RApmYytqM1hiYkxlU2xETSt4RlFTZXZrLzBzMnJhWnB0dFF2MjBnMjI4U0diY2I1WGZEcmJo
WEo5aGhobXNUTERzSlpkY1VoT1hNdjJyCituMHUwN2JtVlFUNkl3S2U3eHFmS0F2QzVaZGZickcv
OVI4bGY1UjlLeXZtUUtXcUs4T0FZYkt5K2txMHkwZGJWb3gxMjRSNXlhclgKaW9tSlk3enBBbSs5
OVpiRjJZRWZpNnp1MDFuQytlYWJieDd5d2JoaFNyVklSUFd1N3RoN0VXWEV0YUVWc2JZOThjUVRR
MzIwLytDRApEMlpXZCthWlo3cDhxNnl5U3VaOW1EQ09HOUxlelJwcGl3WndyT0x4d0Y0N2l5NjY2
S0tRaDd4aWNwYklKaXRjSzZKdTU1akYxOFZ4Cmh4MTJzSFBPT2FmZGE2KzlMSjZtc1AzR0xoWEdI
T2ZER1VVZWpSbzFLcEgzaVNlZXlNdmExUFZXTW1CKzA1N0Irbkd2c2NZYXpvbU4KYUdNNzIzQzhj
TUY4L1gyT1hQdm9vNCthR3BjdlhPWDc3T3ZVb3lLZ0NHUWo0UGx1d3d5WWF2Rk9KYUxFeEVlQkR3
TWZrNU5PT2lsMwpCWm51VWowR3pJZjV0ZGRlYzdOK1ZwdnhSMmlsbFZiS1pLYnBOamhuZFVSWm1G
Z2VpUzF1b243eHU1dVpWV3cwRS9ueVZxd1VGcEd4Clc5bkJaUE5JTkZBTDFlZmRJWW9aVmw1VlZz
U0tWa1M2dWZlTHRzVVlSZG5OOVd1UFBmYklyWThic1hNVUdJV0lyRFB6eDFJR3ZLUmQKZi8zMW1m
bEVsQjd3MkdlZmZUTHpjQkdQWVFjZWVLQkZBbkw2NmFlN2xYbHU1aVp1dEpJQjQ4a3QvazJUeG5O
Y1dxTEQ3MGkwcEJONQprWGhVNVk2MXF2ZTVDWmkxcUNMUUx4Q29oQUdERkNzNm1LMTNPUmwvU09h
YWF5NG5zcXlIYUpvQlV4YytwUEVyamRnenZkTEdFeEV1Ck1HWFB0TEFZam8rWFg5MSs4TUVIdVYx
S2UrWGFmZmZkYy9PdXZQTEs0V01vQVJSeTgxMTk5ZFdPa2RWYXJmQ3hqYkhMWStpaUpPYnkKeVQ1
ODdvZFhiRHZ0TWNjY2s5dWZJbTJ4WWhaVHI5QW5tSFl0a3YzSndLd1p4MmFiYlphWm5aVzdIeWNy
NER4aVZlenpzUnJzYldvbApBMFppNE1mS0VXOW90Y1R1YWRldHA1eHlTbVh3VlBFK1Y5WVpyVWdS
NkZJRVBBTXVyWVFsSDRnRW9RR0xZZzNSa0lUaEp1NFJ2VVUrCnNrN0JCazlDUlltOGFQR2lpQ01m
SWlQTUlCU1Z2V2FubUlNQ2ozeWtjeldKUTRIL0o3Q25SSGtKaFIyVVdYQkFrUFZITktLWTBKRE8K
SXhSWVBHRzdpVVp4RnNrcXoyeTAwVVlKWnc3cGZHbnQzVHhiMHdVWFhOQVZSZk9YNkVsb1FxZEpW
c2xHWENpbUw0ZnpJbTBSZFVkRQo4cTRNTnJDeEk0cFFVWlJBK3hwRk5rL2dJVklMZnhxT3NhZXlQ
QzF3TW1PQzQwa21URDdabGNlMFpyMnMrR3YrcnM4NTV4d2pvdnVBCmhXd0JHSm5FaHZObUVxMTRu
NXZwajVaVkJMb1pnYVlac0FjSHh4aG9zV0lLSW1JeGY5a2RKV3FSa1pWazRscXRFOXdBUHZmY2N5
N3MKMnYzMzM1OHdMU0hjNFlVWFhsaXJlT1k5d3JkQmFBekw2aXozRDhhRkcwei9SOHpWdk1rRGVV
VWh4OVZMSGhodG1sNS8vWFhIaUVScApMSDJyb1hOUjFnbmx3RWhFOEFaek1Ka29odXV5QmRDMDg0
YVllY0wwODF5RGhrWWxJV0xxK0RRdzhNVEZnaWRvQVh0Q1M3cWI2YnZ2CnZrc01ENjN5V2lRaWZp
TWkvNUFGY3k3TXQ2cWtLdC9uS3Z1bGRTa0MzWVJBWlF6WWc0SnBDdDUxMGphTXJLZ2VmdmhobjYz
d2NhMjEKMWpJWFgzeHhJajgra3g5NTVKSEV0WG9uNzczM25zdUNhUXMyeEVYL1JGeWJ1eHBodFJE
YlFOOXd3dzJ1M3JndnhFWm1KYi8xMWx2SApseHRPeXo2eWtYM3dVQjZiV1NZM0lnNDN4S3F0aW1J
UFNmVld2NzVObmxWTTc3NzdibnlxNlJ3RTB2YmVmbEtYazkxZEZpWEF4TzFXClNRbXFmcDhUbmRZ
VFJhQ2ZJMUE1QXdaUFp1aXk3Mm11dWVhYUJMeXlWNVU0TDNxQ2U3NVlwTXBxVXlMVm1LSWZIVVRo
T0krQTNuLy8KL2FMTkZzcUhQYTRYRjdPNkZvV2FVQTdISFdMaVlSQXBwc1crSVZQSkJFd2ZLVURh
dGFkRTczRWk2WjEyMnNta1YxUWxtM0RaWXdaYwpTMVFjMTQwWU9xWmE0dnM0WDM5UFMyalBCQVNz
YU91UjdJc25zaFIxSTVrb1ZQQ2s2dmU1WUxPYVRSSG9lZ1Jhd29BOWFvaGRZMUVaCkt5SXhNL0cz
U3gxWlNjYXVKOWtEUlJ6THNSN0ZESWs5MDk5Ly83MWVrY0wzOFdpRlNOdVRtTXo0cEJHYldlY3NC
R2NsVlJJT1EyREMKb2hoa0pIUmpvbW9jT2d3ZVBManc1Q1JST0RxSkp3enNtUmNob2l6Rm5zU0tN
dTRpZFhkekhweW54SlMxcngvZko4MDJEWCtlaWpCdApuN2ZSWTVYdmM2TjkwSEtLUURjaFVJb0J3
N2dRZVpZaHNVY04yVm01TmpwVDUyTXpmdng0NTNuSlY4Z0ttSlZ3M2g2dHo1Y1dvUlpkCk9mdnk5
WTZ4TXBiWW9ScXh4WFZGMkJQR1F4TmVuNm9tbEprUXhiUEtGSTN3UlBXc3hGR0k4cXYreE0yQ0o3
aTE5RlNVQVpPZjFaS24KdUE1L1RZODlFVWl2Z0lzd1lHcUpSZFZGSTVQRnJmZm0reHozUTlPS1FI
OUZvQlFEUnFGSWJHaExZY1VLTVhaZFdhcHdLak9PNDlsbgpqWW05WVBIR0ZGL3FrWVo1aTVldWNE
MWRSN2lSa1VBRFcyeUJNKzc4ZDRuOU9NOWttUXl3V2tmVWpaSlVWY3BYdnJWMHdBa21GMmlFClAv
WFVVNGt4a3UvY2M4LzF4VW9mWTJrRG9uUS9xYWhYVWF4Rkh0ZFJyMXgvdmc4akpmeWhKeXdLaWxB
OHdXcGtzdFBiNzNPUk1Xb2UKUmFDYkVTakZnQUVDcmVReWhMS1RGenNqMW95anI1U3B4K2NWQndX
RytNSXhvV1dOa2xjdGlqVkxZWkJvTnhlaE04NDRvNjZHS2FKVwo5b0k5RVNWS2JEc055alZpMCtr
dlYzS014ZDF4aFFURkVKZWFSbXludzJWVzQ0MFMydFV4NWZuSGp2Tmc1dVdmTmRmRjVqZStyZWth
CkNKeDk5dG5oN3IzMzNodlNlUWw4WG9zRERuY2JNN0ZHc2U3dDl6bHZmSHBkRWVnUENKUm13Tmk2
RnZsQWVQQlE1c0dtRnlMNFFXd0gKNnZPazk2L3FpWlJodU5nRHh5U2VvWnd0Y253dFRvdi81M0RL
cWxZY1ZTVHNpOFBOS0VHZ2crdXV1ODZnQkZhUDBJYjIrN0dzQWdtRwp3RFUramxVUzRrbXYwWjJ1
RnpNd2xOODhOV08rUXlDQWVOSkNvSWpZMU1tM0VSOWpVeGkyQnVMeWNiNVdwT3Y5WmxyUlpwVjFn
amRCCk5DQW1oMFNicWtYaWh6dmNSc3FDZlhzajFJcjN1WkYrYUJsRm9EOGlVSm9CQTVKNHZuTDJ0
RVVBODdheGFBcVBIRGt5c3dncnA1aVkKMmNjcnFmZ2VhWmdhekJIekhrOHdHL1pDWTRVcmY0L2ow
S0ZEVFJ3dENaTW9KZ1JaRGd4WXRSTmRTQno5R3h4NEZCR2hvM3hFdEtDWQp5aWhmK2RXTUw1OCs5
OWM1eG9wZThYWFNPTEJBVXhyQ2hDU0wwblduenluRFJJbDJ2SWEzK1BkT2FIaG4xUXVUaHRnSHpy
UFZCdHNpCmhOamJVeTNtaXFpZFo0dmRNTnJtelV3NmZIdFp4OWdaVE5iOWV0Zm8xd2tubk9CRXpV
eitzaFFCSmNCQ3dMdmU5c0d0dDk3cW1tVGMKNGcrN1h2TTE3MWY5UHRkc1RHOHFBb3BBUUtBaEJz
ekhHSkdYK0FvT0ZXVWx4bzRkRzhMaTRhMEhEMDFabEdVYVJPaTZXb1I0ZDl5NApjWWtWSnN3VXpl
aDRiOHpYQVNQQmcxQ3NtZnZpaXk4YTlzNG93d2NQaHNOSGtwWGIwVWNmYlFneHVQLysrL3NxNmg1
alpTeThWS1VkCmt0U3FRSHdhSjI3blRTVEloQWhkSWd3bDh2c1RUSzc0MkRQZVdBUGQzK2RZdEMy
a0RQRWtBczlqZVVwMHJOcDhlRUgwQk9JOTk3anQKZUZ5MVFnZWlTT1lKNWhlYlJmbnJISys0NGdx
M0xUSnAwaVREQklBd2s2MmdXREdLdHRKU20zcHQ0aXhsekpneFJ0eVJHdkZKN3ZxYQpMb05wMlFn
SjdRa3h3Y3dMS2NrZU1RcUpQR01tT3JIbWVick9JdWRWdjg5RjJ0UThpb0FpSUFqSXFyUkg1Snc4
OTV2NHB4VXpGK2VqCldZcTZBQU1pYW5SQkVnanJoKzlnZlBqS2h5YUVuOE9mTTg3bTgwamk1U1o4
RGxNdmY0U2hJN0pQUFpJUGtNdnZ5M0VrOUIzQkcyVGwKMUtQNGhBa1RyS3dRZTVTSnk4dUh6WVdE
azlWYWovTDFMdmhRZ2NLTTZtVU45K2tuL3JUalBnd1pNc1FLSXcxNWZNTDdzNVpWcG9zZwo1Szl6
eEk4dlByS3BKeDBOeWVjcjB4WmxlT1lFcnhDcGc2dVhJQW1pUmU2cmMwZjhRQk1VZ0NoTXdnQVQ5
K0lUd2lmR1kyUXNNbUdJCnM3aTBUS0JjaU1jNEw3L1RMQ0pRUTV3dmI5eFpaWXRlWTd6NEg0L2JJ
VVJqR1VyN2I2NFZhVXUyV0J6ZUlvVndBVVI4WUF0K2ovZ3EKSjZBRnoxLzJiOHQwb1VmZVZyelBQ
UnJSQzRxQUl0QURBYzkzU3pIZ3VCYlI4SFVSZDhUY3hRNGFOTWpGOE9VREpZcFdsZ2hGUk91QgpX
V2N4UWVvaC9CbkJHdUtQV2xaYTlyYXNpSVBqcG51a2h3MGJsbGtQZ1J4Z0Rta2lqcTJzZkJQQkEz
emJzdnExaksxUkV0R2dwYyt5CmFxdGJCUjlXMmZ1em9pbWUyWDhSc2J2UWl5SWhDSFVSZlVxY2ts
Z2ZMWWdZdkp3VHJZZzBrNCtKRXllRy9EN1JTRnUrTEVkaStvcTUKVE9nblVhbUlxMHlZUmRuN2Rw
TW9XYVhHUlVKYTlxeXRTQVFDRS9kWWN5UnlGcjhoejlSbFA5T0tuWE5vSjg0TFR1bHdnMHkwUkl2
WQo1YWQvc2xJTjdUYVRZR0pJMkVzQ2JqQWhpL3ZoMDB3dVpkdkJ5aXE4YmxQaUtDV0VISVN4RW9P
NkZzbCt1c1BGdHkzS2l5NG1NMWdUClVwUFFtVlZTcys5emxYM1J1aFNCYmtmQU0rQUJKSVJKTnIy
UEpCOGx0K2VJL1duZS9oOTVPb2x3NG9IaUVDSnd6RUR3ZjVzbk9pM2EKYjRKSDRIQ0V1bHBCaUhD
OUkzNUVvWWpxRVNIaW5BTjcwa2FWY1lyMkZURS9mcUw1UTZ1ZHJRajJtdE9CT0lyV1YwVSs5b3NK
SElFSQpGN0ZzcHhJMjlKak5zVDNobjJHOXZxSWtoYmtRZWhMb01LRGxIanRKcVZlK21mczgxNzcw
UGpjelZpMnJDTFFUQWZRMjRMdlZxdWkyCmN3UVZ0SVZ5RmI2aCthdUtDRnJRS3VaTEgrTVA5OENC
QTUwUGFQeEF0NHR3TjhsZjJ2bEh1OXJQYWdjUFhHblhqRm41ZXZzYWU3WHAKZ0JYMStvUWVRUmxk
Z25yMTZYMUZRQkhvSEFRYVVzTHFuTzVyVHhRQlJVQVJVQVFVZ2I2SlFLVXJZTFJrOFh5bHBBZ29B
bjBmQVgyZgorLzR6MUJGME5nS1ZNbURNZHBRVUFVV2dPeERROTdrN25xT09vbk1SVUJGMDV6NGI3
Wmtpb0Fnb0FvcEFGeU9nRExpTEg2NE9UUkZRCkJCUUJSYUJ6RVZBRzNMblBSbnVtQ0NnQ2lvQWkw
TVVJS0FQdTRvZXJRMU1FRkFGRlFCSG9YQVNVQVhmdXM5R2VLUUtLZ0NLZ0NIUXgKQXNxQXUvamg2
dEFVQVVWQUVWQUVPaGNCWmNDZCsyeTBaNHFBSXFBSUtBSmRqSUF5NEM1K3VEbzBSVUFSVUFRVWdj
NUZRQmx3NXo0Ygo3Wmtpb0Fnb0FvcEFGeU9nRExpTEg2NE9UUkZRQkJRQlJhQnpFVkFHM0xuUFJu
dW1DQ2dDaW9BaTBNVUlLQVB1NG9lclExTUVGQUZGClFCSG9YQVNVQVhmdXM5R2VLUUtLZ0NLZ0NI
UXhBaTRhMHVqUm83dDRpRG8wUlVBUlVBUVVBVVdnY3hDQTV3NGZQdHdNc0VLalJvM3EKbko1cFR4
UUJSVUFSVUFRVWdTNUhZTVNJRWVaLzVQbTFaSHpEOFVvQUFBQUFTVVZPUks1Q1lJST0KCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9kb21pbmFudC1iYXNlbGluZS1o
YW5naW5nLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtl
ZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgppVkJPUncwS0dn
b0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQURPMmxEUTFCSlEwTWdVSEp2Wm1s
c1pRQUFlQUdGCmxFdG8xRkFVaHYrTUtZSzBncWkxRnBUZ1FvdTBKVDdRaWxEYmFiWFdrWEVZKzlB
aXlEUnpaeHBOTXpHWkdSK0lTRUhjK1ZxS0d4K0kKaXlyaVFycFFjS1VMa1VMcmExRUVjYVVpaUVJ
M1VzYi9KdTFNS2xZdkpQbHl6bi9QNjRZQVZROVRqbU5GTkdEWXpydkpycWgyNlBDQQp0bmdDVmFo
Qk5iaFNodWUwSnhMN2ZhWldQdWV2NmJkUXBHV3lTY2FLOVIyWStMUnQ5ZjFMajJMdjY1NzIrcDc1
K25sdk5TNFRBb3BHCjY0cHN3RnNsRHdhOFYvTEp2Sk9uNW9oa1l5aVZKanZrUnJjbjJVRytRVjZh
RGZGZ2lOUENNNENxTm1weWh1TXlUbVFGdWFWb1pHWE0KVWJKdXAwMmJQQ1h0YWM4WXBvYjlSbjdJ
V2RER2xZOEJyV3VBUlM4cnRnRVBHTDBMckZwZnNUWFVBU3Y3Z2JFdEZkdlBwRDhmcFhiYwp5Mnpa
N0lkVHFxT3M2VU9wOUhNOXNQZ2FNSE8xVlBwMXExU2F1YzBjck9PWlpSVGNvcTlsWWNvcklLZzMy
TTM0eVRsYWlJT2VmRlVMCmNKTno3RjhDeEM0QTF6OENHeDRBeXg4RGlScWdad2NpNTlsdWNPWEZL
YzRGNk1nNXAxMHpPNVRYTnV2NmRxMmRSeXUwYnR0b2J0UlMKbHFYNUxrOXpoU2Zjb2tnM1k5Z3Fj
TTcrV3NaN3RiQjdEL0xKL2lMbmhMZDdscFdSZEtxVHMwUXoyL3FTRnAyN3lZM2tleGx6VHplNQpn
ZGRVeHQzVEc3Q3kwY3gzOXdRYzZiT3RPTTlGYWlKMTltRDhBSm54RmRYSlIrVThKSTk0eFlNeXBt
OC9sdHFYSU5mVG5qeWVpMGxOCkxmZTJuUm5xNFJsSlZxd3pReDN4V1g3dEZwSXk3enBxN2ppVy84
Mnp0c2h6SElZRkFSTTI3elkwSk5HRktKcmd3RVVPR1hwTUtreGEKcFYvUWFzTEQ4YjhxTFNUS3V5
d3F1dkNaZXo3N2UwNmd3TjB5ZmgraWNZdzBsaU5vK2p2OW0vNUd2Nm5mMGI5ZXFTODBWRHdqN2xI
VApHTC84blhGbFpsbU5qQnZVS09QTG1vTDRCcXR0cDlkQ2x0WmhYa0ZQWGxuZkZLNHVZMStwTDNz
MG1VTmNqRStIdWhTaFRFMFlaRHpaCnRleStTTGI0SnZ4OGM5a1dtaDYxTDg0K3FhdmtlcU9PSFpt
c2ZuRTJYQTFyLzdPcllOS3lxL0RralpBdVBHdWhybFUzcWQxcWk3b0QKbXJwTGJWTmIxVTYrN1ZU
M2wzZjBjbFltVHJKdWw5V24ySU9OMC9SV1Ryb3lXd1QvRm40eC9DOTFDVnU0cHFISmYyakN6V1ZN
Uy9pTwo0UFlmZDBqNUwvd05BWVVWRFh4TE96c0FBQ0FBU1VSQlZIZ0I3RjBIdkJXMThwNkxvSFRG
aGgxRlViR0JGYkU5ZSs5Z3dRNTJudVVwCm90Z1JlOGZlZSsrOTk0WWRzV01YRzFZVUFRRXA5Lzk5
azh5ZWJNNmVlODRGbnUvNS9zbnYzczFzTWpPWitaSTlTWGFUM2JyNlJ6K3EKRjZrVEYwQXF6WmlC
NlpiR2M2TjlmaDN5NjBFekxzZ3U0M2Rjd2JHSy9yajhNblpmTm0wb0NtWDJ4ZnhsQ3FIRjBxalFh
TVlNTE1mUwpTSUpPL2pzY0N1QXB3NHM4dVdCWVZzQTN3OXJubDdISDlabFRYbEEvTVgrWlFpaXdO
T295bWpGRHF2OFNKb0FqdGY5MC9XL1lTYStNCmRFZ0lKQVFTQWdtQmhFQmpFR2pxeGxRY1dERlVH
WEFwai9IaXhBYitGak0veUs2dXo1Z3RMbFBBaEZMUWNtQ2psYWRpT0poNG1maysKb3lLL2w2MnJx
QUJsbTFJenczaHhudWtOMDR5UHNja3laaUNmcGRsNUdNYzB6NE9RL0FjWXdDL0RuZGdBVTRQZm9N
M2c5aGtWK2Ixcwpxbi9meU1vQWRIaG5BSHU4UFhlcEhxd0NrQkdRcGJhZVZVaWt6NWd0anZSYk9S
YW45dS93cTlpZWtVMG9NN2c5cmhYNWthLzhuaS83CmJjb1VlR1dXajlPd2drMHZrMU5JQ0NRRUVn
SUpnWVJBSXhCb21uVldGR0tIb21NUTMrRVliZjFSckpoc3loTm4rSE1PN0pUSDY5UGsKa0k3a2xC
ZHB4aExMYXo0T1diN25OZnMwUDVTUDhvM1BZbVFuL3dtQ0Q2bitVL3ZYNjlsZllFYUgxNHUxRmNi
eDlSYm1rWTZ2WDgyMwppemRteG5tc0w1YlhmQnhNaGRySGNyeXVNdmxBSjFtTXorSXdqWFJxLzQx
di84UXRoWVJBUWlBaGtCQklDRFFTQWZjRXhJU3FkZWpHCkY4WTJHQWpUakxZOGk4dEhHT0MwVVlN
WHluaVo1Zk0wWmo0TXREU2VHcS9GWVJycE9IaDFtVnljbi96UFYwYzF2SWhmaUgyTXArVloKbk5X
MUpjU0FSL3FzcmxQOWUyUlQrMC9YUDY4ZFhqY0lkaGxaSEtZcFEzUXcwWkEvWklrdngycjhvV3lp
RXdJSmdZUkFRaUFoMEFnRQptdVo0cldQS1l0OEQyUUF3WHZPZEU2N2x4SGVjV1FjSy9hYVQ0bkVI
V0piZzdjbDYzaktCdkJHWkgwR3lwUVZKR1dsNVdVd0NaU1QvCkhVUldWNHluS1ppY2o0bXI2YVEr
Sm52SW5mbzR3VElaTThUNUxqVTdHcHZGekFqcGpORVRscGZGSkZCR3FuOEhrTlZWcXYrNDVkUjQK
enZiSzRPUC9kKzNmZVorT0NZR0VRRUlnSVpBUWFESmpJY2hHYmxBYjByV1dFbmJRSWUzbFE1VWhY
VW05RFJ3WmgzUWwvdWxPRDQwSwo2Vm9WaHo2SHRKY1BWWVowSmZXaHp5RmRpWCs2MDBPalFycFd4
YUhQSWUzbFE1VWhYVWw5NkhOSVYrS2Y3dlRRcUpDdVZYSG9jMGg3CitWQmxTRmRTSC9vYzBwWDRw
enM5TkNxa2ExVWMraHpTWGo1VUdkS1YxSWMraDNRbC91bE9ENDBLNlZvVmh6Nkh0SmNQVllaMEpm
V2gKenlGZGlUK2xKd1FTQWdtQmhFQkM0QzlDd0MvQjhyMVp0VHVjWlowWU8wbktXbWRaeldyanRk
NlQ0aUh0NWJPa2lEKzJqN0tXVnFubwo2ZEVmNnpSZEZsZTdBeC9MWjFobERpYi9NeXdCbHNGaWNZ
eVgxVFZqQnNwYW1rc3BQMDZQL2xpYjZiSTQxVDhyQWYvcCtvK2JTdkc1CllaVTE4UCtCNjcvWTA1
U2FFRWdJSkFRU0FnbUJoaERBRXF5Q3pqQWJZRUUwcE1zMG1hekZaQ2lpaTlMS2xBV3l4aDlOY05R
V3BJVTIKaFhTUnlseWE2YldZbVFGdHVpelc3Q0EvcHl1VURYbUs2S0swTW1WSU1ENkxrLzhPRXov
QTFYcEo5Wi9hdjEwZnZHUUN1dWlTeXFVWgpyOFhNREdqVFpiRm1CL2s1WGFGc3lGTkVGNldWS1VP
QzhWbjhkN24raTN4SmFRbUJoRUJDSUNHUUVLaU1nTnNEVXFHLzAvN1Erc0FpCkhaYkhtSUY2TEkz
blJscyswOEpRalo4REFkVmhCbEk0cEVObG9LdVZGN0ZYdFRlMkw1YVB5NHY1NC94WXZocC84ai9W
ZjJyL3VPVEQKYXo2a293dXEydlVXc2Fmckg0QVlac1RHYU1ZTThlK1RTeTBkamErVWtxaUVRRUln
SVpBUVNBalVoQUNXWUZrdkEzNmp3dzRmMlhXYgpkYTVKV1dKS0NDUUVFZ0lKZ2I4L0F2VVBmZWlj
eU0zMzRobkszOS9QNUVGQ0lDR1FFRWdJL0djUXdCTVE2MVJvZ05IbHQ3YnFQLzVKCkxmeDB4T2Z5
dzgrT3JtYnk3TE8yazg2TExTNGZmL0dwUFBEMDQ3TFg5cnZJckczYVZoUWI5OGM0T2ZXeTgyU0hU
YmVXWlpkWXFpSmYKTFJrelVsZXQ5dGRpMTR6bW1aRitUcXR0di93NkN2WDdtTHoyemxCWlp2SE9z
dWQyTzhzc004OHlyZXIrSTNML3pYVThvd0Q1NXZ2dgo1S0ZubnNDMm1UclpaOGZkcGtudC8wSmRU
NVBqLzkrRVB2bWxnc2RCMzVDYm5GUmdUOGtKZ1lSQVFpQWhrQkFvUU1BOUFiRk52V1hQCjNHMUM0
aVhSNFF5NjhDeTU4YjQ3WkxVVlZwR09DM2FRRnJPMGtLdnZ1a2ttVDVraWUvYmNHZkZrK1hya3Qv
TGNhME5rd3pYV2tWNmIKYnl1SG4zR0NmUC96ajdMemxqMGFuSUM4L3M0d09mbVNjMlhzdUhFeStP
aVRHNW9QT1lQWUFZWW1HbzM0OVhjalhRWE9aN0tVcXhCdQp1UGYya3YxYmVQdXQ0dzNLcXlEZXVP
UUcvQ2xVQlA2Y244Y0FNOU5CQWFNWkY0WEcyaC9yZy96RWlST2x4d0c5NWZUK3g4bUM4ODR2Ckcv
WFpUa2I5OXFzYzg4OStSU1UybkZhZ1AvT2hTTElhZjV3ZjYvRCszM0JmVU1jTnRkRllYMlB4aTh1
UHp4dXJ2eHAva1AveVc2L0wKMlZkZkxIYzkvcURzdXRWMnNzOE9tSUEwMHY1Y1hjK0R1dDV6T3Vv
NjlwM25nYjJhWGMyK2F2eHhmbHhtTmYweGY2eXZzZkt4dnZpOApzZnFyOGNmNWNYa04yaDhLa3hH
QlQ4YkRsejVrL1liTFRzZUVRRUlnSVpBUVNBalVpb0RmQThMT3hrSUYydmRINHlkTWtLdE9QVTk2
Cjk5Z3BHekRjZVA4ZG1IaU1sNHNHbmk2ek5NT2RiL1JYOXo3eHNKeC8vZVd5NjliYnkxc2Z2Q3Zu
WG51cDR3L1ZXNUUrWG12bDd2TGcKWlRkSjk2NHJSem4rMU51Z0F4WGpDUFVaalhpdGxRSmR2djhz
RytBRS9LWXVqbmZkS3JBLzdyQXBiMmtVTkxwU2ViSHlvbk96cVZLZQpsZUh6YzM2YXJNWEdXOGtl
NDdPNHFNd3dyVURmT2RkY29oemR1cXlvL2o5KzlaMnlhSWVGblJUMW1veExxWDVzeUpZaWZTRy8w
UlpiCjJaSC93ei85Uk9hZHUzMDJHYzdWTVdWTlByYTJncjZNdjByKzhNL3k1Y2JxOWJ4UzJjeGtu
cFdoekQ0dHBrMkg4U0x1dnNMS2NrWEgKYzNVQ1l1eVozY2FmWlJRVFdWMTNSVjBqWkhVTmVmV3RQ
VEJ0alNlY0xKZWh5RjZYVS9uWWtDMUYra0orb3kwTy9OY0NZM25qczdpeQpWUzZubXI1cStkWDBN
NzhoVzJMN1kzNlR0YmlhUGNabmNXaWZwbG1HajIzeVlST1BjS2x1S0p2b2hFQkNJQ0dRRUVnSVZF
SEFmd2VFClBSWC9HU3lPYVp5akgybyt5eXl5MjFZN2xEcEs2NlBJYmpUaXJkZmZWT2FlWXk0blUr
TnluQ1pObXNobWEyOG9zOC9XanRweStrTGQKTHJQaFkwNFg3UXBzYTFpeVBMZTUyUi9xQ0drVENk
TkMydkliRzRjNlFqclFrL016U0ZjeWxBbnBtSy9XODFDSHA5L0FreWEyQ1N0dgozZTVyU29mNUZw
d3V2RE56Q3NyTDZqRmphb0Fva1Avamp6OWt1NFA3eU85angrUUVzenJPcFVZbkJmcHk5alNRLzhm
NDRuS2pFdktuCkRlakxNMVk0aStTdG51cHkxM2dGMllMa3JLNnBGLzlXMTVsdll6eW1QbDlWbUEw
Ritxb21tZXkwNnB0ZStkakFhdnFxNWNmNnFwMVAKcjc3cGxjL2FpZThmd2oyQ2FmSlJyZlpTZmtJ
Z0laQVFTQWcwZ0lDZmdMQ25DbnNyTDFFL05SQjErZWNjT1VobW1tbW1JTDB5ZWNHeApweFptamgw
M1ZuNGV4VFhHWVprbHVqUTRMS1dSZDhTM1g4dklINzlYblZPbmhyWVZGcU9KSlYxNW50cDBXZm1o
YkQyV2lKbjlZWHFKCm52am5SQm42L3R0bGcxemptREJ4Z295Zk1CNm45VUplNTVPVlpURzU2NFYr
ZnZMbFoxaldOTXFMaC9rK0NWR1JuNlZ5c0ZRcUs2Y2sKRTFLbGNuNE5rcTBzeGlIdFdPb3hDUG5n
czQvMGhEVC93OER5K2M5QUgrTjg2bVE3R0QxbU5EaE0xbUpLT1owVC82UU9SenRlNXBYQwpiNytQ
VnB4S0tjVVVNZGpoWDN2TGU1OE1WMXZLN1NuSnVUcisyU2ZRSnJQTFlwRnZmeGdwa3lkUExnbFZv
Q3FYYTdxYy9oSVdwaWlmCno0SCtuL0NCZ1Q1Ly92V1hTcy9JUTk2blV2bjErQzBvcXV2S3ZsVzM2
cHZ2djVWZlIvOEdSdWUvazdBeWVWYXRmWWkycjBwdHJESHQKbjZYbGZYZmw4MGc3Smt3Yzc5dHlm
WVcyN0RnYmR6UmZLL3Z2OUZYS2IxeHBqZWEyMzMvRytnOE5XVXk2MFJxVFFFSWdJWkFRU0FnawpC
QlNCSmxuZmIzMWNHSk1sNm1UbW1uM09BTG9vVTNOS2FYUE5Qa2ZBSzlnSDhvTnMzWGRYbVgvTlpX
WHU3a3ZLcnYzN1lpRElpVVNkCmZQL1RqM0xlZFpkSjkrMDNrZjJPNjRjMDZ1R2R0M3A1NytQaHN1
K3hoOG1yYjc4cE56OTR0M1JZdTZzTUdmb3E4aGhLNWJsemxQUFQKRDE3WHh0QjFtT2R4Zk85OS9B
RjA5WXQwdldhaURjYmN4N0oxMzkwQysvZjNnMnJxcnBmUHZ2cEN0ajk0VDkwajg4WjdiOHNLVzY4
cgpKMTUwVmxiK1UwT2VrMTZIN0syK3Z6THNEVG5veEtPa2ZmZk9NaC93SUJhaHo2VHZlT1IrMlhq
UDdlWHhGNStWbmdmMWtjVTNYRVYyCk9uUS82WC82OGZMS3NOY0wvSFRtUHpYa2VaU3pqeS9uVFpS
elpGRE8vbzRwT043eHlIMUJPYjFSVGplVXN5L0tHWWh5M2dnNFMrVFYKZDk0a08vZmJWNzc0K2lz
Wjl1RjdTdS9jYnovaG9KS2IwUThjTkVCeDR2SzdyZmJmUlgwODVKU2pvY0JoZFJPVzdhMjcyemJD
WlQyOQpCeHdrUzJ6VVhlNS82aEhrdXpyL2RNUm5jdHg1cDB2SDlWYVV4MTU0VnM2ODhpSlo2Qjlk
Wkk1VkZzZWVrejEwMHZMbzgwL0orbnRzCkszT3R1Z1RTT3dHblowb0dLdVhxM01xODVxNWI1RjNV
UDhOZVIvOUx0dHh2RitqNVhjL3Q0T3JZMm1objFJdlZzZVBncE9YVXl3YXIKL0tHbkhpT3pyN0tZ
SEgzT1NUSUZlNTg4aDZsQzdNcS81cTZibzNKMzlwTXU1K3ROOTk4VllkRXRoOFVqenoybDlUNDMy
c3F6MkZ2RgpOc0hyWjlIMVY1WnVQVGZVZ1hOUWFFRG0vUTh5Y21UZXAyTzlUeWZEcHluS2QvV2RO
Nk4rOXd2cWVqODlaMTJYWTByZkROTzRmSjdYCnk1MlAzaWU3SExhZjNQdmtJN0wzTVlmSTJydHNq
VGJ6bHVaWi9WZHJINis5ODJhRk5uYU1OS2I5Vi9QZHRlVWowWmFYMDZXa1crMi8KcTIvTHgzaDdD
Wkh6aTVUVmVaNjIvRGgyOWU5OERtbmpDOU5DMnZMajhseXBwU1A1R0dybGQ5eVppSWxhTWsxZ1lL
eTA2ZGZVZEVnSQpKQVFTQWdtQmhFRE5DT0FKQ0RvUjNybld1OWRCckoyV2RYclVGL1krWG45Ui8x
T1U1dGxQdmV4OE9iWnZQL24yaFhleEVYWjd1ZkgrCk8rWFpWNGRvMlRNM2JTYkxMN1dzdklKSlJ0
RERLWDNLcFlQbEg2dXNKdHR2c3BYMDY5TlhEdHAxYi9sejBpVGswVjRxNThFS3JwZVoKbTgwYzZB
cXo2OFhwNmk3YmJ3cGR2ZmVYZzNhanJqOGg3blZZclBwQy8wWGYwSFZzMzhNaSsxL0tpdC96cUgv
aGpWK2Y0UzFRdStnbQozMlA2SGlMSG5YKzYvUGlMZTJzWU4rNjNiTkZDeG1DVFBkLzJ0Uk0yNkgv
MTNOdXk2NWJiS1JiUHZFSmR0S05PQi9VN1lZQi81aEVECjVaKzc3Q24zWDNJajduci9MaSsrK1lw
c2crVnRIUmZvQUQrQldXZkRyT1QvYWxqdlh5cG5zQ3ZuMldHNitaaVlQL1BLQ3c0VWxEWHMKdzNk
RXl6bjhlSlRUUis2LytBYTl1NjdsYkxBWlhqU3drTm9UMTM4ZnZIRGc1ck12a3phdFc4dlNpeTJo
OU0zblhDWUx0SjlQMnJScQpMY09HdnllamNIZDdNQ2FWQis2NmwreUZOMk90dk93SzBDVXkrTnJM
cE45cHg4czlGMTRucC9RN1J1Nis4RnJwdWRIbXNoVW1kOWZkCmZZdVcxNko1UzMycTh5V2VlcDEr
eGZuU3Jjc0tNdUtadCtUNk15Nld1NTk0U0NlQzczODZYTzYrNEZyNTdzVjNoVzljMnplYnVHb3gK
WVpOUWVyOWV1OHNtYTYybm1UZWNlWkU4Y09tTjJBZlN4bVB1WkU1RlczTnQ5SjE4Ry9YdC96Qk15
dHEyYWlOWG5qeFlianYzU2pubAowR1BrRk5UbG1WZGU2QlJZTlhnVEdPM1hhNDk4dVpmZGpISm4x
WElkRnNkRldHenBzTGpuVmtqWHlTckxyU0JqL3hncjQvQUU1THpyCkxwY3oreDh2UDd6MGdmVGY4
NS95MnJ0dnllNUgvQk44VnJERlVaSW1CM25rOTIzOXNOT09nMCt0NGRPNThPa0srSFEwZkJxc2t6
N3EKMWJvKzUzSlgxNTFRMTZobnErdThieGNEMDV1eXZUV3dJQXAxY3VYdE4ySnYySlZhandmc3ZL
ZGNlOW9GT21IbFJFL2JHR3pLMnNkRgoxN3YyY2RGMWFCOWJsRENCNlcxYWhtM3NVdC9HZGtFYjY0
b1haTlRlL2c4NzNmdCtFbndmRE44UE1kOHZVSHZhdEdvVnRlVzkwWlpaCnp2SjV5QTFhaXlQUDNX
bjRHd3JhWCtzYWg3UzJ0WkRYS3pQZGpKWEd3V0pIV0lZVDBEeWZaSHdXazkvWGY2bjhJRTMxMmU4
Zlk5cEwKdFQ0bXJlZE1TeUVoa0JCSUNDUUVFZ0tOUThBOUFlR21RdDFnQ0dHTHRYUEJJZXRrU1BQ
RXg2U1ZsMmxCWUpxRktHdlFRUU5reGFXNwpTR3NNZG5iZlprZmxzanZTM1BmUnZldEttdWFlaXZo
eVVCN3Z3dk11L1VRL1VkZ0ZiL0hSZlNMVUg5cExtL0EzKzZ5elNmY3VnUzd5CmVENU9jUGhrZ1cv
MFlkb3VXL1IwdWt5UHhkU3R2cXBKZWhoMDRCR3k0akxMU2V1V3JXQS85c0VndlBzUjdxaFRCdity
WTRLeCtUb2IKYWpvUDg4ODlyOUp2Zi9pK3FtclJ2RVcyd1o1dklWb1Yvclp0M1ViMjJEYVBCWmx2
d2tTQmJ4WmJvRDEwd0MrV3VlWktxOHJYZUpYcQpVcDJXbExubm5Gc0gzZDJYZHh2MmRUbVI5Ny9G
TE0wekxQZlpmbGRaRlR4dDhmcmpQUXp6ano1VWUyZ3o3NzVyT1hpckVkMXREWHV5CmN2QUs1Ymxu
eHo0ZVppZ1dRWnpWUDdKWTVjU0FBWEhuUlJlWGpmQUdOSWF0MXR0RTF1LytEN25peEhQeEZyU2U4
djJQUDhneGcwOVYKL01KWE1nL1krMkNaQ1h1QURzVmdlT3k0TVRKLyszbGtrelhYVlIxNzl0aFpY
eXJRQkV2L2VtMjJqYlJxMFZLYVljTGFyM2RmOVd1dQpkblBLK3F1dEpaeXNjSTlITnFDaVRXYW4w
cXBPRDdvUHd0SVkrekRvNENOZEc4VUFONnRqZldwU0x4OS8vcWxjZHV0MXNqWW13NS9qCmFkZm4z
NHlRTGtzc3JaSlgzbkdUMHhEb1V0aVlxbTNKWnl0WWp1YVRPc1ZpNngzOG9OMHhEdGpuSUlmRnFj
Y3FGblBnMmxoaHFlVlUKNk5pK2g4cXlTeTR0N1pCMkJpWWlmQW5CVXkrL0lCOTg4cEgzbStWQmov
bHRzZm5xaW5ZMkllM2p6eitUeTI2N1h0YnV0Z1o4K3RMNwp0SXh5WFhuSGpZNHZxMzh2SE92M3lY
eTliOVlPbUdaK004WS9YK0Y3K0prblNNK050eER1WFdMZ2I4RmxnODZTdnIzNktGT0dDYTZ2Cldk
RVdWUkRsRGRnN3dBU3Y2KzZNU2U5R3EvczJ0cTYxc1hOa1oxelB0YmIvajdHMDhiSmJ2ZStvUy9y
ZnBiUDV6dnFzbDg0ZGc3YTgKN3NiYXpxNDRrZVgwY0w2RytFS2lJZitabldHaUovRWhBb3k2S1JE
amJUZ3oyK3BWV2NsTEVjYjQxendmRzUvRjVET2FjVWd6ai85YQp0by9ORG90TlA3TlRTQWdrQkJJ
Q0NZR0VRQ01SS0g4TEZqc1dDd0hwT2lSazVOTENFK2JoUEpUWHUyVWxucG1hY0tDSGYvRE1QL2M4
CldvbzlIZUNKYlk3VmdZeUtPZDZkME5tZmZPbTVzbktQRGVUc0l3YkpCcXYvUTlwemc3dDJtbUJr
ek1DeWZacnFRSkxUVmJLQlR4MU8KeGwzdWxiRjA1ZXdqVG9DdXRhVTlCdk9aM2FIOUpURlZQOU5N
N29FUlQyeHk4ZU1vUE4zd01pY2ZjcFR5amNVRzUxc2Z2bGVlZi8xbApQZjlwRlBkdk9GL01McE5o
UExkZjF2WjdzSW1YVHhFWWhneDlYYmJBd0lkaE9Yd2I1ZDRuSDVhbUhMeDVYNzNuOE5NTjZHTC9W
ZERiCmw1VmpHN0NSWGlybk5aU3prZW90bGVQMytvUTQ1R2gvd3NpWG9lWGg0QWFQSW9zdHRERE9T
dlh6RXZ6aG5meEZGMlE2Z3Bmams1UXUKR0ZnUHhaS3RkNFovb0s5NWJ0TEVsZThHcTRaZkUyblhk
bFkzZ0EzcVgrc1E2c1pDZDB0TVVEU1lUUmE3VkQzbTJrV1E3OXFvWTh6cQptRSt3NE9Oakx6NnRU
NTM0S3Rzd25IRGc0Wmd3d05aQWo4dDNObWYrSTFIcnlmTzlOUFExaDRWaWhFemlpTUE2eVdQUkxS
dXc2L2RWCnJCejR2L1g2bThqemI3d3NIMkV3dlNqMGZJTjlLYUVkbkt6Tk0xZDdwemcrUWsvbTAy
TVA1SEl6bjVqcTdWS0dIQjJlZUMvTk5tWE8KKy84MG5yejlpcjBybTYrOVFjbEc4UE5wcU9uT01O
SDJVWkp2ZzhsSUNaUDN0WDNNMmhadjNFSlliT0dPQk5icGpLNS9wOWZaR2JmLwp4MTd3OVZuSmQr
OWUxcFk3TEJKaDRSbHlQbXVKL2xDeXYyU0hwWG1XVU5iZ3ROai9abVR0UjNrRCtkQm5xbU8rcGRs
NUdGZWljelprCmhaZDhEWkx5YlNITW9QSVVFZ0lKZ1lSQVFpQWhVQnNDYmdKaXZPeFAwTDlsblV4
SUcwK2o0cUlPS3ArV0RjZ0w5VHJlUVFjZGdRL2IKelN3blhIaW1iSWh2RC9UdDFWc0dIM1dTTk1N
U0pBMlZPdEFDblh3S3cwR2MwN1Y5dWE0Q21ZYVNRdnU1WnY2MHk4K1hkejU2WHpnWgpXWGorQmVV
RzdIVndnT2I5Ymtnbjg3YkY4aWN1RjdzVGd5T2RHQ0R0bVZkZjFLY2x2R3VzSWZUYktpMlg1dGdh
T3RaVVRrTUthc29yCitUN2l1NjlWb21qVFBKKzhjQUxDSnhsY3JsWnFpSlEzSGZYNjlFT1ZtSytN
UFYxZjQ4c0pWTDdHZzlYeFo5ajAvY2Y0OFhMMGZvZlUKK0NLR2tzMmxvaXhOWk1SMzMyaHliVmlV
TkdRVWZKN1hUeTZtb3UxeEw4NnFPMnlTWlpQWUVwUEsrN0NzcmxKb3ZFK1ZOQldsbTY4dQpIdjc1
SjhyRWJ3ZFZDbmxNOHZKbDdhT2cvcTBkVk5JZnB2OTdmV2RKZWZ0ZDJaWVdXbEtKTmw2THlSZlFv
Zittd3RMc2ZGcGpGbU8vCi80eFRTQWdrQkJJQ0NZR0V3QXhFQUV1d2dnN05PaHJHLzBXZEQ5ODB4
SFg1cjk3K21LeUN0ZGNYMzNLTkhISFdvR21DWVVicWlnM28KZmVSQmN1OVREOHROWjEwcWkzWEFY
ZG5wQ1B5aStKQmJINVlIbm5sTTloaHdvRTVHT0FDNytQZ3pwa05ydWVoZlZZNlZ2TWdDM0ZNaQpl
dGZlMGl5MnB6SEdZK24vanRnbUZZM1JQZWRzYytneXdMZUhZMGxkRlBnV01mZEdweWdqT2czTE5U
LzVCQ01PdFdMeGkzODdHcGU5CmNUL1ExOWpyRS81ZmhiMHFEWVVaNFpQcEQzMnp0RERtVWpLR0Y3
TVhTSlJ5T1hubi80ekFwS1MxWVdwRyt0NXdTWC9EM1BEM24xMkUKZFJNVzA2V1EvaHU2bUV4T0ND
UUVFZ0lKZ2Y4Y0FtN2RqblV3bkl3b3paZ0Vnc1h1clBCb3I4VFZmUWlGSE5PWE9CQlBQaGhXWEth
TApQSC9UL2JMbWl0MzB5Y0MwYUoyUnVzTHkrZlYzUHUzb3R0eUswclNwZTdBMGdmdE1waVBjaDdk
Q3ZYanpnN3BSOTZqOS9pVW5ZbitDCkxzR1pEcDFGb245Vk9TeWIrM3hhWWkvTWkyKytXdmJxM0pm
ZmVrT1hvM0dwVFVNQkwrUnRLTHZCdkNaK3FkcWZmL0lsQm8wTDNaZDMKKzRxT08vODBYQlo1Rzdo
UlhsOW1VRUZsVWJrekFvdFgzeDZLUFN2TDZiNmJtZkdVY0lGNTVzdjl6OWx1amdvV3VlVHA4Y2tV
Ri9sbQplV0hNL1Y4TWZQb1lQL1U1KzVxTDlkWFVNd0tUc015RzZCbmhlMFA2LzlaNTFyNHRwalBX
NUJrcmJRbC9hMCtUOFFtQmhFQkNJQ0h3CkgwQUFFeEI3N0lIU3JUOEpPeGhMcTJBY3Y1Y3d3WCti
NEpmZmZpM2tHb25OdGd4YysyK0JyenRsR0lsTnlSWXMzMkpMdi9XaGU5eUEKQmJad0FONTF5V1Zs
eVk2ZFhIWUYrMHlIeFdXNmtLQzZjTmU0VEZmbVA1aEExMkkvOXdBMHhTYnBXeDY2Vzk3SGR5WmV4
OXVKTHJ2dApPaTMyb3k4K2xhLzhjaHU3WXozZWZ4K0RETi81YjV1TUFaWVd1QW1kbTRPSHZQVzZ2
bDcyaFRkZWtiZXh4SWJmZ3RCNjhuNlA0NlpyCmhOalBhU3JuaFdja0s4ZnJ6ZHFFR1JiRWZOM3Fx
TkcvWmt1SmdpejV6YitLbGQ5V0NBUDNJd3c4b0wvdUJXQzlXdUIzVVY1N2R5ZzIKVmgrWDdlSGdX
N1FZTXQrOHp5eVhyMjNXWUdsajNhdGZNMTZYVzNaY2FENXN0a2Q0OE5uSDlYc3VyQ2VHWEIxVEov
N2pOcnBlOTdWMApBdlhRYzAvSzV2dnVKQThqNXVSdEY3ekJhY0Y1NTNkN2lWUmIrYUdvM01aZ1lS
cDFYNUczajB2OStFYXdNL3NQeE5MLzREbzI1aWorCkdadkFHWDc5M2VGS3V0QW52QjUzbDhPOFQz
UE1UVFo5dFc2bHVpN3lUWVdpUTdjdUsrcmJyTjcvOUNOWlk2Zk41ZUticjVaTGI3bFcKMXVpMXVT
eTE2Qks2SWIxQlRQQjZaMjBmZUVNYTY2ZFNHMk94dGJUL010K2Y5ZlZKMy9GU0JyYzNyT0Z5SWhm
L3ZhZXNkd1pmL3htdAp4QXc0bE9sSGdxWlZLckI2bTVzQlZpVVZDWUdFUUVJZ0lmQS9pTUJNQTN2
MUhaaE5RbXdRd3ppZ1Q3ajFJaDAwYW1mRVBzZDNWRGZjCmQ3c012UEFNK1dURUZ3b04xNkNQd3h0
cVZsNE9yNmhrQU4vTkQ5NkZnY1kxZUkzb09CMkVkMWw4YWZrQm0zcVBPZTlVZkVodGhINGIKaEJ1
U09hamswNGwzOE1ZaFRrcTQ0WHQ1VERTNHorUDhHNjdBZHhFZVZaVjhMejhIaHFmaDlhMnpZVE55
T0g4eSsxNGQ5bVplRnpadApjM2xLb1M0TVpNdDAwVWZmdDViWmo3Y2UvZkJ6dWYxOExlZWt5Wk13
Z0g5VnYxVkM4Zk9PT2tYdWVmSWhmVXNSWDA4N2ZzSUVPZm1TCmM0VURRUTU0bDhhZ2k1T09JODgr
U2I3RTNvaHZmeHdwU3k2eW1DN2Y0Z2ZlYm43Z0xteG12MGRmMFhzTlhrOTdLU1kwWjExOUVmWkEK
TkpVMXNCeUwzMFhKWVVZLzhTcGpibHpucHYxY09XTlJ6cmtvQi9zcnRKeU9CZVU4Y0tjVWxhUEE4
OEI2OS9YUE41UHhTY0M3SDMrbwpBOXFtbUlDMXhVYnllZVpzcnhPdkMyKzhDZ1BFMGZJUlhrdmNi
S2FtN2kxT1huYjFGVmVST2JFYzU0aXpUMVJNK0FFK2Z2T0RyMFhlCmZXdThFUXg4UTdCQmV4Qytv
Y0pOMVQ4aGYrSDVGcFJXTFZ2SUFHRDFQQ1pqUDQzNldaK2c4TFdyeE9paW02NlczNEdsNFpyL1hv
MzMKQUhybmJqZW5YSC92YmNLTjVOeVB3bGVxOHExb3VUYUtKekJsYlhTaGhWRTNuV1NyOVRlVzEv
SE5paWRlZmw3Yjl2MVBQeVk3Yjk1RAo5dDFoOXd3YmF6c2hYa1hsTnB1cG1TZ1dlSVZ3RGd1OHVq
bkVnbnFldy9jL25uM3RKUXlLNTBLYmVoaHQ2bms1NTlwTDVjcVR6dEVYCkthaUhRZjE0ajdPSTE4
MVI1NXlNK3ZnVUdIMHZmQ01iWHpiQWEyS3I5ZUFUSm1KUDRQc3hiTy9xRTE3OHNPK096cWZDdXNZ
K0pOWTEKUTg0M3RDOWl5cmVVaGY0ckkvRGZiSzMxNWFkZmY1RW5ZZjhEenp3dWI3dzNURjk5dXlW
ZnRGQ3RmZlFwdFE5TzduTnRETmZFQ3AyWApVeDNQNGRYZXRiYi9CbjJIMFJYTFVZZWlnN2UvcVA3
Ti93d1RKc1QxMVJoNThqSllURHJXeDdRd3hQckRQTkttaS9FdjQxMnU5UU04Cks5Sy9KTitTbDBK
Q0lDR1FFRWdJSkFRYWgwQmQvYjN2czF0cE1OUnR2YlRVZitqdk9JZWNjWWRXMUVGTkQ3K1huWVJ2
ZnZCTlNGK04KL0ViZlBzV2xKdE1hWnFRdUd6QmxIVGY4NS9jYXVNbld2aGJQNVduY2Q2STJOd0l2
UGtYaEJ2VGUyL2JDcTNlLzFRa2NKekEvWXVETgpnZGZUMTkwdDFaYlgxSUxSZEpYVENIL1Vsb2lm
cjBMbUJJWkxlSmJGbnBmc3BRSzFHRDRkUFB4Q05yOGtYdkh0VURYby9obURhRTZFCkYrK3dxTXc4
aTIrUFZkci9CSHpSL2JmUktIZHUvMWFxZ0o4VHpvYXc0R1RzZUV6Mmg5NzFsSFNZYndGTXRzYmdK
UWR1UDAwTjV0YkUKb2o1aFFyNzR3dkNwbG1zc3FFL0YxSHlqWDBVaDR2L2hwNStrd3dJTHVvRnRB
WDgxVEFwRXBqbXAwYjZ6cE1BZkxUaW96MEpER3N0ZgpxT1F2U3Z3SWIzNnJGamc1MmJKek5hNlVu
eEJJQ0NRRUVnSUpnVElFOG0vQktzdXVrbUFERFl2Skh0S3h1T1ZaWEkzZnk5dkFkQkY4CmZHOTZ3
NHpVbGZrYStOTWEzNDhJQXlkTzJXRE8rQ3dtWTBoN3dSRzRpN3hlN3g0eTlPNm5aRDY4cm5naERE
akR3SUZaVXp4Vm1ONHcKM2VXWTdSYlRvSkNPRGJROEgzTUozRXJMZEkyNS91M256ZkdkbEhubWFq
NWQ1WER5bDAwQXpTOXFET21vaE9ZeiszSkRubW5BZ3QvQQowZS9nUlBxbjl6VG44c1ZwV0FBQUlB
QkpSRUZVVXkzS3pBL0VoYjdGT2lMK0RuaExYRU40L1pYdG85RyswN2ZBbjh4VlM4c1NBc0x5CkxH
WldTQWVzZnd0eTZ0L1orTDhGd3NuSWhFQkNJQ0h3UDR0QWZoTTYzUXo3bEhBRFlwWVJNdnpWdUZq
WmpFUDYzMlZIV0VaSS83dksKYzNxZmVlMUZYUUxFSlRmaFp1ZFJlT1BSM1ZnNnhDY2hzL2x2SUpS
d2FMeE5sY3Y1TlNnSHk5d1U2Ny9PLzhxZWhEYUVkR1dKNmNzSgp5d2pwNmRNNkxkSmMzc2ZBSncx
L1hYMkVQb2UwbXZJZk9JUTJoUFMveTVTd2pKRCtkNVZYVFc5b1EwaFhrNXZHZlB2OVp4elNwbzVQ
CmRGSklDQ1FFRWdJSmdZVEFOQ0JRVjM4UGxtQlpSOEkrelpZSkJNcnF0cW13QkN2Z2NXUUZCUm1m
S2JjQ3M0d0tSS3d2bG8vell6VXgKZjV3L284OW5qRDNja0wzUGNmMzBsYjVUcGt6Rngvd1d3VWIv
Q2JwcC9qQjgvZHUrSXU4R291WmprUytXeDdnOGxNcDVSRitCV3JtYwpjdG5pbEJuamYwbDNyQy8y
Sjg0dlNUb3E1by96Wi9UNWpMYkg2ZnNHUy9DMlAyUnZlUm43Ymc3ZWRXODVadjlEL2RPWEdWM2U5
T0l4Cm8rMko5Y1gxR2VmSDlzZjhjZjZNUHAvUjlzVDZZbi9pL05pZm1EL09iK0I4ZUMxTHNDQy8x
VklOS0VsWkNZR0VRRUlnSVpBUUtFYkEKVFVDeXB3a3hrK3ZBNnJaWnh1MEI0VjB3cnZ1MXUyRkdo
eHNWWXhXNTgrbnRNR1A1dUlPTjhxUFR6UGJNM3BnaFp5eE9JdjEvc2YvYwpPOExOd2Z4Nk5DY0hp
eS9TTWJDSnRrYjJhVDFhR3JKajk4cnF5ekZNeHQzMWZEbUxVam1DNldLTThCZjc3d29OajJVTzBT
ajhlL3N5Cm1ta0lsdVZQLzI3MTc1d1FmUnJsM2pUbkhPSkhPWHRzdURteW8vcUpIZjRmOGQ5d0tL
alFvSkxKRlRrY25mNWQ2LzgvNHI5T1FLTDIKVlhUOWI1MG1JS1g2U1ZSQ0lDR1FFRWdJMUlwQVhm
M2Q3N0diZGlFZW9Qb09SNStBZklEWDVVYjlVZHpmbDNYd1JSMldwYkZFb3hregpWQ2kvOG9Rbkdt
RkVwMVgxdVZKTHg2cmxnOVhLb0pUUmpCbXF5Z05BODVuOFJpZi9pVWJqOFlzcm9MSDE0VW90SGF2
V0gxaXRERW9aCm5lcmZZVmdWdjlUK3MydGUydzhham1IR2M2TVpNMVQ3ZllnYllHUGJveXVsZEF6
TDV3U2tySHphaEg5dm50SjRPcDVDUWlBaGtCQkkKQ0NRRUdvdEEwNnpUbzZRTmhDMjJEb2w1Umx2
TU5BWWJmQ250VDB3K1RBdHB5emRkakMzZjBseEt5U2JMRDJQbENRMUFRbmhxNVZocwp1aXVWWjN3
V1YrTlhXOVFJZHpBNWl6VS9NTWpTTGE1SmZ3UHlXbXFRcitVNVUxeVd6NnUxUE9PenVDYjdHaWhQ
N1Fuc003MFcxNlMvCkFYbm5aR0FBeUlDOVludG11UXkwdzJ5dzh6QzJ2RXI4eXN1REQrYVh4VXd1
b2kydEp2MkJReVpuc1JZYjVHdDVtdWdPeG1keHRmS00KeitKcS9OWEswL3pBUHROcmNVMzZHNUJY
TDRQOGF2WlVLOC9zc3JnYWY3WHkvczcrRTROYS9OYzZTSWVFUUVJZ0laQVFTQWcwRG9HbQp1UUZT
TE11M25HUjN1M3hIYjUxenpEc3Q1NmJMWXVvSTZXblIyWkNNNmJhNFdubkdaM0UxL29iS0xzb3p2
UmJQYVAxeG1WYU94ZFhLCk16NkxxL0hINVZVN043MFd6Mmo5Y2ZsV2pzWFZ5ak0raTZ2eHgrVlZP
emU5RnM5by9YSDVWbzdGMWNvelBvdXI4Y2ZsVlRzM3ZSYlAKYVAxeCtWYU94ZFhLTXo2THEvSEg1
VlU3TjcwV3oyajljZmxXanNYVnlyUGZmM3ZiRmZzQ1M0dDFwL09FUUVJZ0laQVFTQWcwQWdGTQpR
TWp0SnhmeEdpdDJPSmJWQ0tXSk5TR1FFRWdJSkFUK3hnandkOTkrLyswbUZOMEo2WEFpOHpkMk5a
bWVFRWdJSkFRU0FuODlBdmlZCkJIb2FQbXBuWUlkaWo5MzEzSG9nelUySGhFQkNJQ0dRRVBoL2dR
RDZnbnIvKzY5eGdkUFdieFJrcGFTRVFFSWdJWkFRU0FnMGhFQVQKZmNMQnUxMzhaN0JZNmVERVNJ
dVZlVG9QcG90eFNFK24ya3c4MUdsbGhERVpqU2NUQ2dqTE01bHEvSUZvVGVSZnJkLzhzTGlhUDMr
MQpmZFhzcVFuVWdDbTIzL3kydUZwNXNYdzEvcURvbXNpL1dyLzViWEUxZi81cSs2clpVeE9vQVZO
c3YvbHRjYlh5WXZscS9FSFJOWkYvCnRYN3oyK0pxL3RnVERzWWhiYzZaL1hhZTRvUkFRaUFoa0JC
SUNOU0lBRGFoQjV6c1VNS0hIbllEN0s1M1JZYi9HR1NhVUNRUW5XWlAKVSt4T1dmeUV4WjYyV0w3
T0JnSURwbGRmV1hsd3dYU3EyMWFXOTZleC9Ka3lLa1V3M2Y0MCtROWNEVlBGQjhCWW5mUGM2RlQv
UkFNaApha0RSYVJsZWhpMWpoaGpQc256d21FNG5rRTlvTEgrbXpKZHZ1djFwZFh1aTlqR2o5VFhX
bjhieXoyaDdaN1MreHZwVGxaOXRUQnVPClAxaEZoMm1KVGdna0JCSUNDWUdFUUhVRThudEFxZzFn
dElPazByRGpDZWtvS3k3Zk9pK0x0Y09qVEtnanBDTjl4bWR4Tlh1cjVXZCsKK0RJYnk2LytOV0J2
OGorUGdOVzd4YW4rM1lETzJuTzE5bVI4RmxkcnI5WHlVL3YzN1ROZC93cEVZOXRML3VwT1p3bUJo
RUJDSUNHUQpFS2daQVRjQkNRZUVGTFVCVGt6WHJOWXptaDZMTmJrUkEzYXkwallUTWJwV2U2M2NM
S1lCVURhdCtpamVtSkNWYXdWU09LVExUM1BxCnlXbytNOFBvNUwrRHFRaGZTeU9IMFZtc2lhVXFh
Q3llcnRUYWoxbTVZWjJITkcxc1FGMnEvMUtiSjB5TnJhOFlmOFVhQjhPOHNmb2EKcUtyQ3JMaDha
YkxDdlVSMG10UERQTE9SR1VZelppalNiMmxGK1ZvV0RsWm1ZL1Zwb2VtUUVFZ0lKQVFTQWdtQjZV
ZWdpWFpxbGZSWQpSOFc0Nko5eXhsTkpSNWh1dkthcm1yeDF0SXkxczRTZ3hkYlJXaHlXWTNSY25z
cDZYYVFaTEhabitXTXNiM1piVEc3anlVc1dueGx2CnJmSm1HMlArMDFlTHpXK0xpMHFNeTFOWnI0
czBnOFh1TEgrTTVjMXVpOGx0UEhuSjRqUGpyVlhlYkdQTS8rUi9DUWVyZDR1TEVJL3gKVmd3OWxp
RzJSYkpNaStXdDNpd09lU3JwQ05OamZkWGtReHRUL2Y5M3R2K3dmaE9kRUVnSUpBUVNBZ21CR2hI
d1M3QThkemhBS1ZJUQo1K3VBRUluWklDaGlpRTdMVktwY0EvSTZBaklsbERaZXBpSG9nSVpwN3JU
c2FLS2V2VXhkTEJEelY4dFAvcU5LaUw5VlFBUmdkQnJECjZlUWFrQytyTU9PbFlvUlUvd0NCbUNn
YTVRZkN4RHdQVjBiWHloOXJMTk1IUmFuKy8zKzMvN2lOcFBPRVFFSWdJWkFRU0FqVWdBQW0KSUJ4
RWVNNnkxeTRpejlMSVlnTVhpK01KUVR6Q01kbndOWTZaYkEzV2xiR1lzTVV4UXpSQ01yWXNKZ0Vl
R3pCSDdKbXZtYjNnTng5WQpWS2JIeWpWZFZNVGc5UnVqeVdiNlBJdnlUc3VoeklCSVNlUlF6SzUr
bTgwUWpkZ3pYek43b2NCOFlFbXh2Z3pMNUwrckNBSmtvQkl2ClQyZDRCaGc2Z1VZZXl5b2drcmV5
ZlgzRTdLbitnUmV3U2RlL2F6ZFJjeWx2cjJoQTFvWXBFYmNuYmV0T1ZUb21CQklDQ1lHRVFFS2cK
TVFqZ095QkJZTWVzblpMMU5Nd0xhTHZieVZpenlCOTA2QzdSNWZGWWgzeUtNMlpRMnNjOE45bWE5
Zm15S3ZISDVXV0RRVzh2eTJ3bwpKUDlSSndESUJtaUtsYTg3MG8ydUw4aHFuWHNkU2xPL0twNEdm
YW4rM1EwRDM1NjF2WHBNdEg0QXJHS2NBZXpCOXZ3ZTlvcFJhditwCi9iT3BOT2I2cjlpWVVrWkNJ
Q0dRRUVnSUpBUXFJK0FtSUJYSEs5b2JRZG9QWU1vR1BNaXlRUXZMME1HUGorMDhqR002RzRtYUFX
VU0KVENnRjZ4Z3RaazZPOXF5Wk9pTXNyc0lmdWV0SEl4QksvaXV5V3RmQXdqQlh2SUN0aHlmVnYy
OHExdHppbUNCYW1nTlVqL25FSElQUApOemFmWi9nek9VY2JuNCt6d2dLZERmRnJmVUxXNmxNSnl2
b0V5dG9rbEVVb1A5TjRnbUNzakJuaU9FeXJqVUc1c29QWmJySHFzMEp3CllxVEY1UWtONDZYK1FJ
LzU0eHdzSlNUL3krdWZkWkJDUWlBaGtCQklDQ1FFR29tQW40QllqNDJlVnp0MzY0RXQzV0pvRHp2
L3FVam4KZ0lTeGhsamVKMXRFdFdSdFFIMDJacUNNOFFicXN6VG14NkhSL0JBSUIxUTBMUGtQVkJ1
b29GVC9wVmFYMm4rNi92Ky8vLzZWcm9aRQpKUVFTQWdtQmhFQkNvR1lFL0JJc1ArRFVnVDRINFpY
a294RytEZDRaTTNCd2FtazhOenJMWnhyNW1Ga1VJdjFrQ1hsdFBYSzJwajdtCnArMldSbGxQMjZB
NXRpY2JhSnY5TEpBNkdCY0YwKzBaWW4zSi8xS2RFNzR5ZkppRy8xcnhwWTZRTjlXL0F5UzFmN1lN
aE9oNjFHdlgKMHBqdDZYVDlLMXBsMStPTStQMXptdE14SVpBUVNBZ2tCQklDalVMQWJVSTNFZXU3
R1RQWVlOR1B6OHNTbEM4Y3NCdnRCZUw4c2dFQgp5ckF5V1o3U09LZ2N5NmMrbkREV29BeWdNZ1pQ
MTVnZmwwK2Rwc3BvcXJJMG8wMTlESWp5SWRQNGRRQkVSVjRnem8vTGovV1QzL2F4CnFCcnFSbUx5
bjJnZ0tFQSs1bmtoZ0pYelkveXBRdXVJQkVJMTlYRjVLc3M2Y3VKcWo2V1p2cXhOVUw4dlFHT2NG
NW9QSHRPWDJyL0QKTExWLzM4QjgreWsxRURZcTM1RElZblRXZ0lJMGtqN2YycCtKTUdhb0lsN1dZ
SzBZSjUyT0NZR0VRRUlnSVpBUXFCa0IveUZDam9RUQpmSlRGN0toc0VLVDVPTmRPeXZjOFNpUERu
NVlOcUNnVEJ0VVBaaXVubXJ5V0R3WFdZWm90TmlBcHM4L3padnA5V1NhdnRwaXhPSW4xCm1aekZa
Zm9ocXpaN0hVcXpURlhzL0xJMG41U0xWQzhZTXYzSUpWMUpYc3Rudm1lSTdTMnp6L05tK24xWkpv
L3NVbUVnWTMwbVozR1oKZnVpaktSVmZLdURWbXp4T2MwSFR2VTNNVUYwKzVqbnpMWTNuV3I2UGVS
N2JXMlpmSUVQK1dKNXBHZGdnWTMxbXQ4VmwrbUdjMnNjRApndG5xVDh2c2QxeWxZL0xmZ1piaGkx
UFNsZkNMNnkrdXI3TDZvUzRveS9SN21tbFpDT2hZbjhsWlhLWWZzaFJQN2QraEdVQ1p3WnVJCmhF
QkNJQ0dRRUVnSTFJQkFFK1ZoUjZ1ZGRCQm5vNEtnbHpHU2NVaGJRV0dhOFJURVk4Zi9JVi8vOUwy
VE1obWVHVzB5WVpyU25pR3oKbHpJbVZDei95KysveVNjalIxQzZQSmhzcGcrNk5LMkNBVlpVaGV3
eSs0MnZRanp5MTUvazZYZGZsVkZqUnp2YnF1cjNESm05RURNZgpxS0dhdkN1bGREVFpUQjhVYUJv
Vk9XVmpKNHlUYjBmOTRHU3E2WS96VFUybG1GcE5KcVNOUDB4VDJqTm45bEsrWHNaT1FIdjZHZTNK
CmRGV1NwNDR3cUs5SXlQUkJVTlB5Q2laTytsT0dmRFNzb3Y0cFU2Zkk4RysvS00vM2F0amV2LzBG
R0pwYWkya0xhUXRHVjh6M0RKbTkKRURRZlFFNzhNN0FUckwrTVFkdi9ya0xiWjVrbW0rbURrS1pW
TU1BWG4vbWhPbmp3SWNpZk1nV1lmUE9GODgvVXhUSEZUQ2FralM5SQpjNzU4eVJSblkyZzdrclFO
aEw4cHB0ZGlGWXdPZ1k2eDQ4ZWhEWTJjWWY1bkdKa3ZSVEhOQ2UwejJuakw4ajFEVmwrVU42RkFW
eVY1CjZndUR5V2I2SUtocEZSUllVV0YycUMvUkNZR0VRRUlnSVpBUXFCRUJOd0V4NXJpRDBZNEpt
VmtINVduakQrTE5UejlBNXQxM1hkbm0KckgvSnJoY2VKVFAxNmlxTEhyU3A3SHorQU5udzVIMWxs
cDFYbE91ZnYxL3VmT1VKNWJ2aGhRY0Q2UXFrZG9iSXE2RjgxVkRBZi93ZApGOHUyWng5YW9ZQW9l
VHI4cjFSK2JvQVFGSGZld3pmSjNhODlKVU0rZmx1VzZyZTFjSkJiRmdyOHFhU3ZzZVdYbGNXRXlQ
OXJucmxICjV1aXpwdHp4OHVOK1lFSWVZeXJRWUhtTVE3cUF0YWFrVUVkSUI4SzU5aFR5aEhUQTN5
QnByakhXLzNwNTQ5UDNwZnV4dThpMjV4emkKUkUydlYvVFdGeC9LaWdOMmxIMnZHSlQzMmZNcGhu
c0NRN1Q3UmdjcmkzRklGeWg2NDdQQVRzL3YycjYzdTBDbUxLbkFmOE9oV3ZtcQp5OXY0MXVjRm1K
UVZWa05DNEhOMkhWdGFJRjVxQXcrNFZPKy9uaFR3QjZKS1p2TFArOStrb1A2bnhYL0Z5c3ExT0M2
MGxuT1RaUnpTCmxXUkRucEN1eEIrblQyLzl4L3JTZVVJZ0laQVFTQWdrQkNvZzBDVFh3V3JIeTg0
TzNQelhKUW8rSnMxZ01lbWdrMnM1YzNQNTRPeDcKNVo1KzU4b05CNXdpTXpkdEptc3R1YUxjZE5C
cDh2aFJsOG1OQjV3cTQvK2NLRDI3YlNBTHpUa3ZwWFB5b1M2WFdjT1JOaktZdlVacgpJdFByNVl5
ZC9pVlBIbjJaSzB2NWNEQisycCtsaGJUWDJRai8xWDdsaHg3R29heVc0WTBDUFFaM1d3ZmNNbGo2
YnJDOUhMUHRQdkw4CjhkZklMTUJMZzhkMEhPN3FQelQwZVM5VUlhSmVoa2kvUzJTNll4aUhPL0FQ
dmZsYzRLdkpJRjlsR1llMHkrKzl6all5ZSt0WlMvNVEKTWYyeTRQVTdXY2pYNkwrSm0zMlpQRE5N
WjhiVUFJRWllNjRhdENlVkQvaE5sL3BXN3A4ckYveVY4dUhQU2gyWGxsM1gzS0trTlBKLworVVU2
eTFxZFY1Q21NODFVNkgrR0lZclhZREZQWXZ2Q05HV3VjakJkaU5YT05UYlBDYmkyZjNsbC85UnZp
RFRndjdZUCtteCtXOHlTCll2dVpoN1RsT3hLVEZZRUozbkdoYWVTbEFJTEZTdnNUS3o5TUl4MEU5
ZVVZK09LRFhoOXZ1dXNqLzV0aUhJaGorMWljbGlVU1hoTTkKdTYyZi8wMVNQdkNhN1l6NXoyQXg2
VmkvOHRmTHVJbmo1YUczWG5DK2FocDVLWUJnc2RMK3BBYi9WVFkrbUM3R0lXMThzWDNLaDRQeApl
eXdjSnBadU1aU1k3WXo1ejJBeGFkTlBPb1dFUUVJZ0laQVFTQWcwQWdFOEFVR0hrM1V3bnJZZVNq
c1lka2dWL3JuWVdubnE1T0JOCmRwWjJyZHFpYUtZRkZpaGRMMXV2dExZc3YvQ1N5S2pYd1ZyWWoy
WGNKc2VZLzJTeVdHbWNXQnphcGt6MWVsUUI4dkFmb1dYemx0SisKdGptVWRzcEkrZ0tVeCtzTWFj
c1B5eWpDSVBDLzVMZTNtVVZRajhXTzBMVDN2djVVcGt5ZENoT2RqWXZQMjRITW1YbC9UcG9rTzU1
MwpoTHlKdStzcVJqNyswd2FMUTl1VXllZVJObjZvL0hQS1pObngvTU9kcnNBR1ZVeStnSC9TWkR5
RnNUU21vd3dPck5YS0dlZy9YUzBNCktGSURZLzZycno1V0dvbUk2NEdkYTNjNEQyMDAyeGtyN1dV
UnVVQ2xESXlkcml3T1pTM2ZZOXkwQ1RIdytBYzRUT1ZyZUhFK0UvS2IKMUxsTENRVm42cFVBaTJL
b0lGclpqQXNDeldKZ3pIL2FaTEhTT1BIeEpIMWlobk52SXhtYk5tM3E3Q1FQL2x2TzBrTGF0NXVU
R24yZwpNb29BUHlvbW44VWhyWVVHdWdPZnRUdzdOMHdZZTc4ZEpnSk1tZ0FUYjcvcEE1ZVdwM0hC
d1publdFaWJQR0s5am1lZFhkUCtoTzg3Cm5zYzIvUUY0eVdpL0tiRS9Ya2RXbEN2Z1Q3VHozRFVC
L1ZrN1o1bG1yMkZyL3NaeGdmOS9Uc2IxeG12M2M5aEdQVnFrczlHWjRXekkKVEFvSnNtc1pUalQw
MzlGZ1VFeVUwVEdaalN6SWJHZXNORmdzMW5MQWs4VkYvRUdhMms1Ky9NZCsyN25XdTFlWm9vUkFR
aUFoa0JCSQpDRFFDQWQ2aUxIM0hnMzJ2ZnR2QU5GaG56QmlCSFE4N05PMzBjQjVrcjc3RThzcFNl
SUJZczVtYXlTcUxMcVA5R1htNFJ2em9XeThRCkxzVnEwNktWM0gvWWViTG9QQXRwL3NqZmZwS3pI
cnhPM3ZweXVQejJ4eGk1c1BjQVdXM3hybDZXSGFJcjViRjNoc2pWejl3cm5lWmQKQ0V1WUpzbjFM
enlBY3ByS1Zmc09sSTI2cks1N0Y2N0hzb3I3M254R1hqbnhSZ2pWeWNoZmY0VHU2NTN1Y2IvTGhY
Mk9rdFU2ZFZHRgp2SE41OGoxWFNMdldiWFVBc2NJaVM4bmhXKzdoNVdqVHRaRDdTSDZqWE84alpU
WDZURnM4UEtvRWg5Ly9HQ3RIM1hhKzhLblFaejk4CkkvUE9OcWVjM3V0ZjBxcEZDN1gzamxjZmw4
bVlHQngwelduU1lwYm1tcWV5SHM4TEhyMVpubmozWmZrT3RvN0F1dlR6ZHo5Q2ZoOC8KMW1PU0wz
OG9CanBIM25xK2ZQM0w5M0xKbnNjb2xyMHZQVllPMjN4MzNMbmZYQzU0aExwZWdhNmZNbDJ0TUNu
VDRMOWo4Y1RiUTJRbwpKanROTUdpODkvVm41T0k5ajVJdUhaWUFpM05zM01RSmN1Z05aOGxOTHo0
azg4L2VYcTdmL3lSWlpzSEZOUHYzY2ZEMTlndEt2bUxBCnE3NmlqSWVIdmlCOUxqOWVGcHg5SHJu
MW9OTlJ2d3ZLNjUrK0p6MEhINloxdFA0eXEvcjZZRjNETDliMUhxaHJhMHZhem1DRGIyKzMKdlBT
SWpBYTJmSUowenh0UHk1QkJOMlI1bk5BZGZjdjVwZmJVLzN4WnRQMENXait1UHN6R3IyWGVkbk01
R3pGQXYrUFZKK1JmMTUwaApBN2JxSXdkdTNFdHVlK2xST2U2T2kyU2RwVmVSUy9jNkZoajR4a2JB
dEs3cmhQc0YrdDkwam1MQnR2cjJpSStseGN5emtDTWZncll4CmJzSjRPZlQ2TXoyR2M4djFmVStX
WlJZQWhsQTZjaFRhMWtNZUEydVQydDY5QXJ2ZWNQb0UycnpXRlNZODk3NkJ1a0w3N2FJVGUxWGwK
eWdjZjkrMWMvL3dEYVB2UG91MERKd1Rhc1A5Vko2Rjl6NnA3Vm1acjJRYXlTOGdhS0dzUzJ1UGxU
OStGdW1vdmk4L1hRVTYvL3hwcAoycVNwUERMZ0l1bllma0dWSHprSzE4NURCZGNPcW9oN01CU1Rk
bk5MR1NaMFF3TUkvTjM3K2xPeTErVW42QlBTcS9jYktQZS84WnowCnUrbHN2VUZ4U1orajlYZmcz
SWR1a0h2QTk4VFJsOHZQWTBiQkYxekg4UGVWazI2VUN4NjlwZFNtZi9wT3prZWJZWmd5QlcwZy9F
M3AKajkrVTl2aE55WUs3d0hMeXZMNTJPMEx0NGw2ZXdqYWt2eHUxWGYrNWE5ZmJ4dCs2bzI1RCs4
TzEvdGtQK2ZiMzJOc3ZSYjloOSt0dgpwZnNOV3cyV2w5cS9hNG9PUTNYSmZvdHRrcUU0a3o5ek9F
L3I5Y3hNNG9EZ3IvL3NPMDVNYnV6dnZ5cEtoNFJBUWlBaGtCQklDRFFPCkFTekJRb2ZFam9mLzFq
Y3gxbjhjc2hpRTh2ZzRwS2xEQjBsQm5ObUJOQXRHSXI0TCt4ODJ4aVRodFpOdTB0eFQ3N3NLY2Iw
T3pQdGMKZHB3TTJxNnZQSVhCeDJxTGQ1RXR6enhZUm8wWm5iY1I1Uyt6d0tMeTNQQTM1Slloajhq
MldJcHozMkdEWlI0ODdkanpzb0dxcTJXegpGanJ3NWlTQWZreWVQRW42WEhxOERPcnBkUy9SRmJv
UGtsSGpuTzZ0empwWXRsbGxYZW0vK1I0eVlNcytjZ1NXU1hGdHZaT2pUZjkwCk5sRU92S093eVRm
RHhQdlB1L09ibk5aWFZzZWc3b3lkRHBIYkRqNWRobjc1b2ZRWWpIMG9zS0hQMmx0TG4zOXNqWGxj
blE2Y09GZ3YKQlFkUXY4MTN3NlJsTGwydXhvRUlsMmVwM1FYbHI0RGxMa2R0dGFkOCtOMFhNb1li
eHJIWmVlOTF0OVhKQjh2TDZkcG5vTFRDb0Z2cgp5dGY3UkN5TDIvMlNZNlZicDJYVjc0MjZyQ2FE
N3VLU05VTG83TG5scFlkbDQrVldrN3NQUFVjSC8xc0FzMGxUSnVtVGlFMU8vMmZlClYweGtlcHpM
UFRmMXN1bnlhOG8ySzY4cnYySlF2U2dIc1ZEWEZST2JOWmRjUVRqNTRDVE0xWWZIbFhWTlhNY0NW
ekpyOFM2ZWhBa20KSjZYN3JiK2Q5TWVra1BoT3hjRE8ydTFkcnowcEczY04ydE85VnpvVnVOdS95
V21CalFlZG9RTjR0UkZ0YURzc0NXelNwRTZ4WTNrNwpyTGFSTERMMy9PN0ZBUFJmYmZBMTVOdDh6
OEg5WlAxbFY1Vmp0dGxiSjZJamZ2NE9abWdtK0NsZy81UnpDdGhHRmNORGlPRWZzc1VaCndCRHRj
VEx1bVBlNWpHMFNHR0NKRVNmYTJpYUpnWXJpNE5WTnhKMzdySzZBd1Vhb2swRjMyL0pDVjQ2enRG
NG5oSngwY3NCcjhsYysKZmJmTTBYbzJPVyszdzJYd2J2M2xka3lFMmJZNllxTFdGUk9SZDc3NldC
NGE5b0lzUE9kODhnS1dCZklweGltS0k2NUxYanVZVE9xMQpRenZEYXdjKzkwU2RyNzlNdDJKTW5G
RUdCWjZHcmlzZDUxNUFabTNaV21acjJWWjJXMnNMNmJMUTRqSWZKb2JhVG1Bd2J5cnN2VzRQCm1h
VlpNOG11NHgvZGRaeHIwL3VkNE5zMGYxUFFCdmliY3JML1RiblgvYWFZLzY3ZDQ1cllMTGkrZUUz
Z3hnQ3JUMytUQ3RwUVk2Ny8Kbk81OVQ5QkpoMTRqd0V0L0Q4TDJCMXowTit4RC94dldIYjloL2M0
ci9ZWkY5VzlOVEdQZkZsMGEyNGh2SkJiVDZWaWVlY3JHR1AraApEdDk4c3pJeVBqYmhTdnhrU2lF
aGtCQklDQ1FFRWdLTlJ3RHJSbVpnc1A3SVlxb09hWFp5RElnM3crQ1VBOUY1Y01kOG5hVldsdUhm
CmZhbThOK011OTJRTUxCL0Fub1hiWG41TVdzL1NVbjdCVzZLZS8vRE5raTdxeEQvdnhpK0EveTFY
V0Z0V3h0T1ZWVHN0SnlkdmY2QjgKaXljSDczNzFpVDdKNkR6L0l1Zy9uUkdxRzNjNUh4aGFydnR4
M0ZuK0VHOHlvaDZHcnJpcmZDUHVVaStHZ1hORGNzcHNCeFREdGQrdgpmdnF1RG15WnpMdkluSEE4
OXM3TDhzSkhReDJuNGNDemtIWm1abjY2WlQ5U0tyOENKdjlZYWlYWkRVODdqcnpsUExudGxjZXd0
MlFIClYwNXdkQVBrSU1HVDNLdlQreDliK2VWeG9vTkM0aENHM2RmYVVqYkVZSmRQdVU3YjhXRDVF
Z1B1eCtGUGc3NSs2SHo5NXdZN3ltY1kKT0w2TXpmYjA5VkU4YmRrT2swWFNGWEg5SUtwckdETUdk
OWpmUVozZThjcmppcysrNi9WRUV3QmdIck9zUGVGcDB6cEwrL1lFdVRJYgo4WVFzcTQvaHpzYm16
V2FCT2FXS2FJRW5WK0Y1aU1XTHc5L1N1KzhiWUFMQ3dJbmtwbDNYZEN4aC9ZVTBjaFZEVE80VXcx
NGVRenpsCnVoa1RrOG5XSm9lZ3ZlUEprYlozWXNCZ2VrRE9qS2VJV2xjZHNKUVI2UnpBeDNXbE1q
andLVjduK1VwdG4razM0Z25XbkcxbVU1Yk8KODNlVTlsalN4THYrQzh6Ulh1WkEraUp6elMvTEx0
aEo2M28rUE1rZ2poK1BIS0g4MlhWWmNPMWttR0JTeVVEc3lqQnhHWnFQYk9tOQo5bFpvQ3kvSmxI
cE1JaEhXUmh1K0gwOXIvc1JFaDc0OWpuYlNZNVgxbEM3enhXT2lkUlRnVTZrTnVFTExqN1lFMG5K
eTh2YWJoTXlLCjdaUy9TV0VJYkxIMjh4Q2VBbWEvQi9DYisySjRFMEovRDlEKzVnZjJ4Rjkvd3px
Vy80YUY5Wi9STE1mS3NqaTBJOUVKZ1lSQVFpQWgKa0JENEwwZkFmNGpRRDc1MG9BN2FEOWl6NVZh
NVIvend5RHE5YXZ6R2FQbzQ4aUNOUCt1Z1NYTWd4ZVZQekh2MXMzZGxvVG5ta1U1WQpya011eHJ4
THZkQ2M4eFJDU1QyOGc2MEJ1dFpjY25rTTFKcktVKys5cW9NcDV0dEFnd09Ca202QjdvV2cyMjFB
dmVDeFc2VGJZbjZKCm1MZDM1elUyeTl2a2wzTTRPZGlFZ1lPNmFQNEJwOWMvZTAvbWF0dE9CeHJx
SzlLNitVbk5NQ3d6V25OeHYyekx2SUhOV2FBZVlxMzYKNnBYTVkrS1drMlRsQjVpY3VkT2hzdmlo
VzhvdXNMbTBId0dhdlg2dHdweCtsdXBxNGVRZERwUmhXTzdHQVNFSCtWeE9ZN2FUcTQwdAoyWUt1
VmZHa2hJRlBsZmhxVlBVVmV5Q01QL04xQkh6RmhJVkx0VmJHUm00dWordU9KeHlQdmZPU25MdHJm
N1dyVk5mbWw2OXJ4VFhBCkFzWnpNL3p1dUZPK1BmYXo5SHI5YVYxNnhMMFhGdFFUNyt1c0xYeDdR
bVpOOVdGS0ZQY1MvcHFzYVo0QitwOGYvaVlHOWgybExjcHcKOVlUOUNWaCtwZmlTelRDT2FNV1E5
aUYvMWNWS0dINDA4a3ZmSm9rQjd2eGJtOFExb0NIUXgzWmNxcXNoK3NSQzY4cHhsbzRlQi9KYgoy
MmNtSng4dmZUek0yeTM2TkdTdEpWWmdzUnFJb2NQUkpYRHliMjluSzZzclhBdDI3VnlCcFZ1YzdM
VEZkV3orYy9saERoTmZnbUcyCjQ2b2J5eUZZa3ZiMGU2L0pCc3QyeHcyRFQzWHk4UmdtSHV0aThN
L0FQU3ltTC9hRitabCtuaUNvN1NSZ2Z0WUd2RzlNTmwzT0JseGYKbGtZS2ZPN2M4WlhrZzkra0dx
NS9wOXZiaHJwNy9YUC9lNkRYaU5QZGJWRlgvOE40amVBbURPM1czekJmMTJ2aWFZbitocjMvcXRy
OAowTEFYYWFtR1ZmQWJ0UzZXQnhZRzg5VmlNdVZvT21udG01bEdxK2NPbnl5TjJUN2ZnRFpkV1d3
RWRhV1FFRWdJSkFRU0FnbUIyaEhBCnJsWGYrZFFpWTRNaHhocWlEc3pTZkc3VmlHcFlmS2F1VGta
alR3SHZiSytJUVd0K3dPQzFtUTBWbFBQdU5RY3VIQURaWUVEMVEyNDAKOWxId2FZanFqdVIveG1C
NktBYmhSWUg3RGxRT2J6ektPbVZsTFBlZmErbC9HUDJMN2hQaEdudUdwUmJvaUNjaE0ySEp6V1E5
enc0RgovcXV0V2lkK01BaDY5TGd4bXJ4aXg2VkttR1JLSERGaDBrU1pHM2UwVDhQYWZkNWhuYXN0
TnV4bVdIR3dCVnVwTjB2ekNwREdmUzk4CmFuVFJIa2ZLcFUvZDZRYXBrWDQ5aFN5Zk9uRXczUTYr
ZmYvYno5N1hNVEtidm9DQXZpNWE1bXNmUEdIaFBoRXVxK01Tc0diK2pWOVoKWFdPdmpRWnJDNHda
ekZiR0NGZGl1UXlmU0IxLzV5WEN3ZHZ6eDEwdGMyS3lWekZBanBocmZZejlYV2JEVXdIcVhHckJ3
RWJGdXFLRwpmQVprdWF4eExjRklBQUFnQUVsRVFWVHB1OTkrMU9WbmRicngzRlZpTnZqVkJwMFhp
ODlLR0xiVlBTMnViUUdES3Y2ei9ySzY2bjJVClhQcmtIWlhyU2d2MUY1Ykg3MGdzMWRzQkU3aW4z
bjlObWplYldTYytxMkpTV0V2SXJnRnJneXJrRFA3dTE1K0J5VStBMXJjenI3Q0UKU1hrSmZLcXh4
UXIvY0h0Mlpta2xhMkN5eW4wME4yTzVINWZzOVZobC9haitBMTk4bllXVHEvSVNtQkxJOEpSeXhF
TGxZUjFqcjR2WgpsVUxtZXczWHY2dEVxaVUyVW1wL3VJYTEvU0d0OFBlQXBsSUdjUXYrZnZuZnNO
K3hyUEtqa1Y5UUZVS2RMRHlYZjRPZ1MyajRhTDc2CituZjZ6WDh2V29QL1dTR3h2aHJhZWlhYmlJ
UkFRaUFoa0JCSUNBUUl1RDBnN1B6NHp3N0Y0cERPOG8yUHZBeks3R1BRZW1veDh5TjkKVE1wMVdp
YlBkQ2UzR0o1NFBQTDJpOExOelJxUXpMMENEMk50dWc0ZWxKVzhqdDk0dEd5a2ZmRE5aN3FaMmQy
SjV5QUFmQnJxZFBEcQpkSS9KNUxtKysyRXNtK280MXdLNlNmczkzSWwxTnRZSjl4MjgvTWs3SlRs
TVJFeWRzK2w1cjV0bE9IdTRwcHRucjJHenRmbi9MVFlaCmM1bk5NaGo0RnZ0ZmtqYzlZSVFlcDNN
eDNCWFA3TllNdHlhZmRoc094K0Y3Sjg4Y2ZRV2VGTFNWSTI0ZTdOSVZmK3JHbTZOVWw2T2QKak5Q
TlRlekhZTlAxaWRpRG9BTnE2dGRnZGVkUEtZb3c0c2Z2OUFuSlNoaUlacjdpcVkvWnpjM1A2aXR3
TVA5N3JiYUpUTUJIOHJqWApZYnR1RzFLTmhxeXVzZm5jNUNkamI0bnp5elA1Y3JuSi9zc2Z2OVc5
T2E5ZzgvbVB2NC9TcFRGWm15Qzd0UW1WNGFFdWJ5UHprY1o5Ck1wbU5tc1kyeHFWQTVqUGJUVUI3
RzVBb0hmQUs2Vjh4bU9TYnpOUm1KaExiTEFMTlUwMHlIUzdiSGV0a0JEWW44OG5GU3RpL3d3bVYK
MWkweFVCbldMZG83NjVaQjB4eFpxcXUrdEs0VXJEenZTMWEvb1ErZ3UrUEp5LzdyYjQrTi96K2hQ
aWJLZy8wdmdINEltM3ltMGZ1dgo1ODZIekU2N0xwR25kWVhyTXNORXJ4MnZ6M1JSdDFwckZsc3Nz
Z2VXOXQyTmplWVhQM2tiNkMxa2Q3enUrSDRzOGVLVE9MN0NXNFBLCk96TERRdjFFaTFiYncvSThi
VDZwLzFUZy9WRTUrc08wSW5ubXNheVNqYVF6MzJ1NC9yMENaeHRrK2FJQnFueE5yeEduKzF0czVz
L2EKSDVNc2FObjUzN0RWOGNUMG1uMEgrZjhUWk1mdUd6djd6Y2NzaHBLTWhpTDEwWHlsUHdHdGZP
UUpaV2dFZVh3YzBzckhkQVROZDJSMApZb2twVGdna0JCSUNDWUdFUUZVRW9qMGcxcnRZanhQRm1v
MURsSnlkazhBZkJ5WmN1c0U3ejdsT1NqdEZ2REZuNGgrNm1kazZSWjZQCnhSdDZ5THNydm1YQU80
NjlMaHdnWDJLZzl2SElML0dHbkhOMEdZK1dRNWVzZkovQXUvY3VzVTdYNTNPemJ4ZXVrMGZnaGw4
dTc1cUsKemVHN1lubVMwMzJrMXowaTA3M1Q2cHZnN254ejJlbWlBZklpOW1xOGdLVTIrMTE5a2l5
TnRmSjV1Vy9sNCs4Z2R5TnNXb1JQYVh6UgpqSEhTWStYMXNjRjJmdDNNeXhTbXZZRkJQamZacnI5
ME4wM2hIZDZwd0lLMlpRTUZkdmlxek1XY1NIejYvZGZJbmlvYllZbEt6bTRyClgrOUdjL1BzRTNq
RDJOTDZkT0xNWG9mSXRmamc0NHY4Y3JjR0xsOHlYWGpqRWdhZllmZ0tBM3VHSVorOGplKzBqTmVK
SHZIaUszbW4KWXRMRW9PdnlhUnYrSHNlK2haMHdvZUF5SlBVVit3YXlieDZFdm1KRHNndjFXR0xY
UnJaZGVUMWR0c1h2VmJpQlVsalhWaDlXMTN3aQpvb0JtOGU5NDg5U3RReDVWbGN1amJsbkhDL29s
Y0xuMkJMbFNleExjU2Q4Z3FnOHAxWWZmczdBU25zQTgrOEhycUkreDJGUHh1WHo4Ci9RaDlrNU96
b1I2NFRCQnVBS2RKdlRBQTVNYnRzeCsrUWMvNWhxT2hYd3pYSnlOL29CMDdzMmw3M242K250WFZO
VERFL2huRmNQNUYKeTl2V3lLLzBqVkFyczI0MW1CNlJyL2kxZHdSK3ZISTgza3pHU1hsWVYvek9q
dHFwYlFrYjY0R1p0WDNLOWNmRWxHMkJtOFc3WVRLaQpTL1dZNFFPZm9uRlBpTE9kN1hPY3ZteUE1
NlZyQU5jbEpxSGhOZEFMeTZrY0p0ZXI2SlNway9YRkMzd3FvcGhZQWY3NnQvcm5Kbm91CjgrTEcr
RFpZMHNaOUlGelN4MlZvcFJ2enp2L3dPaWEwWEpLbjF3ZmUyc1EzMjdrMkFQd1ZkN3lwVEg5VGVN
N3JxVHhrOHJDSjEwU3AKRFpIWDJwRFRWL0tkN2JUaDY5L1pWcnJlVnNPK3RPejN3UHZQRjF2bzd3
SGJuMDhyL2czam0raEs5WitSVE5Ka0hDeFdJdndOTWI4dApwbC9WZ2lvREUrT0NmeXNyektxbU11
VW5CQklDQ1lHRVFFS2dBSUdaQnZiWWY2QjFnZ1g1K2FRYStqZmVHZVp5bTdld1JJWVRFRzdDClho
YjdBR2JCa2cvMmFYenp6bFhQM29NbFNtTmtkYnorbHAzL0dROWVLNTlqVDBHWGhaYVE3dWl3RjU1
clBybnc4VnZscklldjE0M28KL1RiWkZXOVBjaE9LbkVHdzV3cTgyZWZuTWIvcWhPSUZiT3JrUnUr
Yi8zbXF0TURHWXE1YlAvZVJHN0ZwZWlUVzdMZkVXdlBWWkZGTQpEaTU4L0xhUzdrMnBld2tzSzJx
bEc3RzU0ZlFDbFAwOGRKMkJOMVJ4WSs3c3JXYkZtNEhtbFF1ZjhITFk2TjF2TTI5VDFML3pld0li
CllLSnhKbDZyeWtrRFh3Rjd5OHVQeU9WN0hhZDZYc0UrRlByN05aNFU4QzQwQjF2dSt5bndqS011
RGtnUTgwbkM0RWR2a2srKy93cUQKdjgxMWpYMnVmTnFOamZKUFl6bE5ienhaNEJ1WjJyZWRRK3F3
SDRiTHFMaXBubThRV3dDYmlYbkgxWFJ0c2NKYVdPcUN0ZlY2aDdOZQpPZ0JyRG1RdmVmSjIrV1Rr
MTdML2V0dkpEZGlzL0M3cWNadVYxcEVKbUVoZTg5eDlXbDh2Zmp4VVgvZkx0eWp4bXhOY1ZyYkJz
dWJyCkdQZzZUdDlJZGpsZVg1dDl3SkNERmZnelc2czJNaWNHbW10Z3pidU9iWkE4TzVadDVYREZT
d2UwcmhmR1VqZTF6OG1TLzZmZmY5V0IKT1FlNmZEM3h0MmczLzhLM1orNTg5Y2w4ZThLZ3Q5U2VP
c25TZUJLekFRYmNaK0lOV2xvZm1HU1U2Z05Mc21EYkhCak1zczR2ZmZKTwpIWURQaHplUThaWEE4
N1NkRTIzck56bjlnV3ZrQzB5R3VZZUNkK2E1VWZ2MEI2NlZTNTY2UTU3Rkc0eGFOMitCZ2ZvVWJV
UExMZFFKClJ2dWc5U2tZaEU4SU1IekxZYmdyTUVSYktXdGJ4RURyRmhoNDdBd3ZQbWw0R1BzQldP
NG5tSnp1anplQ2FWMTk4Nm5NanpkSTBVZTEKRS81dzBuamVZemRuYlo5UHJOaFdqc1B5TlU2ZVRy
My9hbjMxNzZmZmZ5T2I0TTFSdkhaNHJYeVBhM2IxVGwzVjcxUHdaanErUmF0Ygp4MlgxQmdDWC8y
VFhEcThCMnJuSWtyb2ZaaWxNMUROTVBvZ3hXZHdCRXZuRENSQ2ZaUFhGVXhtMkJUNkJHNFVYVHV5
QkpYdnRjTTJaCi82OStFbDdIcllRVFJpNy9zelk5QlpQMEcxNTgwUDJtNEMxaWZLMXgyQWFXbkc5
aHF4REVha1R1K3VJa01wTXYrMDFhSEw5SlhmTHQKdElIcm53V0YxOXMyZU9NWE41aWZpV3QrTk5v
VVg2Zk5ONkpsMXdqNHIzaW00RGZzQUx5aUc3OWhiSjlXLzlTZEMvYmJZN0Z6cmNUUApkRXRUd1RB
QnRQK3RtYTdmLytYOFhxV2NZZWtrSVpBUVNBZ2tCQklDRFNOUVYzL2pXK2lpMkVzeGhCMlVTMm53
R0xOYloyZnFHaFJ1Ck9KT3ZLT1VnbllPdWNMTnhMTFh5c1R0alVMaUNET3JSVjhaUG1vQkJZZ043
QXJ4d1NmYzgwTjBVcVdZd2xpcGhNUE1qQnJ2dFo1MGoKTGdwUEJTS2JxdmovS1NZUHRKMnZkWjJX
d0lsVjZFOVorWTFRR3V0eW9xVUs0MTErTnpGeCt5WnNuNFlWd2Nra0IrQzV1Z2o4VjEvcgo0R3Q3
K0dwd21yQ1ArVlJNSjZKUmVpMSs4UWtXdjFQQ2lTdS85ZElLZy83R2h2TDZLUG5QQVR1L0pjSjlD
TnczRXZzZmwwVjdSdjB4CkdwT3FkcGlrVFpUbWtNc0dleFg4TDhUUUs2NEZBN1BCMVZWelBhVmNO
VnRON3RUN3I1S2UyRnZCU1NXZmJuQ1NkVHUrZzdJem5taTUKdDNvRkZXcENVWnl6RXhPb3pHZndU
Y1YzT0RKTU1MbFdUQ0w1K0RSdUUvRjV6QitlRjdmcGtLTmhtdDhYbWJNTjlrcGxEYlpoLzNPKwpj
MU41ekY1cVRucFRKTHgyYVVsNSszUDJUY3R2bUpPYzNtTmdzS3FLSGFxaW4rdzdkYTNDbExJVEFn
bUJoRUJDSUNGUWpnQkgzd2pzClNTeUV0S1g1dU95T0dYaDFDWUdYTVZwanlPamRPM1J5akJzWk9L
anFpS2NQbVE3S042Q1BBOUt5UVdsc3I1ZFgzZmdPUVNtVTdPTmQKMktMSkIzazU4T1gzQzlUbm5L
L0YvblB2UnMxM0YwdkdaQlNmR0dqd2VPWXd5YmdhSUFML2M3cXkrakMvNi96a2c3cnFDZ2UwaW9t
MwpvK1FUNUQwT2kvRU5RYVE1cGpHK3FMNktKaDhzc2J3K21JcEFQVjZIZmxVYlNiUHhUVXVaL2Nw
VitSRElrNm04UGtyK3o5d1VUK2g4Cm9EMkZJZEJIZXpqNW9JMThqVy9KYjhNRUdpTC9LN1VybGxX
SVFWQ2UydVAxOFVVTEZpcmFTb1pBbmg4WjVPYnpJN2ZvazhOUEo4aTgKenJMZkFNUEVTZ2hpNkZN
N2xaLzYrYytEazhsajR2RTBHd0kxSVJtM2lkeTV5V29aTE1aanl4Z2hIdUJyWW5pb0tzL0pCMFBv
YzBpNwpYRHMyNXZvdnV0NjAvWm15Z3Jqc042eUsvUVVxOGtsVjVjMVhpeWtlMG5sMVlYdHlPUTN3
UnFMcE5DR1FFRWdJSkFRU0FpRUNlQTB2ClQvVVFwaGZUMFFCQXhUVE5zeHZ0QndobCtTNGhLSThk
V0drQW8zMWZjRnJxREgxSHB3TVIwQnJqaml2V2Y3dVByWDNqWFRCaDcwODEKZTdPeVBYK3gxNlhV
YXZyK1l2OGRQdVl6elRRNithK1ZWcTIrWXJ4S05WMU1WZFAzWDF6L2ZBWHlRVGVjSWR0ZGNMaXNp
Q1Z1M0MvQwpKektiTDcrV2JySzJhNnJZY1ovNk4vWmZQZERMZzc4ZjVtVjB2Vmh5cGZqZjRELzNX
V1cvWVN6WFRGSWIvTytlVFFxaTM3Ly9pdXUvCkVsWXBQU0dRRUVnSUpBUVNBZzBnVUZkL0E1ZGdW
UXJXR3piQVVrbFUwOW1CbWc0bUdEMWo5RjMzd3YzeURmWTNVQytmVEhDRGNNTWgKdHFkaDdobHQ3
MzllWC9LL1ZBZlY2cDc1TTdhOS9xZjFjUThNdjJQeS9laFJzazdubGR3VG9RWmgrTi95djN6QTNx
RHpmMG45WDRmdgo0M3lEcGFZTTFYL0Q0dXUzc2ZVVHkydXhEUnhxMEwvTDhnM0lwNnlFUUVJZ0la
QVFTQWdVSTRBSnlGRDJNc1doaHY0bkp4ajNiOVhrCnkrNG9Rc0RTcUxpYVB1TmxyQ0VxTURvdDAr
ZWxLa2F4ZkVWR24xSE4zbGcrdHI5c3lRUUV6QWJLR3MyWUlaYVBHY3I0SVdOcHFxREsKd1hpdHZD
cnNaZmhXazQvdFQvNlg2cFJZVjJ0UE1YNVo1Zm9LaS9HUDlWV3J6MWkrR24rc3Y1cDhiSCtxLzc5
Zi9lK2FKaURWTG91VQpueEJJQ0NRRUVnTGxDUGdsV09VWm1oSVBFS29OY1B5NFI5bE1wYVh4dkd5
QWdreE5DNWgwbVlFWHRtU0xtWnlqL1luSm1DN0dSY0ZrCkxTN2lDZE9TLzhBYllCRUhEUVJPUVM0
OHplb214RGVrVFRSVFI5MVFaZlZIclRuYUZaUHAxWHlmcHJSWGJqS215L1FIckVxYUxSYkgKK2ZG
NXF2OVUvNm45TjN6OXg5ZE1PazhJSkFRU0FnbUJoRUFOQ0VUZkFZa2tiR0RIV1ArUm44V2VOeGpN
OFEwMi9KNUV4V0M4akpWMgo3K0IvK29OWDhmck4zOG9WWmlQUFRNQUVpNHNvc3hkeW1lMWFvRHN2
bGk1UExkUEg0cW1Uc1dlM3VGeTZQTVY0TTNrUStCdUpMMnM3CkRFWUhpaWxlSm9EdnBZelQxN2lX
S3llNzV3OTlEbWxWYVRvTE5lUVR5L1Q1TXFqQzFGaWNseXcrTTk1TUhvU21aUW1CWXFyUVRCK1gK
NklydHJNeGV5RVQrajhYYm4vaWExSnBDcEc4aVBxWTQ1T05oenF5U09UV3BVcVpRUm1uYXh4d2Vs
QWhpa1Yvd0ZqUytocmxTUGpMeQpJYkkzNTN1WWw1ZXFmQmJLa0ZZelhUd1czN0RoeHlFenN5dHJL
ZVVFTGpyNWtWNWVGWHMrWStLcDBaWHlTNnFWS3JNWGNtcTNqMVdsCjZZeGtpMDdMOUlFcHc4RUxO
RUpkdVR1MGkzcDRNRVVXVzdyRmxtNHgwNk5RWm0rOVRNRkhYSWZqMnpacU45bU5KeEl0UERWZTlS
bmwKc21pbEdSZEtwTVNFUUVJZ0laQVFTQWpVaElEN0VycXhXcWVpSFEwU3M4NEdDVmtuRk5DVVl6
ckNHNSsvTDkwSDdTN2JudGRQejJzNQpuUGZvelhMM0cwOWpVUGVPTERXZ3AzNjhNTit4MmExc3h2
alhvbnhNT3JaUGVaamgrZFVJMGo1NFd6TmZtR3hwU2hzZjAzMWVGb1BRCjhvSllaY2d3alFHaS9G
YkQzYThiQmoyRWc5eFNNTnVkUC96bXhid0hicWpmZmlpMDcyL292L3BLQ0ExR2l6VWo3ejk1K0ZI
SDdpZjQKZHRiSSt1ZjNUT2JvdTQ3YzhkcmpwWHF2c2Y2MWZlZks5WWFHOHFXS3E0MHlYeG1IdEpj
Ky91N0wvUFhrNnQveGdEYitCdngvL04xWApaT016RDVDNjNWYVVyc2ZzS0h0ZE5VajJ1K1lramMv
Q04yb21ZaE82aHREKzBBWXRBNGNzSnUzKzc4U3JlK2M5Y0FPNTRhV0hYSnEzCnQ5Ym96dGZZamlH
UDc4MDRHM0JrT1F3VzYwbDUvV2UvQStScndILzNHMEFscHNQek04bjdRVkpwSlVoN1FuWDd2S3dj
RUNabk1kbEoKVDJzd1VTM0RLN0UwUFRYYkdlTmY4M3lzTWpoa01Rbm0rUmowV3lPR3k0cDRUZm0r
MTU3c2xKdXRsZXluS0lQcVpBeENhY1lGLzhxYwpEZ21CaEVCQ0lDR1FFR2c4QW5nQ3dzN05BbnNi
QnUxMWtNVTgwSXlML3NtbXkxUUVId2RiV25aZGJUTUtaK0laclFUVHZYN0VZN0FoCmRzQWRGMGpm
ZGJlVFk3YmFTNTQvK2twOFFYMksrNEs0TDc2c0ExUnphQTkwOFo4SGl4MWhHY3dzQ01xTWRNWWhi
YXpldm1udzMwUnkKTWRXYVNxWDlpZS9NK1MyR0FiZWZMMzNYMjk1amNGWDJ3VWFucDE3RzRRdnhE
NzMxdkdMWHM5djZzdEFjK1BCWFpqNElkU05MUUNtYQp3TklLZ3VWVjRqZGpHZU8vRWZYdjdIekIr
ZXZGMVFCVHlaT2cvbk8wTWpMZkV5YXZPSGs1MGpDYkg2SGpsNmxkUUlLNlZNa2Z6K2FqCjNtdHQ1
VDZRcUVJcWlCeUx5UlFaRVBqUEw3aG41ZHExUUhiZi9sMTllUlZtZjZoU2FhL2YxeitUTWh5VTFo
Um5CbGpQMk9FZ2VmS0kKU3gwUFpNYmhTL1hhRmpKM1FhajVXUUlVYUlKc3VHeDNPWHJMUHFwd2p6
VzNrQ3YzUEU0dTNlTVlPV0t6UFdUZ1BaZkozbGVmNUF0egovTzdFMjJmT0JQNlB3M2RpSG5yN1Jm
VzNaN2NOWERza2U0Mys4NHZzYWp0RWVxNjhucE5ub2NUQ2dwR005UitITEFaQlUzMDd5UHhXCjgz
a3dQeXcycFdGc2VaWDRXUmlERnVwOEkyMzFIY2RrcTlGL3A5YnJyN0grMVZjMUJRZnoyMkoxQlFl
TEMveGZIaDl2NVljeitURlkKRjVTWlJ2dC9wbG9hYVc5ZlkveW5XQW9KZ1lSQVFpQWhrQkJvSkFL
WWdQak9UVHRGU0dkeFNCdFBtTWFTbU81akVQeXljeDA3WkUxRQpCbDZUcXpSanBaSG40L2UrL1V3
Ly9NYnZiakFzUE9kOHN1TkZBK1ROTHo5ME1rNnhwOG1CUU5zc1ZqdHgzbERNemxWbGFKUFpaYkdY
ClpUbVpEckFwelRpa2pTZE1BNjJ5UG5ZQ0xzM29CdnluUFNVTWFKUEk0dnh1aUFZdFhMOW1YY0lF
R2JCTk1TWlBaclBaVmhEL1JmNy8KT2ZsUFgzY2YwTERTUC95ZmhEeXQ4NmorU3dNZjV6dGRjcklX
MThORjA2V1p6bWVRL0FLN3RyTnFHQlQ0cjdLcXp1T2xkV2pZSVVOMQpNZzVwbDE4cTErZXJMT2pR
NTVDdVV2K1VMT0ZBbW9VeWFPSFNjcFlXK0NhTisxWUZQNVM0NDRYKytxam10ODl2MjZLTmFxc1RY
bU91CjNYZWFwNE5PNGw3NTdCMFU0OG9wdFNVV1RWL05CRWYvaWFXVld2WVh1RFo5ZmxOOEV5ZTcx
RXNDSnVoaTcvK2ZlS3JuYkIrZVhmOU8KbmpaVnJuOWtJdEFZSDlSZTBHb0RiYXZ5WDFEL2hvUHFW
WDJoRHRQTk9LU05KMHdEVFNieU9lYnllRHJybng4KzlBV3dFSkJhbUl1cgorRDRWTjNQbzYwejRm
WFhmMEhIMVA4UDlWOFBTSVNHUUVFZ0lKQVFTQW8xRHdHMUMxNUVFQmRuQldVZFZwTWgzZ0s3WDll
eElzK1JJClpPVG9uK1dzaDYrWHQ3NzZTTDlnZmVGdVI4aHFuYnJLMWMvZmkyVXdUK0NKeDJSOG0r
QjAvZnIwM1BnaThSUHZ2eUxmL2ZhVGpQaDUKcEp5L3krSFNDZ093TVBBTzhNbjNYU1h0V3JlUk56
RVlXcUZEWnpsODg5MlY1ZmZ4WStXb095K1NsdmhJMjJjL2ZpM3p6amFYbkk0Nwp5TlR4Mm1mdnlo
WFAzU1B0Mjg2dVR4ak9lK3dXR2JqTlB2SUMxdk12T0h0N0RQdzd5T2tQWGFzRDIwY091OUI5QUJG
YVI4S1dzeDYrCkliSy9TNkcraHc0OVQ3b3R0bXdKUXNqL2p2MGFSOTF4b2JmcEc5ZzBKMnc2R0RZ
MUJ3YjNCUmljb1JpY3Z2M0JvYnR5d2VPMzVqSFoKOVhEVnp5OTJIdzFmdVFTbVRmT1djdisvenBW
RjUxNVFaZFhtUjhwdDFreldVNTJycjljK2Z5L0FaQlpkQ2tZZkZzS1g1N1hPUnFETwo4S1hzQzNk
Rm5lRWJFZ3pqSnY0aEorTnIydTFhNWZFdnNwTjdnWVorT1J4Zkw2K1RlOTk4Vmk3ZS9TanBzbEFu
ZWVxRDErVHlaKzh1Cng3M2ZCZTRqajFyT2VObi91bE5RVGxzWi90MlgrUGhnRzVWZFkvSGxaYTBs
VmxCYndrTmxuNjFoK3RoSHZCdC82RTFueTAwdlB5THoKdDV0YnJ0LzNSRmxtZ2NXZ0VudVNmdk50
dHNEL1VwbE8wZTk0aWxmVzVyWkhtOE5ITWU5OTh4a3Nkem9SZDZCWGtLdjNIQ2ozdi9XYwo5THZs
SEZtK3d4Snl5ZTVIeXFMdEY1UnpINzFKN2dIZkUvMHZMdnRDL0xlLy9palh2L1NnM0RmME9Ybmx1
T3NLMjBLcm1mUFhSOGsrCm8wTC9RZU52eklTeDh1RjNYOGkrNi9RQUU2NTFEbVJ4L2V2MWs3WFY0
UHBCR1JjOEViYkQ3K1I4dGtNb2MrM3d3dkoyeUo4UUJqOUQKdWVESjI2SjIzQitaRGNnak42dlR1
Qjdva3VrSFdTbE15SDJKdlY1T3ZPOEtPWHlUM1dXV21mR0JST3Bnb0gzZWY1ZGd5bzNCcFphTwps
dTVqWmNjQmY2cC9NK2puQnkzTlB1am41THpaVE0xUUZCUEJhREdWQnZLbE1rU2VlTzhWR1lybFU1
dzQzRHNVMTg1dVI2TDlMKzZ1Cm5XZHc3Y3dSL1dZRjE4N1lDWDlJLzlzR2E3dG1XMzc3NjQrbEJU
K1V5Y0xpOG1qTDlQb2ZHcDdvaEVCQ0lDR1FFRWdJMUlpQWV3S2kKUFJON0p3YUxBNUpKUmYrK1Q5
VU8xMml2WXZMa3lkTG55b0V5YU52OTVTa3NJMW10VXhmWjh0eERkTE41bnpXM0V2NnpVK1pFZ3dQ
dgpmcHZzcWdOMExzKzRDc3RGT0VoM29XVFBWb01Qa1cxV1hFZjZZeUF4WUxQZWNzUWQ1K3VlQU40
cDMrVHNBMlYxbEhFR0J2aTMvZk0wCkRINC9sQjduYzZEajdwamY4OFl6OHVDd0Y2VHJna3ZJTHF0
dEl0MFhYVmJlK2ZvVFhWYXlNQWJkTHh4OWxjelVwSW1jOHNCVktzUEoKVVo4clQzRDJIeDdZUDJh
MFRsUnkrbGJmVk9acTI4NTM4QkNIeWZXNCs3bkpXUWM0bTNha1RhZDZtdzdUL0NJTW5BSVc3OERP
WTNLOAoySUR6cmplZWtvMlg2UzZ2SFhlOTJucnFnOWRvckRaZkJadDdSSmpEWmxldE5NenA1OTM4
ekFjTWJuYUJEKzFhdGkydk0yQSt5c3NyCi9pdVU0OTl2MDZEdTlqcGVtdGJOSkx0ZmZyeDBXM1Fa
cmF1TnNCeG8wTDJYYWRsZE95eWV4LzBvai91RFYzdS9SYTdFWkhHTzFyUEsKZVR2M2w4RTc5NVBi
WDM5Q0IzWWR3eTl3cThjaTJzN29jMWs3TTUrOVd1ODN4VzU1NVRIWmVMblY1TzZEenNLQWZKeHNj
ZTdCK3FURwoxWG5VWmdQL0hYWk9uOWF2dFRtdFg5L21Ma0NiUTFsYkE2ZU9jODh2czdab0xiTzFh
aTI3WWRrWUoyRHpZV0tzazBYd2RNSWtaTzkvCmJCTk1QdFJJTGFEbHpMTzREOVQ5K0ExTmpxNlBV
bHZJYkZLdTZPRFZ2ZkhGQjhMdlRReTY5M0paNjVTOVpQT3VhOHJCRys0SVpqTHcKU2RQVWZGdnRt
NzkrK20wYzFPK2V2bXlJWnUzdytLQWQydStBbG8wRC92cHRza3ZwMnQ0TDF6WW5UcUY4V1R1ZUpI
MnlPcjNFL1haWQpQZEJGNnVZL2c4WHVUSyt4WGhjZktkMEc3YWJYb1BGd3N2N0Q3Nzk0ZmxNUXg1
RkMweDJ6MmJuNWl2aUdJZENQRHp2cWI2SGx3N2liCmhqd2luUWRzSzVjOGRidU1uempCR1p6bHUx
TzFVUS8xdWc5dTl5dHc3V0RKWC85TmQ1ZU5jSjBQdXU5eXplMks2L1NkYjRMZnJOeTEKNDdUMHZQ
QndXWC9wYnJxa2t6Y1BlRFBIUFMxa1BncG0yWG93SThMWThoZ2pLSytQUXphajZYOEtDWUdFUUVJ
Z0laQVFtQVlFc0RnWQp2WWd1RmZEUzF1bndOTDVEWm5mTEdHdUFyTkxXRS9sMHBOMk11OHZjMC9F
QTd2d3l0TWFUaUYvR2pjYUgwSVppY0xhMnB1bkJkUElFCjRuVzB4OVNYdU9UeDkxN1dPN2NyWTY4
SlExZmNTYjV4bnhObE1kejVmd2dUaTFjL2UwK2VPL0lLdFlkcm52dGd2Zi9lMkhUN0FzcGIKRTNm
T2w1aTNneXlDQWV3V0dIeHRnYTgvTXl5Q1pWK3Q4UVJodzZWWDFYTituTzNkYno1VkhYbjc2MHIy
ZitUc0w5S1hZUUdmTXBzRwpZUEFBZkRrbzU2Umo3MnU5VFVzc3IyWG1EdlNiVUliK2g1aDRtRGZy
c29hc3lTY0JLR2Vkeml2TE1Od2xKbjN6eTQ4NnpJYytyMm96CnpMM05ZWDJ1Z0s5aFp6NTBBU2I0
NXgzM3dqcURmRXRNQ0hubmZHVU1qRmdXQjBNTy93VXllNjN1WnNieW5ON1lkN0E4Sm52a25iVjUK
YTVVbFBVZkxXVXU0WTNERk5QcmdjSGYrM3pqa1lkZEc0SHZuZVJmUkoxZTgyNzRBbmxibHNZSFBy
M2lmdFowRjlaUzFNN1luRHlqYgpNOEx1YTJ3dUcvcXlUOXZ1SU9sNTBlSENUZHUvNEUxc2xmemZH
aFBmckhEb3k5VXYxR3ViaStxMzl4cGJZdkI0aFV6QlpId21UUGpXClhtSkZPZWV4bTRSTG1tWnUy
Z3h0K2hVNXJlZUJhcE1lYUNaTlJNekpJSDNYWldqZWZQSW94aVFZNkpkZG81cGd2am8velcrV3hj
blYKTjNpcXdpK2d1NmVNMzhzY3JXWlRlZTdOME92SDJpcHN6YlZWUE1WaHlNcjJlR283eExWRkcw
cnRFSXlHdDluTm1LYlN1ZUMzcGxBZQpyRms3NXQ0bkNPYmI4VHBVNUVMZ1A3RTg0NUhyWkF6ZXpu
VVlibWJjdU85SnlqYjgyeS9rZGp4dC9XWHNhRGtIVDV4bWJkRUt5eGliCnlvSHI3NGduYTYzVjlz
Ky8vMXIrZGN2WjhqcGVjTURBQ2ZPNXZRN0ZrOVpaNVMzY3lPaDE2ZEV3ZTZwY3Q5Y0o4aVBlVEhi
WXJlZHEKZlQ3ZS95TDVBNU9La3Y0YlpWWThyZVBrL3NEMWQ5QW5kNzNYMkFMMXZvS2NpNWROTEhW
a1QvMWQ2cnR1VDB5d0hmWlpIYkpnWU1TNgowbXRub1NYMW5CTllYbmZNbzB6Mm01VzdkajVCZnIy
OGlDZTZmSXA4TzI3QU9MeEZOc1Z2eFJjL2ZhdjVXVnZ4MTRIV0JlbWdUaWlYCkJXdGJ4aC9nN1hp
c0lqS0pSQ1FFRWdJSmdZUkFRcUFtQkxBRWl6Mk9kU1JHKzE3SU9pT0xxVEpIRzU4bFFvK1NkZklx
M29yRkRkT2QKMm5kUW9VN3RGNUx0VnNZbTZ0bm5vWlo4TUhHa1pvTWM1YkFNMTdsMjY0Z2xUaXln
M3RtNzgycWI2dW5yWDM2Z1R5RFk4VnNuMjIyUgpaVlRETUN6LzRnU2tlYk9aTWVDYVZkTnNnTVE3
ZzA2VE83YWVwU1h1UUhMZHRjRCs5N3o5M0pkUkJ6L00vbmsxdjBpZjR1anhmQjEzCm5lZHEwdzZE
bldiZ2QzNTA2K2h0K2hvMmhSTVFjNU9hUTlxZk9PdEtmcXZWNUlQOUhLQndhUnJwVjdIVXpHSHVs
bVB4RG5zT2M3V04KWmJoQ21tTnBoc1BFbFpEM21YZm9PM2o1ZWVXQ0oyL0ZYVm5ZSDlpM2MvZE5h
TEhUaDNSblZ6MU1hU0luOXpoQWhuMDFYQjU5OTJWOQo0akVXeTU0c1pMaDdYUnhnOHRXNkdwQTJK
d1phTCtucm5CMERuNGFzUmJ6MDFBc3hVcDk5UGMzVFFlM29oSDAwaFQ1VHVmZTdEZXJaCjJ2MnFl
RXJEOEJtZU5IejAvWmRCbmVmOXovejJ4Yi8reGZ1K2ZqR0g5M3BMOWZ1eFRoQjM3TGFoSElLQjdk
TWZ2QzRiTExPcVRySzQKbCtNeFlMTHVVaXREVG5SaWwrbW1JVjQvU2NVSlBtYUp5Tk9hTWg3bWtW
WWVzcEdCYWNhQU5JVGxGdWdrZTY2MXRmNVB3bVJvL1RQMwpsNDNQUGtDK09lZFJESGliU3FtdHdo
Y3RvZDdWTmM2R2FWdmxaRGNxV3puVkdpMlBBM3N1YlROY2tZMmd4dm5ZeTJ1Nk85alZSelp0Cnh5
b2ZYbnZXanExT2VlMkIyVi8vOVBYOWJ6NlRYUzQvUmhabzExNk8yM0p2M1hRZCtzOGxtZk8zbTBz
bkJmTmhDU1RiRWllRG5DVFQKb2duWVhML3B1UWZMTHQwM2xkdng1SWZYL3o2NFNkQWJUMkR1UFlo
TDVwYkVSUHNrMmZHU0k3R1VxcWtzUE1kOE9yRzQ1OEN6ZEVMOApGVGpEdjlzQUFDQUFTVVJCVkY1
RlhOSS9OL1MzOWZwNTNUUFU2WTJQODNmcEx3TzMza2N1ZnZvT1dmbUUzVERKMkZLT2hiMGFDSk1Q
CnhPVGtIdi9FdGZOUmRPMDR2OTIxVTZwM2QrM2dOd3RZOE9ZT0o2MXRtN2Z5OVlEMmhXdThoTE12
S0dzZjFsWjhQVWIxcGFlMEs3QXYKVDRjWjVrR0tFd0lKZ1lSQVFpQWhVQjBCOXNKWlo0V2V5dEhX
SDJXOWpYVmN5UGQ3Q0NqbStIMnNDZFloMWN0bzdCOWdQN2Zpd3U1TwpubWFyZnFYeWg2eERkQ3J6
bWU3c1o5eWRIanJpUTU4VjJJTVVidGJrOG9mZnNDWmY3MnJDc0tYbTc2aURqa21UcDdnT3RHUmFx
WkFzCnpZaFN5YU9oaTZrcjRrbEJGcGhnUHBpSXBTbFRLWEhTRk5pRUpSKy8vZkc3ek9ZM0F5ODEv
eUxlcHNsT1pjYnVpVEw4SFJzSEhYa0IKbmtGR3hYd01ERWYvTVE1SjliQjVLYytPUEJ1UWt0ZHN6
OVNwQWxmbnlGYWZrWlR6MldrU2gvOXduSUhCaThYNk1qUEJjREtXc24zNwo2MDl5RVphQlhQcjBY
WDVDNGNTOVNsZXUyV0tKOE9QSXpYdkxEbGhHdy8waW5PaHgwcm9xbHN5VkNpN1pyZTBNT1N0aW9G
am1JTnVWCitVLzlCV1Z4RHdqMzBiVERuZXVHL00vNURiVWN5R3Y5amh1REpWWnRxQjF0enVxWGs5
aDZmWXF4UmRlMXNEem5ZWlRSU3RaWXZDdlcKNHpmWHB6YS9vbDMwV0hGZGxjc0d6Rm8vdE5rbEZ4
MWRXekQvUFljL1ZVRzlscnlDTEIxOHBKSE1RZlMyS0pkMy9MbFBaWHU4MFVxdgpIMjJyOElWdEZY
d2xYOWhXblNJM2tBVmRvTmRiNGlQUHdDajR2VkRiTlMzUHB2NnIzVWhIWEhqdGVSRVhsZlEzeGJM
Sm1USEo1OFJ1CkVqZGU1L3l2eDRSeVh0bHp6YTJ4eCtzNjJXR1ZEYVVEempOOHdjdW5IcHhFOEVu
VDJZL2VxTDV4NzlGVno5K251RFREQkcybFJUckwKM1FlZUtWemUxQVlUclhzT3dPUURFeDRHdGsx
TzdrNS9tUG8za0E1WXpwbUZ5SDgreGZzVDdZWmw2UVNJdHJLcUdETjQrdVFIZzJ2bgptZURheVlB
blAvNjltTXBDeDNmWTg4R25XNm8yYS9kKytrRmUxZTlqQ2xVb1A4TW5LOEFYcERwdzhLY2xQaXBM
SVNHUUVFZ0lKQVFTCkFyVWpnTytBZ0prZFU5ZzVNYTNvbjNxdDh3bnBrTmVuYzJuVUkrKytKTnlv
YTRIcjlSOSs1OFdTN2xDSForSUFPaXM3eU9mNi94RVkKS0x5blM2U1FBYlpKa3liTHk1KzhJOHZN
djVpS2NHTzFFamh3RSsva3FWT3d1WGpSa24vVVozN1NadElNNXI4N1V4MXEvenZlZnU4ZgpsN0U4
ekZlUnhzSG5hOW1lem16NjdQMk0rOXRSUHptYllLK3pNOHR5QkdVWlRKODcwd0ZMbGg3bWgzeWdG
MnUvZ0R4Q204ZVBjVXJnCjEyUk1oQlJ6ODl0aXlwSm1ZSXovWEoxNTNWcG44RG5ELzJzc1VmTkI4
Zi8wbmN3WFd5N0V6ZWZIM0gySm5Mak5mbEJyaFVDSU9oa3MKcmtCMzc3aWM3TDlPVDkwUVBnRnZV
SHJ3a01FcWxzbVpQT0pjUFpFQmYrcnoyM2dsc0JhTkJPOWZKbS9sSW4zRVR5UHhjY2MvOU0xUQpE
Zm1mazRVOE42MURzN3lHSjMxSzRLU29mdmRZZlF1NSs4Mm45YzczSHF0dElidXZ2cm5jUCt4NXZi
dXRHK3FweElMUmpJMjJQQjhiCnhsWm1MdWFKeW5rRkFmU0tBWk9SWmsrYldtQ2ZDZmt6WDloV0tZ
TzBJbCt5YTlOc29qNEd4akVkbmlzVFdHeWdiWGttNi9NdHl1b1UKTDVZd3ZibHJ6OHBEdk1ROEM4
dXJ4MTRuQXpiZFE4N0VFcXlWQnU0aXQ3MzZHRGJJWStLay9vTUpNU2MvbktTWWY2b1g2WHhxdzBr
dQpyNTJPYzg2diszYitzZmdLOHVDL0J1dGt6WHpqSktldGY4ckR6ZDBhekE4dHd1dG5tdjJUQ2ZU
bmVMclc5NGJUWkJYc1N5SG13MDY0ClJZNkF2UnJJYXdFME41OW4xNDVPSWl3VGNjUWJuM2VZY3g3
NUZUZCs5RGVTbVlIL21kOU1veDcrRzgwNHBDMC9qc0VXbDhta0ZCSUMKQ1lHRVFFSWdJZEJZQkpx
b2dIVTBQQ0dkQlR1cHlKQnhrdUQ2OG9sODdTb0N2d2t5R2dNSXJwLys4dWZ2NU9QdlIwZy92SjFs
NVlXeApod0NkSGU4QVQ4V0FoSnVBclVlY0hVdWtQdjNoYXgyb2FDY2ZGTDlUdDQyeGViVzU3SFRw
TVZqci9CYmVZRFZVOXJ2K0ZGa2FkNTE1Cko1a0RaUDFPQVF1SEhEZmVkbG13azZ6ZmVSVTk1NTFI
RGpSRC8vaW1ITjZWMURUSWpFSCtKRXd5R1BMMmZ3djd2L1QydTZjTGY0SlAKOVNsMytTR3ppUk11
SDk3QVVqRzFhV25ZUkF5d0owWXg0RUFyTTh5Y2Rra09rMjkwUXkzZkRNU2xUQ1hNQk9kLzZEK0wy
TFc3eC93UwpZUDRUTUI4SnpHLzFtSnRhaThHZnd3VHBlWjlaWnlXZmQrcTJrY1Avc3FOMXJma0xx
QU9IZjBjV0xabWRxTk5oWDMyc2FVTXdPUm1QCkpTNFB2L3VpRHZTSTdWVGdQV0d5eDUwK0F3ZjZZ
N2dUaC82M0Q4YjNPdHJLK2t1dG9rdUI4Q0pSRHcvNDhaZHZaNXVXMmhsOVpqc0wKZlFhL1FzdllC
eDJJa2tiYTQxZ3p2OU9xRyt2U2xZYjhKM05ZYm9QMUM3c3RiSVNsVjl4bnhLVS9iVnEya3JYeFhZ
YTUyc3ltRzlBNQp2cVQvZVFOTGh2STdNUndnVDUzaTJ1anN1RFAvNlE5b0M5aVB3TGJBL1FkOWJ6
aFZQdm5oSzFlY2lUTEcvNCsvajlKMDlkZm4vVExtCk43bHV5SU15UHpiRHI0V0JOa1BPRjgrWHRW
WDFwUjcxRzViOWM5QU9WWVdlc3kxV0N0bytNQkRuSklSdng4dmFzZmUvMUk3clMrMlEKN1ppL0hW
azd4clduOXZIZ0RmVXg5Mjg5ZXVpRmNtWHZZL1hOVWNzZnQ3UGJoTzVadWNUckxkMHI1WERocG5G
T29GZkJuakxhMUF6Nwp4bnFoSGZUQzd3ejNtWDJFTW9rend5Yy9qSkFkTHoxU2wyTGRpNlZYZTF3
MUVFLzBobW1lSFRMOVNDRHVxaCsvT1ZlL2NKOXNPdmhnCnZlNC9QUFZPT1JJdno1Z1ZMeVhJNmoy
cS82OStHYWtxOWRwQi9XYlhEbXlkaWhzcTJXK1c5enU4ZG5xdHNoRmUxdEFzZTVJekJVK0UKT0tI
NTd0ZWY1WThKM0FDUFlMQ0ZkRG1jeWxwaXJzamcrVktVRUVnSUpBUVNBZ21CeGlFdzA4QXQ5eDZv
eTFRSzViUjNSQTVqL3JNagpzaGhrUm5QL3dYdHlPdTVBL2g5NzN3Rm9WWTI4UDQ4aVZSRUJGYkNn
V0xHaTJOZnUyblZYQlh2WFhkdnE2bUxYVlZmWGhyMHNWdXhpCnIydnZCUXYyM2xCRVVVRkJWSXAw
M3YvN0pwbmMzTnh6MzMxUFpYL3NmeE80WnliSnpHVHlKZWVkNUp6a25NOHhZT2lNaWNSR3kvU1IK
bmwwV2trdWZ1bDNPZmZRbTNKVjhUUHB2dHJ0dVhuNFpzZ1B3ZXQ2UlAzd3JVN0QyZjhuNUY4RXJW
enZncnV1M2N1RVR0K2lBaXB1aQo5UTR0aTBIZ01obXV4eDQ4OUJHNUJHK1VlZTdqTjJWQXYwT3h2
bm9oTEd0cUpyL0hRT21jUjI3RThvMEplQUl3Q1c4NmVrU3UzT3NFCi9mQWNOelZmOWR3OWVJSXlD
a3NuNXNjVGs1N3l6RWV2eXdXUEQ1YlJHQXl0ZzFjRGM0blJHUTllcTYvdzVWcisxZkRCTzM2YjVG
S1UKcGY3ajY5bjlOOXNObTkreEpoeURGMmR2Tk94MThhOXdoWk1ZeU5pU0grNUhLZk1KVDRKdXda
M1pLL2M2SGo3Tkt5OWp2OGFBaHowRwptTFFwQmxnR1pQcGFhUno0Sk1jdzRXVHB4cGNlMUtWbTZ5
eXhrZzVDYVdQNGQxL3JBR2V0SlZiRUd2V3VKY3pWWjJDT0Rmc2FJdjl1CmVvbVkzRnZDQkhmME9j
aXNyTFBUNTlLVDN0aDRQaGgxdU9USjI0RC9HeklBYnk5YnJFczNtSzV6ZmdMUFlaaEFIclQrOXZM
MHg2L0wKWlUvZHFXMTUwQVo5MWU5M3NWNS9QbXl1dmdqN1NVWmp5WnppamdGeHdCMERQNzZlbGh0
cFQ4SmJzODVEdnprVGJYSXUycFVUMHkxVwpYRWNubG1YOURCdlllMkx5V2RIUHJNNnU1cUgrUDJO
Q2RPMlErL1VWdzBNd2lCdzViclJjdE91UnVqRzVvZm9QeGRPQlVDNG1FMzJ3Ck5HL3o1ZGRHbjd0
QkowQmxmUTQ0V21pRy9URGN1SHd3bnVod0VNNnpaeHlXYmUyTkp5SHM4eTc0OHl0cUgrN0h1ZUN4
bTJVRSt1dzgKNlB0OThNcnAwUmpZWHVneDV0SXU5bzE5cnpsVmZlSEVOdlFkekd3ZXhVc2J6c0t5
SUE3Z1AvaG11QTVFendlZVZ6NXpqL2FWT3c0Ngp5Nys1amQrV2FZRyt1a1p4WFZCWDE3NWpRdGw4
dW5BaitnK1hQSzZEVjArUFFsdHlBN2oyUTd6cGE1a0ZGL1gxS2hIdHg0KzdjM3NtCkpsU2xmcnlp
MS9mOUdIMk1iNmdyNjhmODI3R3BPL2ZDT1VZa0k3eTBKTlI3d1hrNjRVT0htOGplZU5GQVN3ekdM
WENmeHY1NEtjWGwKejl5bHVITEpIZnNUYjJwd3d2R1htOC9XK3ZFbEFUdzNlaSt5TkpiTTlkWTM1
MjE2M2lGNnMyR1hOVGZUWlY2WFBYMkhYSThYTm15TQpteHNMemRjRlJkVHBQcEFLK3l1c0xjdDM2
eWwveFliM1BsZ1dTWnpWWiswRjlJenR6bEJxZnk3aGVnaFBNU3ZQblUrMS8xeUV2NCtqCmZ4cm56
NTBmY081YzUvNW1vUTY5c2R5MUYvYUFuSTIvQ1pjOWZhZitqV3VQVjBKemNzKy9ueXZ5VmRQNlZJ
Vi94MWxzaEtGTFNZNkoKZjBWLy8zdnovTThoSTVBUnlBaGtCRElDVFVPZ3JuN1FhN2dhK1F0U0xk
MWFGNnlDQWNGMGJPcmtSSU1YVm40VUsxejB0Q3hlNEZpMgpYZWpxWlN4ZStkcDViajh3Uzh1RGZV
cC9od0hQQWgwNmxXeFJqZ0g1bitJdWEzUEUrY2FyeWxCWm5pdTdldjI1MW4va0Q2TjE3WGh6Ckcw
QlllV2tCQmZVUFBtR1N4RGZZMUtwL21UKysvbVB4QnAvT3VHdGVOT0FLYWZURmwrOHc5ejV6WTM0
SWphdC9XWjFqZmZoVGowa1EKQjlTS2Y3RHJtTEhqZjVETytqcGloK2ZrNlZQZE53aWdSNXN0OGFI
S3h0VC96QWV2a2I1OU5zYVRrdWw0cTlGRStSRy8yMTk1UW5iRApIV3B1NXRaNnNraVBENm42UEc0
VStsazMxODhTMzF5MFZIL3VHV0kvYTY1ZmlTNXYvNGJxYnhqSDVqazU0aXVjSzlyWCt6Y1Y5V2lG
ClpUNm1PeFZQM2pTdS9aNWwrLzRiemdYdlQxUS9MUS90cTMxQkp3VlVxNU14bUpSMHdmZHRMRDln
NGxLU1k2bitYZ0hFMGx4S3FFdkIKK1JQS3BsOUZvVXIvVjU4Z24vYVBVdGxtejdCdzllZWVqcEhX
cHV5SE5leFg1Q2MrVW4zY3BCOHhrSjhYTGxtOWpmTGJJMk4xVTc2KwpvU3JSMVdqYUhva016NDF4
ZUxMTFNiYmFUK1ZUL3dQMmxmWG5rOE0yL0E0U2RJZ0Q5NkpVMUsrS2ZYNkVjTnlrOGZvM1l3ck9R
YjVzCndnV3JhMlY1U1ZXS28ybDVsTnBuMVdMWm5Kb1J5QWhrQkRJQ0dZRUdFTUFFNUZWY2xuL2hC
YW5DY0hxQlN3WEtCeGhwYnUxNGFuOU8KdDVmV2FFNzM5N2YycituMXYvTFp1L0hkanlma2lTTUhs
aW56am43UExndnJXdjNaMTEvLzcrdGZWdW1LU083L0dJVURsZG4xOThwcwprLzZTa0xaUGF1TzN0
ajhIMk51M1QxckpITThJWkFReUFobUJqRUJOQkhCYmpjRmZjUFY2aG9PUE5uQ0R6cWxWWEc5TjBh
Z1RLejlHCmVXVE5Scm1RaTFrZXFRYlQ5VlQxY2JEa1ZGN3pvVmd0UDJSNEFaWEhvWnE4NWpmQm5u
TTZPWnB4YjhkOFRxUTBhbm4vUS9YbkJ2VEQKQnA4ci9RWWVvMi9qNHI0THZtMXFheXpKNDBaaEZ6
eUcyaDQ0R0tRcFhwb1BqV3I1SWNNTHFEd08xZVExdnduMnZMZmx4SXg3Tytaegp1WkNMV2Q3L1VQ
dVh3WkRyNy9yaW5OeitaUTJXSXhtQmpFQkdJQ09RRVdnY0FuWDFWL01KU0dORHpSRllEVU0xOU5N
QlJ5cGV3L3JzCnowNGRTaDJ1NVVFTi9kUmNLbDdML0d6UFR4MUtIYTdsUUExOWI0NHZMM2dPTHhu
Z1BwRU5zWmVJYjBXYU0wSU4vMnM2V1VNL2hUTVYKcjJsL2RndWtEcVVPMXlxL2huNXFMaFd2Wlg2
MjU2Y09wUTdYY3FDR2Ztb3VGYTlsZnJibnB3N0I0ZjN5RTVEWkRuc3VJQ09RRWNnSQovSCtJUVBr
VGtQQTRnbGZDb21EcFJwTUxVaElONjlHNWRsaERTcGxvYVdDcHoyQzBna2VHclVObW52SEJQaFBq
VU9FUU1pMk5jc2FUCk10QVhTOU9FNUdDK0dqVlpyNTlFSy8welBhTTBIL0hlelA5Ni9mbEdvVzFX
V2kvQkh0RjBEWDF1L3hJbWxXZ1JNUHpZdjZ4akdXOTkKcmxaK2F0VDBqQ2I2U1RUM2YrQmtmVmFo
Tk55TU1qSGlyWm1NTXJ1TVI4VDZ2S3FtOXBrWUJ5clR2aGt4M3Nxc2xSL2JJbTk2UnMxdQpLcGZq
R1lHTVFFWWdJNUFSYUJpQkZucUJOSm1LNnhNdU1QRUZ6K1NNV2g0cGcxMlhqTnJGbDdReEliV1g2
amM1My9zVWlqZkdLSjJLCitGeC9CMGRqMnk5dEQ5TXptclpmclQ2UTJrdjFtNXlmMjc5cy9CbjZl
dFRuUTFxRVZXUGJMMjBQMHpPYXRsOXUvNFlSU1BGTThXdHkKZnRTbVdySzF1MUVtUmp6YmpkSEd0
aC85eVNFamtCSElDR1FFTWdLL0FJRm1Pc0V3UlY3d0dFaGozcVZXSHUzYVJWcnc0M2N5UnVMagpn
WTBPcVQwcVdwcnlQaEw4d3dWUS9lU0ZNT0pEUHZVakEzYkJKSTE1Mm1ZdzJXcjZUcXAwTk5Pa1JU
OUtta3hKcXpwbnNtWXIxYS93Ckw2cHpWSCsrWmVuRllXKzdja3lIc2JqT01lOGsvNlAxbjRsdkdu
dzBhb1NWN09odlZIOXRSNnMzcVBaRHZPSjVUcXAvZWNWOWJEYlYKUDVRVnQzbk1tMENFV2RtNVlQ
a3BoYi9hanQrTUNQMmYzeGtaTmhyZkpZbnJrdXBWaThjNk1XL3lGZjRWOS8rMC9VMzl0MjUvZm1m
agpvMUVqUXQwci9nYXdZS3NIMk5BUG1WNFVUSlkwNWsxMkRxdC84Tkg4eXpRamtCSElDR1FFTWdL
TlJBQmZRdWVWRGhkeUhjQlNpeGQxCmtLSUxvTXA1R2VWTjF4Uks5TTdYbnBDdVIyNmgzd3VnaG9i
WVpzeGJmbG1oaFFKQnN0Z2c2MEc5S3ZWaFhabXQxTXZOcHZvWEFzZ2kKR2RRSHg0WXFoNHdHQmJ5
U2tkUmduYncyNG4xWjY4ejlaUHVCUjNzWG92YWNRK3JQRDhLdGV0cWVjZ0Erb3ZkYjE5OFpMTFgv
bmE4OQpWZXFIYzBqOVoyZjdwL1V2TzU5LzQvcS8rZVZIdmgzUFFJZDBuZnJrKzY5QTN6dkt4OWxQ
clk5RzdHenMvLytwK3IvNUpmdndIcTRQCmh3YTFpaGt0MWYvTzE1Nk0rbUdDQmNVMEdGYVYraVpS
VGxQNS80dS9mK1VlNVZoR0lDT1FFY2dJWkFRYWd3QW1JQkRUZ1ltL21KR3YKRml6UDVJTXViWWgr
dGRtK1JzN3ZPQ3d5MzRMT2tzcDVvN0Y1NHkyL0ZxVUowNG41b0dkZk5TZkZUNi9IbnNiWDVpQVBS
bmxTTWdoRwpYYXo4YUhsVjZxL0Mza3dacjJWNFV3M2xtMXcxU2hNTjZzL0NCK3Q2eVI3NFhvYUcy
VnovU1ZNbTQrdnp6M3NNWFpFTitrY1IrTStQCnZLMjNaRzk4UU5KL282UmFmZE4wcjgrdmd6L0lM
OHdiRmtIT3RmOGtmRm45d2JlZjAvYnZ1K3FHNWYzUStvSHE0QkFvR1FScll4Y3IKUDFyZUhOeity
ajcvbWY3ZmUrR29IVDE4QTdZL1RKN28veStIbTA5elBua29MWTFSNDBrTGZxNS8rWGFPWmIycFNu
M1gvbnJ1eitiegp2Nkx1QmY2cC83NmY5bDAxK250WTFmOWlIQUkyMUxOeVlqNWc5NStydjd0bTBJ
a2NNZ0laZ1l4QVJpQWowSFFFOEdWQUJydUNHYStKCnBZdGRsZXhZWUJxKzVyM3pGU2ZJNjE5OEdN
eHhnRmtYbnBUWWxkTm9YSllWa05KWUJyeXBtbGlTeldoWnFDbGZRNkJHZG9WREtvOEQKYWN5WEVp
ekR1NG1Qak9FRGZTVUZVelJLTVRYazVJMnRrdTJFUkwrNHJDdHNhc3JYRUlpeXAwK25ud2crYlJv
K3JyZnpsY2VqdlQveQppY2pRUEU5alBxci9MQ3k5WXVDSCs1bzE0MnlBZ2NKRlB3RSswMVZDRHhE
UmN0blBSckJjQkMzSHNUdzZ2OWdQa2UvelN2MHdsVGRsCjBwaW5KWVE0S2VhWnBaT1JPQkU4L3F1
L1ROWXNsK1lpbW1BWm9BeHhHdm4wRjhzVWlDZlpqSmFGMUR3ekxVMEZMV0xsSmdJTlpNL0MKUi9k
b3JOU09FTWIvdHExYXlRSno0eU9ocXV2U1hFUVRFZ2RLYWE2ZEdYYy8vWHR5cGY5N1FyY1lTdUxs
dk10MUlqWkpyQ0ZmT3U5TQpNRGJ1RGNaSkVlL3FIdmRoWnVLbk1vNU93d2RZOWZ6UWZ1cnlYVC8w
dHBXb2d0UDE5WFpHbkx5VE5Ca3Z4c1FxMlU0K09wcHFWZmthCkFqV3lmWVdqQWpPYkVjZ0laQVF5
QWhtQnhpSGczb0psRnhwM0JZV21UK0FvbGhkMFd5OXV2RjNrby94TG5ycGRIdjl3cUh6ejB4ajUK
QXZzK0x0NjV2M3JBTmVJbjNIT1ozUGp5UXpKMzYzWnkveUhuNG9OeTduc09vL0NhMVhNZnUxSGVI
UG1KL1BqekJMbDBsNk5sN1NWVwpqRHluSDNiTG1zbkd1NEhyRkh3dHVQVmNyWjJQbXQxNGZ5bXUx
VFNUSWNFeVFLUDZNZlcwQjY2V296ZmJVMXExYU1sb3lKODJrMS81CmJnSHZQRmFHandwNUxNdjRl
bm44ZzZIeXhzaVBCWnR3NU42M241V0J1eDRqS3kyOGxMenkrZnR5MWZQM3lnTDR1alhMdWVqSjIr
VEIKUTgvWHUvam5Qbll6c1BxNGhGWFBGWUlQYXQ3OGRaSFFkdU9CN2ZIM1hpWnRnZFZuWTc2U3Jo
MDZ5OWs3SENydGlCM3F6enUxcHo5MApyWFJzTzdlOGptVTFxK0FKQmV2SitqLysvc3ZPVDN6Ri90
NDNuNUdCdThIUGhaYVVTNTY2RGUzOUN0cDdySHlCcjFWZnZQT1JNaDZ2Cnp5MzM4U2hadTZkclQ2
NS9QK3F1aTZYN3ZQUExLT2k4L2RVd2FUTVh2dEJzZlVwOUxoMFVIL2pTak9XK2hYSjNQUnI0TE8z
THRYNkcKY25jNTB0V0RxdkMzekMvMlErUXp1SDQ0TU9xSDU2RWZkdGY2OHd2WTV6NTJVOVFQdmQr
R0p5a0RmTDNsMWNma3A1OG55Z1E4WmJubgpyV2ZseFdPdWRqaXhQVEhwYVlhSmxlS2svaTRsbjN6
N2hWejUvRDBvZjVac3NOUXE4Zy8wSVg0bCsrS2Qra3Y3MW0zUnB3YkpDNSs5Ckk0ZHMyRmRPM0dv
L0xhYmtqN1UxL05IendqcHJ5WjlKT0FkT3g1Zmp5OXB1ODczVVRtRzdiLzhYYVlkeUdjYWpIaFg5
Z3ZuNEFyZjIKd3lIM1lUTFJVYi9hYnYxd3VXNDk1YWc3TDNMdE9CN3RPTkszSXpyUzE5aG5jOFBM
RDh0OTZNOHZIM3VOUFBuaHExcjNoZWRiUUphYQpmeEU1KzlFYjlLblh3NGRkSklzcjlrbi8wbloy
NTBIWjM1Tng3dS9KK01rL0ozOHZpTXRLcmwxZWVWUitRcHRNbU96YjVkaEJwYjVsCjV5TndyOWFm
aTMxdElROGZkcUVzUHIvN2V6VVJ0bys2NnhMVXZVdXBEK3RYeGt2dFlYOHp5dnNoencvN2V6Z0xm
dy9qZm9pL2gvNDEKMDhYdGp2clozMk9lck9HUEZ0bms3MDFCZnpWL0lLMzlOT2d3emo5TlpwTHhV
STcvbTlVWWU2cVhEeG1CakVCR0lDT1FFV2dhQW00UApDQzgwUlQvYVlucTFZQmQyMFA2LzMwMEh0
bjFYMlVnRzdmMzNNTWk1NjQyblpmUGwxcFJYanJ0T3JaejU4UFZLWjJEUXZ1LzFwOHFwCjJ4NGdU
eDd4THgyb2J2dXYvakp1NG8rbDB2eDFVSytMNVAyUEE3MWRjSGQwalRQM3hXb0xKSnJ2OFFVNTVo
dWJiM0pHNlFsNUgyN0UKNE9yYjhlTXM2Z1lBaU4yTTlHVlA2aWVYUFh1WFRNYnlvT0FQSlNOOVU1
dzZmWnJzZGQwL1pJMGV5OGxSbSswaG0vVmFVMDdGd0pTaApCUWF3OTJDZy93Q1dicXk4MEZLeU81
WlRkV3d6RDdBNnJSS3JuOGY3UVlSdnYxQm5Xbks0MUdQZ3U4VWxoOHM2R0tnTndLVGp0aitmCklX
OWdZTC9EWmRnalF0K2c4d2VzMmQrdTk0WnkxT1o3eXJGYjdDWEgzUDB2ZVExUHNvS2ZpeTN2L0VR
N21wOWw3YjNuaWRJS0U3QjkKci84bmZQeXpQUG0zZ2FYMnBJOElmYTg0VmpaWmRuVU1zdmZGUlBN
b25hUzZwMk4wRmI3eXh3Q3E1VjU3U29JUEI1UVM5Yk9OWFQrYgpxMDBKYitqMjMzVDM4bjdJU1Ja
QzZJZkhYNmZ4TXg4R1JmMW40QW1MK3YySEF5Ty9qNVJ4M3UrNC9hYWp6M0tpY3VENjJ5c2U2MkJ5
CnhidmgzUFMvRi8xZEhEaWgvTTJXVzB0T2ZSRCtJclJxT1pjOGkyK2EzSThsWVp4TWNXQys5QUtM
eWg3WG5DSlBZQUkzYUs4VDVkQU4KKzhuZjc3dEN4azM2eWZ1RHR2NURlbDc4cFBXM2MwQXAvUC9E
djQ0c3RSMG1IdHAybjMrQTg4SzNPM3djMFBld1VydGZmcXhpWEp6LwpzZXpBZk5odGdmYlVmdmp1
QzdJeUpuN3NoMTNhZDVTK3lBL3R1SFBVanNDK0xTWXUzL3c0UmllNXRMRXlKdFR2ZlAycFBBZ2JQ
VHAzCmxlZVB1aEpQVEpyTEdjUWVRWEd6ODRDNDlRSnUvandvdFNQYVdmdFh5K2djc1A2RmRwcjRr
MHpIWnZCekg3OVpEbHdQN1lJK3JPMkMKTkcwNzlpdjR3bDlGZVd3bmxrZGZGNGw5N1NiUEgzMlZQ
dDB4WCtsdllSK21iWlpoNVhoYTVqL2FtSk02aHJ2ZWVLcnk3eUYwWEQvawpPWjZjUCtnVFpXMk9v
a0pjeTBhYzFQd3dtdmpUcUh5elk1UU9rNjhXV0VZT0dZR01RRVlnSTVBUitBVUlGRHdCNFFXbmdR
dExqWXNPCjcrNkd3U1FzYmJYQzJyTHVrcXVvYXhzdXZhcThoYWNkRElOeHgzSUdCZ24vZnNmdElX
aVBnZVQzdU5nKzk4bWI4c2ZlRzZpTUhxTHkKSHZ2Z0pSbnc2STI0Ky95ekhJa0J5MDI5LytHdWo1
QlorK3o5NUxzSlA4ajFlNStNTytiUHFuM2U4ZWZFcDJPN3VXWDRtSy9sOE52UApsMWRIZktCbU44
Tmcrb0orZjlNOFZwZFBCZzY5NVJ3Wjh1bmJlbWQrbzZYNzRBNTFHN2xxanhQa285RWo1SFpzcXY4
ZWc1M3pNZERoCmR5cGFORytPZ2VPT01pK2VHdXl6empheXdkS3J5QVZQM0NLOVR0bFo5a1g4NFBY
N1NxZjI4M29zN0NKT1hPdGtManpaMkdmdGJZVHIKeUJrNnRHNHZINDRhb2JLckxMd01CcWlMeUdL
ZHUrRmJHT3ZxNzRhWEh2UllZVjhEUW5zTVpoeFdiOGdmVjk0Z2FxNFllOGR6OERkMAorUHZ5YlAr
TlZKZkxRUFpkWjF2NTA0MW55UFBBZXZMMEtTajdjMW10Unk4dGYrV0ZscGFiOXYySExJR25WSE5o
RU9yOFhFcnpXRy8xClV5MjVnN1kzV05lZU0xeDdJdTU4SEs4ZkZPeU1nU3VmbHR5T3lRL3J6eTZ5
SmZyRjUyTy9jVVpDZHdPRC82RmNQSWxoWHlxVkd3UkQKdTZ1QmtGeXFmNmtmSWczQjljUGV5b2Qr
Q0wzZ04vZXlvUEQycmRxV1k2c2E3c0NuSHU5ODlhbmM4ZnFUMGc5citnOVlienRvMUVmdApDWndR
T3JScDUzR3FrMFd4RDJxRjdrdG8zMlI3c3Y3YnJQZzd1Zk9OSjZYL0pyc3hLbi9ab0orY2NOL2xN
Z0o0dlBmVloyaHI0TWc5CkxBZ0J4MkU0TDlqV0dseUZIOFBUS2RkMnl5cE9uQ2hvMitHT2VxbmRy
OUM4c25hSHJaOXdOOS8xaTh0WmJVeDhNWUZFdjNYOTRnMmMKczcxTC9SRCswdWNobjc2bFR6bHYv
L1BwNmdVeGp0dVJUMkdXN2RvRFRRYUQrTEgvTDlhcG16N3AyUlNUQ3haRTdOLzkralBWbjZ0NQpk
QjVBSmVCR2ZSOXMvQnZhaVg4dkVNSTVNT3dOM1U5VTNpN2JzMHJxZ3dMczdZWHpqdjBLSWZRckNI
ZHFGL3U2aHVZSFg2SHY2bTU5CkdGYVR1cXVDK1cwVWljNS8xd2NwczlVS3YxTnN5Vys0RlA0ZWZv
Vy9oeWgvOEZEK1BXUzdvMzRRRCsyT3lXdmE3cXBBQXdhVFVTcHEKMmI0ODR5Ti9YRDZWRVV6UHFD
WlFOeVNvV05raHRsV1drU01aZ1l4QVJpQWprQkZvUEFMNERnaUU2L3dGeC9nR3JqKzFUSWU3Mmw2
dwpOQkIwQTIxdUlHYVpRN0hVaUp2VWwreXlzRW91aVVFVEIzVzZjZDNLOTlmQzkwY05sOTBIblNR
TGRaeGZUdHBxZngxd3FKSmRLMEdICkhIV1Y3SUM3N1B2Z1NjRWhHL1NWMTArNFFlLzB6NDFKeEpU
cFUyVkxQQVhZZlkwdGRCQThGZXV6LzN6VEdaQTlWZTQ5NkJ6NWVmcGsKMmV5aVEyVnpESko0ZDU2
RHRkMVFudk1kNjlwYnRwYnVIYnJvcEtNYmxpOTFhdGRCNytSeUFHWFg2c1U2ZGRkbFNLZHMvU2Na
aUNjaApxNTJ4Tndidlc4dmZ0OTRQTWxZaGVsMlBZVUtkblA2SGczUXk5c2o3TCtsZDRvbFRmdzYy
V21OWkI4dlFrR0tGdWhLemZxc0FxMDRMCk9oM2lZTUxHZXNjNDRlb3k5N3g2UjF1VElNc25Md3lj
REk3QnBHMk54UmhIUVhRVGZXRzMxZjBtZGtRYjhoUFpXaGZxbGJVbmZXUjcKZWgrNXBHelpCWHZJ
UEpob0dSYkVWUHNLeTdUZytZQVBCbWVQdkpmZzQrc2ErcG42bkJoQU5PUnJwUkRuU05ETGNzS24v
UkFKd1c4dQpzMEcrODN1ajhuN296Yy9YdG9Qc3RkWldzaVAydnV5eTJxWXlFRXNHbTljMTExekZx
Y0pmR0VTeDlFWGRadmtvaEpNYzljVkZYUno4Cjl4TitrcUY0aTFrNEw2Q2tiUjJmRnpTa2R0RG5N
VmwyYlVkRERHaTdOVnpibGRyZCtjZmNVcnNQazdGNDBxajlBaE1QTXhqbnI3dEUKYnduOTBKZkht
d09sZHFSRmQyNW83U2hqZGJWWkEvbzljWGQxZDBaWTk2bllMOFk2TUs5Ui9RdW1TKzJFdnhmUURi
aDBYRkRtdlpQcwpBQUFBSUFCSlJFRlV3N2xTMWk1WS9zYTlLUzY0Y3NuVGs5UC9pUFB1Uy9TcitM
enpnSlo4ZFpxeHJ6WHI3Z3B3VUdxRm5RMkhUZXdECjBuMlVFeURYRDFFL2EzZS9IQ3V1bjdQazlh
TDJWMkJwSzVSbjVSaWxac1NickNYeDc3Nm0rUVRqZlpUYU9XUUVNZ0laZ1l4QVJtQjIKSU9DZmdQ
Z3JqZzdTd0VjRENPWERBTnF1Zm5iRjB5c1cvQ3Bkc1RTbkZJMnpTaGRLQ1AyRS9RSzhlN3hxRDl5
OXRaQ2E4M1phWUpESAp1NWZjWU14bE1NRm92ZmNIbE10Yk9IRTRFa3ZCL3J6dWRtcHh5K1hYVWZy
U1orL0tsMWlmemp1ejV6MDJXTk02dHAxSEJyMXd2OXA3CkRuY1p4K09POEhuOS91cjJkNkQrOXgx
eWpqeno4ZXZxOHlKWXc3N2Y3N2FWczdGZlphYyttOGlpdUt2cmdsWFVVL2pCdlFiMDArNk0KUjlD
NCt2czZjcy9GMXo5K0ovL0NJUGJ5NSs3R1BvQzNuVW1EbGpGdlZyR0M3NnN1dWd3U2ZaMVZ1bFIv
amFZSDZCTXZMaHY3Y2RJRQpmVnBEbTcyNkxxWllUWjg1WFFlaWIrQ1Zvam94S0dqLzA3RmM1dXNm
Nk9kUjhQTWVlUUdEM2pnNGQrdGRlNWI1V0pMNkJuc3N1RmVFCm1PaUFqRXI0YVRkekJweXd4NFkr
VnVDajVTSkQyOXloUURrRnlhYzVJKzZvWmpYZnB4cHZsTW53TjJDN0NMQXRxSDlJVXpOMWN2VWUK
eCt2VG9aUC9mYVZPNEo0NzhncnAzTDZEOTNkTUpVNXhlWFFLY1c2KzF3bVJyM3RkMkl6dnp3dkZN
VG92dEd3ZW9LeDFkVWJINHBzYgpydTJDUUdBcTJoMDVwWGFmVWVvWDJCODBiMXRNREpuZnpmb0Z6
akVEMENqeVF6dkNQL1hmTllCQ1ZPWWIzWE11MG13cCtQcHFndWZMCjJ2blo2RHp3V2xaOHFaMklp
eGxuTG5qOHZ4cFBLdm5VcnJ4ZDhBUXlDYWMvR0o5M2Q3bitqUHFVaGVDbnBkZnIwakx0dzNpN1Zo
MysKMXJoQUhNaDVPV3VicUQ4R1UxNURpU1ZHTk5TUGZ3K3RXTk1KY1RCV0J2T01qOG96bGFvMDJL
SStJM0RDNnQrSS9nOWhwNk1GeE1ZMApJUjh5QWhtQmpFQkdJQ1BRS0FUOGxaUlhRbDZJcU9OcHpP
dG9oREoyOFNHTitaSytxdkdDWmhjMW1yU2dtWWlBTG9HNytBL2o3alkzCndxb3BwSEVkOUVQdnZP
QjB6UVlvbHlRTlBlWWFPUlpyM00vQkpLQVBuaTdjaGlWUk0zVXlRbjlMNWZXWXI2dVY1Z3JDY2RL
MHliaWIKTzVjT1VCYkgwaWIrMXNjU2t3Y09PVjgzai9PSkNKZHI2Uk1OWDMvZTdkNis5MGJPTjE5
LzFuSmEyVnVyU3BnTUgvT05IRHo0YkZuOQpySDJsRFo1Z3ZIWENqWElNTjNMSE9QajZjdy9MaVZo
eWM5bzJCOEl5L2ZldWFqM0Fhd0tKcXhjSFZnL2pqaTBuU2M0ZTlpNWcrZHBECjd3NkJVSG45eThx
RG5lV3hhWmptWDhFZFZoZnFNZkVaSXpNd1VXTGU0cDI3WXhQNWFIbnY2K0crMkRwOU14Y25iUnpj
cXAvYndrOGQKZFBrS0JJZXB3clE2MTU2eGovQ2RTMHJvNDZKNFV2TURCcnJ2K2FVM2tib3JreWIw
aHdQK3Y0SDlKeWZlVDN3T1lPMlF4a3dHWDFkdwptcUxweGZWM0dxYW55djRRcDZWK1U0VDdRdUEz
KzZHVzU5TElqd1JPSThhT1FqL2NVMTQrWmhDV1ZZM0RFcTVISEU3NC9vWDZTNXlDCnY5QXQ0MmtM
d1Z3Z3RaL1AwUE9DT09wNWdVem82M2tSdHpYOXdpKzBIWmFGV1RsOG05Ukx3OTlOMnQwVlVtcjN4
Wk44Wisvckg2eGYKTE81OUpMWjB6T1dIZHZ3RzVXa0cwMVhBeVZoN0lHYitoR3hONDhFSHFGV2VC
MGlrT2RyUkg0bmp3emxBWEx3L0RwY1g5V09uSThaKwpyWDhmWGo3YTJ1VlJHaW9WQnA1N243UmZh
WDkyZFhJQ01lL1ZWSlhwREZoSzE2bXI2OFBmNER4eFRtbzZjODBmVjJmb21QL0ljVzlMClU2SFNn
YmJ0eDFUd0RiWjdzT2R0Ky9vWGxlZlNyQ2l0UkdWaGxxMTJHUEgxVjNHVzRWV1libWtxd3dobFRZ
QjhEaG1CakVCR0lDT1EKRVdnNkFtNENZaGU0V2xRdlNIWVJzb3VQVWNGU2lIbmswKzlHNnVWcDFQ
anZoY3VLSm5CcGtRK01UOVFsV1BXeUI1YUs4SzdmTGxmLwpYZGUrZi9MdGw5SWZiMG5TdlFpbTRH
NHY0cHFITXZEam11bEhEcnRZcnQ3OWVOM24wZnYwUFhXenJlWHJ4WmZ1V0QyOHY2dGp5UkVICkFu
eFQxUzZyYjZZL2x2TXg5bll3ZlYxczBPWlNpTXVldlZNSGU5eWdlK05MRDhteGQxOWFzZ1U1THBu
Z1c2aDRFZjV1L0EvNlJpVnUKZ0wwR1QxSzJ2UFJ3ZlR2VWg2ZmNKc2R0c2JkMHdIcDREVllIUnVn
WHdwZis2L0F2RG45SE42MC85TjRMT2tuaVhXdHVhdVlrUjVkawplZDA5MXR5eWhOWDNvK1NUMFY5
SWY3eUphRFV1cGFKTmo0L3hrL0ZtcEtrWWlOTFBIYkJ2Z0JNdTdnbHdBUjhyeEFDZmI3TGFaT25W
ClpGZmd3YmRoN1Rybzd6SUVld080TCtUQW04K1U1Ulpjck9Rbm5zNXdjLzFENzczby9ad0pQK3Rs
UGp4Rit2UzdyeFJEN3FuUjlvU2QKRWZRUi9jQjg1SElsdnRIclBPeWZZZURFa1lOQjNsSC9tZjBo
Q1h4YXhmRGk1KzhLNi9MUSs3NWMxR2tXNnV2SzlmME1rNm0wL2lFZgowSXhDZm5rL3JOTjQ2SWRy
YmxIQ0ZvUFlnTzJpdkJNTkE5RnZQUFllM1lxM1lCSFgzbmhpc2prMk1TK01KVUJmWW1KUzZDL2JF
L3BjCmNzUUpvOXFDNEJSc1d1Y0VrSnZ0bWNZblpneVUyY1A4TVJ6RGVSRzF0ZmNwdE4wMUo4a1F0
SkcySFNiQmJMdnlkdWRKRWJYN01xdkwKRG5qcFFPZ1gzdDVyV0s2M0V2YXJzRitZWDlvUGZYNnBI
ZmtVMFQzdDR5UlYyeEh0eEhiZ1BobSttWXYxWnBpQ3V2TU5ZQnFReG54OQppZ2srNE1ieklHNW5m
eDdvM3hQc3phSWxidXpYL25VTi8xNzRkdUxmQzdUVGVQeGR1UlUzSk9oemJ6d2w1RkxLaGJGY2t6
NDZ6RjM5Cks4cXo4NDc5Q3RoenFhYjZTdDhUWDNmcEUvZGgxbjFXcVErejdneDJydnZ6VWZzaC9Z
Y3R2dmt0OUVOdm4zSHRoMUF0Yi9kdjhQWTAKLy9jUTMvVkorN2ZXaVRaWWp0R1k5L2JUK3F1UHhN
UUM1UmhNdmhaTjhIVEsrWmdSeUFoa0JESUNHWUdtSTlEOGxLMzJQMFV2Vk9IQwpGRjJnbW1pUGQx
Z3ZmT3BXR2ZiZGx4aGt6cFFiaHo2c3I0eGRaL0VWOVFJOEFFOHZ1Qm1jZzkrMUZsOUIrTFRpVWd6
NnozM2laanpSCmVCeWJjbmZWTitkVUw1YSsxY3VDMklmQnQyM3R2ZGFXMHJMRlhMaXovcW1zZHVi
ZStocFZibXEvQ0srSWZSbDNnWGZFMm5rR1BwSGcKUU9VdnQ1NHJGejU1cTV6L3hHQzVhZWdqR0VR
dUpiL3J1UkkybmJkUmVpeGVqM25HbzlmTEZYaHRLbDhuVEgvNE9sd0xmUDNtL3RnNwp3aVZURnp4
NWk3NzZkQXNNakpidnVyajhkYU9kOEJIQVpYVnBrOGs3WEhtUmp6SGx4dVFGZEZETnQyWU5Hek5T
RGxwdkIweG1IcFozCnYvbE1mc2JnZE5BTDkrR3B4TGV5RU1wYnZudFBIWEJYeDhwaFltVU8vZnc5
WFNyMk9TWUJuYkUybmo1eG9Iek80emZwNjJQNXFseSsKU3ZiSzNZNlQrYkJKZUc2OGtwV2I0UWUv
K3FoYzhzd2Q4aHdtSVFPMk8xUTN3WE1ETlFmL2wyRnBUSm1md0hzN1RHdzR5YlQyNW9TUword011
ZmFheVBibjNnOHQvK0JwVzF2a1pMSG5qSnR2cHMyWm8rU3RpMEJ1SFVya3BQc05SN3ZwbDVXNno0
cnJhdnJGK1dUL0VRTC9VCkQxZEFQeHdqbGYyd0cvcmhIZWlIZ3h2c2g5d3YwLy9PaS9XTlgzemJF
NThZSEw3eFR0aG8zYlhVbnBoNGhmYkVFNTl1SFRwcGUzRDUKVHA5RjNLVG10SWV1QVo1ZnFjdXJZ
aUxEL3ZnME1PRmdmWnNWMXBFVnVpMVI1Ynl3dGlhdHE5SjJmOUcyNDBzU2ZvKzNqaFcyTzI0VQpj
TGxpeUVlZjROTTExeStPUjcrWUIrZkh3M0xWa0h2TCt1RThlSTIyYThjYks5c1I3Y2xKeEFVNHYw
Ymd0Y3p6WUs4SEovVVg0ZS9CCmFQUVQvZzNndnBNekhybE9YL2pBL1NZYllVTzY2MTlvNXhnM25B
ZmI0VVVVbGYxck1mU3Z0SjJXeGo2bWNUclo1U1JYMndWdGMvakcKTzJOWlpuemVpYjRRb0x5OHZu
b1Q0VjA4MWVBK2t1QXIvaWFrdnZMam1RM1ZQZTNEYk55eWZqZ1ROelVhOC9kUXo1OXEvYkM4L2Zt
MwpzUFEzaGlVMk5hVDJxRitPV1UyTGZSYXFLWklGTWdJWmdZeEFSaUFqa0NKUVYzL1p5LzQyV0pw
VkVFK3ZkL0gxeTR2end0MlpiMzlxClRJQTlEa0pIWXJETlFTZGYwVmtXQ3V5WDVkZnlweUNmNzly
bmZwSk9XTGRmRkViajJ5Uzg4MHFaaWdCN1hISTBidUo0bGRHMSsxWkcKaFhEdGhNbFRwMGliVnEx
MUhNRzd3bnhDVXhhUytsTkdzY0tTSnNYS3lpWmxTT1RUOGNtbm1PeHcwL1JpWFd3UGkxUGprWGRw
dWFSbwpnWGs2bFJJOXg0RmxHNzdPRnVXd3ZWcnF4bVZrb2p6dVEraU1UZTRXS255MERGQSszZUhy
YmRrL2VMZTVkUXQ4QjhSOGp1U001UnU2CjJtQ3pPbVZTZkxTZjRjMUZaZnBtaTM2eEh6YVFiMlVZ
YmNodms1bUZRV1N6NXMxMFB3M2JxaDFlY0JBd2hsREFDWHpxcjlrb28ybjcKUlpucXp3Lyt2TUJr
b2pCNGZiNktXdHNPazUzWUgrTS8vUmJ0am5OTDI5M0tqQXp5cWFYbTQwbFpnOEhyRWdkdFI3UTdu
K2EwNXZkYwpma253OXZROFlQOUNLTU9ON2RoUS8rSUxBQ0NqN1lKTjV6OU9ucUI5VTl1RnhxeXVw
QXkrZjJpL0tpclBTVlUvd3M0czdBRVpOOG4zCjRSbFJINjZpMWVEZnc5US8yS2hvZDVNcHNtOTVw
QXkrZmtvWnI1VlBtYWFFSW5zSHVqZUdOY1ZNbHMwSVpBUXlBaG1CakVCZC9jQ0cKSmlESkZTZCt6
RS9za3V6S2hPU0ttRVFyOUN2eVVZQ1ZxVzJWQ3FRTm1EcFVTejdWVCtPSlBmUEY3cXdtMmJuK0tT
QUova2swdHovNgptMkhDcm1jOEtRT1h4RmlmMDRSVVFCT2pRdzM4SThuR3NZazk4eVgzZndkZkFz
Ly81UGwvVUo2QU5PNWN5bElaZ1l4QVJpQWpFQ1BnCmI3bnpTc3FRRG5Cc0pPU3Bpb0UzY1RMMkpw
WkNmYk9wbVNXOWF2cG1LMzZyUzVEMU5wcEVUTmxvV2orbVd4b05HMC9La0ZBMWd6UXoKbCt1ZjI5
LzZiT2d2MXFjMEllcERZSzNmR0UzN2o5bksvZC9BSzJGV1Nta0NaMEFiVGM5dnBsc2F6UnBQeXBC
UU5ZTTBNNWUyWDRWKwpiQU84NlJsTjlmOGIyNTlWekNFamtCSElDR1FFTWdKTlJBRGZBY0hWME81
bzZoWFNMc0t3eEF0bEZLMnduZDRSVlFHN2FGUGYyeVpsClNPVlQrMVpXTUdHTTBVUWhpVmJhaDRD
VnFRNVFnY0ZUeXlQVmtCaE1vbDZvUkNyMG1XVzJ3T2I2bCtPZjRwWGlTK2dzalZBR0xBMVQKeXlS
RlNLS2hyYTA5VS95dDNZMm0vcVFHVS91dTFOS3hRcDlaNWl2WXRQeFVQcldmNjE5cVUwWFpzRFNh
QUpaRWMvc0RKK3R6eE05NApVZzBKVGZ2akwrbi8zbkltR1lHTVFFWWdJNUFSYUFvQ0xjSkZPMmpa
UlFvSjZRVXF2YUNacU5IMEFrYWI0ZUlYOFVWcEtzc0RRa1AyClNwbUpMUFc4b2xHMUZZelZybzlh
YklLOGlSck45UWVDTm9wV01FdHRFcmRGdGZZeEhJMFc0Wm5iM3dOcitFWlJ3OVZvakRuNVd1ZXoK
bWdyZzE1WTNVYU5GN1ZYa1MxR2ErcW9PNVBPL0lUem54UDd2bXkyVGpFQkdJQ09RRWNnSU5CWUI5
d1FrWFBCU05XUm9uaGN3M2tmMQpDK3JrdzVmVUVkSHhaeEJBcGdxa2hsM2N4cXFrRE5qZzZRWkov
cldkYW95OEY2aVE5MWxXWENqTEVnb1VOTXZuRzIvaTlLRXNJTU5rCm1HNjh5VmQ4U1JnWldtUVE4
RXJlL3pMYmlGUzRsK3VmMngrZGd1ZUJCbmFRM1AveitlLy9mbFQ4dlVEM3NEVHRML3k3RXljWVQ4
cUEKZlAzVDVQOCtHZStqVGlZK0lzTmt2SHJKQmhMczczNnNrdm1NUUVZZ0k1QVJ5QWcwQW9GbTdn
TFRDRWtWc1NzVmFYUng4dEV5a1VLVAp0ZlJ4b1ZRUlhqRHRvbW1VUlhwOTBwZ3ZMSXVKdGNxTFJL
cmFpRE5LOXFiaUxVNHZmdmFPTThEa1VsYXNrUEN4RUhpTmVxcjhmMC85CjFma0sveU1ja3BxN3FD
cDRvWHFaaU85cWpQeGh0TVBoZjdEKy8xZnRQM1hhTk45M2E3Vlgyb2psN1ZmcGY4a2V2M3Z4MU1l
djZSdWoKU2xacTZWZnYvOTlQL0VtRzRkc1lHdWFBOC8rMzZQK1YrRld2ZjZnM21UbXEvdXBaUG1R
RU1nSVpnWXhBUnFCSkNQQ3p6ZFV2YU1sNApRUytZVExPZjZySThuNkR5T0ZUTEQzZm5PS25neFph
Q25pcFBYVk9PK0hEQmpYUk16NmpLMEJYcWVaYzBEenlwL3BoQjNndFlXY0UrCnM1am5nN0ZlM05U
NEliKzF6dnV6YkgvVnNjNlVaYWc4RGlaUHh0S1VzYks5UDFvVytGQSs1VTA1NGtPK2w3WDZwUHFx
U2ozNHp4L2wKaklaNnMyd3ZZR1VGKzh4U0JTcDdYVSs5aXFrNnUwaFVjWjlwdkk5cXBxV3BvSlZk
SjNlKytiUjBQVzVydVJGZkV2OWZyTDlyRzRMagoyelJ1Q3dNNVRsUGV5LzZLOW4vdGk0L1FkLy9r
KzY1dktOcFcrMnhyYlRBdzVCMHhkeW9vRTFTR2h4Si8wZE8zeWQxdlBZTVBTYjRqCnZmNjVDejY0
T05VYks3Vi9xSGNqNjMveWcxZkI1K084ZjdRVFlXSCtxeHZlRC9JcTQ2bGl4a1R6Z1hLTWUycjFO
a28xWmpONHNRcXEKdXBHQXl0T2UxMG56UTlsVi9GZDVVNllkejVNcUg5Vlo2OFo4bjZZeUxKZXlW
ajd6d0d1NUxOUExtNERhcEx6L1VWVFR5Q0NvcnFmawowMThRb0hBT0dZR01RRVlnSTVBUmFEd0M1
VTlBN09KVDdZSlVZWmNYTlFiU21OZkVnZ3NZTDNUSU0vdnhtblRsYVFaMjdFSkhNK1FiCkc2akxR
S3Ayb0d4VXkwUmVvQ3BaYnA5NURPYWY4WnBZT3ZDRGNudXN0bmtwWVE2cVB6Lys5aUErSGhqcVBS
dnFYNnA0M09ZeDd5V3MKN1VqeG00UW5IdnBGZHVEYmQrVU5aUkY4a0ZIYk43UVg1TlJmSjY5V3pJ
WkdhaHlveXhEc1FWbnRnWVoySnc4Wi9oaU1LdThqTmRwZgo5ZlFRMXpubXZZVFpKdFVmRG9HQ01k
K0N2NURUTkM5UE01UnZiS0F1UTdBWGxlSHIzd2NmUGl6cnU3Rjl5akQ4aXZwUFFCc2ZlOTlsCmN2
QzZPOGlKbSswanp4MSttYlRDeDBKTDlZN3NhMTI5ajFadm8rYVhwd1ArZUlnOGNlZ2w2aDRQMnMv
eEpmT3lRRjBHVXJYamJWdDkKYU12akVIQzFjcWozRzlRZkJkT1NDMlpieTBWU0tCc0o1R01mbFll
TTBWalhtNnRKcU10QXFuYWlNc3JLaGt5Ui9WOWNmeTAxSHpJQwpHWUdNUUVZZ0k5Qm9CUEFFaElF
WExydHdHa1VTUG5DbWdUVG1YV3JCQlJ1NmVoR3JZcy8wakRiMWdwZkswejJtS1kxNXBqSFJwem11
CjRHaDFyZUp2WE9lWWh5VithYnJPTUZNZldONy9iZjJuVFo4bU8xOTdrcnorNVVlL3V2NzhNR0Za
bXlmMVZ6QmpqTUZyVkErVmVFNmIKTWQzNU52TGowQTc4R25lZERaUmlXMEVpWVdJWjhvUWM5S2Vm
SjhyOTd6d3ZYK0xyNzVZMnU5dGZQVXY5UWZzUGV1Rit1ZVcxeDVFZAo5NjJrSGhhdDBFZUdwWmxN
VEMyUFZIOWVYbkdJZVorUHBPbkFQUTJsdmh2N0dQTmVJMjd6bURlRHFUK284M3Y0aXZsTWZIMity
czc5CmFWbHEva1ZOdXBKVzZFUEUwaExwdHZodzRBSnpkOVJVN2VmWC9CMzlISDBwNE9CMCtWRkds
MFpRWEpwamlvNXhuV1BleThaMWpua3oKWmI2cUR5d1BOalNOdGdyc21aN1JDbjFrV0pySnhOVHlT
UFhuNVZtMC9waHVhV1E4NzdpQ1kreGp6SHZSdU00eGI1Yk1INHRubWhISQpDR1FFTWdJWmdVWWk0
TDREWWhjU1hvUElwOWNpaS9PYXBqTGV1dkdXcjFjLzV0bkZUMlRLakNudWk5ZE1odHhwRDE4alIy
K3l1N1JxCjZlK0ttZzJmcjZyQkhoT2pVS3Q4NUovMkNPeHY3TzFIcWh3QXQyeUJsMzdSQ2JOdmRh
MVMvMUhqeDhxNVR3NldONy82QkY5Wm5paVgKOXYyYnJOMXpSWCtSOThhOVQxenpYaWJiRDdLTHJT
aWZqUGxDcmh4eW44eXNueWtiTExtSy9BUDFaL0VYdzFiN1ZtM2c3N1h5d3ZCMwo1SkQxY01kNDgz
M1Vka1c1dExYNGl2TGtSNi9LbFMvZUp3dlB1NEFzTmYvQ2N2WVROd2tIOFE4ZmZMNHMzcm03WFBM
c0hmTDR4Ni9JCk56K05rUy9HalphTGR6aEMycUVNQzNlODlaUWNmdWVGY3V5bWU4aWg2L2VUMjE1
L1hFN0MwcFlONGRmbE94K2p1Tnp5MnFQeTA1UkoKd2p2Wjk3ejlyTHpZLzBwTnI2aGZoTVV0cno5
V3FjTkNGUnNjOEwvQ3Q3NUhxRnNjcko1dy8rVnk0NnVQeU55dDI4cjlmeG9nUGVkZgpTUE1hS2xN
RkNDUnNqNTd3dlp6KzJIV3kzWXJybzI1N3VuSlZJRGw0K2NhMmY1Q2pIZ1BLMGpSU2h0UWVCRDRZ
L2JsMGF0Y0JtUkJTCmVVK0w1RFhmaVRLNzBwNm1sZzVlL3FIM1hwUjlCNSt1L2VEV3ZVOVZ2Rjc5
NGdQcE8rZ0VHYlRyOGJMSjBxdko0eCs5SW05Z3N0Y00KWHdpLzk1M25aT0NPUjhwS0N5MVpqZzM2
ZmVnVHYwZWYyQ0RxRTB2NVBvSFNLL29qMng3OU1mWDNtcGZ1bHp2ZWZFcG1vRTBQdStNOApmTVcr
bFp5Tkp4ZmpmNTRreHo5d3ViVEZGOU0vRy9PMWRPM1FXYzcrdzhIU2JxNDI4Z3I4dmdwOWVvRzU1
OE9Ua3BaeTBUTzN5NE1ICm5TZHI5Rmd1MVB2ckg4ZklEYTg4TFBlaEhpOGZlWFY1WDhJZW9vdlJs
KzUvOTNuNWFUTDY3VlRmYi8rR2ZwdUd0TDFxblA5YVA5cG8KUXZ1N0l0bFFDTnBlT1Bob2lwZkw5
M0tVVC8xaldoelVIaElhYXkvV0paL2EveTNxbjVhUjR4bUJqRUJHSUNPUUVXZ0VBbGlDWlZjegpT
QnRMV3ZSam9zcjRUT045Tk5aNUEzY25kN251NzdMR3VmdWpDTDdKQjBMNHo0SG10K1BIZVR0Um1X
Q0RML1RKL0RMSy9EUllYaVN2CjlpZkFQb01OSEVCdmZ2MVJXUmJyMFM4YmNyZE1uanFsMkQ3cndR
QTZZOFlNMmZmbTArWFVMZjhrVC83bEVrd21WcEJ0cnp4YXhrMGMKN3dTMHNrNjRVUFlLeUU3NlNW
bzFieW5QZnZvbUJraERwQm4rdll5QjBkSzRLN3pIRGYrUUp6NStWUWVNbkF6OEhST0JjZGhvTzJP
bQpsYnUvUElrbEoyc3Z0cnhzcTdiR3k4b0xMU1h2NEE0emwxajFtSytyUEgvNFFHbU9BZVlaajE2
djllbS8wYTdTZFo1T1dONjBrZHB0CjE5cFBQb2dEZnYydzdLbFpzenBNTGlhcC9FNnJiQ0tMZGVv
cTQzNmV3SXJnYnZrTW5VUWR1TTUyY3RUR3U4azZHR1RPbWprcndnSSsKS1Jid3lXTXhmZWIwUWgw
SEQ5dVJsdXVsLzBhN2VOODJkTDVoOE1sd0YvWUtiTjVyVFhubHlFRWFQL1B4RzlTM0daZ3dPdndO
QjQvLwpKT0x2ZzIvL3BlZGZSTFplYmgyWGFIMkNNZGFid2RkZit4VDVxTCtFZmthNXFQMlZaenor
TWFJeVB0RjRIMlhlZWRzZEpzZHZ1bGRKCnptUmlYWk9QeTFSZWhhRUxhdlV3eW53ZnRseHViWjFz
L1RCNWd2VHNnc2thWkZidXZxU3MyM01sVEQ3NllNL0ZOTm5ycHROa2pjV1cKMDNiY2JOazE1RlJN
ek5XbTFkL2JDbjBDQTNlNjZQcEVOL1JkOUFuRXkvdjJ4YVh6QUgyYitYb2d4Vy9mTmJmUkg1OXFj
WUxOU1FhZgpTR3h4K1JIb1N5dklnRC84Ulc3YjUxU2RHTzF3OWZIcUFTZlFuT2crZ09WVXJNUHVX
TnJZaFJNNHF6Y29KeTZjVkg4MjltdlZLZlZ6CjE1Zm1hdDdDOWNIZnNkL3U2dnJ0TFB6TitUOW9m
OFhFNHhHd3NjUUVMNjJNcGlsWFZ1ZTQvajYza2tRWUZjci9SK3BmNlZaT3lRaGsKQkRJQ0dZR01R
QzBFOEJwZWlOanJGSlZIM0M2S09saGh2cGxKRXlvVkh2dndaUm1BcHdZYzVCNkpRZXhOZTY2dnl6
RSsrbmFFM1A3RwprL0k5Qmk3blAzMkxkR2pkWHUvZUg3cGVYNW0zN2R4YXdQRHZ2NUhENzdwUVh2
M3lRNDF6NEhUQjluK1ZqbTNua1RkeE4zZVg2MC9HCnFxQlpjdjN1SjhwM0UzNlFJKys5RkFQdzV2
TFl3UmZLejlPbndQNVQzdjZ0MHFGTk8yKy9uOXJmWjQydFpZT2V2ZVdDWjI2VFhtZnMKS3ZzaWZ2
QjYyMHVudGhqc0ZOUi84R3VQWVRJd1UvNk5pUVByMzc1VmEvbis1L0h5M0dkdnloOXhwNzBFU3Aw
TXhoTUFsWDBQc2doOApzdUZrMzFMWkZicjFWSCszV1I2RFpBek9TTy9FMDRqK0crNmk4bi9CZXZr
VEhyaENSdUNwQlpld09GdHVmWHY3Vm0yZExVeGkvcmppCmVySVlKaDYwditteXEwTzNUcDlldlB2
TmNPWFZHRGxyTDJ2SGlMYkdlbng5Q3FSTlY2OTNxWjE4dlV6QUhXUk9jTzVBTy9YcnZaRWMKc000
Zk1LNlpGZFV2OFFsWXJBZE1WZWRONm16c2RNbzZFTDB5aCtnYmVCczRJV2VyWG12THVvdXZSQ0hV
WlZWNUMwK2JLRC80OVNjUwpIRHltSGdkVlVMdGFFWTIrOWRVd1dlMmMvZVNySDcrVC9kYmFSdjY1
OVFGT0RDS2ZmUGVsVG1oR2pCc0YvTnJLZ2V2OFVRN2ZjQ2Z0CjYyOSs5YkhzaE1ueVpzdXNvWGZr
djhCZDliMVgzMUxPd2dEYW5SOGlQNkR0ajhPVG1oYy9meGRQbnhhUnhUdDFrM3ZmZlU1dTNmczAK
V1dYaHBXUUVsbjl0TnZBSVBPbWFKY2R1c29mc3YvYTJXZzg2OE9iSVQ0cnRid3Y3UHFqOWYxZXp2
N1NYUWtYODE3SVBRWis1L0lWNwo1U1ZzOUY0TFQ5b2UrV0FvSnBnYlFhNU81c0tUaEgzVzJFcDZk
MTlLOVRxMGJpY2ZqaDdoNnVJdE9VSjdnaWVVN0JNSWJCY3diZkIwCjByVll2WVR6SVBSdE93L1l0
OWVERWlXaHB5SG1tVkNIeWZJUUdUcmlBM24yTVBnRyt5MHdJZDkzemEza1Q3ZWVMYytqTGRmdHVU
SW0KNUl0Z0l0eE50bGxoWFp3YnY0T2FLOTJaclpPT2JlYVJaUmZvQVhYbnI1V25mUWxDRTZaTTlu
M3dLZDl2LzRoVWs0VWI1bDVLSzE2agpyUzZYNUswNjNwMVNYUzJCQmswSWJPQXRQNkdLTDlKSWk0
S2RHMG45Zy85YXA0YktvMUVyRTZ3VlU0MytKdlV2cWtoT3l3aGtCRElDCkdZR01RTU1JdUNWWWR0
R3lhNWRSNnNaODRRWFVYZDNlSHpWY2RyL3hWRmxvM2k1eUVqYWZycmZFeXFXU29kZTJSU3ZwUHUv
OE9pbm8KMXFHTExsUGgzZnU1dUJRTEY5d3BlRlBPbHBmM3h4M1F6ZVQyZlU2VHFiZ0QvbWNNVXZh
NTZYUzU5MDluU1cvYy9iOXB6NU4xSDBGTApER0o2WU1BeWI1dTU1Wjc5ejlJeXY4VGd2VHZLNWgz
VmJsaml3V1V3eldHWGd6Rzc0SE9RdzJWSnAyeStud3pFa3hBT1ZqbFErL3NXCit6cGZyYTZnUTdF
MFpKSDVGcFFsc2RTSllja3VDK3NBYjVHT0MzcDcvcXFPdWcwZDhiNHMwbkVCeUxpbFE2UzhzOHcw
bGsyek9xYmcKQVhFT2dEVm9JaWNzTHY3OXhCOWR1ZFZzd1JJSFhXN2dWYkkxZGNZMDU1TzNweE1N
Rm9DeXRHRFN3a0RQTE5USmZPMDd5RjZyYnlFNwpZakMraTErMjB4eDNsem1BVkN5MGZuVmFUNnZm
ZkpnOHFzNjEwTUdkN0lIOWpnVHV6VnpaWmpxaTZwdjNrOGxhRngvblFIblNOUGQwCmF1aUk5d293
M1FocDgxUExXWXpyaHlxK2dNSDRRd2VjcHhQT2RTODhTQ2NSUzdEOUlOY1MvZUxNYlE2VXRYb3NM
Mk14Q1Y1NXdGNnkKTjlwKzNqYnRwZmZDUzZNZmJDMFhQWHViUElySmJPZDI4OG9HRng4c2UySVMw
cXZyWWxyV2lROWNKWlBSUjIvWTR5U2RKQjF4ejhWeQpKSjdxcklKK3lZRWVuMGk5ZmN6MXVpeHU5
UGp2eStyUHZzdCtkdEd6dDh1akIxMGduZHQzckxTUEoyRFY3ZnYySTA2K3pzdGpVcnNhCk5wVGZn
TGVJcmRWakJYa1VFLzhMZGpoYzg0bnA2YWpyVzVpMFAvTFJVSG5uNjA5bElsNU9vS0dzTHhCSDZ4
dmdRN3VRcDNSZDZUeEEKLzZkczZUeGczNmFNNlh2ZW9yNmNWL0hHdUM3dDU5WHowdnJpR21nRGhy
ZmcxN3BMOUpiV1dLcWx5OVo4M2JTT0tsRTYwQjN0S3liRAp1RHFKZmh2NjRJbm9nNXRndWRsUmVt
UENzQ3F6VjFoL3JheXZzeG91TDloaVZuYVpEYXN3aFl3M2FvcWVSdTJYNUxob29mMUlNdFZQCjVX
dmwwMVNaNzZ3M2ZmMDE5YWZSSERJQ0dZR01RRVlnSTlBMEJNcjNnRFJHdCt3Q1ZsTGd3SjlMSWFa
aEdjOTBMQ055b1hTQld3UUQKdFAzVzNCb0R0QnRsSjl3cFh4U0QreEJnazJ2WXY4U2RaeTdaT0E5
UFNCZzZZbUF4Nk9VSFlHK210SVR0UGdzdkkzZnZkNmIwdmZaNAptUnVEOW52MmM1TVBYa0FidEI4
S2NnejNZMHpEMGlIZUpZMG5LTEhZVDlqendmeFZNVGl0RmJqMjNNa3VrNGlXNnE4WGVjV3VUcHBo
Cm9CQUdVOUR3bDMvVkxaVkxXN0Urb29ZOXh3emVsaXJwQWJJK1grMEYyU3FESWVvRW1SSi85UzdI
eVJLZEY1S1RINzRhQThSUDVMbkQKQm1KdHZXR1IxazhMbG5LZFlhclRHWVBPQ3Y4MXBlU24wNFov
NW9kTDBHTTVwbG9qcFB2QlVwQTNXeTUvcjlXMmxCVVg2UkdQQUFBZwpBRWxFUVZTNkxhRnlYSW8w
WlBqYnNvU2ZGUEtwMG1QWUYzSENBMWRxMjg5Q1ArUEVrVS9aV0Q0bnEzdjAyVnhXVW4yUlRaZFpY
ZlY3CkxkaERKaytiS3ZmaGFjZEhKOXlpazBVdUZlSytvR1orbzdXNXpZRTArK21zMkQvdmMvTzY1
czYrUHBXb2I2VDk1dDYwcjcvYXRUcGoKeWRNYTIramVDaTRUNUY0ZlRyS3NuM0ZQek5jL2pwVi85
ZXVQSnlYM1lITDJycmxab3NGUEpzWHRRSjVKMk9BZjJyNzJlVkF5YkZ5ZAovaTM0RmtzaWY4U0xB
dVp0Mng0WmRkSnJnVVYxUXNMbGU2N3R0VENuVk9ZVDY4MDhVbzhCcVpmUkNZanlkZWlEeDBmOU51
cURaZlpjCkVlRm9lVVpEUmdOTVUyVFZaL01mTmxXMzVIOWhLV1gyV2VlRzlNMFc1U2pxWldNYk1l
K2tTa2ZMTTFyS3FjNDFSYmE2bFp5VEVjZ0kKWkFReUF2L2pDTGpYOFBLaW9qK2dFYWhIaHRlMFJv
U2xNYWdZMnY5cU9mYjN1OHM1VDkwc2ZjN2RWMjU3NDNGOUk0NjdpRHBESERSdwpRM2dhZU9lN05a
NlNjTUM0ZUtmdStsc2ZkMGNmK1BNNUdOUnhZRVVmQlJPR0ZqSlBLM2Vubkp0ajlmcXNoNGJ0czd6
aDJBQjc4TzNuCnl1cm43Uzl0VU5aYlIxMG54MkREdXF1enMyLzE1eUQ4NFE5ZWx2R1lYRmpnL295
SCtJcmJKTkJubGVYZUNoK2NyRnV5NUp4MC9ubUgKVGF5Q2x0dHlPak13VUh2b2ZkZ3lFOVJTSG9l
UUZwaFNVbXJkaTNBd3JrTHhZQUw4eUhIZnlvaXgzK2dTb3BlUHVFcVhqUTNHRzUzSwpmWEpHRFl1
UlAwQUh5NCtPeFNibWwvL21kYkM1M1FYemlkVHh1alRHNXpaRXlzdDArdHlQRUhCUWN6Z1loVEV1
VGJOeXVLeW9OQkhBCllQMldNMlRCdVR0aEFudUdQUE9YUzJVNVBObmdCdmdZQjA1cXJmM1pGeTJm
VCtvSTFjK1lpRmpnUnYzYVFaMkRHR205YnJKM1BKYzkKZWZ2SXFXNi9YRC9VMVptVFhWYmRCQzk1
bUtvYjB2bEV5b1Y2M1dOeElwNm9uTGJWbjl4RTErYzRmVVNDV1RDZVozc3FIL2NKaUliegpJS3F2
dGIyWnJVN3JaZm11aTZ2WlY3NTgzNHZWWTJJMFJqZXFNNi9oRUJ5RldNUjdWdnNTZUg3TWNnU1di
eGIzd2FpRXlFU29LOU5ZClovMFpYMTVjWktHSmJGb2cxUzJ0TWFaTWxoUS9qWG9hODY0eTNxQm1G
QnUzTEZMOTRSQm96UHQ4V21GK0RobUJqRUJHSUNPUUVmaU4KRVdpbU4rbjQ2SjQvWG0yTWt0ZUxq
NmZrYS8wZ3N1RVNxOG9qV0daeTljN0g2dHQzZWcvWVc1OXFtQzZYMmZEdU1lUGZqZjlCUDBUSAp6
YytyTDl3TFNWd3EwMEoyV2VYMytsc04zOXY0R0Y4LzFyWGZzRDFzekVqWiticVQ1S1k5VHBaNzhm
Umo3NXYvcVcrUU10dWsxZXhmCjg5SURzdVdWZUJNUTduQi9lUHhnT1E1dlMrckF2U2VzZGtIOTk4
QlNzSittVE1TK2s1TXdLQjhsbjhDUC92ZGVnbVV2eTZydnZDdk8KWldJc2M0OCtKbnV5azhWK2d5
QUw4NVFyRGZyeFpqQXM1ZUdiZ3JoWm1QbzJJYU5Nc0hVZGJHRmdIOHBkRk9VaVVIY21OOWd5UUpk
dgovZEVuVHVBWm53LzdaVDRkODVWaVBncDN3SmtXZnFncm55STk4K2tiMEpza0gzNzdCZlpHak1S
YmpyQmtDQmlNUjMxdnhWNE9LdlRHCkc1TTJYM1pOV2JoamwzS2ZFaXc0UWJ2MWpTZTBEQzQxVWgw
c3RkUEFzaG1xK01abFFYemJsdVZQUkYzNFk3d0NCMko2SC9EM09BUzcKWmw4VFNtV0ZmTmlhaEQw
QzcyR0pJUGUxY00vUHM1KzloYjBUN3prTmEzL1RMK2ovYzJISjN5N1lzTC9qdFNmcUszYVB2WCtn
dnUzSgovQTdVYkJpTjY4ODBqNFBTS0Y3VnZzbVFGZ1R1bzlwK3hRMTBjM2FmaFYyL3BPMHZNWkZr
ZUhINHUzamh3bFJNMmw3UzcyWk1uelZEClh5ckFwVjdhZDdYZm8wOWdLZGN6MkkvQmZWdWxQdUg2
VGpnUDJCK1R0aStyajYvckQzaWhBU2QrN2tVSElqdXN2SUh1bDlGdjAvajYKdjRiWFJQTTgzR1RK
MVJRVFBqWFZKV0l4UHQ2ZVljVitNbW5hWkpubCszN281eWlMYjlZS2ZSQlBtRUlmVE8zNVAzSHVu
QWRBdnY1Rgo1Nzg2cGo3Z2tOcXBGaWZvcWtNR3dmaHE4clhTWXh0cU1EazAxZjdzcUgvaVVvNW1C
RElDR1lHTVFFYWdNUWcweDM2SVUwcUN2RUl4CjZLZ01sRmM0dTJveFBRMldaM29sK1FYOTI1aTRt
YmNsOTJGb3FOZDlHdnZmZXBadW9MMEFhKzQ3WWgvSEZyM1d3QktTMWpxNC84dWQKNThtRlNELy9t
VnZsSnJ3U2xnUGgzK0Z0VEEvZ0NjQ20yT1RMZ1FvbktCeDBYNGFsSmRlLytwQnN2R1FmN0FQaG9M
ZWEvVFgxVHV4ZgoxOXNSZzYxbHNmekRiMzN4WHBXSTFZUHJ5dWZCdXY0RjVOSWhkOG01V0JKMkd6
Wm05OTl3Wjd5SmFrbGR1blAya3pmSjU5alEzTG5kClBMSVJ5dStKMStCZSt2eWRpZXhTOHZLSWQr
Vk1MRHY3Qms5ck9QaG5PTzNSNjJUWTJLK1VYeFdEZHRiMWFRd0FwMkJDc2czZTVzUk4KNjVjT1NX
eGgyYzh6dzk3VVRmU2pzYVJsSGJ5VmF5ejJqSnp4eEEwNkFGMWowVjdxQSs4dVg0aTlCcHlzY1VO
dm03bXd4MGJiVUl2RApXdnQ1NUpMbjdsVDh1V0dhKzJWK3hOdVVGc1JyVU9mQjVKQ0RmTDY1Nnh1
OFZwaTJEdDlnSjEyZjN3Tkw1aXF4V0VyR1RCd1g2WXp4Ck9qdnFNck5TMzNHNHhyNXhHZHlOcnoy
aVpiTXVmT1h1Z0tjR3kzQThnVm1wK3hMWVdMMUNBZjY3Nkp1UzR2cXdWcS9ocFFXSG9OOXcKbWRI
R1M2MnFrNDNqc2FtZmJ4Lzd3d3EvMDllK2NwSzNKOTRNeGVWOTNJak9NaTdHYTR2NWxJMDRIbkRi
QUhrSlM3TFd3NGI0WVpqQQpIWU5KeHZONFBmSldlT01VOXpEUUx1bWRieit0ZlhaVnRDVy9UY0cr
U1g4MkhYaTRIUHZ2Z2ZMMHNEZDBMOHFsd1BnV1BBbjZNemFqCnY0MjlEc0UrM2xURnRpblpYeXV5
M3pHeDN3cjJ1VUhmUnBycCtTYTZENHJMM1VweWRiSW85aEE5OU1GTGVuNndySU4rdDcyK2ZlN2QK
VVo5SmQreS80aE5LMTNjN3lNcmRscFQ1c1NlbHNrOU1sQVhubVEvblpLK0NkbkRuUWRxKzdPc0Ru
cnhaUnVJbEFKd29jNzhJTWZzOQpYZ3Q4RHRKL1FqOGJqNG5FTFc4OEpsZnVkTFRNaDc3SWMvd3F2
TDZYcjQzbU9ieTg3cm14ODlEOVBlRitJUDZ0NEVzYTVzR3JtbmtlCmNaK045WFB1NnpuK3djdDl2
NDM3SVBZaWhiOWhZR3NHSzVjMHh0cndUdzNFTXN3ci9mMXprclh5ZjYyOVZMOVcrYWw4R3FlL0RL
U3gKN3czVWYwM3VEY29oSTVBUnlBaGtCRElDVFVPZ3J2N0NGL0Rnd1Y5ZzRtc083VlJjenlCQVdi
MUx6SHpQbTM1YWRoVjczT2N4RG04Vgo0aUJmOTBLWUh1M0NGdS9JYzI5R0orUnJXVlh0Ri90VGo3
dWtEZG12Nm4rQnY3eHJ6S1ZKM0xQQ0RkbWh6dlE1cVQ4blJWeVNwTEpjCmoxOWdMNlJabldQcTYw
Ly8xQllHWEl2aU5ibTZxVHVXTXo2UzF5VHZ6MWk4SWN6dHdUQkJUNzM4TlBqSnB5aDgyOUYwUEls
eGV3ZjQKM2NGWnVxK0JFeEx1WmVCM0dtSi9LVHZTZkdMOVVCN3Zkbk5QaStwZ1loZC9keVRvRWdj
R2RKZXhrMzdVVGQ0dUlUa1cxQ2VVU2Z4MQpqME9rVXlEZlVILzVHWU5pZnBoUG4zelJUTkorUmY2
R05NcEg1VzExeFpGNGc5ZGErc1Z2dGNQOE5QeUs5bStjZlJTQU9rekZFajMzCnRmSHk4NUZQNmRy
Z0ZiWU03RTk2SThEcXpFVGpRVGxCNDRTVTMrNWduMmY3eCtlLzlrZE1MRGk1MGZNZzBXZTBJaVQx
Ly9TN3I2RGIKREc5eTYxWWhxZ2tSdmhxUC9DdFM0TXNFT3VObEU5b0hzVXp1Ui94TjRRc3EybUZp
V0JocTJVLzhqZXV2OW1ycHA0WFdzbGNoNzlxego2dCtuMlMxZnk5K2kraCsrVHVwVmptY0VNZ0la
Z1l4QVJxQW1BblgxRnd6QnFHVU9DVVVYT0V1YlExeWNyVzVZWFVrWmFnekFuTkQvClI4YzV2UDY4
VzgrbkoyL2lkYit2anZ4UW5qdjBYM2c2MFBVM2E0Q2I4SzBhTHJ0Nzgydll4MU1kdFk4M3QxV2Q0
UHhtSmM4aGh1YncKOXAvdEtQMDMxajlQUUdaN3Q4Z0ZaQVF5QWhtQi94OFJjSnZRcTlYTXBpYWtN
VjlOL3RlbWM4RE5RQnJ6THJYMk1mWXg1azB6VG90NQp5MDlwTEJQenFkeHZGWS9ySFBPTnRSLzdH
UE9tSDZmRnZPV25OSmFKK1ZUdXQ0ckhkWTc1eHRxUGZZeDUwNC9UWXQ3eVV4ckxnT2RICkh2bjJy
SzJ4TE92MS9vTiswOGtIaSs2S1RmSzhtNzgxdm8wUzdCc09xVzlGOGNSZkZiRTBSb3dualhrVkxE
akVNakZmSVBxYkpGbGQKU1dPK3NjWmpIMlBlOU9PMG1MZjhsTVl5TVovSy9WYnh1TTR4MzFqN3NZ
OHhiL3B4V3N4YmZrcGptWmhQNVhJOEk1QVJ5QWhrQkRJQwpUVVNncnY1OFBnR3hxMHZ5REQ2SjZx
REE3dEpwUVlsQUVsV3psdFlZeDB5V2xJRnVXUnJqeGxmTHI2bEFJM0dvVVVCRmVaRFA5UzhOCkR0
TUdxY0FMV0Z0YURIczEzbVJKR1dvMFQwVitSVUpxMEprdEhXc1VrS3B6VUpqYlA3ZS9UUTVDNS9Z
ZHRxSy9vS2RaV3FuVFZlZE0KMXB1cjJaM1Q3bHRUSVMwNk5aQTRrRVFMLy80ZmtaZGdwYWptZUVZ
Z0k1QVJ5QWpVUmlEWmpjMExFb09uL3F2TDd1dkxMc2V5WEN5VgpMNUF4RVo5VlRwSXJuRjdZa1Ja
ZjRDMk5pbWJMS0JQTXgyQTRaSWFVeGpPbTY2blpWdXF0bUloR0xXTHlCVEltVXVoRXJyOXJWT0tB
CllHMmQyOS9od2RHcllhTDQrT1RRcDhCWUgvVlpEczhRYVNKamhqMDEyN24vbDNBMGlEVEZJb2FY
RjdOa1JtUGVaNWZJL3kvbmY2bEcKbWNzSVpBUXlBaG1CakVCakVHaFJHdXdYaUNmWFIzYzdqM0xS
Z0xIc2puQ0JqVGpKWkVrWk9MaXlOSmZDeE1DRnU0ZGUzT1daVXhRegp2b3E5Skx0bWVhV1NIWmZx
VzcyTkZ2cWZHb25pVnRkY2Z3ZEtJWDY1L1VPUHFlaC94TVlTS1dVOEtVS0taNUpka2UrVTlGaDRT
UFd0CjN4dE55eXMwRWlYbS9sOXFJOEpTaU45L1dmK1BtamV6R1lHTVFFWWdJNUFSYUN3QytBNklI
N3cwUm9NWFRBYlNtSGVwdFkreFRzeFgKMDR4bGxJZXZSamtJTXA2VXYzaUFFL1BWOGxsdXJuODE5
Q3ZURlc4a0c1NlVzTFJLNmNvVWsyMnNmb1Y4MU9ZRjdmODkzb0kwRE44TAowVFpGdTA3RWR5Mit4
dXQ5Zzc5eG43QjJOMXJwYldWS2hUOFFzYlJLNmNvVWt5V04rVXBKbHhMTEtOOXcvWFAvOS9pd1Rl
TzJOcnpqCk5HdDNvOVhhSUU2dmFBOWtXbG9zVjQwM1dmT0hjcFpXcEdONVFYNE9iUDhpdjNOYVJp
QWprQkhJQ0dRRWFpRGdQdkZzUWhnWGFTRFYKSHdkSzVFbkplTjV4dFk5ZXhkbnc0cFpXcEcxNXBE
RnZzckVQTVY4dDMveXVScWxuZHBUM2hxeDgxZk15Sm1mVWl6Wkk0anJFZkRXbApXQ2JtVGQ3S1Zy
KzhnS1ZSeG5qTHIwVmpIZVY1UUtCcC9lRVFLQm1tZStwaURSOU5WRzE0VVVzcjByUzhhdkpXdHRX
TE5pd043TW1QClhDM2JYM2VDcGwwNzlBSHA5UGV0NUk2M24zSXlwaFBUUkwrc3o2a1BPQVJLQmlF
cXp5VTBjUFFxem9hWHM3UWlOY3NqalhtVHRiS3QKRGt5M3RKaTMvRm8wMWxHZUJ3UXJYL1VaUndK
L0RFWmRyT0ZqWEllWXI2WVZ5OFM4eVZ2WjFmeEo4MDJ1R3FWZDAxSGVGOFN5OVlkRApvR1NZN3Ft
TE5YdzBVYlhoUlMydFNOUHlxc2xiMlZZZjJyQzBtTGY4V2pUV1VaNEhCQ3RmOVJsSEFuOE1SbDBz
SHpNQ0dZR01RRVlnCkkvQ0xFSEJ2d2JJTERHNnc2UVdHbEQ4R28rVDlOYWgwZ2ZKcGRzR0taY2lu
Q3FxUGc4bHJ1UlJqR241cCtaVFRORzhxNkNXbUVXMVUKb0Q1RHNBTkdlVkw4MHZJcG0rdFBGRndn
Vmd5S1dRRzFQRklOaVlKR2NRajZ4cFBpRitIUHIxN3IxN045Ky9OcjV2SFh0TlVHeTZBdApId1pz
ZmJBOGNlQ0ZHdHRuOWEzME96T1dwOVJrU2ZXSFE2QmdvdkxKVDhKSEx4Lzg4TVdTQ2NveXFFNEJ0
VHhTRFltQ1JuRUkrc2FUCjRwZVVyM0srL2lVZEdEWjlsa0crc2NGa1RaOWxLaytLWDFvKzdUTE5B
bVVaVktlQVdoNnBoa1JCb3pnRWZlTko4VXZMcDF5dWY0UVgKOENBbTlpUEc1QnNiVE5iMGY0djJi
MnpaV1M0amtCSElDR1FFTWdJUkF2aFVNSzlHdk1yanh3dVNVYjA0SVI1VHlxb001UXArVEZJWgpr
UysrSHkzM3ZmZThmRGg2QkJNYkY5UTJSSzFNYWxsYVpHRVE3bTdmOHVianBUeVRWNWR3TU5lMExs
VDA5ZE9NZUVSanZNL1hzc0FICmU3UVYvYlJ1WnJ5QU1zblhYNHZ5VVJKKzZmbis5NGZnYTlBVEdT
ME9XajZ5ckV4S1dWcVJodVdadkxxRWc3bVcxUCtySDc5Rm13ekIKN3prc1Rmb09Gb3ZyUCtqbGYr
TnIxUjdmWU5zYjFUS3RnSVF5V3FYK1JlNWJHajl5cDhIWFp4cStDTC96alNmTDYxOTlyUFhuUi9K
Mgp2dWtVRnpjbFVpOXZlTFZ0MlZvV3dGZTlyZjR0OE9IQ3V0RDJjVjNON3pqTnQ3dGloZy96bVE4
am5RK3VMT2pOaHZxSEtpWDEwWFJMCkMwSVJZM21rK2tOZW9KUmpuVHhWSEJpeE9zYzgwOHJyNyt5
WVhVKzFiYWxYNWNka2xmRWlQa3JTcUpEV2gwcVdWbVRBOHJUTzlOSEwKbTN1NS9nNFRiWE5yZDZN
RXlYaFMvQlJQVHdPbXhOWC9DdHUvcUdGeVdrWWdJNUFSeUFoa0JCcEdBRy9Cc2dzUEJPTTEwdFRq
aGNmUwpHRGZlMWsybitUb0NVRVVaTm1ha1hEemtMdW1KRDZsZDJlOW9KbnA3bm1xQ0pnYXV3cjdh
NDhXUkYwdFBFUDNnMjgveGxmUU9QbzArCk9qYkltWHpaQlpZeUp1aHA2bit0K2lIL3RNZXVsYU0z
MnEzd3k5TVY1Yk1ZTFVOazJOaXY1TEI3THBScmRqcFdObHBpVlhPWUFpVSsKTGI5Sy9ZTktaTjha
TVZ0R1ZRQlpycjZmZmYrTlBQelJ5L0x5RisvTHZuaENjTmp2K3BiYWxBWjgrUjk4KzRWMGFvZXYw
Tk9NK1JUbApheHJqS1g3Qk1WOSs2cC9IUXZXZy92Z25yOG9iWDMraVgxSy9GeE9qZ1R2MGw1VzY5
cFJMaHR5TnZOZmttL0hmeXhjL2pKYWVuYnVyCjdEZmp4MnA4ejFVM2s1c3dRVnBnN283U0NsKyt2
bWpJblhMdFRzZkplNk9IeTMyWTVMMTgyQlgwVGdPZnBQenQva3ZrNWpjZWsrN3oKZEpFYmRqbFJs
dSs2T0pabVBTMkgzM2VSSEx2UjduTG9PanZJYlc4OUtTYzllbzFzdUVSdnVienZVUlUrWFB6SHY4
cjRxVC9MdWMvYwpvaDhLL0JFVHlVdTNPMXpXWG14Rmg0T1dacmczcnY3T1E5TkJ6TEFtMWNBOGEw
T3dTZFJsSWRIRVUveURyZ2trTkcyL3RQeW01cWZsCnErdVJmMG43bCtyb3VGeC9BR2FZS3lSSmd5
ZlJPYUw5ZmRObGtoSElDR1FFTWdJWmdhWWc0UGFBY0tBUUR4WjRFYlFMb2RGNGNGSXQKbnlYN3dk
TW1TL1dSZlZmYkVtWjVVVVU2Znd4R1hhejhTTHNNWmwvMWNGRHFzc2lmdDgxZjVQaU45eWpac3Z3
S2lnUk5JeTM0eFhXTwplWk9ONit6NUd6R1EvWGI4T0djdnphZUx2djdxTGN0bUFOMWt5VDZ5SWdi
WERZWkcxai9ZaU93SGpKZ1dmbUNVSjYyWDlSZGZXUzdmCjRValpZcGsxblltNHpoRi8zamFIeVBF
YkFkKzBmdlRQMG1LZWFWWnZveXlCWlRPb0Q0NjF0S2t6cHNsZXQ1NGhheXpTUzQ3YVlGZloKYk9u
VjVWUk03aGo2cjcrVGZ2U3Y3NHJyeTZBZGoxVmYrQkZBaTgvZHFxM2NnNmM0RDN6d29xemNmVW5a
ZlpWTlphRU9YZVNibjc2WAp6OForVTFiZUxXODhJWnN2dGJyY3ZlZnBNZ0VUaUcydU9VYW00NGxL
dnhVM3dNU25tVXlZOGpOOEY5bXA5OGF5R0w1cVBnNGIyWWxWCm1RK1kzTFJxTVpmc2U5dVpjdXBt
Kzh1VEIxd29hL2RZWHJhOTlqZ1pOK2tuVjNlcnQxRldwSUg2TTdzaUVGTUdVdjBaVDhvTUJLTXgK
ejdUQ0h4STFuYlRnRjdYNWIzMyswNzNncS9xZ0thVTBIeTBqdWY0T2p0QldpSVorNEpFaWxoYU1O
M3dyS0JJMGpiVGc5MXUwdi9tUwphVVlnSTVBUnlBaGtCSnFBZ1BzT0NDOVNGc3A0SDdHQkFXV0tl
Si8yMVEvZnlYR1BYQ0Z2ZmYycExOMWxFVm1wVy9tQSsyTzhvYWovCnYvOFY3bnB2dnZRYWN2WldC
K0p1ZXdkWjkxK0h5TXo2V1RJYWcvdVo5VE5sK3hYV2wydGZmVWgyN2IySkROeSt2M28zWXR3bzJl
eXEKL2lwMzdJYTd5ZjVyYkdOZTQ2NzBKN0xUVGFmSVpoaHN2akx5UTcxVHZuZWZMZVFzMkxlQjBD
ZGpSK29nY2dUdXFyZHYxVVlPWFBNUApjdmg2TzJwK3cvcjE4dEYzWDhqdHVHditQUWFjNXo5M20z
Um8zVTY0eE9mUTMrMGc4N2FaMi9taGNPRmdHT29GSGxta1BydzMrbk45Ck1zUTcreHg4LzNQei9h
Vnp1M2sxOXhNOE5kcjM5ak5sQkpacmxmbm5kZC82ZXBpY2lJM1czLy84a3c2VVo4eWFLYmZzZHJL
c0Rqc00Kdy9HRTQvRDdMcFpYdi9wSTQ4VGlnbTBQbFk3bW4vbWp1VGlZbjU1V3hSZnRXd3NmbWh5
T3dmL2g5NlA4a2I1OFRDb3UyQWJsdC9QNApXTG1nYytISnhUNnJiU0c5dXkycHFjVHpRMkFjQjdk
OHFwUmk4VlVXV2xyN0Z5Y00yL1JhUjMrVVduYUI5MUVscTVUVDI2dlA1cklwCmNHQTRhOHNEcE8r
Tko4bGpuN3dpV3kyN3RyVEdwRUxuQzE2bFRVdkU0OGFDanB0QTE4dGdQSEVoM3YvKzRBVzExWDZ1
Tm1pSDhmTGMKOExmbGo4dXZxMm11YUJnekZ3enZxUDJkNEgvb1NEL01CeFpwdlBsamZocWxUQm52
STBYbnZNb20rUnJGd1NkWGxFZWQvMlNnSDFabgpsbXQ4cnI5ckJXc25vMHd0NDMya1Z2czdhL21Z
RWNnSVpBUXlBaG1CUmlPUXZBVXJ1dUR3b3NOb29ONm1GOUdZOGFBL1Q1MGk2MTkrCnFDNk51bVgz
azJYVHBWZkRRUDMyNEFqM1BteHk1Ukd5MnNMTHlJZEgzU2d2SFhxWi9EeDlpdlREZ0pEbFhMZlQ4
Ymg3L2JVTVBmUUsKZlZyd1BBWjJueHc5R0hlNVg1SUprM0dYR2pJOU1PQjgrNGhyWlk5Vk5wUFJF
L2dVb3VSVDcyNUw2WUQyam5lZWxpdXhoT2IxdzYrVwp1OTU5RnN1MVJyaUJCd1lkTFRGaE9CT0Qw
QkhIM1NiUEhIaVJuUFgwemZJajczZ2o5TzRPZlV4WVZCOVBDVjcvNjFWT0h4TUdsdE8yClJXdnAz
cUd6VGpxNnpkTlpGdW00Z0N3ODcvdzZrRlkvNkVzOHdMRkJqbEV0UmVRY0xPSGgzZmRyZHp4T0pr
K2JLcHRmZGFUTW5EbFQKeTJqWkhQNXREditPdngzK1hlejhtenpCMVJQMlQzcDBrQnl5OW5iQTdu
SVpjc2hBNmRHeHE4eWNOVXZ6cDhEV2xvT09rdFVYWGxZKwpSLzArT3VvbW1UeDlxdXlEQ1kzNnBi
N0JpRkViVkJpRmZ6MDZMaWh2LzQzNGJxb1RRVmN2Nk9CL2cvZ2lYOHUveHBkL1BNby8ycGQvCkI4
b3ZDSFVZK1orKytaL2xjMHdxejNycUpobjY1UWN5RVp1K3RVd3ZIeVlEc005QUhjdm41S0ZUMjNs
Y0J2UHhvM3pRY1RuQ3B5VkkKMU4rYWZxTEdmaFltMHQ2MkYzZEUrN3pMb0NwdDA3OUY1bDFBbHV5
MGtDelplU0hwdDlLRzh0cGhWOGs2UFZad1BsRmNzZlZVRlQwUApVaGlzYk5LWU4rRTRMZVlibXgv
N29MN0JpRkZyZDZPMGFielZuMlVxVDBvQkJLTXhyM0pJVU51ZXhtVlR0aWlZTGRPbmpLWEYvQy9O
CmozMndlaHVONjJxK3hXbWgzaWk4c2VXcmJSZ2o1WS9CcUl1Vkg2MnVqYlZQYmRPSitXcjZWcmI1
d3pxUjE3cDVRMVpudFJlbE5hWCsKMU0waEk1QVJ5QWhrQkRJQ1RVREE3d0dKTlB3MUtFb3BzWHF4
d2hVc1hMU01yNU5IY1ZlWmQ0aDV4NXNEeGVVWFdGemVHelZjcG1DcApEUythVHc1N1hlMmN1UEdl
MGh3VGdRNnQyOHZaV3g0b1BjN2NVYjdFMDRCbTBGbGc3dm1rUy9zT3NzS0NpK3ZnY241c0tGNFVB
LzFoCmVITEJ1OTYwMDdwbEswd2tXc2dzUEMzUkJQdGFNMkxONjVycjRIbWxya3RvV1pzdXRab01H
ZjZPOUpwL1VZM1B3RUNmZDc5UGVPUXEKNGNabTJoajY1WWRZL3JPRzVqZHYxa3duTnl0MWkvUS9o
LzRDaSttRVk3L1Z0cEt6bng0c08ySHd1U2dHNi81cXJycjF3T1M0aDY1dwpFd0pOY1FkT1ZMakh3
QUw1M1hwdnF0SExzZWVoNjJuYnlXdDRZc0duSVRObXpKREhoc0cvUnlQL3Z2Z2crTWZCN29tUFhp
MlBEM3NWCnk0VzZZU25hd2JJeUpsN0U0VlU4OWZueWgyL0IxY3Q1ejk2bTlqdTJhUytEOEJTSlM0
NWFOdWZEcmxKN09aNWlURk54UGJSdVlmaEcKaVQ2N09aWXNjZkxIZlJvTUR0KzNnVzhQZmVwUldm
N2NLUDlCbEQvRGwrOE5lWEw2azlmcmR6cit0ZDBSY3ZuTDk4a0xJOTVGRHNyMQpSYnNKQnlQd1VZ
K09XcjRtcXF4WDBBUWNrcWoxMSs0ZDVzZUVwQTJlQ0hIaTRtMVJKNVZubWcvcUEvaWY4RTBSdHZH
cTdJZEJnVFlpClpXT05laHZWQ1FTai9odE1CWDNZdDNPT1JpemRLQlBLOUwwLzRjdmxGSXg5TExM
SHRNakRtSStTbFRWZmxES2x5QjZTRzdLaGh1d0EKd1RML2ZYclFyMlUvMVlkOHdJUzJhTWluTVZy
b0w4dlFUSGVJK1NoWjJWeC93R0J0UWtTSWJRNFpnWXhBUmlBamtCRm9PZ0lZbGNaWApYTHRZK3dz
TEw3aDYxem1XaWZnNjhJeUMvb2c3OWZPMzYraVh0RGlaam0zbmxsSFlTRXdocnZubnNoVU84bTFB
MkE1dkxlSmtZZ3JlCk9PUUd5Q3FxdGVDYWU4cHhtWk5PTnRRWHl6Y2ZLdjJkdTFXN1lKOTN5V2Rp
VW1SaDN6dk9rcDFYM2hqN0FVNVRYN1lZZExUUEw5bmoKQU5VdXJLclBjdm56Z1NWeThtTDFObHFQ
eWN4bjMzK3RrekJOb3p5RU9XaDN3a3dRREg3YkIzdXRtclVVWXZEenRDa3FzdThkWjh2TwpLOUcv
ZjNyL2p2SlBPRno1aDJHNTE0YUw5NWFYdm54UFBzV205Z0hQREpiTHNUeU55NGttNFdsSGF5d2hX
Z0ozNksyOHhmSEVhTHZsCjFpdGhHeHlqUGZ2Ukt3c3huc2hYekpGbTlVZVM0a05WQklldm13aE9t
ajdabDkvZFplTG95bDhYNVRkSGpQWkFmQkhjZkg0aW51aU0KUGVsK0pMRU1yNll5RkdLeHRGMHFY
K1BxaytieWdHQkd5WG9qUmkyYkZPR0xIMGJwVTVZK0M3bEpHOU00YVM0VnpoUUdWejQ1TllYRApF
cDI2eThVdjNDbmo4U1J2SGl3WFk1Z3hhem9tdEsvS2xzdXVwZkhnaXRXRlppTDNBbS81cWhWRjdG
d2paV0RobHNaNGFpOU5LSlNuCkRTb3pXRmxHWFdycG1CU1EybFBCU0RjNi8wT1dtV0NDOFZZK1ZT
MU5GWGlJN1NIVHl0UXM1T1g2TzB5SWgyRm5lS1lKaGgxcGtDZUcKTGxyQ09zTGNza29LNEx4Q2Fr
OWxJbDIyZnc0WmdZeEFSaUFqa0JINEJRajQ3NEJBazljU1huQUM5UmNYdTVqUnVFOXlNcWJqNkhx
TApyU1R2alA1TTE4cHowTThCSnZkd2FJRGVoajE3eTZnSjM4dE5yeitHWXR5RWhFdWdsc0Fiampp
NEt3dm1RMWtpSWxhK3BSZjVXeUhrCjlQaE5CKzYvNkxmQ0J0S3BUUWQ1OXJPMzVTVzhEVXFEbGtj
NVg0RGFqWGducGVYenljMmIySXZCWXI2YjhJUGMrUHFqZW9lZkc1cnYKMlAxVXVRZWJuZS9aeS8v
QWM5OUJ3QXQyTG5uaGJuMWJFeWNkNXo1M3ExcGViYUZsaEc5clV2K3dQS3NUN3RBLys5bGIzai92
QnlUWAp3VDRaRHBqLytydCtjdEcyaDBsZjdKTjVqZnN0NE8vcXNFRzN1Y3hzbDVVMzBSL3Rmanpt
UzZtZmhReWFzUjlMTmI2TUlzSzRPNUFCCnF3bU90NlBwUlBIVkYxcldsOStpZXZtVTkrYSt4Q3VC
R1Y3ODRqMWRLdllRM3M0MUNaandsYnl6OEtScVB1eGIrUlJMcGVxeHhJeVQKMkJDSFA2T3cyWHdh
NU1LU0xmcUlIemVaRThkWlhKYm13N1NaZnJJSWtjYytmbFYyQlRiTDRva04vZWlEcHhuUGZQYW1i
a1RuNjZLNQpCMGNuek42ZUsvTXJtSzdYdlVWOENyTEw0Rk5seFBlajVKUHZSa3IvQndiS2F0MlhW
VnRjZ25qd1BlZnIyOStzYkt1clVsL3ZrQmFFCklvYmxNdmp5QTY4TTB6MURxajhjQWlYRGRFK1Yx
eFF2dzd4YVB3aW9EQ2taeW51cXZLWlV0eFBMeEx6YWpIUTlXMEdzTE5LWU4wRnoKeGV5cEhESWJM
VS9aaG40czkxZllnNnJxa3pMUUZvT1ZhYndtRmh6aU9zZThpYWIyNW9UNm0yK1paZ1F5QWhtQmpF
QkdvQWtJY0YxTwo2VUpaY1ljdHNXUjMwb3p5Z3VoMWVzN1hYYTdlNFNnNTRPN3o1RUQ4NXNQNi9B
MTdyaUtEMzN4Q3RseDZUZm5qY3V2S1BYdjhVLzUwCjF6bTZ4SWlEeFdXeE5PcnUzZjhwemZCVVpM
ZGJUdE5OeUZ3ZXRTUW1KS2MrZVozc2pxVktuZkc2M2I5aVkvVUxCdytVVFFmMWwvY3gKaVppSVFT
WUhoWmU5ZEsrK0xlbTFRNitTdDcvNVZBWThlNHMrTGZuOUVuMHdxSjBtVjcveUFONWUxRkxmL3BQ
dXB6VUFBQ0FBU1VSQgpWTlJyZ1I1eXhMcjlwTmQ1ZStweUwyNSszaFlibVBuVTRkOTduYWw3T1lJ
KzNsaFZwTSs2bnZMN3ZXWFAyODZRWXgrK0FnUGV5WGlpCnNwRU9hdDFnSXdKRW9mUGdRUEc2MXg3
RzBxblhaS2NWTjVUMXNGZUdUMzBXeHl1Szc5dnJER3c0eHo0RmhDTXdzYWptMzJyWTI4RTkKSGR2
ZGNJSytyWW1idVBrMDZZN2QvNkh0Tng4bUxYZGlBclRmbldmTGtROE9WQnk0MU8wZ2JMUzNaVVQ3
b2E2UGZEeFVYeWRMM2JQeApCS1VQSmluMGdhRXF2dGpyVUladmlzOWlLMk9aV2crVS93K1VQNkN5
ZkFKbmd5Y3RTV1N6SlZmWERlZzczbnlLYkwvOGVuSTQydWFwCjY5N1FmbkR6emlmS1ZzdXNKYWM5
ZFlQdUU3cGsyOE9qK0ZSWkY2Kys1UVNYcnphK0ZhL1A1Vk1qN3RHNEcyL0dtb3duYlJjOGY3c2MK
dXZZT2NzQWEyNktQM0Nmak1YRWdCdHcwZm5YZm83MEhJbjllZlJ2cGQvUEpzc3c1dTJOWjNPKzFu
M0FTd3FjYVhGNjJGWjVzblBZawpmWmdxbC96aHIzSk4zMlBsb0h2T2s4VUc3Q3hkOE9LRWEvc2RK
MTNteGdzRVVEZStWSURMeU5aY3VKZnVFM0dGbE5vL0ZCb3phVFlICmxQRWRmenU1bEVLeFFqNUtp
KzBhbjhwYnV0SHEzZFVreWludE1SaE45YldSclZBVE5DSFZMRCtZYUxDWDYvOWYxLzdsTFpwakdZ
R00KUUVZZ0k1QVJhQlFDZGZWblBjT3JmaFZoR3p5UU1sU01HS0kwRlpBWnVEUDkzYVFmaFJ1MUsr
UzkrcmNUeCtuRVlON1dlRHVTbVZUMQpXdVc1TWtySFZMNlU0emd6VHNwUWorVk9VMlU2bHM3d1NV
YXBjTXRYb2VpUTJuZjJPRTdrNjFybnd4S3p1bVNKVmFSY2FkKzd3MzBhCkhCU3JEejdONlRYc0gz
VzQvR2ZNeEI5bHJoWXQ5RTFjcFRxVVN1WmQvTG13NTZPVHZsM0w2c0I4NDBrWnJIRFNvbEJMUHMx
M05xcVcKbnhZSDlja3pwa29iN0R0aG1JNm5GUzB4c2JMWnlsaThjYXd6QnZyT1Q1R3g2RmYyeGpE
S1Y5YkhwWmFPcnNCdjhhU0tkblQ1WDZnegpwZXF3bkc0YTNxcFdMMjJ3dDRoUFg4SlNRRFZTanpM
TkJ5ZFBIMGYrT0ViM0pxWDIyQzVkMnJzM21xbDZLTXZqVzFEL0lPTExLN1dKCks2OVVSMmV4L0Zp
TWYwbW1Wb0ZwZmtuVGNhbjlWRDdOVC9VVCtTUmEwUjByRWxLRjFINFR5Ly9WOWxOL21saCtUZlhV
WHFvd0I5Yi8KbVBWVHAzSThJNUFSeUFoa0JESUNOUkhBQk9SWmpJZDU0VU9vdU40bENla2RXcnRi
UzhwUWtjODAvSHcyUmNwRExmdVFqdldOOSs1VworRnNyUDFXbzZXOHQvNUJ2TmxneDQwa1pFbldY
R0I4VGdWcjZ0ZXBYS3o5MXFGWjVOZVZ6L1VPYnMxbHI0aG0zUGZuYy9tVW5lQzM4CmF2WHZXdmxO
eGJ1bWZPNy9jc3g2YWFmTzhZeEFSaUFqa0JISUNOUkVvSVVPbWt5TUYzQUdvNEVKQ1c2UTVhUktQ
QWNPRnNwNG54aGwKbTVqU2RCT3JKa2JDeGhwbGZoRmZsQmJMaG54ampOSmV6Rk1KSVNRWlk1UjVC
WHhSV213blVtRnlDTG4rRG12aUVFTEVHMnVVTWtWOApVVm9zRy9LTk1VcDdNVThsaEpCa2pGSG1G
ZkJGYWJHZFNJWEpJZVQyZDFqbjlnOWRJdXA4SlRidVAwVjhVUm90V3JyUnlnVEloTXhmCklCL3BS
alhJYkVZZ0k1QVJ5QWhrQkdvaHdGYzBWUTkyY1NMVkgwUUQ5V3EvNWhwa3VxUXhieDdGYVRGditi
T2I1dm83aEhQN1IvMGUKSFpGOThiZm9qN0dObUxkK0hhZkZ2T1hQYnByN3YwTTQ5Ly9xL1g5Mjk4
RnNQeU9RRWNnSVpBVCt2MFRBUHdIaFVwQXF3UVkrekU1VwpqS2hHckVwWmt5bVNyNWtQQVZ2V3Bm
b3d4b3QvdFNWZW9UQnpJaW5BYkRWYVgydFVmcUJKQzFZM0s0N3BNWjhVWDh1OXlueGZWeHY0Ck5k
bi94SUVtNjF0Rkk1cnJYd0lqdDcrYmVNVjlQdWFUN2xmWnYvMzVZbjBxeGRQTzlkei9YWjlyOHZt
Yk5FQ1Q5VXRkUFhEV1ZreEkKMnlzSVpTWWprQkhJQ0dRRU1nSk5Rd0J2d2JLclNqWEY2QXBrckZH
OURaem9oenpZTTk0b2l5amp2Vzc0Y0ZxYVR3V0VvQU41NWFuSAp3RWhjdnZFK1h3Y3k0RzFBUTFs
TEs5VFh4T1FRQ3ZkbEl6c2twZVhIZVJFZjVLTTBzT0VqYkxuK1JNT0ZJcXhDR3R1UFlyNTljL3Q3
CkxBd2c0a0xlNDJOOVBmZC9ZTUxBL2hQaEU3QXkvSnhVK1RIS005Wm9rWDdJZ3hYampkSndHZS9i
NjcvNi9DOUhLOGN5QWhtQmpFQkcKSUNQUUdBU1MxL0Q2Q3pUdm5CVUdYajM5UlRQa3gxZFV5L1A2
dk5qYlhUaktHeC9zcC9ZU2ZTM0QyMUsraG54RmVWRFNORld1UEZTWQpRMWxtbzFLYXh2QXpIMDJB
YVJZc3ovdHN0a2daY3YwVGZGTThFL3djYUhwMGh4cnlGWGhEUzlNaUV6RmJZUTdsbTQxWUx2Q3BB
ak9ZClppSHgzMnlSTXVUMlQvQk44VXp3YzZEcDBSMXF5RmZnRFMxTmkwekViSVc1M1A1TjcvOHhv
Sm5QQ0dRRU1nSVpnWXhBNHhCd1M3QnMKUXBCZXdBdHQrTUZVVVY2dFRiVmhzT1p0NkFBQWgyRFNH
RS9UQVJ1VGJZeWk1ZGVTUjc3WitFWHlSWlcwTWd2eWN2MWRXMWJiVkJ3YQoybU5JWXBnMXFuMG9q
MTlvQW1NOHRiYXUycCtiS3E5T0pRZXprU1F6YW5YSjlZL0FpZkV5M2xNU3cwdzFrdnlLOXFROGZp
WVdHSjlRCklZOTBTMnVVL1ZSZWxaSkRLRHhKUjlUcThyL2EvcFdJNUpTTVFFWWdJNUFSeUFnVUls
RCtGaXlLMk4zYUl2RjBnbUlYZDFJR3V6WWIKamROaXZsbytaZUpndmhobFhzekhzbkZlTEpQeTVy
UHB4dm14RGN1UEtXVmpmZU56L1IxSzFxNUdGYzhJUUVzM211Wkhvc3BhMnhoVgorVmc1VVRBNW82
azgwNjNOVERXV1RlVk54bWlxYjdaeSt6dUVyR21NS3A0R0hxaWxHMDN6STFGbHJXMk1xbnlzbkNp
WW5ORlVudW5XClpxWWF5NmJ5Sm1NMDFUZGIvOHZ0Yjloa21oSElDR1FFTWdJWmdTWWc0SmRnK1l0
NnhRVTF1V0RYeWcrM0ovMkVSRWNjMFMzTFZEOTEKbEc1RTRtbDJ5S3RpdmlLL3drQ1NZSU1QbzZs
L05RY2NDVDRWRGlRVlN1MG43cVJ3cGRtMXpGZmtWeGhJRXF6ZVJsUC9jdjNMQjZ5MQo4S2xvZ056
K1pTZDBpbC9TSFhQL0J5RC9iWC8vMGpiTThZeEFSaUFqa0JISUNEUUNBYjhKM1V2cVFCUlhRQnVR
OG1wb2FSUXh2bHArCjRRaUNnekFmVE05b3VOcEdNd3Jka0JucG1DNnA1WVZObTVDenRHcjVvUXdL
SlBWaFVoeHExYTlXZnE0LzBHUmJ4dTBYOGRidVJvTnMKYm4vWERaUCtIUGROOHRiWGMvLzN5Q1I0
RmVFVCtoaFY4dmtmL29aN0JNdElyYjl2UmZsbEJuSWtJNUFSeUFoa0JESUNqVU1BRXhCZQp4R1Bo
S0ZLeHB0a0dsOUdBTWIzQWgwRTRiUEtDWlhjOVdZVHhwQnBZbHRsa2d2RlY4dFVleFBSQ2FPSXNn
N3BGd1RLTUp1VWxVV2VCCmlUN2srcnUrRWRhMEUwY0RqUmdaYjVnbCtibjlTMzJlY09YKzc4N2Rm
UDZ6TnlEVU9IL1MvRG55NzUrclNUNW1CRElDR1lHTVFFYWcKS1FoZ0R3akVxNHpQTlkvV2JId1pt
SkFRWjhJTzB0VmVsZnhVMzJTRHVERkd5d3BuSlBJbDRrMDhMWi9wTmlhbXJnWVRSc1R5Y3YxTAow
QmdtVERHb2pGWW1SRUpnVS94cEkrakV2RGRJWWpyTURyS2h3Q2hOQlVvaVJlSm1pOVR5NC9xRVJK
ZWQyeDg0YUJ0NFBJdzMrRk5hCnEzMVMvRk84VTMwdER3Y3JKekFod1R2by9TTXB5ckswdEh5bTUv
WXZ4eXdHMExBaFpVanhNbHlOQnQyUTRQVHlNU09RRWNnSVpBUXkKQWsxRW9QdzF2RlQrTmRjVzB6
V2Eyck4wb3hYNXlMQzd4TXd6UHR3eFpXSUR3ZXdhcFdqTXA2cVdaN1NXZktxZnhzMk8wZFNlcFJ1
dAp5RWVHMVpsNXh1ZjZFNDNhd1hBMVNvMllUeTFZbnRGYThxbCtHamM3UmxON2xtNjBJaDhaMXVi
TU16NjNQOUdvSFF4WG85U0krZFNDCjVSbXRKWi9xcDNHell6UzFaK2xHSy9LUllXM09QT1AvVzlx
ZlB1ZVFFY2dJWkFReUFobUJSaUJRUGdHcHVDT1dYQkFyREZZb1FNTFMKeUlLM1pUalVOWjVVZzht
UyttQlpqQnB2VkJOTUIva1Y5cGtXNllFdEM1Wm54ZEd1cFZIUStKQVBBU3VqekpCRktoUWlJMlNS
YjNXbQppdkc1L2tRREljVVBTYUd0SXo2a0pRMVdnVzlrRW14RlNJdEx6Rlc0VTlGZXFjVWFCaXY4
UTRHV3BxWlNmU1NHdWtaOFNFc2NObHVrCkRFbTJTNHlPYVhHcGZFVStCS3lNeUV5SnJWQkFscVdS
Qlc4WVVzbjQzUCtKQm9KaFJlb0QyOFNDOFViVEJxN0FGNHBtMG16RTFQS3MKT05xMU5Nb1pIL0lo
WUdYRWRnSnZnaUVoTXhtQmpFQkdJQ09RRVdnVUFtNEpsbzE2S2paeDRnS2pGeis3MEtSWExNMUVR
VVlwWnpKawpQUjhHSEpZRzJxaGdkbzAyeG40RGhpdnFCN3VXUmpYamxUSWgxeiszdis4SEpLRnZX
MzlNYVdQNnArbW93Um9Ia3pYYUdQc05tS3pvCjM3QnJhVlF6UHZkL0QySSsveHQzL2pmUTUzSldS
aUFqa0JISUNHUUVDaER3SHlLMEhCdm9lRXBpWXg0VGNWZWtFQ3RuRW4zVlJScXAKQmpObUNVa0JH
c1dCbE1IdXZwRnFxQ0h2cFFLcEtBNzZtdVlMTU43TWg0SjlmbEpjeVlkUVFzSjRQYk5UWVY4VG9H
TUZKZ1ZvRkFjegprK3NQTEFCR2JuL2Z6N1NEZ1BjZFJLTTQrR2pTR1gxZmo3c2JCSzFQVXRoNDY0
N0JrRGRJb2pJVXRsQ3RNT1pibnFjVjlzMllGWmdVCm9GRWN2SG8rLzRIVGYxWC90ejZTYVVZZ0k1
QVJ5QWhrQkJwR29Id0pWaXBiWTd5UWlsZkViU0JoTkl3c1FnSlVZajZKMnBNVG8rb1AKNUczOFVs
RmdrbUNtalRLN2lJL1RZaE81L2c0dnc1czRHU1l4VHRWNHc5Vm9BRDhrUURQbWs2aTF1MUV0Ry9M
bVQ3VnlMZDFNRzJWNgpFUitubVM2cDFkWEtvNXlseFhMVmVMTnJOQlFlRXFBWjgwblU2bTFVeTRh
OCtWT3RYRXMzMDBhWlhzVEhhYVpMYW5XMThpaG5hYkZjCk5kN3NHZzJGaHdSb3hud1N0WG9iMWJJ
aGIvNVVLOWZTemJSUnBoZnhjWnJwa2xwZHJUektXVm9zVjQwM3UwWkQ0U0VCbWpHZlJLM2UKUnJW
c3lKcy8xY3ExZEROdGxPbEZmSnhtdXFSV1Z5dVBjcFlXeTJVK0k1QVJ5QWhrQkRJQ1RVU2dXWVB5
ZG1FaWpmbHFTbmFoSkkzNQphdkpOVFovbG5TQ04rV3AyWWg5aXZwcDhtaDdYT2VaVE9ZdkhaY1M4
NWY5YUd0YzU1cXZaalgySStXcnlhWHBjNTVoUDVTd2VseEh6Cmx2OXJhVnpubUs5bU4vWWg1cXZK
cCtseG5XTStsYk40WEViTVcvNnZwWEdkWTc2YTNkaUhtSzhtbjZiSGRZNzVWTTdpY1JreGIvbS8K
bHNaMWp2bHFkbU1mWXI2YWZKb2Uxem5tVXptTHgyWEV2T1gvV2hyWE9lYXIyWTE5aVBscThtbDZY
T2VZVCtWeVBDT1FFY2dJWkFReQpBazFFb0h3UFNMaTk1Vzk1MmQydWNBY01WeUZiRmxTdElMdlFN
VCs5YU5XMFZ5RUFJNVpHZytEVlB0TVFqSS9MZERudWFMN2FFaDc2Cm8ya21wQW1JbUtOV2xyZWZS
TU55aUdybDBXeWNaMmFOMXJSWElRQ0Rsa2JqNEszT2pCb2ZsOGwwQzduK0RxUGMvcTVIYUhkbkg3
SU8Kb2dtSVdJTDFOVktFSkpyN1AzQ3ljOG9oVkhtTXowV0QxV2hOUENzRW9rWmdVY2kzYzU1UjQr
TXltVzdCZlAxUDluOHJPOU9NUUVZZwpJNUFSeUFnMGdJRDdFR0VRc0N1bHA3T1F3V3NpS1lQeXlD
UFZRSWF5bG1DODF3OERHeDlQazZsbkYxRzFsK29uOWlsckYxWEthemJUClZOa1NQQVV4Mi9FRjJu
d3dsZUFqRXl6VDAxeC9oMjF1ZjlkYjJNOTQ1N2xhZnd2blF0S1ByRitseWJuL2w4NVJSWmdBNlVu
dDhBNjgKQnp5Zi80QUhXTmpmTTRXcWdmNzRIL243NTVzcWs0eEFSaUFqa0JISUNEUUJnWWIzZ05D
UURacUtqT3FBZ0RKZXlDNk80WTRiTDQ3UgpCVE8xVWZqaE1PaFltV20rMnZVMmFVdkxqK3luOHJS
amFaVFhDN2Fuakd1K3A0d1hCZk9sTUkrK0lDUFgzNkZqYlozYjMrR1I5cyswCkQxbmZKR1hRL29p
RGo0YSthL201L3p1UXF2V3ZtbmdheGdRYlFmSDJWQk1LRHRZV0JWbnU3dy8xdmREL1l2OHZ3aVdu
WlFReUFobUIKakVCR29BWUN6ZjRmZTI4Q3Y5MVZsWWVlREFRU0NKQXdoRkdRTUFoRVJoVUVGQmtF
WkxnTzFUb1hvUlp2NlVSdjcrMnQxTlpXaTFwNwplOVZxMVY4dHRQZW5WVkVVVWF1QVpaSkJDVEpH
QnNNZ3lFd1lnZ2tKQ2VUNzducldYczgrNjZ4enpudmU5eHNrSWM5T3ZyUFdYc096CjkzNzJQdS9l
Ny9qdmg1Mk5RSGR6TTRiTU9uTzVFVVBhdnl1dnZHemNuQm1UWmNiSU9tT3lEYnJqVW9hVGJacjVp
czk4ZXZqRUp6N1EKK3BaejEvQmdaeHhqZHNtSS9mem5yaDR1K2RqN2hzOTg1bFBUZlBiRit6bnZY
NGErNGdycjY4ZXRyeWdJWlQ4b2FhZjBHTHQwR1lGcwprM0dVNGU2NHRGTXUrZUhiVlhKTzFwbkR2
dXd4ZmsvSkdGbnZlS0hBNS8vc1l2OS8vRE9YRHArLzV2UE55VFpSUXd5S3h6YTEyMmluCnRKakxy
NzV5ZVArbEg0dkFQY1FtZmdTYzVQRzMreUMxeGE1djlpOENFWmRqbWI4bGMwN1dtY2U1MFBpTjN5
Q0lraHhsbVRuTU9tT3kKRGJyelNobk9qRi9qZ1VOYjFoMExCaXZaM3l6clY4Ym0vUFZvZWNTQUdC
QURZa0FNckRMUXZnT0NWL0gzS2RqcytDb2Y0cW56RmNtQwo4YnpuL2J2aGNZOTcrbkNyVzk2cGVl
bzdFQ1hlTjFoaXdrZDlCYi9Hdi96bC85L3czdmUrWlhqNjAvOXJSVzUxYkp6c0F5elU5eHovCkpS
OTc3L0RDRi8zQ2NKT2JuRFBjNFE3M0dpNi8vSlBEdTk3MXV1RUJEM2k4L2ZzRzYyNzVUditPOWhi
N2VpQy9kZnlacjVlLzkwM0QKdjMvVmM0Y1h2dnQxdzkzT3ZmM3dndy83enVFcDkzdmNPT1pqR1Ar
dTlnQTNLenZHUDR1RllXUDhyLzNBMjRkbnZ1VFp3MnZlLzliaApwamU4OGZCZFgvN0k0Vm1QZXVw
dzF1azNISzc2L05YREhYN3FPNGVQWC9uWEUyaE03UWYvaitjT3R6MzdGdTJ3RlhQK3ZMZjk4ZkNV
CkYveWs4Zkpkd3pPLzlyc21PYXVWamY3TjhrN3crT2Y0MWdEdkVUaXByOTR2aUxGLzZCY0tkY2g5
aXNZL2NneStUalRmQi9ON0xaai8KZmRhTllzU0FHQkFEWWtBTUZBYmFkMEI0SUNuT1diVnV1SFhE
VENlYVQzemkvY043M3ZQNjRjSUxYekE4NGZIL3VFRWhIakV1WitpegpEZjNxcTY0YzN2dStOdzkz
djl1REl6anllWUlxL2ZuNlJ6OXR1TXBlMWFZN2RXYzVuK09tWE9nU1RSLzYwTVhEczUvelQ0WnYv
cVovClBseGdCMTh2Tm80SFAvaGJodWM4NXhuREJ6LzRqdUYvZTlJL016UDdHSmtaTzQzLzZ4Lzk5
NGFyYkh3VExzcDRHaFQ0R29hcmJWenYKZmE5eGNYZHdFYUE3NHIvdVR2Y2JUanZsTkg4QzhyMzNl
ZlR3bFB2Ymt3KzJ6M3oyalRLNnZDcG03VmtpYlo2MGNLTE4yR3pmNVVJcgp4SUpFUWE3Ymh1SFN6
MTQrL01jLytjM2hSeC94bE9FKzUzM3A4T3czL3VId0RIc3llT2JwWnd3Lzl1anZIMzc5clM4Zm52
WElwdzZQClB2OEJ3dzFQUGNQVDMvQ1JkdzQvK3NlLzBwNThtT1V6VjE4eHZQeDlieG1lY0xjSERk
OTZyNjhaZnZqbC85MnMxc2hhZnh3bFhXYjkKKzVzYmYrdUZFOUw2RE1Pc1A3VEJhV1UySFNVZlZS
VEtWbHUvenRxelJObzhhOWJnRlBzNDVyOTFxdlNmYlVPaXVOdDBqbWZXblpMUApPTXFHc242ZHRX
ZUp0SG5Xck1HeEwvQi9NWTUvblMxNXhJQVlFQU5pUUF5c01oQXYyV1BqM09OZjNrQ2hZK1B1RW0y
RXplUWI3SUQ0Cm9BZDl5L0RtTjcvWUR0cVhOOS9rUkxUUVhzSy94bDdSZnQ1di9idmh3M2J3ajRa
TTVnM2U5QlFQL1FZM3VORndreHZmM09LaXVOOTAKeUt6VDczaW9MUFFsMlQ3LytjOE52LzM4bjdC
M1BiNXN1T0FDZS9KQlBJTTk4MFpuRDQrMFEvRWJiYnp2ZU1lcnpRYzhYSmIramYyLwp3UTNPdEhk
U3pwMjI3WDJNY2JsdUdDYXZ1U2E0K1BBN0F6ZjZPNHVIMnp0Z3lqRGM5SXd6bTd6aFdhTTkvSi96
anpBQkJ5WHd0bVJ0Cno0ZUlQaHFFTjl2MHoxM3p1VERRUVlsMm9LKzBWL0VSNjdhanc0VWZmUHZ3
bjcvaEh3OFB1ZU85aHB1Y2NkYndUeDcwdDRZdnU4VWQKaHovN3NLMFBpM25jK1Y4NVBPMkJUeHp1
Y3ZQYkRyZS82UzM5SDk0eCtjWjdQTVQ5Vjl0NitvN2ZldGJ3ZWw5UDFnVXJwNTk2bXAwZgpWL3F5
MU1mYVB4OFcrbWhnK09mOURkbU5kRUllKy9oYkF5Vy85c2ViOW81QXM1VFFJYlBldkhZRkhzcWVI
TlQyQU8vWWtNQkJPeUUxCi9pREZTUXE5ekYvbHZmTHJmTzdJbjhXakdaOEFUTUtvK3h5RlBmdFB4
UHkzbG5RVkEySkFESWdCTVhBUUErVm5lRXR1M2kvaHdoN0cKTDNveU5PMTM3ZkF4REorNytyUERa
KzBWNjBjOC9NbjJEc2p2Mk9IOFJjT0Q3Y2xJbkU1Y3Z1Y3YzekM4L2cxL01OenNwcmNhYm5HTApP
d3l2ZXZXdkQ2ZmFnZkI3dnV2SGgzUE91ZTN3MnRmK2pyMkQ4b2Joc3NzK01WejY2WThPMy9EWWYy
Qjc2NUhoSlM5OWpqM1J1T0h3CnlVOTllRGpiRHZDUGZ0VDNEMmZZUWZ1di8vcmp3NXN2K3FQaEw5
N3htdUg3di85blBYY1hQcnAvMldVZkgxNWpyNnAvNUNQdkdqNXIKVDVJZS83aC9OTnp4anZlR3E1
VVkvNGMrOUJmMjNaTDNEL2UxZHhKOERHWE01OS9sZ1I1LzBVVXZHYjdNRHJ4dmZlc3IvS05hRDN2
bwpkd3dQK3Fwdkd2N2NYcDEvbWIzYS9xVjN2dC93eENjOHcvcDZ5ZkRtdDFoZi84TDYrbmV0cndk
eDhSSG5BbU51SlhXR2M4TXZMZE1GCkdmb2YyYnRTYjdBbk1xZmF4OFYrNXk5ZVBmeThIZXJ2ZTV2
emg1ZFlILzZMemNjZGJUN3VidlB4NzIwK2NFRC9RNXVQdTV4NzIrRTMKMy9hSzRSa3YvSVhoWHp6
c080Wi85SlhmTkR6WHh2U3ZiVXlQc0RIOW9vMEo1WS9ldll4OW9iMDc5RXR2L0lQaHZCdWZNOXp3
dEJzTQpQM1BoYjlzVGlHOFpmdTNQWCtaUEdQN2oxLy9BY0k5YjNuSDQ4NC85NWZEM2Z2K25ocDk0
MU44ZEhuNm4rem9tTDQrNXkxYzAxY2ZSCkJvTiszdjdzVy9yWWdOM25Kc2IvL0hlOGF2aU5iLzFY
YnY1WlcwOS9aT3ZwUTdhZTNtZnI2VC9aZWtLNTVzaVI0Vi9heDdwKythTC8KTlp4dG5QN3V0Ly9v
Y1A2NXQzT2ZuOC9RRk5ZQml1dDJhYzJQdHFhTjl1eW56eVVkbEJOblZQYng1WmlrTDgwL2JVdE45
WUVrakJ4MwpqUGQvaDgxWXJyTWR5bG1BR2ZieDVaaWtjNnd4L3c1RjIxSlR2YTJFa2VNMC9sanpR
UXBvMnNsbkprKzZHQkFEWWtBTWlJRjFCdG83CklOaFl1QWRUSW9jNi9mNUtHdXhtNEN0cGxCN2ZF
aTY2NktYRHZlLzVjSHMzNGh3L2tML3VkUzhZanRwQnIrZFp6bTF1ZmY3dzBZKysKWjdqNG5hOGRi
bjZ6ODRhbmZ0OVArYUg0bGEvNlZZOTd5SU8vMWQ4aHVOYzl2MmI0eGlmOW4vN3V4cS84NmpQOUNR
SSthdlZ0Zit1SApoZy9iUWZvM2Z2TkgwTEkvS2JuTW5vUjg4bE1mOHA5S25lRGY5TmJEVTU5cytI
YWdkbnlMUDNMa211RUZ2L2YvREkvNHVpY1BmK2Q3Ci9zTnd4enZjZS9pMTUvNnI0Y29yMG5jSVl2
eVhYUEkrYitPbWNkanQ0NERWeG9JbkF6ZTA3eVI4N0pMM2V0eTk3L20xL3NyNjFWZGQKNGY0TDd2
WHc0WnliMzZaL0tmOEc5ckVoUFBueHZvS0w4KzQ2NVFKOXRTY0luWXV2L3JiZzRtdWRpL0hKaHpj
M1h2SWZKM005Qm9BSQphd2ZmazNpeWZlL2hRYmUvNS9CL1BlUnZENCsxUS8yUHZQSlh6RGNNOTd2
MVhZZTMySHo4VDV1UE85dDh2TkxtNHpUajY4ZDhQb2JoCjIydytUN1YzQ3k2TE1YMjdqZWxMN2Qy
R1QrS0hCcXhNc0syL2p2M0h2K3p0bm01andaT0IzNy80VDRmN25YZVg0WHN1ZU5UdzNmZCsKNUhB
Yld4OVhmTzZ6L3VRREdIaEg0dzcyN3NYRHYrUStuZ2ViYyszSzlITEVub3krNlNQdkhuN2dBVThZ
SFduOEYxL3kvdUZxZTVmbgozdmora1kzOW45bDZ1cTA5WWYxV1cwL1B0dlYwNDNnQzkxdHZmNlcv
ZTNMaFUzL09jWDc4MWI4MjRwRStTUDlubHk2aHdCNHk2N0R0Cjh5L25aSjI1MlFaOXE2VHgrODhG
QXdlMk5UeDJIVExyYkNmYlBNWXVYWVlUMkN6VTJkNldSQjV6c3M2OGJJTytWVFQreGhCNDRMeFQK
a21kS1JITHFJTFBlVUtZMmo3RkxsMHhnc0tRWUVBTmlRQXlJZ2YwWnNGL0I4aDNGTXJDNWhBN0pq
WXJTTWZsU01HVFdwdzIreTc3NApqRmY3OGZub0I5b0JFUWZ0ZDczbnoxcVFmK1JsR000NjY2WitL
RC92MWw4Nm5HOEg0Yk52Y3N2aHpwYmp2MktGbUlqekwzWmJIOTc1CnpqLzE3MW5nY0krQ0p4UDN0
eTlWdjl0dzMvZStpL3lqVUxlNjVaZVlCMk1vK0hmOXl1RnNPOWplMlY1VmI3K1NkWFRBdXhWNEVu
THgKeFg4eXZQVnRMeHZPc0k5djRWZTczdmRYYjJsajU3aE5YaEZQU3NhRC8zejhaNXh4SS90VnJF
dTliVnhPdHljWkhBUGs2ZmF1alJmVAp6enp6YlB0aWZ1cnJtWVVMOURWekVYM3hqd3V4WHdCclEy
MHk2NjBsdTNLT29KNHluSEhxNmNOVDd2dlk0ZjdubmU5anZObU5iank4CjNaOWNIUjF1Y2RiWjlv
VGlOc09YMjN3OHh0N1J1ZDFOYmpFOHd2aTZHTDhxRnVWR05xWlRITE9OLzh3YnNENE1aOWc3RzAr
NTcyT0cKKzkvbXJoN3QyUGF1RWNvRGJuZjM0UjcyNU9LQ1c5OTVlSks5US9UVGozMzZjQmQ3bCt1
ZjJzZW9YbTdmOGJrWXZ3Wm0vWCtGY2YvNAo4NytxOFdiOTlUVkl5WEdIeExzbmVES0JkMitjaHpK
K3ZMdmpINzlDQjRDQmY2N2FjMjVnQk00VDd2cFZ3OWQ4eVFYRGJleUhCZkJ1CnpqcytibjFPZnNa
NWN1ZXpqWDlxYTdYSk5kck03Yk1mSHBmN0ROM0hHdEoxTTFKR2Z5ZjlxZmtBcFExNmJSOFlFenly
T3k2U2txN3gKQnkrZ0JkeXd0RFZrSkpvaDYvUVhXZm1IbXpib2hBNzYyOXhFRE9lSmt2MmdYTXJQ
TnVoc0M1STRsSTZUNXZ5WTV4OE5xWWdCTVNBRwp4SUFZT0l5QitCV3MyRXl4S1hHRGNoeHNVRkQ4
MHBDVE9oeEZIbUs0R1EvRCsvL3FyY05sOXV0UXIzN05jejMrcUdHZWFnZGZmQlRyCmJ2WTUvZWtm
Y211UXhNY0IvL1A0L2tEZVpDUGtnL1l4cUxQT3Vway84V0IzYm4rN0wzTXZQa0oxcHp0ZVlEcjZN
ZmFsNjlIbk0reDcKRncxL0dENWdId3U2bWIwemN1NDV0L2N4bjN2dUhZWjcyWk9ibTltci84UjN4
WEx4N2dVS1BnNDI2VnVNLzZpOXluajU1WjhhenJOWAo5OGRjUytBNC9GVkloMGpqejMyZGtPb1l1
N2pvYlRpKzRiQWRRRUxQRkVTenlNR1RoMmM5NHFuRG0reWRveGZhRTdlMzJFZWVMcmVQCnl6R2g5
UWg0TGVrbU5oOVh6ZVlEemdod1lSZjd2MlBidXhMNDVhMjNmT3c5dytYNGtqMktqZjlHcDUweDNN
S2VhT1g1ZjhMZHZtcTQKay9IOWk2Ly92ZUgvZmN6L1B2emVYL3pKOEcvdFkzdDlQTWpsMkZ6SFpS
Z3V1ZnhTZnpmbGw3L3gvMjVkWVV3YS8vUHRDY2gvZU5RUAp0QVR2WjFPZG1rbTlqUnJlbTlsM1N6
NWo3OGh3ZUs1NGJFcEk2dEw2SDNNTkVQTU9lRWdVNnQ0SkdBZ1dzbFFSc1RUK01RMEpCcll3Ci9w
YnIxMWt6UFovM09pU0tyNTJFaDBEdkV6dUdHSTlzbDRYN2YrTFgrTWM1QjJPZ21adzRneVF6Wktt
MkVCcXRSclZMS0dtK2dPOXoKNkprTDhjVitRdVkvTUNYRWdCZ1FBMkpBREJ6QXdPa2V1K3NBNDV2
YUNpSS9ENXcrYy8xbmIvajk0ZUVQKzI3L3lKUnZ1TFpINHJzVApiM3pUQyszZGh3L2E5ejNzd004
TnRNTFNUbWwrTkk5eTVKcHIvTzl1NExzbE43cmhUZHlHZHhId0RzbVJJL0UzSWR5YUx3U2lISDFY
CmZmWXoxbzJqdysxdWUvZlJ5TEd5VWFTWmZ0NnQ3WW1GbFVzdi9laTA3ekYrUERIQjkxTWFsaVd4
dVlvSEVOcWdvMFFiclJKWDJJaVIKL094V1AzQWluSE1YcVZOQkVBOTAxN05lOVQrR0Q5cEgxZjZ6
ZmQvbEYyMnVYdjMrUHk4WWxzT0dtRTVKbUZ4MzFHWjQxaXQvZGZqZwo1WWI5V0dLL2RSd2ZNZFA0
OFRHenB6L3dTY09QditiWGh4K3hqOEo5MXI3c2ozZE8rdGdaeTF3YjZ4SDc3MSsvNHI4UC8ra3hU
L2Z2CnFDeU4vOE0ySDM5NTZVZnNDK3YzOU42TmdPUFF3dEVFT1dRN2xCZ1crekJKaU1yQytwOThS
cDY1YTNnSCs2MURucE1tZ0gxZjZsOG4KTXNWM215VXdsNUxZYS8ydGJXajhzYjZEWHdoeUFxNE9u
dCtVczVodkRYQ080RWZoM0xWYXVYTGU0aFI3VWdBQUlBQkpSRUZVS1QxaApqR0V1SmJFUG1mOFJU
Wm9ZRUFOaVFBeUlnYjBac00ranBNSlhhaUd6bmtJbUt2YzFTUHVIUDh5SGp6SGQ5Znl2R081a0gy
dTUweDIvCjNPWER2dnJiUGUzQ1AzdEIyN0FuSUMwM240dXkyL2RHdzc3MXJlN3NadnpjclcrNjV1
REJuNzZlRi8xWnJadmpYUHVpTVQ0cWR0VlYKbitsaFJ6Ny8rZUdkNzdxd2pUMk5IMDkwdnV3ZUR4
MHVldXRMN1JlcDBwTWR0R01GWHloSGViQjlPYnVOb3pud3BNa05FZWRCV1hkRApDNkc2eUVQazRO
MGs5N3ZzeHA3YWMrSGlQMVBQTyt2bVhzZVh6My9JdmpqK293Ly9QbnZpeGxQR21ONjFQUC9SREgy
ZnQ0K3R6WXJGCnZPRkRobTFQREg3MGE0R05DQ2FhaEpxcVBkOXNUNzN2NDRZclAzZlY4QS8vOE9l
R1IrSmplNHdyRUEzanFIMDUvcm5ETTc3eW00ZGIKMmJ0aFhveUw5OWdQRWpTOWlSZllPeWxQdU91
RGhsUHR2OTUyNElLNjFVSmZIai9Yd1ZJUzR5RmR0d3NsRk9xUXJpY0p2R3pMT253bwoyUWI5V09i
Zjh3b1dzSmNLeDZyeEg5UGpuMCtZejFtUVRwMXpBTTdkRnVSVDM5ZC9iWjMvcGJVa214Z1FBMkpB
RElpQkhReE0veEk2CkQ2V1ErSWVOa1RKdmxnVGthYzQzeHFQK3ExYitNYXV5b1o1cmZ3anZ0cmU5
Mi9DbU43K29mWjhpNHZIenR2N2w5TUM3MnY1T3d4RWMKOE1PUG43ajk1Q2MvNkRGM3NDOU8zOXcr
Q29VdnJYdWZyRi80ZFNxOE8zR1hPOS9mYzVEL09mc0lEZDZOUUhIODBGRWY4WWZoUGhjOAoybjZw
NnpQRDg1Ny9ZL2JPeGtmOHV5RXZlc2wvYWU5aUxJei9NWTk4Mm5DNmZZem9qMS81UHdEVml2WHo0
L1k5aHorMVgzVjZ6S09lCjF2N2dvdmQ5TUp5NzJkOHdlY3R3MVdldkdDNzUrRjhObi9qa0Ivd1BG
M3FpeGVBTDZ0N1hPTkJQdUlCL2lRdjdMZzM0d2tmY1B2bloKeTRidis5MmZIRjVtMzZFZ1g4VCt3
WmMrZS9odCs5TDNaKzFMNS9nQytGZkZSOVgrNnRQdHIzNi81Z052SGE2OCtxcmhEK3pKRmo1eQpo
Si9reFplNjhRN0VOZUFyeG44WitNUzdTekdmWDJIdkZ1SHZhT0NMNkcrM01WMXNZL3F3OVFYdC81
WDlzaFRLaVAyNmhtMVA2b0I5CnRYMlVxMzhreXpscUMrb1c5bjJZNzd6M0k0YmZlc2NyaHlmYTl6
RzgwRi9rTDczcEQ0ZFAyQjhhdk5qV3hPL1pkNEoreDhiNEwxLysKMyt3SmlQM3dBR0pSVFA3T3hh
OGV2dW51OXZPN3BaeHI2K2xkbjhKNk9qcmdYUkw4SlhTTWtlVnk0d0kyanYvUTlkOTRzbjRFWDQ0
YgozV3I2Mk1mY1g3WS9zWld4dTgvdlJjUG82ek4weGdLSVBIVFFwTEF2a0ZsbkNIQlJPbjdvYS9G
c2krMTduRjMyalVkYnhNaDZ4d05XCitxZnhOejc2L0JnMzVJUThVb0xQV2pBdktKQlpkNk5kZ0lY
UzhVTmZpOS9WbGdQcElnYkVnQmdRQTJKZ21ZSFQvczNYZk8rL0dYY2oKYkVEWWJXSWo2anAzcXdv
eXhyL1IvdDdIUzEveDMveUwzWGV3QXkrK2FFMmNkOWxQdjc3TmZtM29NMWRjT2x4aXZ4U0ZMMWpq
RjZ6Kwo5TUxmOHU5T2ZJbjlBdFVWVjN4NmVPVnJmczEvWGhmNTU1NXpPMytINDdXdmUvN3dDVHMw
M3RQZWdiaUgvVUhDVjcvMmVmNFR2M2puCkFqOXYrNlRIUDhQYXVwbC9wd040bjdaRE5yN3JjZlhu
cmh5UWkrOW16UEh2TWR6K2R2ZndYOTk2M2V0L2QvZ1R3L3p6dDcxOCtPb0gKMlM4bDRRdmFDK00v
ODh5YkRQZTd6Mk9HTjEzMFluL0hBLzE5bXgyYTMvU1dGdzlmODVEdkhCNTRmLzRhVStNT1Q1NHVm
UDBMQm53awpEVThhenJhL3hJMmYrc1V2ZytGTDdYalM4bWs3dEo5eHhvM25mYjJ5Y25GNy85VXNj
bkVQKzBONjc3R2Y4djBITC95NTRTTGo4Mm5lCjlqZ1gvL05kcngxKzhHWFBHVDZGSnluVzU4ZmJ1
d0VvK0w3Rkg3ejd3dUVYN0RzWDd6Uk8vLzREbm1nL1AvdVM0U0w3TGdnTzV6OWoKZkgzRStIcW96
Y2ZIYlh3L1p2UHhibnQzNFVIRzFmbjJwZkZiV016UDJwancwYTFyN0luVDdXeE1sOXFZYm5QamMr
M2RpL3NuN0ErTgoySmY4cGYzUzFkWERzKzBqZU8vNzY0OE9kN0FmRzdqQXZ1anVIRHRWcHd6bjJs
ckJkMUcrL1Y1ZlorYkdIL283enNNcHc4dnNqekIrCngvT2ZOYno2QTI4YmZzM21DditlKy9aWCtM
c2YrRW5kOWxmb2p3NmZ0aWQ4Ly95bHZ6VDh2SDNFN0hUNzdsRmV6eCswWHg3N2FSc2oKeG83K1kr
eVgyanA2Nk8zdlpVK2tQakg4NUovOHh2Q2VTejg4M05lZTFPSVh1Y2JjN2ZXZis0cWV0OEt4TEVt
enVabVNLWXhGblRvawovdkhlWkgreUxldExmdURWc2dzUHNkVmY4M09iMEZFb3MwNWJscVo3bGRL
VHpjYVltZzk3N1UrMlpWM2piMnhtVG9MZmlkakZKd0tyCmY1SnNGY04vRkI0dlZjU0FHQkFEWWtB
TUhNYkFLVWVmK1dMYlpiaGhsK1M2LzJ6dFp5VjlzN3FKZjRvZDFpKzFMNS9mdkVIaEZUYzcKb0h6
U2ZwbnBGUHNWckhQT3NTK0hFMk96TVFUVUFlQ1AvRjFqZjVmalkvYmw4MXUzTDdobkhHSkRva1Q2
cTEvN204UC9ldWwvOVovZgovZjRuLzh4d3ExdmRxZm5MOVJwNzFmK0lQZm5BM3kzQlI3ZE9PdzBI
NGxSVzhOdkJESEhUL2w1aHY3SjFGdjdRWXJ6eStHazdQUCswClBaSDU0YS85M2dUYVZCeW96N1l2
VmVPTDVHTnBlRmZhRTRJei9WZTVqdHE3SDljTU56anR0REVrYXd2OXV6cmVKVUUrM2ptNVFSa1QK
UGs3VnNPM3Z3U3o0TXp6bkRuOS9CRC85KzVqekgxam1jenArSHpjT3FIemx0YmlCalhkOVBtWThm
WW5ONTd5Y1lrK3NMaDF1eWZYRQpEbHlMMS8rRWtGai91OFkvSDNPMlZNTHFCT2RZMDZ1N3BwZndn
NnViK0tWQmpkOGYvNjVWOC8rc3h4dzg3VW9RQTJKQURJZ0JNWERLCjBSOThFWTRCclpUOWZuWUFZ
ZHlDL0xjLy90Z0ZxMHduZzRFZmZ1YUxIUFk1OXE0Q1BsNTFRWHcvNXJqYk9vNzVQNWEyOFZHdUc1
NSsKZytHN1gvQVR3Mjk4OHcvWmMwdDBZRWM1MmYwNzJmZzdocmFYNjJUMzcyVGo3elhJSFVFbnUz
OG5HMy9IMFBaeW5leitIUXYraitrSgp5RjV6cHlBeElBYkVnQmlZTURCOVNaNVBSU2p4RElRL3Rl
bHBaWWRLcjBqKzhMOTQ0ZmpxM05aQmtsMUkrUTNlOEdsanpFU2lZK3dECkhOUWhVYmI4TFdyLzYy
NjhLKzM3Q0crM24zdDl0LzBWOGJQc0oyWnZhUi9idWI5OTVPbU1HNTYxWHhNY0t5UUtYOTFmNVMv
NkUvSGYKZlBlSER1ZllSOFBHc3J1L1k5eUtGdDF3R2ozRURIdk92NGR2OW45czkrZnRZMkQvOE1V
LzUzL0ovTm1QLzZmam16N2taQXdkTlI5MwpySkhXWUZzdlBmdTZNMzd2UHNjYTg3azUveHEvMGFi
NTcrK0FkQzVPME9QZnNkei80OTBwVFF5SUFURWdCc1RBM2d5MGQwQjRBTnBLCjJ6cGcxZ1BWREE4
YkpRK0pwcFpxZi9MQi90VDJ0dkMzNHJmOHMvNFdRODB2N2xuL3E3OE8rSG84L2svYWs3Zm52dU1W
d3pmZTlTSEQKN1c1Nmk4WlVuZC9LZC9WWGZyZml0L3dWcjlacmZ2VnY5VS96YjR6cC9tOFBmRWJG
RjhQOXIzZEE2cU9BNm1KQURJZ0JNYkFIQSswUApFYTRHbGgwU0J5enNtaTZSVlB3dzhWVTA2RnRs
aG1jSkhSdDZBRkNpbXZYYS9uSGpSWHRkbFBITjhJdC8xcjhPdEt6TThDenNlakwrCmMrMGRvNzkv
L3lmYWdQTjZ1djZNM3hmRTlYaitOWDZ1OWV2Nit2ZVoxRVVNaUFFeElBYkV3RUVNMkVldzdFVFBR
LzNzUEUwSEpiQ1gKZE5vcUFPeTA1VnpHWnh2MFVuQkE4L1NJcHc2SlV2M042TmZGQy85SUdDUUtC
RzJvczZ2RTcyT05lTVIwVzlicHJ3RGVRTXBoSEdYRwpnRjVLSFovRFd5NzdWLzJlbnJFTEhzZXE4
VGRpUUJVNWdhVk9YNS9yek9tU1Rsc0Y4QVlNbVA0cTBTaHQwRXVwODZ2NU43cU1MNjMvCnRsRElC
V1F2V2UvR3BuQ3RuL0Q3djdTanFoZ1FBMkpBRElpQkRRYW03NEJ3NzZMY1NKNjdtUmh5ZG1DeURK
N1I1c2xtUVY0S3FCOTUKS2U0ZXlnTkp4ZlFOMnB6Y29QbDlCcGNSekM2alNwMnk0bTNXbVJqU2gy
STYrd2V6MjlhQVNvREdId2ZPSUxEUTA3a2t2NVZXemIrdApOeU5INjcrdEROMy94b1BkUkNmdDhh
L2VnS3FMQVRFZ0JzU0FHRmhtb0gwSm5RZVU1WmpSeXNNTXBKZU5FeUhjS0pRejNSekVoSTg2CjhU
MFBCeWc0clhnLzA0RUtKMURhV2tTNU10ZGtMMGxITHR2cy9oMEtZOWsvN3hqdzJFSHEwUWJObElD
ZTZGWWhKbnpVaWUreGhzVWMKanRXbEoyajg1QVIwekFxNWkvbHdmOUkxLytPYW0zRzNZS2pyVSt2
ZlNNSjY0ZzFLUGRZWXpaU2dkS0piaFp6Q1IvMDZkZitqNHlwaQpRQXlJQVRFZ0JnNWp3TjRCaVUw
UWVkZ2N1WWVpVGozMjB4N2JEOEFJbXV5b01Gakp0bVpwMXdwWVFvbExtVk5kdDN6M1JZZW9NMzYy
CmdjZlk2Szk0czNnTFlCY1JTejJhMC9pWCtNeHpUWjF5UnJnWjRDT2hVV1VZNTRtUzlpNHR6MzJS
VDUzeHMvbTB0bWpyR0VtaER4S0YKWFdQM1lhYk4vVXQ0RENaQWx0QnpxWURtbTZSSGhlUEpxYTVi
UHNlTU9uWEd6OGF6MU44RU9vczNIN3VJTU9xUUtHaUhPYzBDWTlkRwpQZHVTZXdaWTB5T1A0OG1w
cm12OGZjN0J4N1ZpL21lVEpJTVlFQU5pUUF5SWdVMEc1dStBNUxNRDlZbTBDdXM4akVDaTFBUEs0
Z0VtCjRoRHZmZ09MOUg3WTYvaUlqVGpFOTRaWEFvNEF5OEFnVWFpemZ4MHMvRHpvVUNLSDBGbW56
YVZkV0FjdXgreng1cUFOZFI5ZnlPNDMKaGUyNUh6bHdXZ0V1YzFDblRuOXZ1SGNnSlptcThSdG5S
cGJtSDZ0bjVFTHJ2L0ZSYnpEZWg1U0k0cTJWZGRwYzJvVjEzdXZrbDQ4Rgp4S3Yzci92UlJnQzQz
M1RlM3pBekIrMVRwNzgzM0RzQXNBZzA4WVc0LzYxWkZURWdCc1NBR0JBRGh6SXcvUTVJemE0YklE
ZENTbXgrCnJuTkRCRURXQ3lEektMbDNNZ1YyMmdoRkcrclVtZC9iQ2dDM201Nzl0SFU4ODBjNFRE
c0xjaEZMdkNyaHpQZ090Z084NWhPYktmRFQKQml6cWEzNFBZS0JKOW9YdDFQNDVubDJJaDlSZHBm
YUh1SlFWMzdGMmdET1AwdnRqU1V5Qm5UWmdVVi96OThRSWNGelRpUTgvYlIzUApiQkVPMDg1Uysw
TmN5b3J2WUR2QW1VZUpVT2hNb2I2dnZ5Y0dnT2VaenZ6YVAyL1BMaEcrYyt4dzF2NFFsN0xpTytB
T2NPWlJlbjhzCmlTbXcwd1lzNm12K25oZ0JqbXM2OGVHbnJlT1pMY0poMmxscWY0aExXZkVkYkFj
NDh5Z1JDcDBwMVBmMTk4UUE4RHpUbVYvNzUrM1oKSmNKM2poM08yaC9pVXU0TnRObVNBc1NBR0JB
RFl1QjZ4c0QwRHhINmhzSmR4NWhZK3RMbUZrRjVjNk5PdVpTYmZmN0tvTFhQVndpeApBOUtHWE1a
UzF2N09kc3lGQm52dWdxL2lhZnlOOVB5bDFTWGFzaTN6UzUweXgxSFBQczYxNWovWTBmclgvWThi
QkkvSlZuaXZVTmJICnEydkQ0MS9ycWE1aVFBeUlBVEVnQm5ZeWNPclVHeHVkYjJUcDhJTUQ0ZEkv
SlBmRFl0SVplN0FmQ1Zhd3dYS1RwZXlPSElEK0lnQXkKOXgweHgxSXlodWsrdHBBY1U1Wm93bU9p
TGVxTU9kaFBIT0FtUGRTcGtlT216SDN2Q1FjcUdVUGoxL3pIMnVKNnJoS3JpMnMrNjR6TAp0cXl2
K2hGa0JjM2lId3JscE1JQXJGZm9rSG50ZXZBeFhES0c2VDYya094emxtakJZNklwNm93NTJFOGM0
Q1k5MUttUjQ2Yk1mZThKCkJ5b1pZOC94SDlpQ3dzV0FHQkFEWWtBTWdJSDRDRmJzZHZVenpiTk5u
WnRkeE9jTmwzelNoanAxeW14ekhSY3JBVGZYU3p1MWY4Q2wKelpQckJSc3FNTGl4Vmo5OTBRNnhJ
TDFVV2VJNUxrcmtMT2xMTm8vMVJqVCtvTi9abU9oUklYOTFmbUNuTGFpY0NzMi8xai9XRU8vago2
ZW9ZdVlsMXhyV2sreitJSW0rVTVETDQ0bjFaYVZWZERJZ0JNU0FHeE1BR0ErMFBFVEtJR3dvbDdM
SFhNR1JpS1B2UkdCTmFQZi9WCitNMC9qR1VBUEdRQzB2c1ZOcS9IaFgyczdmWE9Nd0R4dFNRZngw
MkowT1J1bWNrQWxXMDI1L1JLSHlSS2pkZjRnNVBnMVBteFMxVDcKa3dzZUNEWC90b2hzTVhGOU9r
K1pyN1RHc040NmtTVFVqZVdTZkIwMzIwcDR4d3g0cnZFYWhqcDlXditOSGRCS1Rwd2ZNN2d0K0tZ
ZQoxZXZFK204ajAxVU1pQUV4SUFiRXdFRU14SzlncmVSd3MxdzlRRmllYjVxUlQ1MGJhSlVJb3kx
U2Rnc0doOFFCeWZ0RXUxVjRLTTNZCmRGZndyZkVjR3IrRngzNVE1ajdXdGhiclRBeXA4V3YrdGY3
am5zY05vL3YvQy83NHQvaTRKYU1ZRUFOaVFBeUlnZDBNbkxyekNRRi8KemhReTY4VE01MlBYN1VM
WmdSbkVwQ1RwZ3N3NlE3SXQ2L1J2eXB4a3VsZERadGNhVGg1ejFobWZNVEsyTjVTZFRDZ3loMlNk
WWRtVwpkZm8zWlU0eTNhc2hzMnNOSjQ4NTY0elBHQmxiNHplR01qa2tyTWdja25XR1pWdlc2ZCtV
T2NsMHI0Yk1yaldjUE9kWlozekd5TmlhCmYyTW9rMFBDaXN3aFdXZFl0bVdkL2syWmswejNhc2pz
V3NQSmM1NTF4aE9EZFVreElBYkVnQmdRQTNzeU1QMDdJTFBQUUJlVXBZOW8KbEpCeDQ0V0RPMVRJ
aXUrdjZQTlZUQXMvWHYrc0w3a1B3TGQvNkFva3lsYjdMV3E4YXZ5TkMvSXdNcE0wempsTTFEWC9U
dER4cnUrdAovRFFMbzhvNU1Jdld2KzUvTEllVCt2ZzNyanhwWWtBTWlBRXhJQWJXR0doL0NaMWVI
aXdwWWM4NjR5aTVtZkdNVXc4NGpLTWtGaVYyClF0ZGpSNlRlL1phNHBDL1oyTVl1eVR4S3hDN3BT
N1lsWEkxL1BOU0NIODIvcmFmZ1lYRzl4STNTMTVmV3YrNy90R0I4WFhCTnhBTHEKYThYcTFDa1Jr
dlZJV1JXTXBhejV0Rk5XZndXTzVWek5xb3NCTVNBR3hJQVkyR0pnOTNkQWFuWTlZS0tPUXNtOWRH
MWpxdm4xRlhMUAp0d3Z6Wi9HdHVYNzFlS3V0eFIvcTc4QXJTdTBQeDAxWjI2c3dOYjkzUEFiZytY
YUo2dmFCM2hvZ0p0cWl2dGFmTFgvdGI2M1hmTFpECjZmMjNKUFovSzc4SFJvTG4yNFg1dGIySzUv
R3B2UnAvcUwvaTEzckY1N2dwYTN0YitYMmdNV0RQdDB0VVovTlo4VHplakd2eGgvb3IKZnExci9J
MXJ6bmVWbGU4dC92ckV4UVI2dmwyaWVwMlovenBPMWNXQUdCQURZa0FNYkRBdy9Vdm85WUJSazMy
RE5DTTN5T3F2K1RXZQplWlNINWg5TGZHNkxPaVh3c2w3N1g5dERMR09xRDNYNklGRnFQTnVpYkZI
amRTdC9qR3phUHZHNUxlcVVRTWw2eGF2dElaWXgxWWM2CmZaQW9OWjV0VWJhbzhicVZQMFkyYlov
NDNCWjFTcUJrdmVMVjloRExtT3BEblQ1SWxCclB0aWhiMUhqZHloOGptN1pQZkc2TE9pVlEKc2w3
eGFudUlaVXoxb1U0ZkpFcU5aMXVVTFdxOGJ1V1BrVTNiSno2M1JaMFNLRm12ZUxVOXhES20rbENu
RHhLbHhyTXR5aFkxWHJmeQp4OGltN1JPZjI2Sk9DWlNzVjd6YUhtSVpVMzJxaXdFeElBYkVnQmc0
Z0lIcDN3SEI3dUp2djJPWFdTamNyQ2k1R1RFY1gxVEU1OVQ1CmhjVVpYdG5CNm1mYWoxaWJ3SUww
WXZIOGErUTBaY2wrVU1LWDlSenJldTB3Z21sRGdPa2FmM0FDUGtvaHQ1U2tEaEpGODYvMXIvdi8K
K3ZYNDErNThYY1dBR0JBRFlrQU1ITVRBOXQ4QnFYQThmTUpPbmJJZTRIR1k1NU1NeFB1QkZUWlVy
UEN6eHBSdWMwKzdBSmQvS3dPVwpldUJ0VWVQVjQ2MEtpVEtMcDRNU1FVbG5QeWpocmlXRjk5UnVz
d1k5TndZSVhlTWY1OW5uQTV3RXFlU1pFdWJPWmVpYS81RVQ1ODk0CklYL2dLeGR3eHhqWXFmZDRr
a3VKb0tSekhpamhyaVdGOTlSdXM0WThOeHFFcnZVZm5CaVJQaC9nSkVnbHo1UXdkeTVEdnk2cy94
aU8KaEJnUUEySkFESWlCZlJrNHZ1K0FZTFAwVFRXYTQyWUppZUliYmQ1d3c1WTNXUStNQzdHNFFW
YzVhOC95YU1zNCsrck1YZXRQeGFuOQpxL2thZjh4SEVPcnpaenJuc2ZLMXhTL3pLR3MrN0xSVnJI
M3F6SVhjcDlUMmFyN21YL1B2YXlJV2xLOWIwOWZXYjExemRYMHhqM0syCjNneUF0b3ExVDUyNWtQ
dVUycjk5OC9iQlZvd1lFQU5pUUF4Y3J4aG92NExGallTdlZrSjZLVHNVUHc3bEVnSG1wODJyc1VO
bC8vUVoKaXNVVE0vS3puMWc5SHpHbHNLOHdVNmM4dEQvTW85VDQyL3hvL21QUllXSHcxSVgxdHJD
K2FVTUc5YjUrU3o2d3RQNkRVeWNzOUxnQgpaL3docGhUZXF6QlRwOVQ5UDY1QjUyZGh2VTdXYzNC
TC9vN2w4UzhnSk1TQUdCQURZa0FNSE1LQXZRT1NEbGl6VFBoUVF1THd4RTJxCk9lekszUXNHNnBU
Wmx2WHdFNHNIM29wZi9ZNmYrZ3VZVkVVTFl4K3l2dEpleGZQOGZOSDRHeHVhZitlaHJzOW1UQXVH
NjU0U3JpVjkKWlQxV2ZLMS9vOCs0NHVORHZWOUJvKzcvNlJJN1pMMVZQdE5LYnVvK2ozK3pKQm5F
Z0JnUUEySkFER3d5c1AxM1FDWVF0aUhoUU1BbgpKSnNiMkNSNVhuRXNNMVBXQXhjUEgvUTdRaHpl
aUZhcU5MdmNCeTlqVTZlY2dLR2k4V3YrdGY1MS8vTmd6cld3NjBGbzlpQXlHdmc0ClE3blA0OVhr
Q1laQjdXcDZIenkyalY1UnB4eDdHdHJTNDk4c1NBWXhJQWJFZ0JnUUE1c010Ri9CV3R0UFllY2U2
MURjN1NoaHpMb0gKalJmbU1tU0dONGE2eG8yUEVzYXNsL0RldHpWOC8xVW1TK3EveWxYd2FuODIr
OHVHS05HaHJLT2V5aVplaW9YS3NWSm1Xd24xNmhhKwp4dC9PeXByL2NmWGt0YVgxMzI1ZjhJQ3lk
VC8xZXozZjgxbHZNUDI2aWRjam04SzVvWVExNnlWOHM3OS9JL2QvN1pUcVlrQU1pQUV4CklBYTJH
V2kvZ3BVL3M4N1BZU09YZXZkdkEwNGpiQWNteGhMZW9RZWd1cUZqQjg3NC9mTVlQRkZNZTJQQlpt
Q2pwakszajYvZ3pmd1YKYjZ1K2djZXVzTHVsZTcycmEzNk5mNXhEbjRwS2FKMmZRdkJzZmpmbXE4
SnQxamZ3YW5kTDl6VC9SakE1QWRmVUliMll3am4wZWlVMAp3cm9vQU14MWlhQ0NOL04zb0QyVkRi
emEzZEs5Ni83ODcwbVR3c1NBR0JBRFl1QjZ4MEI4QnlUR1hUZEEzL0hoZzhOS2ZVdS9XY2NyClhx
MWp6R284ZHQwby9ncWQxZmtLTlZ6OFd5QUlxUWNBZnpYUWd2aXFJTnVDOUhoYzRQZGF1MlRkZC9T
STZTR1JpenBpVWUwNVZFTFcKOXBDVGk4YXYrZWNhd2JxZ3p2WHBheVd0TjYzL3hwSHUvL1lvZ3FW
eFhYNzhhNlBRVlF5SUFURWdCc1RBSmdQdE95Q1RBOUptemhoUQpEOXp3OE1uQkdEVnFOYjRlMEtx
L1B4TlllUUl3aXgrYjJrdXI3ZStWbElLVzJvZHRyZFQ0Mm43MWEvekJwT2JmaWRoY0wyc0xiOFZl
CjhWYkNWczJ6OVdxUld2K3JkRGszNUJ4UjFDRlJabnp5c2VSYXZQNWJ6M1VWQTJKQURJZ0JNWEFR
QSswZGtIeG95SHFGb28vUzMyM0EKNXNoWGRhbkhoc2s0U3VCbDNWOEJOdHZrRlZETEpSemljMkV1
Slh4Wno3R0xPb0RaUithYUxXTmt2V0xRUjZueEIzZWNNSEtyK2ZlbAp3M1ZDQ1dQV3RmN2J2YTc3
dnozUzREYmltbWlXNlpWcmh4TGVyRStqRjJvbjRmRnZvUldaeElBWUVBTmlRQXhzTVhEcWNCVHYr
YStVCk9FZjZtVDNyUFR3YlRmZHF5T3pxOFZYSlFWbXZjVkhQSVZsZkNaKzhnWUI0akxYTEdMZkd2
OFplekNkNGkzK0lKTy9RZXlVQzNHZVgKcUU1Q3ZGSXZuaEE0V2E5eFVjOGhXVjhKcjkzVC9Hdjl0
N1VKSG5ULysyMURIcGJ1b1h5UFpiM0gwdGdOVXNTQUdCQURZa0FNN01WQQp2QU95Rm1zYkRMK0hn
UkR1TjVUK1ZnVXFmQVU4eFN6R001WUFsdWV2NEVXK20yRkQ4a3JKUHVxVXN4Uno1UDdYL25yZXJ2
WktQdHVoCnJIaG92L3VTM20xUU1GWWEwRFp0Tk8vcUQyTk1vaENHc2xuVDFSd2FmeUtLM0VQU3ZJ
dnZ3aDk1cHV4ekdYZ2QwOUVYNWdlSjdBTmkKMERadFZuWGNYZjFoREhLdHNCK1V6WnF1NXREOEo2
TElQU1ROdS9ndS9KRm55ajZYZ2RjeEhYMWhmcERJUGlBR2JkTm1WY2ZkMVIvRwpJTmNLKzBIWnJP
bHFqcE0rLzZrNXFXSkFESWdCTVNBRzltVEEzZ0ZaM2IybUc1eUhjWFBFSnBvMlQyQTRUcEtMdXlQ
eVVJNHhuMzN0CjdSa1ViWUNsM3YycGo0djlUVG5JcjRYVVFMb09QQVFkWS84OTd6anlaK05Edjlq
SnBHdjh3WXZtdjYyUHRmV2ExZ3lXWlMxY1dwQmMKOTVTTDk1TTVmVDMyQkNZR012cUJzdGFmalh5
dTliNitEWW8yd0ZMdmZzMy95WjkvRUs4aUJzU0FHQkFEWXVBd0J1d2RFQ3ZjdUpkeQpzNDg2WmMz
MXd3bndDRVNGa3ZZa0oxaGg3K0ZVS00wL2lROTd0K1VEQjJOcEkvWUNWcytQbUN5eWp6b2w0aVo2
SlBZbXFGQm1ZTVltCkgxWEtUbVEzbFBiQzN2dkFzWnBFY1R0dHpUVHRiODJQbUN3Nk52R1NSTnpF
RDRPVjNsMHFsTTA5dVI2YVA0bXYvZWRZTlg3bjJMa2kKSjhINlR2NG1NOU1xVy9FVFA5c2dEdWVk
a3ZZa0Q4MmZ4R3YrbmNuT0NlZjZiM0Q5cDZtVUtnYkVnQmdRQTJKZ1h3YnNIWkFVU2gxeQo2UjlD
R1pQU3Vrb2ZjMnY4b1g1c3JJNEZHY21VR2R0and1QmgzV0RHeUZ1TW43cDdLTk9yekJqUWEyRlR6
SU9mdHF6djY5ZjROZisrClZ1ekNkVSs1dUo0UVI0Y3Iwd1dZVFZsSENrcTJRYS8vY2d6MFdtbysv
TFJsbmJqWmxuWDZ0ZjVqRG93UXpqdmxFbDhnRzl6MWlhTU8KYWNWOUliUHV6Z1UvWXZJL3hERVB1
b29ZRUFOaVFBeUlnV05rb0x3RFVsNUJ3d3RwMkhEaUJiV3VyMjVDNXNpZk9hYnVFajNjOGtkNwpD
RDJXNHBzenh3Q0FPZ0F6NWI0dnhkTzJsSTVjUXNJL0sxdmoyL0liWU83ZkRIL0R3TDY3UkN3N0N4
a2w0eS9GMDRid21vNWMyZ0p1CktyYkd0K1UzdE55L0tmaDJqWDNYK0lNclRwYm12eStldkw2VzFn
dHRTS2owSVplMkRwaVZyZlc5NVRlczNMOE12WS9Pdm4vQjF2OCsKblZTTUdCQURZa0FNaUlGaHND
Y2czRlZCQi9YWUJiZWVRUFRkbUFlY0lyRVI4cmZ1QWUrYk4yeW9MSlJadkFYU2huRHZGbXlSNnh0
dAp4TURFdHRaK1Z4L3RJaGZTU3pYUUdRMW8vTWFTY2JIMkJGTHozL2pwQzRvTEt5VFhycTlUQy9Y
bFpud3l6TmRndXN6aUxaQTJoUG15CmhDMXlIRGRpWU5MNkwzeUI2OHhQY0dpbVZxQ0FUQnFvQjhH
Ni94cy9PKy8veHFTdVlrQU1pQUV4SUFZT1ljRCtFQ0hDWThQMXpDVTkKYk56TVZ3LzRzZG5UWDN0
Q2FNcmViamUwQTBUUG96MGtCTThNak9IaERuWHFsRnY5WFdxLzJ4d3dXb24ydC9DcVA3SzdLTU1a
ZWFmRApJdGwzVDZJOUpJVEdQOUlHampKZjFDbnJmTUJPMnhLL0U1dUR1NlUzeUZ4SWR4ZTg2by9z
TG1JYXh5VTJNMHpIMHdNakRrTHozNmZECmVlVmNvMEtkc3M2SDV2L0VyMytmQkYzRWdCZ1FBMkpB
REJ6R1FQc0kxbHJPN01CakJqOEwrYVZsY2JOSGpUcGx0clhvdzY1c2h0THgKZGtBZ2JuSkFNNFBu
Sm9EY3R4MVE3am9VajlpVUFNbjZWbnZWejI1VE9sNE5TdlZEKzV0U0Y5VkQ4VGhXU29CbWZiR1JI
VWFPbTlMeApOdUkxLzdIbWd5em5MaEY0eUh3ZzdSQStpVTNwWFVodDc1aTZSUmRUS1Ixdk1iSVpE
KzN2RGloM0hZckhjVk1DSk90YjdWVS94MDNwCmVEVW8xUS90YjBwZFZQZkJXMHlVVVF5SUFURWdC
c1RBYmdiaU95QXJRVHg4UUtKZ00rV3JpcWhUaDBTWmJWak5QRjVMd0ZiK3JIMUQKb2cyZzFLUDVX
UWZRSEFybFZuc3RlcnhXZkkxL25IT3dkQ2lmZFlGczVjLzRSNXYycjg5bjZKcC9Jd0tsM0Yva2lY
S0w3d1l5WHNrMQorZFg2SDljOFdEcVV6em8vVy9rei90R20vZXZ6R1RybnArSXpqbktyUFlPYkZM
WkYvS1g1bnlTb0lnYkVnQmdRQTJKZ1B3YnNJMWpjCm5aQlFkaHk2S09GM1BYWWs2dDF2Q2o4Mzdl
MFh2Tm9uNWxIQ1A5RlJRWnRocEkreSs2SS9OWDgybm9LM0dZOEFLNVAyWU5ENHdVSmYKQzUwZlV6
VC9KTWFrMW45YkpPbit4THBoNGJxaGhIMmlvMks1dXY4YlkrU0dzbk9UK08wK3BKVDE1endtUGhH
eU14NEJWbm9NY21HSQo5cm9kTmhVeElBYkVnQmdRQS9zekVEL0RpdzJGRzFQSXZ1bm5YWVk2Wk5i
WllHeE12a0h0ZzhlOGtMbk55V1lKWFB1SFYvQW84NnQ1CmlNMjVCYlpYYzVkZFJ4L2hEZHpjNWlM
ZURNQnlhU01PSmJEaEM3bUloOWhVY2t6T1pmODBmaVBMK0FRUG12KzJ2c2hEWGp0cFNVMVUKTGxW
STE3RTJFV0dTNjVSeUVXOEdRQ0NBV0FFT3lyNTRMYnBmYzV0YS80MUg4Z0JPcjVXaDlPaElBQUFn
QUVsRVFWVDNmNTg5S1dKQQpESWdCTVNBRzltWmc5OC93Y3ZQandjQmhlUWhCaFRwbGJkYzJUV0o0
T09Kb2MwTWtwUHpjRm5YS2lKNkk3Q01NNVZML0p2RVIyRzNzCm0wa1V0OVBXVE9PWVBTQ012VUVH
aFdUdUdoN3pLQzJ0OXlYcDJWWmFtTWFIczhOUm9VeVlDQ1V1WlorYnRmNTZFaTVSaUV0Sk82WEcK
MzljUUtIR2V5WWtiZ3FqRVg1OEx4aWNaMFJNeGlROVBoNk5DV2JDWVM2bjVIK2NJVkRvdmViN2Np
RXNVOGtwSk95VnpUYUxNOEpoSAp5UmlQanZoaUMxY1hmZTRRRjFiS3VXSEVSQ2h6S1k5NS9xTmRD
VEVnQnNTQUdCQURlekp3NmlUdTZKRldoY3o2SkdoSGhSc2ZwT3QyCm9WemFEQ3VVeDBadTFobkhq
Ukl5Ni9RZnI4eGp6dnErdUxuUHJxT2ZTTWJGbFNSaEx5V0haSjFoZWN4WnAvOTRaUjV6MXZmRnpY
MTIKM1M2VUduK3dTSklXU0tVTE11c016WE9lZGZxUFYrWTV6L3ErdUxuUHJ0dUZjbkZBQlhpV2Iz
N2FFSnJIblBVQ2M4elZQT2FzN3d2SQp2a0s2YmhmS1BoQTNMQ1BTQlpsMVJ1Y3haNTMrNDVWNXpG
ay9YbHpsaXdFeElBYkVnQmdvRE1UUDhJYlZQODVodXIvVmJ4S2JJRzBSCk1oVWVFSUhoNGNhSkty
OFBrSDlISHEreTlkMlZlcnhDQ0R0elBCOFhLeDNUNG56ampYanEzSXc3ZHZnaDJFWGkwSVo2TFJ5
cnh0K1kKY2U2TXNNNS9KWXprcG9DazlyblUvQWR4bFM4dVJrZ1U4MnY5Tng2Q0RvaHgvV0V0a2tQ
WVE5Zjk3elQ1dTh2NUFXOWhlZldIeU1pWQppR042L0pzZ3FDSUd4SUFZRUFOaVlDOEc0bWQ0c1pG
YjRlR0hCOGE2d2RjTnJlOW02UURWYlExeWVtVWNKYnhKNTlraXVqUDVuRDlDCjBSL2ZKQ09BT3A4
dzlNMDMvSFU4am9FTEMrTFEva3E4eHQvNDRRR1BWUFVwcTRiQ0oybnVrb21VY0NTOXB0ZjUxZnhy
L1hOTitOS3gKdGNNMTRXdXNMQ0RkLzhhS2NjTEhjM0FFaW5yWjRHdXZ4NzhPSmtVTWlBRXhJQWJF
d040TVRIK0c5eFJzVnBZTDJVdlNxVkxXZU5ocAo4M3dHVW5iUWRZV0gzZldJNUNGdVNJaGQ3ZlB3
d2ljc0htODVoR0V1WkM5SnAwcFo0MkduemZNWlNObEIxeFdOZjUyYm1ZZThob1RZCnhiL20zOWE2
a2FUMTMxYVNyeGRUWS9uMHRhUDdQOTFwSkNmeFJOT0VwNVFpVlF5SUFURWdCc1RBQmdPbkQwZnMr
eDQ4a0J5eG5RVTYKcEpkNGhURy9TbDBCR1VwN3JkTU9DUjllOEdZTWRVZ1VIbzU0Q1BjNHV6QWVD
bTBlSHdCOGhROVZmSTJsNDRYT2ZQOWNzem41K1dZZgpxOGF2K1k4Rm8vV3YrMStQZjRjOS91TnhX
RVVNaUFFeElBYkV3SUVNMkRzZ09KQkhWcFU0bDhFVzU3UFpFd1NrTVFkNmYzWVJDZlVKCkJUZDNT
QlIvb21FNm4zQjRYeVlOV2hCaTJRajF5QWRHNzF3S1kzakZSN3ZzRTFJOURqWlVyRlJabTJOdTcy
L0tjWUNTVU9NMS9uYTQKMGZ6N2F0SDZ4dzBYOXlUdkg3KzNjQitoaEwvZm1PWCs4aGpHUmpqVFhC
WjgzZjlHcVhIUzd6K1FCUDRoclZSWjZXYXV6MUZMMFZVTQppQUV4SUFiRXdMRXdNUDFEaEhXRHhv
N2tteFYzSmpTUjliSkQxUTFxaG1mcDNQd0lSUWpVK2ZFWnZyV1BwbWlEdjdjZGZXQXVKSXJICmgw
VGQvV2JzL3REWE50QlpmeEhQUmdDSWdrWlk2SXNHTlA3R0YvbWQ4V204YWY2NWVCYldxNjB0TEMr
dC84WVJ1ZWkzSEpXUTVmYlQKL1krMVkvOUlrK3RXaVllbjl1UURmZ1kwbXZ0MWRyOGlOd01pTXVj
U3VDTklFUU5pUUF5SUFUR3dGd1B4SmZTSTVjWkU2ZWE4NFpnaApWeGxIaWZnbFBkc2NNMTJ5ajlp
VWpwZGlxOG80eWhwUE8yWDF6L0FpTVBkcE1tQkxtR0F0eE9kYzZwUzFQZTlQQXFSSzZmNmxwTEF4
CmpyTEcwMDVaL1JXYS9hUjBmMDQyUTY0eWp0THhVd0R0bExXOVdYd0VKSWhKZXpXZmNaU09sNEpv
cDZ6K0ZPb3ErMG5aak5Pb0NWWlUKY3Z5U25tMVR0SEsvaEhQU1JrMUlkY1pSd3JXa0w5a1NURmZa
VDBwMzVPU0tINzRjdjZSblcyOHNsT3hqVTVRSXlmb3NseGpKa2VPcApVeUlzNnluTlZmYUZzaG1u
VVRtZmNaU0lYTkt6YllwVzRzTTVhYU1tcERyaktPRmEwcGRzQ2FhcjdDZWxPM0p5eFMrK0RpUkZE
SWdCCk1TQUd4TUJ1QnRyZkFjRSt3cjJFRW5uY2lDQ3p2b2JKWE1pc016N2JQTVl1WFlhVDdTQW5U
QzBHOVFQak13YjBXaW8rL0xTNUhoV04KdjNHZk9ZRmVDN21EekRyanNzMWo3TkpsT0RYL1pHdktZ
ZWNKM0lLM1BmZ0NVb1NOb0VtakR6THJETWx0WkozK0tqTkcxaG1YYmRCOQpISlRoWkR2SU9kNzRq
QUc5bG9vUFAyMnVwejZ4WDVRVksrY2lqVGlVUy80dnR2RXZjU0tiR0JBRFlrQU1pSUVGQnRyZkFl
RTc2ZGdzCkorKzRXOFUzMEFpZ25qZlZDYWc1K05PWHNET09FdUMrZ1FkZS8yd0E4UkhJbUFEdXVh
Z2pMbUpRSlZZK0ZPUjQ2cFExdjhCMTZCenYKT3Z1SFJ0RS95S1ZpRG8zZmlBbUN5Qk5sbjl2ZzAr
Y0RQSkpmQklMZm50Q2hFS1g1QjAvQkVlalErbTlyWW0yOWNCbFIranBML0JVNgpPN1U1M25XdVQ1
Q085UW01Vk14eHZiNy9semlSVFF5SUFURWdCc1RBbklINEdkN1lVYm14VW01dDBOVmZOL2phSGc0
Sy9KeHg5YUZPCm4zL3VlQ0dnNXRmNDZxOFF0YjkrY01HQlF1TjNxamp2bERPK01FZjJiODNmblFo
YUtKdnpFM09oK1Y4Z3oweVZQNjMva1JNd1Z2bXAKTEhMdGNubjZmUjlyenZNallXMTl3MDRNaEZJ
bjN0d1FnQ0UyK3hkOXVTNnQvK2tJVlJNRFlrQU1pQUV4c0JjRHU3K0V2clJoY25NRwpQSFhLdVdI
YWljMERFNEZDUW5DVEo1SWZHcUpDblJMbXJET0hrajVLdDdOTnEyejJ6MkpTZU5lN2pRb2xHdzY1
aWMrOGtCQWFmK0djCkhHRXV5Tk9DclZEdjFhWDRQb25ndWh3QUVVOGI4VkpUUGJYYnFGQXlLU1N4
SUZGbStNd0xDYUg1MS94eldYRE5RS0lzcldmYVdzVDAKU2grbGV4UDQ1dnBFbXdreTY4a3NWUXlJ
QVRFZ0JzVEFGZ1B0T3lDTTRzWUV1ZlFQY1l4eFBSS3hFWEV6b2d6WFJEQjNDZHR0d0VIYgpnZGQx
MkFLWUVzRFVQVzdKanlBcnhLUHV4b1ZMeFNNdXBlZEhPeG5yUk9FN2psMkk1KzFhUTZ2dEkzQ1h2
N2s3bnNlR2JVbWdIUlMyClZ5VjlIb1M0VU5oZjk5TzVJTGZ3SGNjdXhQUDJEWWY5Y0h3NG8xUTht
R2x6blhHd0p6M1VtV0F1MjZzU0NZeHhQUkRZMzJ3TDEwUXcKdCtMMnVrVzdEcGwxcStSY2dtWmIx
cnMvbEJQVlA4Q3hIZGRQTVA1a3pORld0MEVKVzlQR3ZxQlA3QmVseDBhZ1l5U2QrVlV5bDNoVgpJ
cDR4cmdmQWljSjNISXdGN1VSYlhVSUpXOVBHdnJDZk0zOEVFcy85VEY2UUhCdnhxdlQ4Nk1jVzFn
SzhUR0pBRElnQk1TQUd5RUQ3CkRrZy9uZkhsMW5pRkZsRnB2MkhTS09Ga1RvcmRtVE5tOTFlWFYx
OFJObXpmRktNLzFGMmk2ZkN2NXFjK29WbCtQdHVsRyt5Uyt0LzEKYUk4aGtJdEY0NS93eDNtblhP
UXNHVGZuTCtiWDU4WHlOUDlHQWptQkdycldmMXRVV0Iva3BGbW1qMSs2LzQwVjQraUVQdjZSYUVr
eApJQWJFZ0JnUUEvc3pZTjhCd1lZVUNmeWJHL3c3QlBWQTduRTQ5RVI4bGR6OGVTRHlRSXZ2Q2RR
aHJkUy9QQTJ6Mjl3N3Y2QTlRcmpYCkRONEhkc1NjUEtUQ1h3OGtkWHlPUnd4Z2g2N3hPN3NqMlRG
ZlRqTTREbmVWbXY5eHpUbEZJQ2d2V09yQnA5YS8wV05jZ0FjVTBLTDcKdi9IZ2hKUkxYVTY0RVoy
NjRBOEVmaUVlLzBvM1ZSVURZa0FNaUFFeHNNWEF4cTlnY1dPakxIQkxCMDUvOGhIeEVEelVleXB4
S00zbwpHMmJnMGt4WlQ3bzRvUGlUaWhUdnRxalA0bU5EOWo0eGw1dTAxWmtMaVlKMmFlc0dPdHd3
dldqOE1SK0pRTTIvclpGWXdMNmU3QkxWClVlbUd4aDlYRmMyVVBURU12alpOVDNUdlhLOTFmYzZl
a0VkWDk4VmpQeWtyUHZxcitROVN5YTF4RXRNM0t0MXczWjkvcmdWSk1TQUcKeElBWUVBTUhNQkJm
UXVjSnhETFQzdWk2SDNvQ2tUckQrZVNCMHNNeVFNRUxtQzRRU2t3WXFSTy9CNFpDYUVxWXMxN2pq
eHhwQnlKSQpsa2xmclNHdnB3WXpIblQyQ2ZuVUdVNHNTbThqQTVpaFZEMkVseTE4eGxFU2l4TDJy
RE9PVXVQWC9PTUpnZFkvNzRpNDMxazFiblQvCkd4bDhRRE0xUDU1QWg0czI2Z3lmUE81Wm5Jb1lF
QU5pUUF5SWdUMFpPTDI5WWhuUjJGRDRxaVpNMVAxVnpZamg1b05xM2FBaXBJdloKaG1VZTJoQkVu
Wmd6dkdLby9TbnVHVjd2U0NnMTMvdkF4cTJpOFk5elRtN0lTVkRvSEZPdi9OTk91VFcvVy82NndP
cjgxZllySHZ0QgpXZk5oaDQyRlk0VkVXWXh2THIvVzlwUEwxZHFmR3IvbDEvaU5ScElFMVhUT0VR
amU0aE14dWRSOCtEVC9JMFBrOXBEMVAyWkxFd05pClFBeUlBVEd3TndPbjkrOWhlQW8yZUNqWTlL
MzRSaFNidmh0ZzU2Ni80Qy91QVc4OHdNWTNJTERaODNQdlpwN2p3d1pIRkcvS0x0MUcKUFF5MFU2
SXg5dGtoVUllQ1RsaGgyLzB6NXhIZkR5RWxubGpja0IwSGdJRlgvVEFudDhZZlZHbitqUWh3WVF1
RWF4RDF1bjdjaGtzVQpYMHQyZ2ZSQ1BReTBVMnI5ajV3NlgrVitKdmU2Lzl0eXduckVHanl1eDc4
R3Bhc1lFQU5pUUF5SWdVTVlhSCtJc0o5d3lna2FCeHVhCmdNcnZjL1F2YWNQWVR6K29USXR2Ykht
RG94NDVFTVJFNW14RDlBQnpwSGpFUlhVeG5tMGlickV3R1U3cWxCd3NaTGhwUXAxOTFmakIKUmhS
eXgzcVNuQXVYc0Zzc2JWSHRuS0lPMytSQUJPdzBBV3lLY2lrKzR3TnpWcGdNQjNWS3RnVVpicHBR
MS93M3lyVCtzUnFpY08ydwpuaVRYb2t2WUxaYTJxUFkxaFRwODE3bjFqNDZyaUFFeElBYkVnQmc0
aklINFMraE00bVpLYVhaL2xUYjhORlBDdktSM0d4WEttbER6CkkyN1NaczVGZmlxTW8zVFhqbmo0
czVzNlpYZDJnOGFmdVNVdGxNZkNaK2ZZSjZ2TVJ3QlAyc3lOUlE0RjR5amR2aU1lL3V5bVR0bWQK
M2FENXo5eVNGc3BqNGJOejdKTlY1aU9BSjIzbXhpS0hnbkdVYnQ4UkQzOTJVNmZzem03US9HZHVT
UXNsNTBGU0RJZ0JNU0FHeE1DQgpERXovRUdGTjVrWURtWFhHWlZ2V3V6K00yTVM0a1ZFaUp1ZGtm
UzBmTVk1VmNudDhLQjZYZFBvUGxibFBXU2RPdG1XOSs4T284V3YrCnVlNHBzVWJ5bXNuNjJ2cEJq
TlovNDIyUnJ5RE9lVW82K1R4VTVqYXlUcHhzeTNyM2gvR0wvZjduZUNYRmdCZ1FBMkpBRE96SlFQ
d0sKRnFQNWVaUDRDQXBPU1B6alhRaVpiYkx4a1lHMTcwVFV6NlI3UG5MWVhzV1A5dnNmeWtwdGVn
b1RRNWJxN0NNTThBZGthM0ZtYU9aKwpaVEFraXNWci9JMkhvQU5pbkQvanlRL1V3UmQxbHdpc2Z0
b2dVU3Evd0tITkExSmJFZTltektPVkVGM1dqN0RBSDVBZTc0RVRRelAzCkszMlFLT3pMU251ejhV
V0RHbitqYjhZUHpNWnQwRG5uTi9qWC9SLzhtZWhjd2NSS3lGTDlnanoralQyVkpnYkVnQmdRQTJK
Z2J3YksKM3dHeEhjM1BBTnpaZ0pQMDJRRVA4VGhRcEpoSnZObmg0bWZHWFUrUXpJVkVBUTV0elFK
ajE3cHZOZDVpUFp3NTdCdnhEUXBxY3JmKwpSUlBlUHZ3TWdEM3A3TnRxK3pYZWNwR3U4WU9ZNENJ
azZnZnpHZk81eW4vdzNlZE04ejk5Z2dqT00vK2h3NGFpOVIvOHBIdStyeVhqCjUrRDFlajI0LzMz
aDZDSUd4SUFZRUFOaTREQUd5bmRBTERudnZlMzBQQnJkRjVzcTI1a2MxbWtNU1N4S21MUGVLOW1Z
OVlvWHZ0em0KUkMvdEx1SHZqRi9xWHpxeGVmTjJ5VjNNZUtXN1BXNFNuNFBvb0lRdjZ6a1dydkJS
ZW5pS3AwclpzYnBoeFBEY3dFL3VudUl1T0RUKwpQaWZPazEwbWZPVks4RWxCRnlYc1dlK1ZiTXc2
Z1VKeTNpa2RMOFZUcFZ6Q24rUVNON1hUY3gzY0xwci9QbW5PalYweVI1blBSS09yCmpLTWtwVDJP
RHNwWlFJOTBoVzFSZW5qS3BVclpPOW9OMXZlc0Izd3k5WlRXb0YwMzVqOGdKTVNBR0JBRFlrQU1I
TUpBL0FyV1dnbzIKSHhUS3FydHovWUxOanE4YWVxcmgwSVk2Tjc0MTZRRnBBeVRXNml2Z3RTdk1q
ZjZYYW8yZTF5TlA0MC9Va0pOa1dsTTUxenowek9ZdgpFalgvallqS2c5YS84Y0tiRnFycFhGTmdq
RHJYRjJ5VHd0eFlzNlU2Q1Yyc1JKN3UvOFFPT1VrbXFXSkFESWdCTVNBR0RtU2dmUVNyClB4UFl5
SjRkQUN5ZW16cFNxZmM5aWtwSVB5aVl2dXZBd0JqSFF5eHdVejc3QUQ4YXpQR3pBNXVGZUw0SGp6
b1BldDNaRFJHNEl0aDIKNzQvRm9XdE1weDdkYlU1Z2hZRjkxZmhCeWtJeG5zZ1J2TTUzU05UaDR4
eWdydm1mOGxYWGMxMlBXS2UwT1g4emcxdFhMK1JlNjc5UgpWT2tqdDVCZXFJVGsydjVpdXY4NVZF
a3hJQWJFZ0JnUUF3Y3dZTytBMkM2S2pSUmxkc0F3QjIwZXdGZ21tREdwWFYreWVYN1pvZXVCCnNy
ajdZYlJ2MkJiQVRaejl5U2NxdE11LzFVQy85eVYxS0tuZTN4elBzZllEbGdYVHRpOGU0bW9ibm90
TEdhREdQK1czME5Qbld2TWYKSzBqcnY2OEpad1EzR2hlTnFWNjFTNy8vcUhkRDhpM0U4MTdYL2Uv
c090Zmt4QzBMZkxaSVhjV0FHQkFEWWtBTUhNVEE5Q05ZUE9oUgordDV1bXc0a0N2Ynh0Tis3N2FB
TER3SWhaL2pSMW1yN3hlOXRFek02a3F2VUtkbDNqcWYybmUxU3p2cG5DY1NvdVh2VjJaR1FNM3l6
CjB3WTg2cEFvNkJkdHpRSmoxMXpKVmVxVW5tdFJ4SnRtTm56WU5QN0dETGttWCtDUkhMYUlBNitj
aUpBemZMUFRCbVRxa0NpYS81R1QKeGdoSTZab3J1VXFkMHZtMEtQSTV6UnpYdmRaL1kyYTIvb0k3
OGxuNVUxME1pQUV4SUFiRXdKNE14RWV3VnFLUDJFNkRWOEFnVWFpdgp2VUxJVjh2Vy9BMGxYUTNi
Ti90MElzaWJHL1V1b1RBbit1T0hzc2luemdORWFxbXB6RjFwcjhaci9PT2NneHZOZjdzWDF0YTMx
bjg4ClNUcEI5Mk8vNytQRzVHTUY3KzhUemJmdS95a0QrenorVFROVUV3TmlRQXlJQVRHd0Z3T245
bGU3RWM2TkhSTC84Z2J2dXNWUTFzUEIKWHMzeDRBK1o5VWl1N2NOTVc0Uk1CSDJRK0ZmN2kyRFlX
R284N0xSbGZRMFBZOWI0alRQd0JzS3NVTGJheHBWem9mblgrczlySVpZTgo3MFhlZnpEVHRyU3k2
R084N3YvR0Yzamc0eDVsNXBKOFpWdlc2YTk4TGozK0xjMkxiR0pBRElnQk1TQUdOaGlZdmdQQ3d5
UWxUcGV1CmQwTTVjT0lRQVY4Y0p2eEFZTHJMY0hVTWhBVmUvN3NZa2IvMmg4ZllMS1ZCdFA1QVdT
aU1vL1IzU3hDWCtzZE5sZWs5MWd6VUtYdmYKdTJHTThmem9mOGIzTmlQZWhWMllydkUzTGpUL2Jm
WHhqMXhxL2ZOdUhPOFZXSGpmVUdiYm1ERnFqS1BVL1I4Y25zekh2NUYrYVdKQQpESWdCTVNBRzlt
VWcvZzVJMzdGdHc4cDZ3TkJVenRzZTZ6WUdJRDdwczNoejArYlFqS1dzK1dhSHF4OVlRMmM0c1NC
UjBIZTNSUUNmCmJPUlhBVnRrdTNLc2xNUmdETnVoM0dyUDh4aHNsVmw4c2sxaVU4NkVQN1BEcGZF
N1c1MEwwalhqMXh5YS8zWWZnREd0LzNoTXdLSlkKS0x6dktSRXkwU05uMy9YbTRReTJ5bXg5SnRz
a051VmMxKzUvSDRjdVlrQU1pQUV4SUFZT1kyRCtCQ1RuMXdQTTFtZUNjeTcwR284ZAoyVGQ0SGdp
dzhYS1hoaHArUG1FNEVtNUlMeGJQVjQyOVh2Q0l6VU5FbGNBOVltREVoNTl0UmdzVFFSL2o2M2hn
cDIyU0dCWDZJTDJVCi9yWVR0WG5DUDJ2UFhKWXlhUHpPbnZPaytSL1hTNzJmdFA3YkRWUHZlOWI5
ZnRYOWYwSWYvK0xPbEJBRFlrQU1pQUV4Y0FnRDloRXMKSEg1eHlrV2hIZ2RpYnR5VVd3Y2V4eUZH
UStUWnV0VUNkMktrTFpwSFlEZVpNamx3VHB6bWkwREsycjlEeDNOb3ZMZkxKeFhvRzNoRQpuOGhu
VkUyMHdvRlJ3cHAwcXBUd2FmeFRqaVo4QlZHYS83YTh0UDdqTVlIM0g5WUg3MGtzb3hPOFhuVC94
N3FURUFOaVFBeUlBVEZ3CkdBTUxmNGd3Tm1uZ2NPL3UrN241M0paaThvRnc5aDBIWUZnc3crc3Iv
TmpBYWZOK001QVN4cVRQK2dQOEZFSWRjcWtBaWpIdUp6WWwKakVsbkxQRzh2d2hKTVpONHM4TzEr
cEVwQStLWXZTa0wxdmdUbitTVjBrbkNwWlhaZkppWk5rUlFoMXdxUGpmbTZQQlVLSkdVOUlxbgor
UStPRTBjVHZzd09sOVkvRnRMSUJlbml2UTdwZm5QUTFnek5uam5OK213OVdqaHR5S1FlOEFFMkNw
OGJxN0kvWGVtRzdKempMYTcvCkVWNmFHQkFEWWtBTWlJRjlHZGo0UTRRQnM3SS94UTVyUVJIQVYr
dGRJdGZzdEVXMTJWQ0pNanZNY3hlRm4zcnNxT3dISlVJbWVsUm0KbUFoRU1YL3RENXVBbTRlQmZr
Q0EwY3FraldacVZ6Z1NBTEUxL2lCcGdXK2ZnOFRoYks0U241MWJ6Yjh6eG5WSUNlTkVqOHFNVS9K
dApmcTVSNWs3b3RncHl0ZjRiWWVTV2tweVJUaWMvRVVodXIxZjNmeWREaWhnUUEySkFESWlCdlJr
NDFRL1FPSERrd3pjT0lUekVVQUtTCmV2ZkhnY1VQaXRpSVVTaE41Y1lObVhXRW9XU2I2OENEQXhq
UVVRbVoyMFlJU3JabHZYa1gvQWtUdUg3UUNxbnhONzdJdzdIdzZid2IKbnl5eitUVUhiWWloRHVr
NjVnY09ZRUJISmVSZS9iRnd4cG5hZGRneUZ2RTEvNDFmOE1CNXB5U1BsUHZ3aVJqbjFoWGpQTW1z
aDNudQp4MXpEYVpMelRzbCtVQ0tNT21UVzRVUEpOdGRqTFJGZjgyOGt4ZHh6M2lremQwN21DcC8w
U1lvQk1TQUd4SUFZT0lDQjhoMlFmQUF3CkZCNEdlSGdBOEVTUENqZXJXY041dzBjdTRtbUw0QW1l
K2RCQWZ3V3hWU015OG1GakVyR1FSenR0TUZEZjRmY0JoZC9qSXcvQ213RUcKS2xFbWVsUjZmeGhF
dWRXK3hVM3cwQTh6YVB3a3NQQlQrZDdpZHcrL1R3QjRSMEY4U0FqcTBTeE16ZWFhNmJVL1llOWlx
LzJLaDM0WQpwdWEvTTdpYjd5MSs5L0I3QStBZEJmRWhJYWpITk1PMHV6OGVrUzViN1ZjODlPTTZP
UDlweEZMRmdCZ1FBMkpBRE96RFFQc09DRCt6ClhUT3c4Y2FlT0xyeWJqeGFYV01zcEJmR2huUTh1
OURNTUVwK1g0VDkyWXJ2UUFIbzdadk85bkZBcEkxdDlCd3oxUFo2VENqZXZ1a0IKMzZ5VHlqVEQy
eklUMisrSmtlTjRkbG1EcVAzWml1OUFBY2l4c24yTlgvUFBOZEZYYWxwOGRiMzFtRkI4L1ptZVVr
cGxtdUZ0bVlucgpyeWNHZ09QWlpZS1hJR3AvdHVJN1VBQnlyR3hmNi85dmR2Mm5xWlFxQnNTQUdC
QURZbUFYQS9FenZBenhIZDhxUENIWVR1NnY4bkpIClp4eGxpZmRYYnMzR1YzRDlRR0N4YStuZURv
UFFiT2pNUnpQc0N2U3R3bGhLeEdlOTV0TkhXZnVEam12OHh0cmFCSUs0SGZOSDExcDYKNVZ2ejN4
YXMxdjk0cC9aN2N6U3Rhb3lsUkdEV2F5SjlsSFU5NnY3ZjQvR3ZrcXE2R0JBRFlrQU1pSUZ0QnFa
L0I0U2YvL1hQUmpONQo5ZlRZTm5jZU1qMmNPM25JVXZYUG1mTnZZM2c4c1NsaFRMcS9nbWwxZnhJ
QVYraVQvamxRdTV5VStOU2YxSlNyR0IvY0hHZFhOUDdPCkR4VHlnM25UL0xkMTdBUnhiVkhDbVBT
VHNwNjk0WGJaQ3ovMUo2VzZxdld2KzcrdUNkWEZnQmdRQTJKQURPekJRUHdNYjBUeW9FL1oKVDlj
OGhOUVRoOWs5ZG9lL3Y2cG9iVEMyNCsvUnd4eExuWEtmSnlSb2d2R3o4Y0NYK3NBNHlsbTh4ajg5
Y1duKys1cjJaYlN3UHJUKwpqWmw0ZlBEN2ltc20zWGU3MUg0dldoQjFTdDMvalpOZEw4aUFXL0kx
ZXp5RER3RlJHRWM1aTE5YTMweVdGQU5pUUF5SUFUR3dQd1BUCm4rR2Q1WEYzQ29sekJEYW5PRStN
dXhmalBNQ0NHQUE3YmNoRjFTNTdodmZVRlRnSGNxd0FwTDZHM3h0Tzhiay8xcjFwSVZCSUg0cnAK
N0UvRjIrb3dZSEo3cElaNDdyZVlhRzRMVHVNM29weXJJSXg2VkdmOGRXSlRmSjZQNmVTbmlZaDR6
Yi94YlZ4d3ZWWStaNFNETnk3eQpvRFB6VFJmeFNuaFBYZk9qZmVTd0g5UmRwcWFaenpoS3hPWCtB
R3BTQ0JUUysydjZHdDVXaDJ0N2ptY05Fcy85Vm8vbXR1QTgwR01qCmdmcGFmZ2RPOFNkay9CUFNW
QkVEWWtBTWlBRXhzTW5BOUZld3RqWkVibXlVTTNnNktCR1E5VktsaTdLRzAwNTUzSDRBY1pBQU05
MWYKN1lzVEFGMVI5YTdUbHR2Ty9ZRzlGem9vNGNoNnFkSkZXY05wcHp4dVA0RHlnRXpYK0lPVFJJ
M21IeXV0TGQyOFhMZ09LVnRVdXRKQgpTWkNGa094YUM2ZWRNdWRrZlc4L0F2T0F0UDVQN1AyUFNW
RVJBMkpBRElnQk1iRE5nTDBEd3RPV0JYTWo3ekkyYkQra2JvUE52cVBoCnI1WnlrN2Y4ZlQ0eXdS
ZzBSNTBmTWFoNHRVdGI4ZFh2K1JwL3A3SFBlMWo0NUVUejN5bmFxZFQxVmRkcjlWZXdyZmpxci9r
VnY4WlgKditkci9YY2F0ZjRiRloySEF4Ly9PNUZTeElBWUVBTmlRQXpzWmlEZUFka1JoRU1NU3oz
QTFBTU9ZeW1SbDNYaVVOYjgrbzZFNTZZbgpNRnQ0eEYyVDdBdmxXbHkyNTFpTnY4MG5lRUFCTitT
RTlTeXJqbm91TlYvekgvZEw0cmR6RXNUbDlaaTUzRWRuTHVVaE9ZamxYR3YrCkczTjEvWkpYU2tS
bHZXV04xNXJmNS9vNk5QL2phS1NKQVRFZ0JzU0FHTmliZ2ZJenZDVVArMkM4Q09ZZWJxWmR3bW9C
Zkk0eWl6YzMKYlEwZ1lpUEJSYzRQSFo5TFJvSEluMUd1QjZEZXVZajNYMWl5SEVnVzloVjE5Z1VT
eGZGRHVxRmNadkdCUzB5djJpWE0yL2lNalFRWAp0Rm5iSEt2RzN5WUMvSkFUV0RUL3R0YU1GRDRC
cUF0WTY5KzRzWFdpK3g5M1N5dDhyRUp0OW5pV2JDMTZlcDNGK3dOV1c0T0lqT28wClNUVXhJQWJF
Z0JnUUE5c014QjhpakVBLzhKbk9qYVhLZXVEQmp1WWJISGFxaGJ5NmdTRW1RcUhPU20ydjV2dmh5
N0w2cGxvUzZnRVYKYm1LZ3NSTGVmZXpUVnJ6R1h3ZzE0alQvd2NrZTY4dEN0UDVCd2tyWnZEOHR3
Ty9uR2hoMTNmL3RmdVFUVk5CeXNoLy9WcVpTWmpFZwpCc1NBR0JBRHV4aG83NEJNWGpGTTRWc2JP
amMzeUtYaXI4aWFrL2d6dk5naCtZUmk1Zy9RZnQ3WUo5N2EyemUrOWcvTk1SZjZVbjg0Clp2ZEh2
TVlQTnVhbDhqdmpjNS81TkZqT0NaL3M3Rnd2bXYrOSthcnpneGtrMTlCbjh3VmJpcUd1OVErMjVx
WHlPK1B6aTJEOXowY3QKaXhnUUEySkFESWlCVFFhbXY0TGxwdytlS2l5WEJ6MUtuRDU0Q0FRMDll
enZHTkYyUHRBd2pySmpsTmllRXh0MFBoVXQ1WFliKzU1TwpSQjJML1UyeWpxZjNQWktJUzFuajNV
NU9NSVpEMjg5OWdRNE1LNVMxUCs3cnp1QWY4YlFkMmo3N2pqd1U0QkFEMWNDbDFQaURrK0JMCjg5
L1dTMTRmZlEyWkM0VkwwL1c2bnVCUEFWUXBPMVkzbFBpd2R3eXVYYTducmZZdGpuT0kvdFgyaUV1
cDlUL2xxL1BpNU9raUJzU0EKR0JBRFltQnZCazZkSGhBaUQvczY5M3pLSlVqNmVyd3BiZ3NEOWFq
NjRkWnRPQ0R3a0VDSk50M1pKSFRQbzR3T1JJalhxSHNjTEJIYgpFdWNKcy9pV0VvR3RQVlE2WHZI
M3dGQm1lS1Y5OTRmTmRSeDRrS3Z4YS82NTdpbHRXV2o5dHh2TDczM2VONVROMWU2Zm91T2U4dnNx
Cll0ZHVZSStKMkt3SFhNZUdiOG5QT01vYzQ3cGRLS0ZRaDNUOWkvVCtKeCtTWWtBTWlBRXhJQWIy
WktEOUljSkpzTytVelVLVnN1MmkKNWdzRHprNDRMUEFNQmJQYldyckhIVTBHVDdPTFM4WmFoZm51
U1BFZExBS1lSNGxtc3M1bUtlSExjQWpPL2ZHNENwRHFWQ2w3WTJGdwpiTk9qZTdQdTEvWTh6UzZS
M3ZxVzhtY0E3SHcwd0R4SzlEL3JQcDUwZ1k4UWJqYUR4bTlNWk5LeURwSlNuU3BsOTRYQnVUVTlw
c2ZkCnUvajJOTHRFdXVZZmRDZitaZ1NTekNDWXZGR1c2VUoxVWhCSENIZVlRZXZmbU5oRllQSlJw
ZXg1WVlocG1YQ3VpaGdRQTJKQURJaUIKUFJnNDFYZG83Q2Yrenk1ZFFvRTlaTmFQK1JWSzRBRW9D
blZJMTIxSG84VEp3ZHNPeVg1UUVpUExpdWY5QkxZNVBDOWhPajZTbzAzawp6dUxEaGpBVXh3ZzVp
WVVOQVZZb3MrN1k3dDN3UjEvODFKVDY2bTBGTVBzUWNCUEJ0dG5lcEk4d0preU9tOUp6N05JbEZD
dTVQZXFPCm0yTVI1OUdqOU54azI4dXY4VGNlalljOFYrVGJPU1dSd1cwV2RFSDZQN3QwQ1VYejN4
OEh1TzRwTzAvZ0RyekJFSHJUcGphUENiL24KUmxDa2VZMzYzdjdyNFBvbk41SmlRQXlJQVRFZ0Jn
NWdZUHAzUUdaZmtqUWt0L3MyT01VQUFDQUFTVVJCVkNWRWJxckoxRlZzeXNTQQprVG9rUzliM2lX
Y2U1T3hRQUZ4MGlQalVvNU8xL2RvZU1IT1p4WnZUYlNrb29KTmxWQ3QreFVNa2JDejd4RE1XVXVO
dmJKQUhuM2ZPCnVSTmtGNjRKcUthVFkzZGJMRzJvMTBJZjU4aWhnWkVDczU3TXJySXQ5cS9pSVlq
WTBQZUpSeHdMY1NuN1dMbW12TU1XSFoyczdkZjIKaUVzNWl6ZUgyeGhnVXVOUFpCUzE4bHY1UkRo
c0xQdkVNeGFTODA1NWJadi8zRmZwWWtBTWlBRXhJQVoyTU5CK0JZc0IzTmdvWWM4SApEai9mMklV
MnhsRmliL1ZmZmdsQTJpbkRQQW9jN2h5MG1ham4rSWx1WVdpRDdmTnZSUER2WmpnS25Ta3VtWHF1
eDVZTDI2S0V1K2F5ClRmZUZrL0VhditaZjY3L2RvMHYzQjJ5VG92di9pK0x4YnpLbnFvZ0JNU0FH
eElBWTJHYkFQb0psQmVkb0hyUXBhYWVFbllkL1NQeEQKRWlWMHp3M3BlZ3RCcEpkc2czNzBTTXR4
YVRvS2RKWWFEenR0ak1tU1BzZEdyQ211UTBJSlc5TkdMSThKWTRSNWpUcjlHbi9qVFBNLwpybnV0
Zjl4VTdaL2ZMM2JoL1lLYnlHMVFyRkNuWC9kL2NJWEh3ZXZvNDErYldWM0ZnQmdRQTJKQURCekVR
UHREaEV6SkI0UnFRMzNtCnQ5T1gyL3dVWnJwVitMR0RwWHc4Vy9FbkFoSGZucjFZSlBPUmhKaVVQ
UG5TS09MZ1pIem9mSEtCdEo2TFNvMkh6VXFPV2RLWGJEbXYKKzluWDFCK04zL2p0QkUyNTlybUZM
L2lxMHRQSWFSQ3UrVThMRnJ3bC9uZ3Y3ZUo3RWc5T3JhVHBXZFQzOW5PdVlqN1JENjMvNjlmNgpi
eXRLVnpFZ0JzU0FHQkFEQnpIUVBvS1ZEekFIcFpjREVYTHo0V1gyQkdEaGdKTGI0K0VGMGt1UjlZ
QlQ0NnUvZHlZNnRSbWZPN09QCnJ2RlBEc1NnVFBPZkZrNVpIN1AxbVVLaDF2VTVlNEpXN3A4YVA4
UG5aR2o5TzlPYmZKWDUyS3lXK1VVOEtmZmM0cC9OVDJtZzl1ODYKTWY5bERLcUtBVEVnQnNTQUdO
aURnZllsZEc2YXN3MFFEbTZpUzJoTXBFUk0wckhodW9rMnczSWJNTjFobDRUUE1FckhxbjV6WnIv
cgozUkQ0RFgxMnJmMWhMdE0xL3NZZmVQQUNZaEwvWVIwRmlhT0VKK21WYjJCcC9vMmpGWDVKSGFY
V2YzQVZoTGl3UythSE5pdzlGSzY1ClZwdGU2ZXZTRTBZODNmK052NFB2L3luTnFva0JNU0FHeElB
WTJHSmcraVgwdnJQSERvK04ycytmM1BGNUdPVUJhZ3UrK29tekpoRlAKWDlacHMzYjk4QkR0MDB4
Wm02djF6ZTRUS0tUR3IvbjNOY04xc2JtQTZvb3JkZUtzU1lUVGwzWGFySDJ0ZnlNRzgyQ0Z0RkEy
Ni9wMQpjL29JRkZMMy93bSsvOWVuUmg0eElBYkVnQmk0ZmpGdzJIZEFadHhnbythdURpZDFIaERN
ejFjVkY5emI4WWJqaDREQTh4TUgyMWdDCkxQMHBWVzh2SCtBQWdSZ1c2cFN3WjUxeFhjSzVvei9z
dTdlWlFqbWNuaHVHV2J6WmFmTTJOOXFyL05Sd3RPZDk2UjJZam85anBVU2IKV2ZjKzVFdHRBTGkw
UVRWZDg5OTRBRzJGbnBsaHhsZk0xK29yMGhXUTNFTmFLVlZ2VC9OdnhJQzNLRUdWMTZoVHdwajFT
QmtGbkp3RApXS2tIL213K0xZUXBDTitNTnh4aWVEeVQyYW5TWGdjUGZ3MUhleWQ4L3IxanVvZ0JN
U0FHeElBWU9JaUI2ZDhCV1V6bFptZE8zd3hECkl0YjNQL05EZW1Fc3BSbDl3d3MzZnVnRnNmeWhL
LzZrYmY0WjNSeFBuZEpoRW5ZL0hTelpvczJKS3lvVHZJaGJGUWtBZVJ3ejRxbHIKL01FZXVhSTBj
K1phODYvMXIvdi9pK3Z4TCs1OENURWdCc1NBR0JBRGh6QXdmUWVrWnZvQjI0dzhZRmVKY3laalBM
Y2E2SXpFVXEwdgoySFdzQ0ovNVo0WUtXQWR3blBVS3ozNVIxdUZ1OWEvaTFmd3QveGIrY1E1M2xs
Nzd3M0ZUMXY1djlhL2kxZnd0L3hiK2JBREhhYWo5CjRiZ3BhLyszK2xmeGF2Nldmd3YvT0ljN1M2
Lzk0YmdwYS8rMytsZnhhdjZXZnd0L05vRGpOTlQrY055VXRmOWIvYXQ0TlgvTHY0Vi8Kbk1PZHBk
ZitjTnlVNkwrS0dCQURZa0FNaUlGallHRDZLMWo4dUF3LzhzRU5obkpwQS9SWHVMa2pGZW52R0pp
TnI0SVRoeEx0K0I5dQppenphdTRTUzhtdi9hbjhpM00wZ1l4WmZHS3I5cS9HOUg4eWJOUkJqaS83
WFoyb1Z2K0pwL0pwL3JmOTJuK0lXcS9lSFAyN28vdStQCm4vWHg2ZHJ3K01lSFJra3hJQWJFZ0Jn
UUF3Y3dNUDBJVm4raXdKUEFFbEx5NGR5TktzL2ZTK0haVmpmUWVrQ3ZmdFJSS0xmaWUyZWkKai91
TWh6Rm9oem9sYkxPaThYZEtOUDlhLzdyL3I5K1BmLzNCUUlvWUVBTmlRQXlJZ2YwWmlGL0I0ak1J
bmliU0lYdUNWVTZjZmxBMwoyNjREZS9aUnB3VDJrcDV0ay9hMzR0bVhZeHhQZlFKVDI2NmZFZk4r
c3MxWmNEUGtzVkNuUk1TU25tMFZOdnVvVS9aM2l6VCtJTjhFCnVOaHpQV3YrRCtQTDE1M1cvK1Fl
Ymd0dnZQWjdFOHN3MWlFbG9wYjBiQnVSbXBaOTFDbS9JUGQvN2FEcVlrQU1pQUV4SUFhMkdZanYK
Z09RRFd0SjVkdXZuV2ZzV3NiOUwwYjlGYmkzd204Vm9ETGxNUXAxNkIwaTJKVDlzTzhvV1hPOUw5
STk5N2UrZ0dEWXh2Qm1PbFJMRwpwRE8yZDEvajEvemJZamlxOWUrM2o5OU11di9iZ3dvZk8vaWdn
VHIxL2dDU2JFdCsySGFVTGJndnlPUGZqdjdLSlFiRWdCZ1FBMkpnCmhRRjdCOFFPM0R4enp6YTRN
QnpsQm1yU1kxbEhKV0s4QWVwNyt2SEtuVDlKaUE3VTlJNGRlQkhXKzRzMmFhTk9ETzlQOFNQWXh4
SkoKRURtZWVqVFhZelgrWU5PSWNlbzZRVnNFN3Zaci9yWCtkZi9iUFJXUFIvWHhwejg0eGYwV1li
UEh2TGc3M1U2TWJLTitVaDcvT3JnVQpNU0FHeElBWUVBTjdNMkJQUU5LT1ZUYzR1bUwvODQxeWNt
QXdCdytSYUpJNk4xVHZCa0U5d0MxeGltMTZqbVVvWmQ5cHc4QzJJVkZxCmU0ZjY2NDdOZGlrMS9q
WlZtdjlqVzI5dGtiYmNpYzRGWmthdC81RWYwa0twK3orNENVSU9mWHpiZW53OEVZOS80K3hKRXdO
aVFBeUkKQVRHd053UGxTK2lXeDBPM1E5akc1M3RmUHhHVUExUFlKNGVvSEZ2d2lNMERiZTBtVWhr
REgzWEdzeDFLeEN6cDNXYUpyZ2NBOWU2dgorYWxOWUdQd1BwdzhwZ1Y5WDd3NkhtOGpYUUROR0pp
cFIvZjdXRmZiaTc1MXZ5VzZIZ0RVdTkvYW1PaXBUYlN2OFd2K2ZVa3RySGxmCkhuVzlZY25rV0t0
ekRTT2VlaXhIbUNZRnFZeUJnenJqaVUySm1DVzkyeXpSOVFDZzN2MDFQN1VKYksxL3B5QXV6c2dp
MzgyanF4Z1EKQTJKQURJaUJ2UmxvM3dIaEJsOWxQUkRzRGN0QUE1aDg1QWtOMElhWTJvRDVlVWln
TzB2b3UwckErOEVGY2Zpc3ZyOXF1UEtaL1JxUApPZ3BsN1Y3ekhuRGxXQUZraFZ6MGozVFZCcXho
amQrSWlna0kybnlaT0lFYkY2U1JVb1JxL3JYK2RmKzMrOEJ2SGR3ZzZUczc5WDZKCjI0NjNYNytY
ZUI4NmhpNWlRQXlJQVRFZ0JvNmZnWGdIaERzUFQyOXB4MG5xYkVPcUc1anZYTVN3emxFbHhpeStE
QUNIYjQrSmhQcVIKZ3dwWThaR2NEL0JlUnhzQXRlTDRqSUdCZXZncnZ1ZmdFcVcyaHpUYVBLUVk2
SU5FS2U1bVRGZU5YL1B2YXlRV2pOYi9lTS82YlZKdQpxRktkMzg5R3BsTUpVcTNvL2plS3dFbXNy
eFB4K05lWTFWVU1pQUV4SUFiRXdFRU1uRDdaa0xnNVFhTFVEWHZMMzNaN0pIcTZYL3BtCk41cTZO
anRBbUNlbDlvMXlncEVEOW9udnJZMmI3N0dPVCtNZjF3Um9yZXVqVDE2YW84bmNwYm53Zkx0Z3Fh
WHdxUjZPQ1VZT3JybEwKOFdnb3l0YjhIYSsvZHo3MWNkSjNkaVFrd2pSK3pYOWFMbjBKWVlsdzdW
RDZzc25CaUhGanV6Q09NcmxjUGQ3MXZaUmYyMUJkRElnQgpNU0FHeE1BZURNVFA4RVlrTnk1S21K
ZjBKZHRTWTdNRGxobDh3MHk3NWdUTFFQS0JqRHJrVXFuNCs4UURKelUvMWNNeDZWTUtwcDNTCnNa
Sy85aEV1OXNsOVp2RHdsRFBCS3ZITTFmZ3JzNjFlK2QySEwyUW0rcWQ2T0NaemtvSnBwM1NzNUcr
OUdxOXdzVTl1TllPSHA1d0oKVm9sbnJ1Wi81RFJybGQ5OStFSitvbitxaDJNeUp5bVlka3JIU3Y3
Y043YkRQcm5QWWowODVVeXdMQ2pIVTRkY0tvQmhEUHpVZDhVagpMalUvMWNNeDZWTUtwcDBTV0Nw
aVFBeUlBVEVnQm82QmdlbVgwTGNBTmpjNDI2ejRLaG13cUVPaVlDOGpoaHZxeFFMNFBRbDNNWGds
CnY3aG4rRE0vK21mQWt3MFVuZHF6Vkx5YUJseU9HVDdxR245akNsU1R3MllwVnd2US9Cc25YSk1r
Q3pMTU5LRk9QZHhhLzRtVFJYNXcKZjVwRDl6L1lpY0sxeHZvT1dkZmJqbEM1eElBWUVBTmlRQXpz
WXFBOUFla0haR3pRdHN0d2c2NGJEZytIL1V2VUZScTVzQ0hSQ3ZXOAp4MlY5NjhUay9VajlBUzV0
amc4dzJtQ2diaEtGYlhWWjRqbFdqVC80TW43SUNTeWdNU2p6QU0xL0kwVHIzNWZEL0lMN0Q5Wjgv
OUVXCjBlNW5KaGNYaldYQjhWN240OUhzL283OFZYOXBzK0p4cmV2K2IwU0JIM0lDUzVtTy91TEE2
dm9QdmlYRWdCZ1FBMkpBREd3d2NOaDMKUUdZbitnMzB2ZHc4ZkNDWWVraHVobXNIQk1kbnprSysr
OU5sQzIvTFgvdVhvSTlkM2RIL3pmNmcxUjM1dFZOYmVGdiszbFp1c3paeQphRDFqVVErNTJSKzB4
WnlzWjF2cXp4YmVsciszdFlLZm10cGZ6VmpVUTI3Mko0ODU2OFFwdmRqQzIvSnIvRUhvQ3IrRjd2
MnFHWXQ2CnlNMzVRQXZNeVhxMnBWNXM0VzM1ZTFzcitLa3BxV0pBRElnQk1TQUdkakZ3YW4rM0Ex
RjhKUkhTLzRVTis0M3ZPWHcxRXkrTjRSOEsKcGFuY2wzcDhzaUYweTQrWVhJNUVBbVRXYzB6V3Qv
RHIrSkJMVzlZMS9zWUwrT3pyQUFScC92dDkwTmU5MWo5V2hwZk4reS9GNWRndwp6MFMrNTdNK0Mw
eTRVSDNkRnB2Ym8xSGUzOW1XZGZvZHh5NGRUK3QvdnY2RFp3a3hJQWJFZ0JnUUF3Y3dFRjlDajQz
WkQxWFE0MUFGCmthcGVjVmZFWTZQMm1LalBYa0VMcUhCWCtJNjk1cThEUVhzQWNRbm5ySU90djh6
YmpBKzh0cXZPOFdid0ZnOGI0elYremIrdmtWakEKV3YvdDNnUVB2RTE0RDZGT1BkeTYveE1uUy96
QWxzdm00NWtGeDFMMHRNMzRFL0Q0bC9zblhReUlBVEVnQnNUQW5neWMzbllzbmdpUQpsZlRaQmxa
UkxaWXhjUG5tQjF2RTBlY1N0aEtQUUg2dkFHN3EvSXh4elo4ZDhDeWZOb2NQZkI2QVlKdVUzckd3
V3J4M0ZwSWw2YlY5CmhuUVo3WkV6aDRjdEFtYjVKVjdqSCtjY2xHbitRVUx3QUJVTGlXc0dhdWhj
My9EVFp1NnUwdy9icFBTRkdWYkQwL28zRHNBRFM5SXIKL3d6cE11YUQrVTR2YkJFd3l5L3hmYTRq
NGJxNC9qc1hVc1NBR0JBRFlrQU03TStBUFFIaHByaVF4TU1ORHpTekE0L2xZTzgwaUZaWQo0UTRN
YTlKOVE0WXAyYklmT0lSQWFpM01vL1I0UzJEN3NOUFdjMU5iVytQcE9hRnN4Yy82eTg2bk52UDQy
RzlLYnliRnp2QktoNWhICnliRkNvc0JPVzdQQTJMWFpBZFhqTFlGNFkyVFROUDdnTkFpdWZEblhS
bFc0RzljMGtzekVQM21tOUpEa1oyckhJMFpJNWxGNmZNdzUKUW1DbnJhZG1mSE42VERSQW5YZzlK
eFROLzI2K25HdmpLdWk4WHM1L1hUT3Fpd0V4SUFiRWdCallnNEhwei9EaXJNSk4xWlBONE9lWApk
SWpKaHhYcWxNekpEYWZVL3VTQ05yYkZEWnc0bE1ESmVzWjFYeGlJbDIzVTJZYUhXcURIcG9TTUQv
TkI4WUdUTWZLQm4zM3d0dTFTCjhkbVd4dDhZSW8rVXpsK2FLL0pJU1JlbHg5TnBzdklOZzhlbWhF
bGJsc001Y1ppdCtNREpHSzJCc1JPcHFWbC8ySmJtdi9GRkhpbGgKemZySWFzU0hvWExNT05qSnNk
dk00TEVwSWVNZkhCODRHZVA2T1Ava1cxSU1pQUV4SUFiRXdKNE1sTytBV0ZiYW0yY2ZpZGs2UVhH
egp6d2Nxdm9yS0RwMU1mTFlGaWNKK1VDNGRNS1luRkkzL1pNNFA1dVJrNG12K2pWOGpXT3NmSzAz
M1B4LzNLRS9LNDEraldsY3hJQWJFCmdCZ1FBNGN3TUgwSEJCc1ZONmxGRk81a0lYblk2YThBbXQx
MStnT0VoODU2UUhRM01WUGJQVDdaRUV2c3RmYndTemxvZzcrWVU5dWIKNVRzb0xxMmdLeHIvZUhB
akwxMXlya0tDVDNMc01XWW54Nmh6SGlrWkM5bEwwc2w5anc4TWhoRGJKUUJLZTVwL3JYK3NMZDMv
N2U2cQo5OXZzL2tFWWI3WjJPeDM4K05kYTBsVU1pQUV4SUFiRXdFRU1UUDhPQ1BjaXlyNDVkY01j
dkI4RzU2NlpoYkdVTldCcHc2U3R4K2ErClVLZTBvSXhOblpKWWtDaXcwK1oxdDZZOW1iaVU0YytD
Mk5tMnBqT1dzc2F4TDJ2OTgvamNGK3FVRnBDeHFWTnU0Uk9HVXZNZk05UUoKcVRNMjVYdnVuVm80
RDVSVDc3Z1dOZitOR2ZERU5kdTV5bk5CbmRLQ01yZlVLWW0xeGk5aEtMWCtnL1ZPU0o4RktXSkFE
SWdCTVNBRwpqb2VCNlRzZ2h5SmhYOEpadnU5UHByamVEZVZBVU9LWkc4OEgrdUdCQndiMEordW83
eXBvbHBpSW8zNmk4R3ZidFQwTTNvZnVseGFkCisxL2pUM1QvVGphK3hqOWxvUEt0K2RmNjkxdmZM
OWVQKzM5NlI2Z21Cc1NBR0JBRFltQXZCdHAzUVBvQjNYSjRLRjVNcnljdUMvWUQKZGdCdzM2VWtW
cmhua016dGgvVE5oTkxCRWwrcTNqZSs2dW1ObDRCUzlTY1B0TTA2QzRQR1AxMGdSaGJua1BSa1NT
NGhsd3B6TmYvQgp6aVpoRnNjWXBGQVBna3RWNjkvdVY5My9jWS91czE3U2trTDRyQ3c4L3MxaVpC
QURZa0FNaUFFeHNNMkEvUXl2RlQ1aG1CMElDd0EzCjg3V1BNTlFEMEJITGh3MFNoVG9raXU5bmRt
SDdOYjlGN1grZDlkOEFhZXNvYkR6YWg1M3RNOVpsVHhnVmpiL3hxZmx2YXdMcmhHc0MKbHJwK3Rm
N0hlNTc4a0JQVWNkK2RZaGZlZjVVL3hCeFNadmV2N3YrVC92aDN5UHdvVmd5SUFURWdCc1JBTURE
OUNKWWZBSENvSWovbApSRkFQWEFqTGgzVWVKQ2pkVHl6SWdzZDJLSmZ3SitrV3lCallxZWMrOU5P
TUIwUjI3bENZbG9SM1QrUFgvSE54K0lLd1NpelFwZldXCjF4NlhHU1Znc3E3MUg0UUVueUZJNy9M
OURCS2o4TW5lMmhOZ0Q4dUVVNmNrMElyMDZiWlk5cXZPbCtiZnVERnk4cHBmb1ZKbU1TQUcKeElB
WUVBTzdHR2hQUVBxR0hxSGNyNC9heTVXKzRhUzNNR0RyT3pRQ2ZkZU9ST3Jjd1l2ZmNlM2lNbElt
Z2o0R0xPQzVLL3pjQ0NsNwpYOWorQk53cXlDTW1WTk41cUVBb20rMVM0OWY4WTQxby9lUDI4SHRI
OTMvandma29qeWY5c1lXUFA4WHZqeXQyY2VrQTVVSWZBL2hZCmxmRGNGWDQrN2xITzJpL3dKK1h4
cjdhaHVoZ1FBMkpBRElpQmJRYmlMNkV6RUJzYk56M1lUUGZOTFRaQUh0YTU0YzBPOEpaUG02ZEgK
UG14ZUZ2RDdwaGdodXdUN3d2WnIvenlYYlZsbHM3OUlRQjg5RVFtdDNnM1JmK2NFN28zeGJmbVg4
THVOZmRnaGZkenNFK0tvbSt3bAo2VnY5OFhFRGc4a2F2M1BhQ1NuOGJ2SzVzVDc2WEpOd3pCVTU1
eHpza0pwL0k0ZHpBcDZvZzBlV3BHL09GM0tBd1Z6T0JRMEZmeFBQCjhxNXZqMytrVGxJTWlBRXhJ
QWJFd0FFTVREK0M1WW5jZkZHaFRnblRnazRiTjE4KzRhZ2I5aGIrY2VkSGw5TVpaQnhENmp2NzYv
MnAKbHpRK2pUL0lTWnhrN3FoVEh2Zjh4WUh2bU5jUDV0aithZjdUb2w2WU84NVhpaHJWRksvMUg3
UWtUakozMUNtdnIrdC9YRHpTeElBWQpFQU5pUUF6c3hVRDdFanBEZVhqamZvdURIRzJNMlNXNUVW
TWlOdXMxbDloc0Q0MjUzZzI3ODVmd3ZNM2tTRkRKdXF3aWxtTkdCUFhKCmdYWTUxYTBjS3lXTVdh
K3B0VDJOWC9QdjZ6VXQybDNyWjJrOStacExqZ1NWck10cVhZOWEvMjA5NnY1ZlhpK3lpZ0V4SUFi
RWdCZzQKUmdiYXovRG01SHhnOGNPUDdiNnJoNkI2UXRrNndTejQyVWJ1QTNYNCtLcWkyMnA3REtS
Y3dEL29HWlRoQUlLRmZkUDR5VWlSZFQ2MgorRi93aytPQzdGWE52OWEvN3YvMCtGdnZ0M3JUTE54
ZkovM3hyL1pCZFRFZ0JzU0FHQkFEMnd6RXovREdxYnZ1Yjc2ZjJTWGMvY25BCnZoK1I0VTlzUXFM
TThBS2JmbjYvUFgzbmR6aGlNZWdYaWg5SVE2TE93d243QTl1a1JMdmpBTXpybldoUjlZQ3I4VS9v
bWMrWEVVVE8Kd0NCMXlGNlNydmtQUG9NVFgzcDJJVVdWSDYzL2RxL3IvbTkzRXg2UHJ1MlBmLzIr
bHlJR3hJQVlFQU5pWUg4R3B0OEI0Y0dJRWpnVApQU3I1d0puMTJpNXpLV2Q0a1VCL2ZVS3hkTUJs
ckdORlpkS0hITEJIaDNJdVV5bG4vVjFvTCtmdjBkeVV6MGhnZXhyLytLVEd1VGRpCnlBbTVKVmYw
WitreE9ZQkpsUFJSbWozUEg4MlVTSnZvVVpuazVBQzJFNUl1eWhsZWllTllJVDNXRW1tTDBNMytU
QUtZUk1tT1VKcDkKTXBhSVMrNEpIR01wRVo3MVNPK0NPSlFlMzcwanQvUnpyQnAvSXduY2toUFNS
cTZjeTZoTTVpQUhNSW1TUGtxejUxeWFLYjBONXFiWQpuSlBjVXNXQUdCQURZa0FNN012QXFiNEJZ
Y1BocGtNSkJHNDBrUDR2Ykl5ZjJDS1JPWjZQaXhYR1UzZmp3b1c1am5zTWVKR3kybDdGCjkzN1p4
V1gwaHhqZTE2aXdQeDVuRjVjVzRIYktGQnRRSHVjNGlBa2pKV095clAyRGp6YlhJNWp0WjF2V1Yv
M1IrTnA0TW9ickcvRWEKZjZ3RjQ0bnpSSm01WEpzUHhPVENYT2MxY2MrWU1QWDFCenR0V1Y5cnIr
SjduRjJPTmQ3N2lUNEFBeUNoTjIzczJ4bys0eWd6UnRhNwpQNVExdk9qQ01ZOEg4TVJ3UFNvY243
ZHJGNWVJcFE0Slk5aWFObUl4M3YxMExzaU1rWFdHUmhPOS9ZcTM2VTk5blBUZGdISnViMjhqCm5u
MWt2S1FZRUFOaVFBeUlnVDBaYUQvRHk5MW50Z25GUjI3R3owQVpMRjZkWlNEMTlJb3QvSDFqb3I3
RDcxamhod0IwVkx2TzVzelYKbTg1Njk1dHlsQ0FwdHZ2TjUzMWJhWUJ4bEgwc0svR2RpL0FUVytQ
SDdGZ3BmQy94MHllNWhlZHExL3Q4V015UzNtMm1hUDVIa3NnTApaWjJQU2pEaktMZml0ZjZENit2
ei9XOFVxSWdCTVNBR3hJQVlPSkFCZXdKaXA0MSs0Q2paMkZmaGkvMjE2NHl2bjJIM1dMdlEzNVZ1
CkNNQm9wK1l2ZmdaK1Ivc0JNeFc1cmFsbnFPMGhsTFlTNmxXTlgvUHZheVFXQjNVdU1hNGRTQlQz
MjRYK3JuUkRCSG4wdVBhWXIvWGYKSG1zbTN3RXhydFllZjRMR3FjaGNUejM5WGlmZkNPVWNsbEN2
NnY3ZnZ2K1hlSk5ORElnQk1TQUd4TUFHQS9OZndjb0pmQ1dmRXI2SgpIc0Y1ejg5NnhsclNHVXVK
bUt3djVSeVBqZGlVVysxeHJKUWVuNUtwVW03aDFiNHpqL0xRL0lxM1ZXYzdsRnZ0Y2R5VUhwK1Nx
Vkp1CjRkWCtNWS95MFB5S3QxVm5PNVJiN1hIY2xCNmZrcWxTYnVIVi9qR1A4dEQ4aXJkVlp6dVVX
KzF4M0pRZW41S3BVbTdoMWY0eGovTFEKL0lxM1ZXYzdsRnZ0Y2R5VUhwK1NxVkp1NGRYK01ZL3kw
UHlLdDFWbk81UmI3WEhjbEI2ZmtwTzYxYlQ4WWtBTWlBRXhJQVl5QTlNdgpvZGVQVkd5K0FtaFEy
SVQ2SzVSV21YeHBjZ09Bc2F0Zk9yVjgzL3pZUUxUSEVjQkhETmlvZHp6WTdGL2ZLTm5aYmtCV0tn
eU85a3ExCmo1WHBNNzg1MkFkSG5RV1lsVGFvcG5NTWlLZnVZNFloL0oxZ3hNQWVwY2JQOEN3dU5k
ZVNKd1lpaGFRUDBrcXBhdnlKazBWK05QOTkKVFlPZnJRVTBXNjhML1BtOUVPc1JrRnIvWUtHVmE4
UDl6NzVJaWdFeElBYkVnQmc0Z0lINERnZ3pzTHZ6MUdrcVAwL3ZNbUxxQVFEeApxd2ZtZ3VjUUNZ
QXFKZnhMZXJaRk41cEEyOURpZ01MRFN1K1B1U2E1SEZ2RU41QjBSVEJqa0J1NnhqOXlsUG1jOFcx
ODBlWVpoYzl1CkN6aGlVY0s4cEdkYnBEYUI5cUJobnF5d2JjMS80OE01R2RWeGJRZGYyZVU2eUlR
dkNOZjZiMXpvL3ZmVjRaZDhMK2I3Ykl5UUpnYkUKZ0JnUUEySmdrNEhwZDBEODdHRTdURCtmY0xm
aGdjVHcwdm1rb1RNR1B0TlJYZnVNTlhPSmp3M01iWUZCblg0ZWhDZ2QyL0FqdlBlRgo4ZTYzQy8y
dGcrTjFzWDhWejVLSjE0RUNFTUw3T0VKT0dsdkV0NlJJNzduRTEvZzEvNzZlWW9GUTUvcm9DeWY4
RUI0VDY0ODY0OTF2Cmx3alBxOVQxeGZWcEhzWTdubFdJMXgwUkFNRTJPemlUNFRQZFk4SkdQYW85
bC9oYS84Rm5FSFFvLzV5THptZWFnejQvU1ZtY0gvTlAKNXNjcXhPdU9DSUJnbXdsV3FoZ1FBMkpB
RElpQlF4bVlmZ2VFR3hIbEV0byt2aHl6cEMvWjBCYnRsRnZ0TTQ0eVkrektYWXVublhJWAp4aTVm
emwvU2wyeTU3OWxmMjhrKzZwUVpvK1psMzFvODdaUzdNSGI1Y3Y2U3ZtUmI2MTl0WnlsM3lWYnox
dkNYY3JPdDR1emp5ekZMCitwSnRyWCs3MmljT1pjYW9lZG0zRms4NzVTNk1YYjZjdjZRdjJkYjZW
OXRaeWwyeTFidzEvS1hjYktzNCsvaHl6SksrWkZ2cjM2NzIKaVVPWk1XcGU5cTNGMDA2NUMyUEpK
NXNZRUFOaVFBeUlnVDBac0hkQXJQUU5COHFPbDdqMitjeTJnL1dYMEJ4K3ZCeUtYN3RUOG1mOQpL
ZkVjeXQ3ZEtmaGp4NXMyYTgvaWFmT0lneHVjdGtBc1NKUlpkNHBoSy83ZzdoVDgxb3Z4T210UDQ5
ZjgyeUxySDhVNWVNR05hd3ZhCmJIM0Jadit3TEwyVTlia1Z6MXpJcFZMZ0ZtNjRhZGFzUGEzL0tV
R3FpUUV4SUFiRWdCallqNEhUaHlPeGlYbzhkMnJLQXVJSERmUHgKd0lFTkhLZUQvNys5TTlCeUhk
VzE3YmxuM1AvLzVIT2ZsdEFpTW5aQzZteTZYM2Z2NlRIS2tpVWg4QVFIU0NWVktVTmRmOFcvRkgr
dApKcjdNWCtsZmFWUk9sVlg1dFQyeTI1WmxLN2EzMXluazE0S0MreDhjeE1OY3Awemo2MlMyblNm
OXovam4rUi9QeUcvNSt2ZDZlVUNECkFBUWdBQUVJZkV2Z2YzT3Q2UVhsVjZXODJvaGdMK1lsZFho
djRKQ2JQeHhwcTRDYlAzSjRFbGUrM1R1T083OXl6TjJSOHRXbHBBN2QKZDIvUHNHN092cmtJdStW
ck5tVzUrWmY2Ym42VmlSaFhzYnUvblY5dG1NbVV1eTRsZFhEL3hjVEFCNWJQNXhaNzR4a2xiVk1T
Nis5NAozL3dxUS8vUElic2IzenUvK21BbUU5dTZmTmNmQ3Q4ZTlQOUVaSTdUZ0FJQkNFQUFBaEQ0
anNEOU95Q2VwRlhlK3J1SnhuT3hwY284CjZVKzJIdnZXWHc1dmtGYVpPWHBoMWI5Y0s4YUhYWmF5
cjdydldUN3IzTDlvM0ErenMxVEVrLzVrNjdGdi9lVnduNjR5Yy9UQ3FuKzUKVm93UHV5eGxYM1gz
dVh6VzZYL1J1QjltWjZtSUovM0oxbVBmK3N2aFBsMWw1dWlGVmY5eXJSZ2ZkbG5LdnVydWMvbXMw
LytpY1Q4Ngp1N3NYQ3dRZ0FBRUlRT0F0Z2ZFZGtPbldqT0paTjlUYm4rRmMvRE8yWm1nWDlZUzlo
czk2ckt3QlM0TGxjclJOWmF1Q1hHeUVQaGNkCnR3S3VhTWlOZTZ4R0hCUkZ1SDlCS0E1QytNUCtX
c09WNG5Lc0FXWXZHY2R5T2Z1ZC9oOThHUDlqa1BEOGovRndmMkRLL3AzNzlueC8KOWZwM3JZSXJD
RUFBQWhDQXdEY0U3ditJMEl1YUxMMHNFUE15VHBJNi9IRVJTUjIyVzNhYmRTOHFkWjE2Qk5kNlU2
Ykw0YmJNQlVaNAplKzUxd2xXY1A1YWhSSzdMK1YzVzhsSlpGWENkNlZPZ2s0U2FsM0Z5ZWU3L3hV
Uzh6TVd5MjZ3M25BTnRCTHQvRk5NUDl3WDkvNkxTCjJjNnhXUUFaL3p6L2YvYnIzMnRrb2tFQUFo
Q0FBQVMrSm5EOUNOYTZndlJrSnFrak54cWg5dzJIWEpkRlVVYStQL1ZZNjVaUEMzcmIKSGpPNm9L
WGEwdlVxMUV5UGFhYlJnU1c1LzhHVC9oOGpoUEVmSEhqK2VmMnIxMGUvWE03WFR4UUlRQUFDRUlE
QWR3VCtuV0ZhdEh2aApiaW1IZGZzMTRhUXUyZlZ2eTFlYzgwV0tXVWZxT3NXUnVTVVZieW1sOUtI
ZHo0clg4UzcvOEw3T3UvalZQOXVpT2x5UFphdmJOZHpLClI0emIxbjB6dnBUTTdieVdEL2xkenJM
bjdMcjlxK3d4WFhkY3QwblBkbGxHME1YMjBMNWJlWlZ0UDZySE1hbnJGSWRTNVk5aXBVdEsKS1gx
bzkzT1A2Zm85Y2xoNlROY2QzMjNTWjFzaTRLTExKNFBzSmJ1ZVpTdW02ejBtZFozaVVJcjhVUm5w
a2xKS0g5cjkzR082Zm84YwpsaDdUZGNkM20vVFpsZ2k0NlBMSklIdkpybWZaaXVsNmowbGRwemlV
SW45VVJycWtsTktIZGovM21LN2ZJNGVseDNUZDhkMG1mYllsCkFpNjZmRExJWHJMcldiWml1dDVq
VXRjcERxWElINVdSTGltbDlLSGR6ejJtNi9mSVlla3hYWGQ4dDBtZmJZa0E2NDVGUWdBQ0VJQUEK
Qkg1QTRQb1JySnJqY25MSkpESjgrQlhIK2hzQ2xmRzc1VmwrUFRtWGowMVcxZ0FBSUFCSlJFRlVa
Qnc1d1lYdWllNldyK0w4R1oxdAovRWc3ejkvY2ordk85bFJKbDBzUWJ2UE0rbEp1N1EwWDkvL2lj
OVBNc3ZwMTI1LzAvMEQ0TGE4RnVNZXg1ZE40WnZ5L29KbVQ1Uk92ClYvUjQxc1d2UC9OZDc3R3Av
d1BILyswZU1VQUFBaENBQUFUMkJPcEw2RzJCNDBXMXl1WjhxUW0yRW1saTloeWFwakRJTms3TjZR
TE4KbFdHVnk0dWVwL3dacDVNTzViOVVPR3pwazVxVnY2UWFsN2FxMzRzRHg2MzF6WnY1TWw3VlpZ
N1pnS2hQZXJWak9pdGZkNlVlY1c2RApycTA3M0drc3VmOUFtNUJFcTQ0SnAvbzZ6TzVmQWFYL0Ew
Z05LTVovb1BDWUtDekpwSWJTZUFDLzU2V2hkeG1PWWNqaDZERnBaL0ZYCk5YYWxIaGNaVWtickRu
ZXM1ZC9oK2RkOWNVQUFBaENBQUFSK1NLQytBekpudkxhWWkwdzJXeXI1a3o1dFZpelhBcjlZUGlm
c3lORW4KYk50VTFXeGMxWisrMEwrTnp4U3Q3Vll0ZXhWZG4zNHJsajFJZWh4UHJtbXpZcmtVOEwx
K2V6L2NmL0FPbHQveVN0eU52VlhMcFR0bQpYMDYvRmN1MVFGdy91YWJOaXVWU252NGYvTDd0VDhi
L256UCtOVXc1SUFBQkNFQUFBajhnc0d4QWxoWE9jbm5MZTN1SE5RcllwbURyCmtqcjhicVEvcHJE
Nng5dURDc3p3OVhJdTN0NnN6MjcxS1VIV1hmbGN6aklUeW1lRDlZcGZMa2VqMm5sdC8rNytkdjcx
aHRmNjNVeEwKTmVXaXg0WHJ5R1pHQXU0L1NGUi9tcFVsL1Y5c0RHUVpjTXRsRHFsK1l2eGZuemMv
ZTVJNmZzcm43L2o4anp2bERBRUlRQUFDRVBnUgpnWWYvQTZMeXRTRHh4MTlTMnU1VmlhNUR2eXh3
VmM0MitlTkkvMUNuUG0yT1ZVNGRWWDdXUDZ5K0hBdEp4enpFejdvcm45djJ0cjdLClAwWGR0eXZr
L29OTU1LSC9hNFI0N0htY0xPUDNOdDZFejdGTm43YWxmSTQ3amQwcTQ2S1c2d0oxaldmOEYyK2Uv
eHl3dC9HNGpyZU0KYWljUE5JKy9Hb3VmbnY5V0doVUNFSUFBQkNEd0xZSFlnSGpTaVNKUzIvcG42
aldmMzVKcWdzdjR5bUhkOFd1K05ZSC94RzcrZVZQWApINFVxM2IxK095eXp3bXEweW9mZDcwS3FM
dXQrUi9KMmd3cHlybEtkVWk3cnZoL1orc0g5MC84NVJtb01XZmQ0a1RsdGZkQTBuZkZmCnJ6bkZM
M25GcVM0bk8vT2NqamNCUFArdjF6d05zei9qOWE4TloxUUlRQUFDRUlEQXR3VEdSN0EwY2Z0b2Fw
cTZieGdjT1dTUHR6NmwKbEZnOU9NYzZJZjVudVA4bHFVTUxEZHQwUGZQbzR1bFlBbHpQbENvVE1R
N0x4V0JjZUVHak9MZko2UjA3cjI4R2U0YnNidXRUU3VIKwo2ZjhhRUI1cmtqbzgxaG4vZzRld21J
a3M4emthN3Z0NUNaalBmZGxUeE1saHlwL1BmR1hpK2YvMTE3OTdwMkNCQUFRZ0FBRUliQW1NClA4
TjdtYUNqVEsyUDVzUnRmeHB5Rm4rVDJENG5pTEJadHVuVEZvby81cVNNdG5mcGxQS3ZDN2hiZXlJ
NEZ5R3VYNGxhZ3A1WCtmSTYKVHJZN3RCZWZjVlljcE92MXNNOEp3dS9jQ3JWdUtRUDMvd0pqTGww
YXFmalIvekZlQW80M01EbWdMb0NHLy9JQU4zL25LcDU1SFNmYgpIU3FwdzNiTFczMGo3SFZlRTdR
Y0NuSWVTeGtZL3k4dzV0S2xrWXJmWDM3OHE1RWNFSUFBQkNBQWdUMkIraEo2QmZhSkwwMDNRMWh0
CmUwaStmcVRra2tORm8yeE9xRDFIMDljSk5qK2FGUVhtUjdTVzhzNGxtWWR6V1daQWVDckFpN2Zj
cEN4RmRPbGlsbmREQzZyeVhYRC8KZzZIN0s5bE1tUFEvNDUvbjM2OVo4M1dqUFI5Lzk5ZS9lVThv
RUlBQUJDQUFnYzhFeHBmUXZTQmZKOEIxd2I3NjE5eWVTeTFYdjY0Lworc3JwOW1UNXBVQy90RzU1
cTg4T1M5Vy82TDRubGJVdXFZUDdmekVSajVXUGJQMHdXc3Z1cy83UlY4N2VSK3VBNmVXdFc3cU9L
ZTJ3CkRFZlB2ZXZmblgvV1U0cXJzVno5dXY3b0syZHY0MXFnbDdkdWVhdlBEa3ZWditqdVU1VzF6
dmdmSk9uLzE1aDRHaCtERW1jSVFBQUMKRUlEQWp3bU1EY2hjY0VUNVhJUlVIdXZUSDR1WHRMVkZ6
SStxWEg0anNWem1Xc3Uyekt0NnVzRzZwSTdGNzdhOWErL3FkNXhscG92Ywp2cjJNajJxbVB4eHBj
MEEyNGdlbnBmM0w1WG83dC91YkxMai9BVDA3TE5UcUQvZk51LzVhL1k2enpIVDB2M0hPMTRMSkp3
Q1o0UTlHCi9TdDBHZkRMSmVNL1NKbEpRbHZHOTNRcVNNZmlkOSs4NjYvVjd6akxQM3o4ajFaemhn
QUVJQUFCQ055L0EvTHhTNkF4OGVVN3FKNEEKRjREck80YUwrejUvMWdUcWQyVjFxY015SitPNG1O
WFpZWmtCVWFBQzBoeTYzYkxibG5sMUlWc0YxT1dNVnhydWYrS2NYQXJYaTUxQQpQUnowZnlCcTQy
dEZKR3dlYy9MbE9Heng1bXlaOFhFaG1ZY2Rsa3ZDTkN1ZjQ2MVhncWY2bkVKRnBEUCtYN3pOMFhL
K2RoUlBZN2I4CjNjZS9PU0FoQUFFSVFBQUNHd0xqT3lDZVR6WFJyZ3NTMjVRb0o5aVN1bmFzeTZl
TUFyNTJXY2s4ckpSTWY1eHNWc3lUYnR0YTM2NDkKS3VjeVdmOVNnWDN2Mm52elI4SzBWWU5XZith
cEdGZmxtS3kveXZrbWRlbnZqYVEvVGc3UnRYVkw1OHA2NUE5SDJpcmc1bzhZMjVRdgpEeWVMQy9z
a2RjaGxtNjZ0VC8rbXZveXJHSlZmODYwM2xQNDRTZnA0MG0zN2FYdFV6bVdjdjFkbVg3WTdBdGI0
bXo4QzBsWU5XdjJaCnAySlUzNXB2MWwzbDB4K251c3dtUHVtMnJmWFIvNS83UTl6TUxPSHFaSmpO
bC8xV3JoNXZmZnFqYk5vcXgrclB1SXB4Vlk3UjlheTcKeWt2ODNaLy92QzlPRUlBQUJDQUFnWjhS
cU8rQXRFSTFONmJGdXFXTVQzcTN0VlNYSEwxc2o3L29jZEhmUWJiZVB5TFE4N3pUTHptegpGYzhu
eDFuK05KL0xXVDdWMG4zV0xXLzFoY1AzTEo5MTduK1FOVGZMRzc4UjlqaEd5M1VSem1QNTAzd3Va
M2xKWGhmZFo5M3lWbDg0CjNPZnlXYWYvQjB4enM3enhHMkgwZjNGWStUUnpxdVpvdWNiYmJ2bk92
K2JsR2dJUWdBQUVJTEFoVUg4Rnl6T00zNjdMdC9LaXFPeTIKYlRJOXVsMzJYYjdWWDFVNmw1dGx1
YmJuYVlIbWxKbGpiYitkMzdabkxlK0dmU3QvV2wva25mZmE5R2xiMnNQOUI2OWcwaGZvUnA1ZAp0
UENhWTVuK0h5UDRwM3hHcWUvUDdveHZlVWRtTmNtSGRVdWUveUJqcGxKRC8wdVBmM2NrRWdJUWdB
QUVJSEFsTVA0VHVpZDR6MjFlCkwxeGo3MWNxNXpMeXJoUGl1bURJK0RqTitrcjNuMjNkK1dkbDFV
Qk52cktsRE5WNUxiTnRjVkhodDRBc0hxZEwvRWdaNS8yUjVTTnMKbHErMmVFR2NqbXpFeUpYeGNa
cnhwWFAvMy9HaC8ydXcxWUJtL0FlUGV1WTBndnhjV2VhakZ4ZUY2eGFndVA0UnFJd2ZLWlZ1ZTJU
NQppSnIxVlZ0K3ArZC9DNGtBQ0VBQUFoQ0F3SjNBOG45QWFpYjFnajdqUGJ2ZUM5L2MvMWZmWUUw
cHIyYjA5cTNXZFlKZkozRE41UDBmCmt6MHRPRE9IMjdUS1dnQjR4Ykc2czhITHlURXkrNzR0TTdR
SExHV3pUTE54L3dGRGZhQSsxNkhPb3Y4SGg4S2g0U1FzT3F6UElSWUsKNDcvQUNKQkFHWkxVME5O
a1lLc01aejY3QlhoMUsrVjZPRVoyUC9lV0dkc0Qxc0lxMDJ5LzQvUGZiaDhWQWhDQUFBUWc4QzJC
ZjJlZwpKbHhQdXBaUEdleDdGKy9KV0xMcnp0VnRYWC9uZHg1THhibGNscW1GUnE1SzJ1TGpYZnRj
aitYdWZoeG51WXQzMjk2MTk2ZCs1N0ZVCk81d2oyOFQ5ajY0UkIvcC9McjRaLzJkZXo4YmdlcDE1
L2dlTFByNWVkTkFnQUFFSVFBQUNYeFA0NGpjZ1N5NVB3akpidCt5MnJuZS8KN1BQUXdsRXJhaStr
NjlKK0w3WXRaK3cwT1BJbGUxM1dMY2ZicHhIN3JyN0tPK05mYWFmV2ZkWXRGZlNrZDl0TUpJWDdw
LzgxNXQ2Tgp4eG9zYzdnN2Rob3FvSWsrMXF4YmJzZGI1WjN4TGEvVjdyTnVxWmdudmR1Y0p5WGov
eDh4L2k5OXlnVUVJQUFCQ0VCZ1R5QTJJRzB4CmMxc1BMQWJGK25zZSs5ejNpQ1ZkMXAyMjFvYkxX
L3kybDNTc3BBNlpuVE1OeThtK0dSOEYwdWE4aW0vNkdqK1RWd0x1bi81bi9GODMKR2NzajkvRnlm
Yjd5ZWRJajJKN0IvanhPdmZ4K2R1dHg1UGtQZG1iNkJONit5U3M0cHUwTjd6VitKcThFdi9yNjk5
UkdiQkNBQUFRZwo4RnNTaUk5Z3RjbklxcVIrL2hPZjM3ZVVyc055WFAzc3ZPWlhhZHUreWZTZkNw
YnN1c3Q2SVNPWlA4b3YzZldVL2pMWU1USW9Ub2ZqCnVmL0JRaHpjNzVhRDFNL09LMSt6L2paTDcv
T3V1eno5UDBndy90dHpYODk4anIzUzV3TytETUIxZlBMOG4zMysvWndpSVFBQkNFRGcKdHljUWZ3
VXIzdDN5d3UwSng4NzNTKzhJVjkzK3F6R3FxK2V6YnY4cTEvaDVMKzBkdTJtTG0xdnozY28vQU9E
K0g2Q1U2UnQrNzB2dgorMlB0TC9wLzBEU0hHMzgveTR6L0JKWFBycG1FWlIxUE4zNFBnelZ6UE5o
bCtxYjhtNkpwM3JWbjlidmZMVy8xKzE3L3hQNy9kSC80CklBQUJDRUFBQW04SVhMOERzdjdLZlMy
VWs3RW51WEplSm1oTmZIb2JzU2JBcWZ1dHhjVi95K2ZjVmY3bVh4djBFTzlKVzZGWm5UWTEKVmM3
TnNKUzU2OXgvQVRHdzRtYngxQi8wdittRXpBRlhVbVlOTHR0MGJiMzQzbmlHM1RhRlc3OHdsc1BI
UXp6anY3Z0ZvOFFkZlZDNAo1N1Blbi9tdXIvMWp6SlpQL1hIcG02eXdLbGFoMzZEL3pRWUpBUWhB
QUFJUStBR0I4UjJRT1VIWFpIMlpWTmRzbHhuNzZ2VGYxUC8yCi8xcmsvQnlubWRKS3lhY0ZoT2Y0
ckhrWEgvNitJTHVVaVl0YmZzV0huZnRQVXM4bk0zL3cwdisxNWl4R0VtWWlYTmJmUFIvelFhankK
SG91U09qSmZ5V213SStRdFBnb3cvcGZudWRnSzJ5T3ZzUFA4aTg2Ym8vRjdFNEVaQWhDQUFBUWdz
Q05RWDBLdkZVNU92S0Y3QXM0SgpPbEtVdTJic2Jyam05OXhrS1cvWDlibDlMWWo4K1gzbGJmOG00
cGJmWlMyVjdPUC9TYWptelBpb0lQVzZBZDNYWlVFbXZ3S2FYenIzClAwQUtTOE56NjUvQ1BVV3ly
akkyMnFacituK01QOGIvR0IwYVh6ei84K1huOW56NTJiSDhxNy8ralY3bERBRUlRQUFDRU5nU2lP
K0EKdEVPTGN4Mld0d1c3WjBMTEVmNzkyWXY3cW1jdGVLdHZDZkRtNFczN2xGZHRjMzdycmIzZVhD
eXA4OUo1TFcvdGNSN0xweVNmYk56LwpaY08zb3JyeFhnTG8vN0U1ZmpzK0dmODgvMzdOMDdOanZi
MWUvWDk5L1Z1ZVp5NGhBQUVJUU9DM0pmQ3pMNkd2ODlsdVFiajYxd25SCjg2S2x1dUV5UVM0THF2
UjVFYS9ZTEZBeTlOMUhYTmIyclBtVWJqMTZlN2ovMTV1MDR2VEUwN1luUC8wdmFQRlRBOTdqM2xM
TStuaWIKc1NwakgrTi9Na3B1Y1RJL252L0I0dDFIL1B4c1NqNk5wMkc5bnZ0NEZPYzJmT2NiVmRj
U1hFRUFBaENBQUFTMkJPb2pXSE1HandLZQpaZDZVZGFqY25wd3NjM0tLZ0pyZi92Vi84Zm1LblBU
ME9Rc2RjbHcrYzVIV2VmTGtOc3RYTHVlZkt3MDNJZ0xUVndWc3RsVGlpMTRYCm4vSngvd0hOSFRC
NzVxVjg0cWxpWXV2aTlEL2puK2Mvbm9sLytPdmY2OVVCRFFJUWdBQUVJUEFWZ2ZnL0lEcTBZb3dm
TCtZbHZVaTMKVkpqMXQzNEZ4YUZGYWk1VWxWT0d5aTkxcms1RFhmTmx1VGlsTFArMFNXbHQ3UHE3
OWtTSno0ZmFwYVBhbCsycE9ucmJSdEM5dmJJNwpMdlVLZFB1empiSlYvblM3enJod1djbjhLWnZM
WDJ6Y1AvMWZZOVBqS2NmUGgvR2E0KzNUeVdOUnN1WDJlRlRScktOeVdIL3JkNXpLClNWZk9rdGxt
NjVKeHJQbHkzTWNwWmZtblRVcHJZOWZmdFVkMWZEeDAzem9rVys1MytkYjJxcWh0cWVzVWg5dWZP
V1dvL0ZKVFQrVlYKMXZYTmV3My9SWStMcktlMThadjJWalh2aGRxbG85clg2L0I5V1NyTXVxUjEy
VGtnQUFFSVFBQUNQeVJRZjRaWHM1Mk9Qc0hGWlU0eQp0bVhBZGVMeEpHUlpJUytoaVUyNUpYVllk
MzB5TlQxalBwd2NhL2xOZXkvcGR1M3h2Vlo3c3g3Ykt0R3NPNjZ0VzE3cTBzV3V2cGJqClZ2YkI0
SG9zdWYvcWd3LzlkY0c0NncvMzlZZDhrMzNydTI3N1VYMHR4NlhjbXd2WFkwbi8wLzg1Rmo2TTE4
dFErb1BHLzZVT0xpQUEKQVFoQUFBSjdBdkVka05nQWVBK3cvUXgxSkZSc3pYZFRkL20xdmwyK05k
NExLMHZWazM4NXFRSmR0K3Y3YWY1ZC9OWWY3WEFiMUNUcgpiazgxYzRwZHZobFlpdS9ia3Z1bi94
bi83MTl2ZnZwODdlSzMvbmhPL2N6cmtiWCtPei8vOWRLRmdBQUVJQUFCQ1B5RXdMOXpFczFUCnpL
STVrWmIwcEdxcHJOWWxVNCtUNWNWWlRVaGZ4VHJPOGltK2lrMXhLMSs1SEhEemgrRlQvbDI4eTBy
MjJEK3F2c3pyaWx4SmszYjkKV2UzSit1TDBaOVhIL1FlQmhONDZ2YWwyL1ZuOWtmWEY2Yytxai83
LysvZC9HNjZvRUlBQUJDQUFnVzhKMUpmUTM0VnJKZUpmMjMrSwpLWjlESlhYb25Yei81UlZkVzVm
VXNmcUg5WFhleGQvOFVkUnRVQmJyNzlxVE5la2UzeDNjL3d2aUowYmwyL0crOWRjeVB0WXFkdkUz
CmZ5UndHNVRMT3YwL3lENCtiNHovQWVmcHpQUC9lb2llK0dDREFBUWdBQUVJL0hjRXh2OEI4UnBr
L1FoQzVyUXpMdGI1ZUYzZytlTWkKbDMrMEZvWDZBbEE1L1JHam14NEc1NVJQRldiMWVSck9MRnNK
clR1Zll4MStLNitVMHpseTkvcTQvMkxTR0kwT1VHYzg4R28yK2VuLwpNWDRaL3hvTkx4WTgvNE9I
WDNzc1piM294V3crZnFHa2JrT0F6UGkvME92ZnVEUE9FSUFBQkNBQWdSOFJxQytoVnhuUGMxT0c0
bmVaCkZTSTlGNW1lQUpkeXVuVFpybmRiRlVtaHlmUkgrZjBuZkQvOFdjdGVseWZyT2NtcjNRcW85
cXNSbDNnWjRyRHR4KzFyWlM5NWRQRncKL0RnLzl6LzZqdjRmbzBuajJHT2l4cGZIcmk0Wi93RWhH
UEg4MStENGcxNy9LanNDQWhDQUFBUWc4QzJCKzEvQityaEFyOVhObk5DLwpyZVpEWE0vbHhaUGxi
RXNadkZtUjFLR3l0ZzNMdzNrbWUrUHpwQ3kzOWNvdlV5L3V0bHJLLzZ0SHorVzZMTG4vb09zK2tS
cTYrMXpjCnJYZUdzbCtPQ2ZOaUhSZnl0ZnhUcC84bnJJN1BuQzFuMEM4b1BaZnJzbVQ4WDhmblAz
SDgvOExRb1NnRUlBQUJDUHg5Q2NTWDBPZHMKSDNkaFhUSis4ckprNmkxRTk5eHRYWmZ2bTZPWFNU
MU9scGZrbGN3ZmJaSHN1dXZLc25FaDJmWHBMNlB1MmZkdG1URzlrR0prTE5sZApNMThwOGozNUhm
ZE85aktweDhueUtXRy81NjQ3L3kxZmE1ZGlmSy9jLzVXRitWMll0NzRRMTg3VzhkM1dkZnQzc3Bk
SlBVNldUeFgyClB1KzY2N25sQzRkdGlxSC9CeW5HLzNVc0RDb2FJS1ZKeGs5ZWxreTloU2pTTnVr
Y0VJQUFCQ0FBZ1I4UXFPK0FlQ2J4dThGdjNnSGUKSmM0RlRwVDFRdWZwSGVWTERrMXVyak1jMWxN
cVVPMXFmcHNrZGR6aVpVdlBPRm0zbFBXaTYyTFQzaDQvc3I0L2MvOTduaGQ2QWRkOQpLTHQxK3I4
bzFmanNnN2FQeHhzdk1heWlFdFl0dXkxMU9Sai9IMSt2T2pzeCszVDg3cy8vSnpiNElBQUJDRUFB
QW8zQTlVdm9qeXVXCkZqMFhLOW9VMU5FbjZGclB6RFJUNlVFdUdITDNrWUxWMzRxbXFnbmZNYXRQ
MS9aSlBoMC9iUy8zSDR0YVF5dWd2V3Z0bWpZcmxrc24KclAyejl1ZnFYNHBuV3h5eituUnRuK1RU
OGRQMjB2LzBQK05mRDliVDA0UU5BaENBQUFRZzhEV0J6Wi9oWGZMazVCczJ5OFU5OWh1eApxdk42
VS9PVUYza1p1eGc4bWZkOFQvcTBMZVdWMDNWbC91WGtjcGFMT3k4LytkWjR4MXJlL0RKdy83TlBi
dDIxR0pKajJEclBKMzNhCmx2S0ZlKzJHZWUxeWx0UFJsRSsrRnBhcVl5MXZmaG5vZi9xL0JzWnR1
QzZHSEVmL29QRy9QZzljUXdBQ0VJQUFCTjRRR0Y5QzE3eW8KdzV1RlQ0djZFZmw4WHViWERISnVY
V2pDelpoZXdhbzdTY1N2NzJEZnlydHN5Y2Y0eURjWGpNNHRxZnp4bzZKMU9YV25WY3hQampXZgp5
anEzOUZ2NzA2aFRIVzdNcC91SjBIay9idWluK0dqQWpGOGF1Rnh5LzhIV1ROd2xQNUV1SyttajYv
Ui84Zlc0RmFSVk44UndQVDdQCkt1SXlpM3lNajN3ejNybXJVNVpMeHIrWUwxMFNseHdRZ0FBRUlB
Q0Iwd1N1M3dGWjV2TTVHZFY4L1pxZGJGQ0JObU05ZlNaOWJiSHIKa0QwWFpGSGVDNFRiQWtKQjhr
dkdrWEVmNHZYRlhPWHdGM1N0Uzg2ajZXdStXVThGSzFTMldXUTEyRmtGdWY4QmJINkhvemgyWWNh
eQowZjlqdkRMK3h3amgrWDg5RS9sODZCU3ZPWDVtMXRlcmxkZi9sOWUvMFhXY0lRQUJDRUFBQWo4
aE1ENkNOUmZveTRKNmJpNXFCYjR1CkdMTW16NDY2c0c3NVJWTzgrTXJpVmE3YkxpazBHU3VtdFNj
bjZDcTNUc2lQN1cwSjEvaTUyM0Q3VmM5U244dk1OSTZWd2JybERIcXYKOUh1MWJua3J4ZjNULzh0
NFpQelhhMEk4TEg0MkpYWHcvTCtZRENMWDg4cHJ2dGI1OWV1YjE3OXJTcTRnQUFFSVFBQUMzeEM0
L2daRQpKZnJpMS9xVUdmQmFaeS96MDIzKzJyVmdWMzcxUHk3d1BWbEdaZmtPWUVuVnJRblc3d3Jx
ZW0zZ3ZLK1d3N1lNTDd0dGVSa25oNi90Cms5MDJsZDhkanBYVXNaWmYvYk5pTjhDRnNqVDNULytQ
OFNjT09oai9QUDkvOU92ZkdHbWNJUUFCQ0VBQUFqOGlzSHdKZlZueExwZjcKekpzVjlKcHZEVmNG
bDdWMUJYZ0RzTDVqdDVhLzVZK0F0RG5wS3RjN1doSXNsMnYwL1hyVG9EWGZHcTZFYm1McUZjRDlE
OVQwZjR5UApHQlBpa09NalRoNVR1clplN2hFYmRvK2ZPYmo2SUZOQkgwdUM1ZEpSNzJXTjExblBr
bUM1ekREYm5MUTNMZHNkQVc0Ly9mOFg3MzkzCkloSUNFSUFBQkNEd21VRDhCa1FyZ0RxOHVQR0VM
NThYQVJrU3F3Ti96MEhYMXVkbi9oVXZSOHZaZGVkNmwxOTJMekl5VGRYZkYxeloKSmpuajJPWExt
SXlzazl0bDJYMmhyL1Z6L3kvR2lZcituMk5lUEJqL2dsQWNCRVRQYTBtSlBOcXp0bnRlMStmUHJ3
VTgvd09sMmFZTQowNDZuU2prMk03Z3ZMTlA0T3EzOHYzcjlleFZIZ3dBRUlBQUJDSHhMWVB3VnJE
bExhUUdoR2FzbUtPc3BuYkxQYU5ZdEhXT3BQQzJmCnpWTzZuS1hDSC9SdW0yVkw2VDdybG10czNs
ZHZqM1hYeWYzVC94NFRIb3NlRXg1TUhpdTZ0bTdwR0V2R1A4OS9HMDhlRmxONjNGaUcKbzc5Mldi
ZWM1WnJTZmRZdFc5aFExL0hvdHJsK2ozWEZ4WkY1YkJ1bTE1alBBQnVSRUlBQUJDQUFnUjhSaU4r
QXhPVGorZWRmLzRuQwptbndrNDhoM0lFUDNPNUREK2pxdjg5ZmNiTXlFRWR0MUZXM1hxc281N0xK
TjErdGhuK1RUNFZ5dTRoWnZSOG1NajVQTjNIOVFGVFQ2ClA0Y1g0eitlRFo1L1h2L2V2T0RPMTgy
bkYyTnNFSUFBQkNBQWdmY0U2amNnRHZCRVV6SW5tTkRmVGpUaDhNZFFuT0o5Y01SR2ZDN3EKbkZD
NXBidmVKWjlkRGxmY0dwOWxIYkQ0YmJhY2JXekt4ZWQybEV5ZmNyYjRpeG9PN2orSWRFQmR2OEFh
ZlVmL0R3NkpaaG12NHRqSAprMUJxS0U2a0QvR1hnTVh2Y3BaTGQrVGx4YWZLZEpSTW4zSU82LzBj
anQ3ZURIZ2JITEhoby84SGgyUzE5TmZmc2Yvdmd3SUxCQ0FBCkFRaEFZRXZnL2xld3RrVmFnQmNU
a2pyV0JZYk1XbytVV3lFZkQ4ZDZEYlBOWHhQNHUvclh5bmI1MXZqZDlTNGY5MC8vZTB6dnhwTDgK
am1YOEQxcmI1NHZuZjc3bTV2aUpnV05tZytEMWJKK2tqdlgxZWxpL1B6dlA5eVdJaEFBRUlBQUJD
Q1NCNWE5Z0xWUnVDNkx3MjZiUQovRzFFazkzV2RjZDFXOWYvS0wvcTZJZnJzWlN2NnowMmZYSHlK
a0xYMW12K25tVjdqaWY5eVpiNWE2WDVSL2xWUno5Y2o2VjhYZSt4CjZZdVQ3MW5YMXJsLzBYaXg2
d3lmOUNmYm4xRStHOWxPYm9kbGIwTUxtNnFmOVJxbTlIK1FNWlBPN2gxUDJ5MTdtYTcvVVg3VjBR
L1gKWXlsZjEzdHMrdUxrWjE3WDF0Zm5YejRPQ0VBQUFoQ0F3QThJTEIvQldrdkdiTnMvWXVHRmlP
VnRSbHJMcjllZXZaMWduZEYrTmY0UApLTS85QjlUcUwzZWJKZjFmYkx3aVc4ZmZlaTF3SHZQeVdY
OVgvcWZ4djFyZlEzbkdmMENwQWU5eGI3bnR2d2VlczR4OC80VCtYKytSCmF3aEFBQUlRZ01DZXdQ
Z055RnovTEJQaWJmMFRmcjFqNWwrOVcvZTdhRXZ4N1FTYjVhT1IzNWJmMVhlNnZhZnpyZjNCL2Rj
UUVlZzQKZHVPSC9oL1AzcnZuNWZSNFBaMXY5UExyelBqLys0Ly9WMitpUVFBQ0VJQUFCTDRtTVA0
UGlCYzBmcWR2eXNnemZkSXJyNlV1bi9ScApzMks1RlBodlBwUDhsT3JKbGxXVlk5NURiYUJ5cGF1
MnkyOWJiMXRMT01zcVhqRnhXTDdUcDkrSzVWS0EreDk5OEc1REsxenI4WVR5CnlhWnk3anZMMmRm
YTZkaFAvMDlPYzJBM29KT2RlQ1cxbDB5R1pldTY0M1lGR1A5Ly8vSGZ1aDhWQWhDQUFBUWc4QzJC
NWMvd2F1V2cKeFZtdElOWUZndTFUcXBxNTJ0REY5VmpTemRTMS92dlhmeUpBdW1RZUlWT3Q2MnhL
Nkk1M1RFWGZoSXBsbWZKWW4rVXJyOXVjOFhHeQpPUlVYVXE3UXRRRHpBbmtHemdJUjFQV3ExMEt1
bG03cWJnLzNQL2pRL3pWaVlzRGtjS294bFdNbmRJK1hqQ3FmeDFpWGNuMGFiM09zClZvNk1qMU5k
RHFVbFlQd0hrb0REODEranpBUEZzZzgrZEFoQUFBSVFnTUQzQk1aM1FQd3U1N3JneUhrbUZpUy9N
dC8wc3RZdDFjNnUKejVWV3JiaHlnUjY2RjZocis3SndXekE1bCtWamZqa3JmOTUzNk55L1NJMkZW
bDl3SlVmeEdlNy82dHpMV3JkVXdxNjdYeXpwLzlFbgpqUDh4OUhqK3gydlZaVVAwRjMvOSs2OWVO
Q2dFQVFoQUFBTC9kQUxYdjRMbGhiamxUKy9lYzZGa0hvdkJpOXR2ODY4TGpyWDg2bmU5CmxtdjhY
TzIyVlc5dmkzVkwzOGEzY3JuZHNkRlJYZFdnVzNzMmlkZjdXOHV2ZnQrMzVSclAvUmR3K24rT3ZE
N1dyVnZPb0M4Vnh2L1kKVVB2NXkrZitOM3Irdnh3bWhFRUFBaENBQUFUcS80QVVpSFVCNGJuVDY3
WFZ2L0p6bk9WdXdidVdYNis5RUpwU0FaRzg1MDk5R3RZTQo0eDNEdTNWWVZNejNKSXQxU1IwNy80
aDZuZDBNeTluUWFmamNubGVtb2MzN3J2SXA0alRUV1orR05jUG4rbFRNOTZ5UzFybi93WEhIClow
Uzl6dTRHeTlsUjAvQzVQMTZacXY0cU44ZUJ6R0diNmF4UHc1cmhjMzBxNWo1WFNldjAvK0M0NHpP
aVhtZDNnK1hzcUduNDNCK3YKVEZWL2xmdTc5UC9hZnE0aEFBRUlRQUFDYndqVVg4R3FGWWZtT3k5
Q1ZNRDZYSkJFZ045MWYweDRLOUNTUENUY2hlY0U3cUFxbjVOeApOY2k2SjJpM1RWTEhlaityWVJm
dnFpdmQvRHk0Nnh1MXRQT3RRUGhzVTVqMVNyaGNyczI3MzBBVThEMHJuWFczWjNjL2F3VzcrRnY3
CjZIL0d2OGVnQnVCNjNBWk1CTmltV091Uzk4dDFlREwrMXhldzRPWm5YdnlzLzJXZWZ6V0tBd0lR
Z0FBRUlMQW5NSDRETWo5akhnWCsKRXorMVBwai9BeVQvRjRDU2FRSXNLYkVlbWdpOXFKMitMREN1
bE5kenFpeDJUVm5PdHhOcStIdCs2NUk2bnI0ellOdUl1SjdUVitYawpVUnJ1ZjNBUUQvOFBDUHBm
Tk9KZy9QUDgxempJOGJDY2Z2Zlh2d1VIbHhDQUFBUWdBSUYzQk1hWDBPMmRHNEczQmp1ZTVib2hX
Q2ZrCngvemVsVlJLYno1MGFkMnkyN28rL1ZvZzFpWm0rbTJUUVljYk1hNHVsM1paVHVjMFZLRTNn
dnNmL0wwaFZGK1lpWkFabzJVYTZQOFgKR0RHYWNGNzZreTE1VnV6MGU2eUxhUnhwdDIyWUxuVmxq
TzJLTDkzeWJtakJENnI3bXY0ZmNNVGZUR1F4Vjh0LzJ2aC9HQktZSUFBQgpDRUFBQWs4RS9uMHhl
aUVqMlhVSGVlS1U3UHIwbC9GdCtWLzB1NTUzc3JlNTYrL2lWM3N2MDNYSDlYdnUrdlQvNHYzMU9y
dnUvRHZaCnkzUjlWODcrWHFicjAxK0ticFA3SHpETVFWZWRXZGRINUsvN25lZWQ3SFYyL1YzOGF1
OWx1dTQ0M3l2OXovajNXUERZUUVJQUFoQ0EKQUFSK1FPRDZHNUQxSXlhNUNGbmVRZTBUeiswak9u
THEzVmNIV1pmVUVYYVh5Y3Z5ejQvNGpCQzU4bkFheTh6cm5JcXc3dnhobXJGTgo3ellWZTN0RW5v
eXRmTngva0JLVEJyQ3BzeTluLzhrcGRnNnlYanhscC85ZmZNeGk4bnU1UW50aE5NN2thcVlLc0c2
K3JZemNMbWNwCjI4Y2o4bVJzNVdQOEJ5MHhhUUNiT3NmeTdEODV4YzVCMW91bjdPNXo5WVAxV2I0
VlRiOU9jVGhkS3M0cGgzWG43N0ZObitWVjV0TVIKZVRLMjhuM1YvNS95NFlNQUJDQUFBUWc4RS9q
ZmYvMG52dlJnSUwzb0FBQVlta2xFUVZUZ2oweXNNWnFNL2lkT25zQnU4NTBkbGtydwpwRC9aRkJy
MnpGbCs2elgvdlhLVlgrTFNuakRZcHFwM1I5WVh5YjJnOE1janVQOW5jbVlycVNQN3AyUWE3TENV
OFVsL3NpazA3TzV6CkZiVXVtWWZMbFpTZy8xK0l6VUx5bTRQeEgrTW5CaGZQL3hndFp2SExyMy9m
REQ1aUlBQUJDRUFBQWk4QzhTWDB1ZHFyQldHYm9PWEwKeWJyRnZNcU9oWkJjNzlZLzlybjRiZ0dV
Qzh5ZWJ6R3NFK2JpN2swYitob1FEYm5kanh1bmVpUGVkV1NDcC9oV3k1cSt1Vng4YkpESwpzZVoz
WFY0QTNQSXRobTM4Mm9DbC9HTi9jditUMnRvL2o3eG1OT04vSFY0TlRhb2FXbzZSWWVXN0hjOHVM
Qm5ITm42RXZjNUwrY2YrClpQeFBYbXYvUFBLYTBhTnYyeVVxQkNBQUFRaEE0RnNDMTM5RXVFNDR0
d2twMHRaYUlDdXdibmxiY0pSaGZzUWdyak8ySm4zL2hTcEoKSFRMM3YwS1ZCdm5leFlmZE9WUity
bmJlTkdoM1A5eC9JR3k4ZDd5TTJWTGQxSXJmUDJJU0FSbjdyaitqUFAwL2gvdFFHbENQOWZtOApN
UDU1L21OOCtBMk0rZkRsUXhZUDAvSkE3cDduLy9iMUwycmlnQUFFSUFBQkNQeUV3UFVmRVQ2VjlG
d21uM1hMMnp1UzRiQXRjem5RCjhxR0NYUENXM1dHV3R3clZodW04dCtlVzNyR1dQeTJ2K0piVXVx
WHYxUXVBMndUdlFNdVd5K3JIKzNFNVM3V242NVdrbVp4MlNEc3MKZjFwZThTMmpkVXZ1Zi9RSC9W
L0RMUWFHeDBSYVBGQXMyMWl5K25FOHU1eGxGUG9ZNzZTV0xtZjUwL0tLZDY2bTIrWjcvWjM3ditG
QgpoUUFFSUFBQkNIeExZR3hBWnJSbjFwSVMvcHo1ak9sS0JHUm94Y3ZWRndnOU5IMXg4cHR5dXJZ
dStYUmsvZUdZNlJkRGxnL2JwZndNCkh1VmNoL0pidjhUM2lsMjJwQVQzMy9oM1Z0SURVS0lxWG1s
cStrUDQ3QVA1ZHYyaFZJN0pYSXNoZldHNzlHZXJmd21mdVM3eG1iaE8KTGxzeXk4Zko1aDdxOXFT
dkJURCtiNVNtUVpoNmYxcC8xeDlyZkhhRUN6bFhCRjNLOTc1d1RMWEFSUy94NVV2aHNpVWxlUDQv
ai8rTwpEeDBDRUlBQUJDRHdKWUg2Q05hN0dUbG1ZUCtsbGt5NHpPQzUyQXJiWEhRdC9xZEdlSTZY
YjFkKzlXZjZTQ0NwdzdrczF3V0tBcDBqCjR4Vm9td3lac0tTdTF5UGl1ZitBWXNBTEw3Tk5LWGFM
ZjhXcGE2ZEtmZE1mYS81TUgyVWtzL3dpNmY4QTRqNFFtOUROVUpmV3YrNnYKWU0zNEZ6alJpOE5z
YXdEK21HZWtjQ3FsMjVWZi9WbjlYMjM4NjBZNElBQUJDRUFBQWo4alVIK0d0OCtLYTRMdXMxNXkr
eEdFSmRjeQpmNC8xWXVSeTJxbE1RMDNTbGNkbXl6WCtxL2JNd3BIVXV1WFMzcnpzUHVzbHY2cXY1
ZVQrQi9KYXZ5WCt5enZNQzEraG00dGw2Y1hTCmNqVjgxUit6OEZQQ3FxQ0xEL0ZmMWRkeTBmLzB2
NGJUUDJuOHQrR05DZ0VJUUFBQ0VQaVd3TC9uR3U2cGhOZGVrbDEzclA2RXJ3NUoKL1NqRzhqRStv
OGNYamF0b2Z1bTR6RGZSYzNUZGdkMG1YWXZWS2N2NWJnRmI3bmxmenRsbGorbTZZN2ovUVlMK2Y0
MTd4bjg5Zy9XUQorTG5SWlgvbXUxNmhOK0d5a2wxM1lMZGxUSnltTENmUHYybGRHUmFleWZVVjlk
SjZUTmNkNGRjL1h5TWhBQUVJUUFBQ1h4S29MNkY3CmRsbmVvbDB1YzdLeVRSWGtPOEFsZGEzSjN1
OEs1M1VGejcrQ0ZmNlBIK2xRTHVWUllSMmIrQkgwT3VkaUl4TE1SWWVUU2RZeGM4ZjEKTG40dHJy
SzJLUjMzUC9wS0hIVFEvNHgvbnYvWDY0OWY2LzdKcjMvanllY01BUWhBQUFJUStCR0IySUI0VmEx
eTFtdVZYbUp1Q05acgpyY2E5aU05cWRTM2x6WUpVNWx5a1puQ1ZMWnRNdC96ZFdIckdWT0EzOFNy
bXhGbC9YRmJ6aHFJa05saC9rLzlXWDVUai9ocy84WWhMCjgxdzNKTUpNLzA4OFkrd1VFMkc3amE5
dUxEMWpLdkNiZUJWejR1UWZsNUo1ckFZbHRDM1VOZjk2clZqR2Z6RVRVUEVvS2ZFN2pIL2QKSndj
RUlBQUJDRURnaHdRZXZnUGlWY2FiVE4yZGk0K0lzM3dxMG4wdWEva1kvMlFzbTh0Wnl0ejFEMFhU
NVZqTFdYZ2E5Z2t2b1hYUgo3M0Z0US9lNXJPVWFxK3R2ZkQybTYwLzV1czJ4bHJPeWFkZzBZSEg3
M2l4N1hkYTd6OVZZT3FiTGIzdzlwdXM5ejVQdVdFdnV2eWhOCklISGQ5UWVJM2UyK3RYd0l2N3cy
dUt6bFkveVRzV3d1WnlsejF6OFVUWmRqTFdmaGFkZ252SVRXeGU5Ky96dnUrQ0VBQVFoQUFBSUwK
Z2ZnT1NKOVJGNjk5a3ZrVC9pbTdYbjRWZDVuVWRZcERWYmdheTdUWGhmTjNXK282eGZHMi9IQlAv
MnhiRkhBN0xEUFBwcjVLTjRYTApabDdsREUvcWtsMlhUNGF5RFczRXBFMzJNbHFtdlpYNXI4cTNu
RW8xMnhZWGovazI5Vlc2S1hxT1MyN1Y5VTE5bFNsam0xN3FwWTI5CnJ1bHZaYXJwazZOYzNmWlZl
NnBBM2t2VFhkOHFlNXU0LzZYUHhUOFlUdTRQUE1zMFlncXViYnBjK1haYjZqckZrWFVNZGZhNTda
WVoKRTZjcHBjVGhPcnFlN1g3d1o0RjJjbG5Iejl6S3E1ODRUU21sYkVNYnZyVEpYa2JMdExjeXZh
NEt2WlJ4T2NzczMzTEt2bTNQcGo3WAphOW5iZE1tdHVxbyt4eUloQUFFSVFBQUNQeUFRSDhIeXh5
aFV5aCsva05TeGZLUWdaeDNIaEZ1VDBQcFhqSEtPcTRsT0tabzY5V2xUCmZsMVVmZFk5OGMyMmZl
bFhmZjNJL3h3ZGhuZi9PZnFwdm5tUFNxVDJsWlNZdnJxQmJIcWM2aktWMUtlaCthcTQwMGorOVA2
ZTJtdGIKNWx0TzNQOFlXdlQvR0JqNmZrYU9pUS9QMHh6aktzTDQ1L212Y1pBalNLOXJHanYxK3Ra
ZTV0TE5DUUlRZ0FBRUlQQWxnZm8vSUk3MgpqR0pwZThtY2U4Slg2NWZGTytjbHowL3pDK252dnFR
OEE2cytmNEgxYmJ4cWJHM3o1a2ZTTHR0MC9kTjhNM2VySXhQWGlmc1AvTUdHCi91K2o0cVY3MkZo
dXg1OERTMjdqVlpYTGhPcXh6dmdmZlNBMFppTExUM2xPdG8zeHlEek9QUCtmbi8vT0NoMENFSUFB
QkNEd2djRC8KL0Y4Y0gveTRJQUFCQ0VBQUFoQ0FBQVFnQUFFSUhDUHc3Mk9aU0FRQkNFQUFBaENB
QUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFF
SUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FB
QVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlR
QUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFB
aENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFn
QUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFC
Q0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FB
RUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNF
QUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NR
SVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJ
SUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlpr
Z0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBr
bUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFp
U0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1X
ClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tP
SlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNj
WTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFln
NTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55
RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdB
M0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUy
SUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNB
VFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0
QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpo
RmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdY
TUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFP
QWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhB
NFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FB
RXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNB
QWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFF
SVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFB
QWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlR
Z0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFB
QkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFn
QUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJD
RUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFB
QUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNF
SUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpB
QVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlB
QUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFR
aEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFB
QUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhD
QQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FB
RUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNB
QUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFF
SVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFB
QWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lR
Z0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlB
QkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdo
QUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVD
RUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VH
d0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0
WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJR
TGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJo
QnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNn
R0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdH
d0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5p
QWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0Ez
SUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdB
RHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdU
WWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1Ew
Qk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JE
Z0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZ
RUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFF
TmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEK
Z1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlR
R0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFB
aERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFn
QUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJD
QUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFRZ0FB
RUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFBQkNF
QUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFoQUFB
SVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFDRUlB
QUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENBQUFR
Z0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFFSUFB
QkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FBQVFo
QUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlRQUFD
RUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFBaENB
QUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFnQUFF
SUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFCQ0FB
QVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FBRUlR
QUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNFQUFB
aENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NRSVFn
QUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJSUFC
Q0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlprZ0FB
RUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBrbUNF
QUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFpU0NR
SVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1XClpJ
SUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tPSlpr
Z0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNjWTBr
bUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFlnNTFp
U0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55RG1X
ClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdBM0tP
SlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUySUNj
WTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNBVFln
NTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0QU55
RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpoRmdB
M0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EwQk5pQWJRTGdoQUFFSVFBQUNFSUFBQkNBQWdYTUUy
SUNjWTBrbUNFQUFBaENBQUFRZ0FBRUlRR0JEZ0EzSUJoQnVDRUFBQWhDQQpBQVFnQUFFSVFPQWNB
VFlnNTFpU0NRSVFnQUFFSUFBQkNFQUFBaERZRUdBRHNnR0VHd0lRZ0FBRUlBQUJDRUFBQWhBNFI0
QU55RG1XClpJSUFCQ0FBQVFoQUFBSVFnQUFFTmdUWWdHd0E0WVlBQkNBQUFRaEFBQUlRZ0FBRXpo
RmdBM0tPSlprZ0FBRUlRQUFDRUlBQUJDQUEKZ1EyQi93ZXlRRHRISk9iMmhRQUFBQUJKUlU1RXJr
SmdnZz09CgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ3JhZGll
bnQtc3Ryb2tlLXdpZHRoLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBm
aWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgpp
VkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQURPMmxEUTFCSlEw
TWdVSEp2Wm1sc1pRQUFlQUdGCmxFdG8xRkFVaHYrTUtZSzBncWkxRnBUZ1FvdTBKVDdRaWxEYmFi
WFdrWEVZKzlBaXlEUnpaeHBOTXpHWkdSK0lTRUhjK1ZxS0d4K0kKaXlyaVFycFFjS1VMa1VMcmEx
RUVjYVVpaUVJM1VzYi9KdTFNS2xZdkpQbHl6bi9QNjRZQVZROVRqbU5GTkdEWXpydkpycWgyNlBD
QQp0bmdDVmFoQk5iaFNodWUwSnhMN2ZhWldQdWV2NmJkUXBHV3lTY2FLOVIyWStMUnQ5ZjFMajJM
djY1NzIrcDc1K25sdk5TNFRBb3BHCjY0cHN3RnNsRHdhOFYvTEp2Sk9uNW9oa1l5aVZKanZrUnJj
bjJVRytRVjZhRGZGZ2lOUENNNENxTm1weWh1TXlUbVFGdWFWb1pHWE0KVWJKdXAwMmJQQ1h0YWM4
WXBvYjlSbjdJV2RER2xZOEJyV3VBUlM4cnRnRVBHTDBMckZwZnNUWFVBU3Y3Z2JFdEZkdlBwRDhm
cFhiYwp5MnpaN0lkVHFxT3M2VU9wOUhNOXNQZ2FNSE8xVlBwMXExU2F1YzBjck9PWlpSVGNvcTls
WWNvcklLZzMyTTM0eVRsYWlJT2VmRlVMCmNKTno3RjhDeEM0QTF6OENHeDRBeXg4RGlScWdad2Np
NTlsdWNPWEZLYzRGNk1nNXAxMHpPNVRYTnV2NmRxMmRSeXUwYnR0b2J0UlMKbHFYNUxrOXpoU2Zj
b2tnM1k5Z3FjTTcrV3NaN3RiQjdEL0xKL2lMbmhMZDdscFdSZEtxVHMwUXoyL3FTRnAyN3lZM2tl
eGx6VHplNQpnZGRVeHQzVEc3Q3kwY3gzOXdRYzZiT3RPTTlGYWlKMTltRDhBSm54RmRYSlIrVThK
STk0eFlNeXBtOC9sdHFYSU5mVG5qeWVpMGxOCkxmZTJuUm5xNFJsSlZxd3pReDN4V1g3dEZwSXk3
enBxN2ppVy84Mnp0c2h6SElZRkFSTTI3elkwSk5HRktKcmd3RVVPR1hwTUtreGEKcFYvUWFzTEQ4
YjhxTFNUS3V5d3F1dkNaZXo3N2UwNmd3TjB5ZmgraWNZdzBsaU5vK2p2OW0vNUd2Nm5mMGI5ZXFT
ODBWRHdqN2xIVApHTC84blhGbFpsbU5qQnZVS09QTG1vTDRCcXR0cDlkQ2x0WmhYa0ZQWGxuZkZL
NHVZMStwTDNzMG1VTmNqRStIdWhTaFRFMFlaRHpaCnRleStTTGI0SnZ4OGM5a1dtaDYxTDg0K3Fh
dmtlcU9PSFptc2ZuRTJYQTFyLzdPcllOS3lxL0RralpBdVBHdWhybFUzcWQxcWk3b0QKbXJwTGJW
TmIxVTYrN1ZUM2wzZjBjbFltVHJKdWw5V24ySU9OMC9SV1Ryb3lXd1QvRm40eC9DOTFDVnU0cHFI
SmYyakN6V1ZNUy9pTwo0UFlmZDBqNUwvd05BWVVWRFh4TE96c0FBQ0FBU1VSQlZIZ0I3TDFac0dm
SFZlNlo1OVJjcFpLcU5KUktveWxydEN3UHNpWGI4b0NiCk5yWUpqREh1b0NNNkhBR1l5eEJCRUIz
d2NvRUkvSEFmK2dXQ0Y2SUQ2TGh3QXh3WERFMFFHR091YmRHbUFlTzJzQzNMc2tacnhocEsKWlUx
VlVzM1RPZjE5WDJidTg2K3laTHkzekpGTzFTK2xmZmJlbVd0bDV2NmRlbGpmV1psN3o5MXl5eTJM
aFFJQkNFQUFBaENBQUFRZwpBQUVJUUdBWkNNd3Z3eGdNQVFFSVFBQUNFSUFBQkNBQUFRaEFJQVFR
SVB4RGdBQUVJQUFCQ0VBQUFoQ0FBQVNXalFBQ1pObFFNeEFFCklBQUJDRUFBQWhDQUFBUWdnQURo
M3dBRUlBQUJDRUFBQWhDQUFBUWdzR3dFRUNETGhwcUJJQUFCQ0VBQUFoQ0FBQVFnQUFFRUNQOEcK
SUFBQkNFQUFBaENBQUFRZ0FJRmxJNEFBV1RiVURBUUJDRUFBQWhDQUFBUWdBQUVJSUVENE53QUJD
RUFBQWhDQUFBUWdBQUVJTEJzQgpCTWl5b1dZZ0NFQUFBaENBQUFRZ0FBRUlRQUFCd3I4QkNFQUFB
aENBQUFRZ0FBRUlRR0RaQ0NCQWxnMDFBMEVBQWhDQUFBUWdBQUVJClFBQUNDQkQrRFVBQUFoQ0FB
QVFnQUFFSVFBQUN5MFlBQWJKc3FCa0lBaENBQUFRZ0FBRUlRQUFDRUVDQThHOEFBaENBQUFRZ0FB
RUkKUUFBQ0VGZzJBZ2lRWlVQTlFCQ0FBQVFnQUFFSVFBQUNFSUFBQW9SL0F4Q0FBQVFnQUFFSVFB
QUNFSURBc2hGQWdDd2JhZ2FDQUFRZwpBQUVJUUFBQ0VJQUFCQkFnL0J1QUFBUWdBQUVJUUFBQ0VJ
QUFCSmFOQUFKazJWQXpFQVFnQUFFSVFBQUNFSUFBQkNDQUFPSGZBQVFnCkFBRUlRQUFDRUlBQUJD
Q3diQVFRSU11R21vRWdBQUVJUUFBQ0VJQUFCQ0FBQVFRSS93WWdBQUVJUUFBQ0VJQUFCQ0FBZ1dV
amdBQloKTnRRTUJBRUlRQUFDRUlBQUJDQUFBUWdnUVBnM0FBRUlRQUFDRUlBQUJDQUFBUWdzR3dF
RXlMS2haaUFJUUFBQ0VJQUFCQ0FBQVFoQQpBQUhDdndFSVFBQUNFSUFBQkNBQUFRaEFZTmtJSUVD
V0RUVURRUUFDRUlBQUJDQUFBUWhBQUFJSUVQNE5RQUFDRUlBQUJDQUFBUWhBCkFBTExSZ0FCc215
b0dRZ0NFSUFBQkNBQUFRaEFBQUlRUUlEd2J3QUNFSUFBQkNBQUFRaEFBQUlRV0RZQ0NKQmxRODFB
RUlBQUJDQUEKQVFoQUFBSVFnTURxbFlEZytQSGo1WWtubmlpN2R1MHF6ejc3YkRsOCtIQlpYRndz
YTlhc0tSczJiQ2liTjIvT2NmYlpaeGNmOC9QbwpxcFh3ZTJXT0VJQUFCQ0FBQVFoQUFBS25INEZY
dEFBNWRPaFF1ZTIyMjhxOTk5NWJMRUxXcmwxYlZxK3VVN2I0Y0xFUU9YcjBhTm03CmQyL1p1WE5u
MmkrNjZLSnk4Y1VYUjZDY2ZyOVNuaGdDRUlBQUJDQUFBUWhBQUFLdlhBS3ZXQUZ5OTkxM2x5OTg0
UXZGSXNSaW93c08KbzdRSXNlaXcrUERSaTIyT0hUdFd2dld0YjVYSEgzKzhYSDc1NVdYNzl1Mjlt
VE1FSUFBQkNFQUFBaENBQUFRZzhESVRlTVVKRUdjNgpQdnZaejVZNzdyZ2pvcU9MRFhPeTJKaWJt
d3N5MTF0czlIdFgrcnBuU056MnpXOStzenozM0hQbGlpdXVZRmxXcVBFREFoQ0FBQVFnCkFBRUlR
QUFDTHkrQlY1UUFzZmo0eENjK1VlNjc3NzZJajU3ZDZDS2tDeENmZlRqajRVekliT24xdmM1N1Iy
eHp6VFhYSUVJNkZNNFEKZ0FBRUlBQUJDRUFBQWhCNG1RaThvZ1RJSnovNXlYTFhYWGVkZ01KWmpZ
Z0taVHlPN0gyK0xFcWtIRjlZS0l2YWFMNndhbFZadlhaZApPYjV1YlZsMzVwbGw4Y3l6QnQvWkpW
dFBQLzEwdWYvKys4dFZWMTAxdEhNQkFRaEFBQUlRZ0FBRUlBQUJDQ3cvZ1ZlTUFQbnFWNzlhCi91
VmYvdVU3bGwwWnllTGhRMlZSZTBGV1MzdzQzN0VvNFpGNm5SZlhIeTJyRDYwcWg1OS92aXhzMmwz
S3RtMmxuTFVsN2JNaXhKbVEKTFZ1MmxQUFBQejl0L0lBQUJDQUFBUWhBQUFJUWdBQUVscC9BSzBL
QTdOKy9QMHV2dkZTcTcra1lsbDJwYmVHWU5weUx6YUsyZjZ5ZQpYMVdPSFRsY3RKNnF6SzNTOUww
UFpOMjZzbHBpNU9qK2ZXVnUxMExSenZWU3p0OSt3cDRRbzNVV3hLL3BuUlVteTQrY0VTRUFBUWhB
CkFBSVFnQUFFSUhENkVuaEZDSkNiYnJxcDdObXpaOWhBN2lWWExxdVBIQ2xIRCt5WDhKRHljTlpE
cHptMVJXeklaRzdWY1dWRDlNMFAKaVpCaUVTS2ZJMGUxVEV0K0xuUGJMeGoyaXZqZUc5TWZlK3l4
c21QSER0OVNJQUFCQ0VBQUFoQ0FBQVFnQUlGbEp2Q3lDeENMZ3IvLworNytQVVBCMUw0dEhqNVFG
Q1lrMTJ1OXhURXV2OHZJclpUOXFPVkxXU3BBYzkzb3NaMEwwZlJEbFI2UXd0QnhyM2ZweVZCbVF4
ZDFhCmpyVitmVms4YVRtV1g4LzdxbGU5aWczcGpTUW5DRUFBQWhDQUFBUWdBQUVJTENlQmwxMkEz
SHJycldXM3hJS1hSUTJ2MWhXQjdQdlEKT2EvV2xRZzVHaEZ5dEZ4OS9yWnk0d1hubHd2T09DTnR1
L2J0TDk5NCt0bnl1UGFBcUpPd1c3MzZqSExzNE1FeTkrU1RaVzdqcG9Hbgp4N0RJOGRmVXp6MzMz
S0dlQ3doQUFBSVFnQUFFSUFBQkNFQmdlUWk4SWdTSVJjSHMzbzhqRWcrcmxRR1pVM1lqbTg2Vi9s
Z3JFZktlClYvOUFlZmNQWEZybWxCbVpQM1F3aEM1WnY2NWN0T05WNWRZbmRwVmJ2djJrMW0xSmhC
dytuT1ZZUjdWL1pQNjVQY09tZER0WWhDQkEKbHVjZkY2TkFBQUlRZ0FBRUlBQUJDRURnWkFJdnV3
QzU1NTU3aHErYTk4bXRQbjRzeTY2S1g3ZnIvU0FTSU5kdTN4YnhzV3JmdnBqTgplU082eXJ5YTV5
VkkzblRCOXZMdHcwZktvNjFkNlpSa1ZJNDRNNklzU0JjNDl0bTdkNjlQRkFoQUFBSVFnQUFFSUFB
QkNFQmdtUW04CjdBS2tmeWh3OXJtOWlYeTFSTWRSN2VtdytKQUtLZSs4OElKa1BteTN5bSs3YWc2
TGVuUFdjUzNIV3FXTXlldlAyVkllM3Yyc05xYnIKc1pRRldaUUlXYXUrK3Q2U3ZybDl1UVhJZ29U
VTh4SkMvaXE3eno0T2FaL0tRV1Y2RG11ZWJ2ZEhHSDJlVjlabmxmYTMrT3hzellZTgpHN1NWWlgz
T1orZzVOMi9lWE03VU4wODJiZHJFUHBiWmZ6UmNRd0FDRUlBQUJDQUFBUWlzQ0FJdnV3RHgyNjhj
Y1BzVnZCWUl6bFFzCktnTmlnYkY2VGt1d3ZQZEQxNi9hY2xhWjk3Nk9sdmxZcGJkanVSeDNka05C
dk1zMlhSODlycXpKZ256c3Avb2pDdUxYcTIxMm1aY0QKLy8vSWNrU2laK2ZPbmVYYjMvNTJlZXFw
cDNKMGNUR2JpYkhJOFAxc25SbDBEdTdud0lFRGc0M3RlL0YrR2I5UzJNYzU1NXlUUFMwVwpMQlFJ
UUFBQ0VJQUFCQ0FBQVFpOGtnbTg3QUxFd3NQQmVkOGdibGdMRWc5KzllN2kvRUl5SWNmVTdwVllO
ZTFoT2VLYldvYXJYT2lICkRDMWFMR0xLOGRYNmhzaXhzdHFIQW5hUDVUSWI4TmRlWHZwUFp6Y2Vm
dmpoOHNnamo1UmR1M1pGUkhTQjBYcy9XWVQ0M25PWnRiUDQKT05uT2RTNjkzdGNXVkJZMy9zcDdG
eWJlV0w5OSsvWnl3UVVYSkVOaU93b0VJQUFCQ0VBQUFoQ0FBQVJlU1FSZWRnSGlKVWIrSzc5TApm
d3VXUmNUY3ZESUR4M1g0clB1SGxTbTU1c3pObFoyV1d6bnprYUsyeGJYcnlvSmV4YnR6Ny81aXNl
S1g5ZnFzMkQ1U3haa0VseTVDCjF1YTF2YWw2U1QrOGpPcUJCeDRvOTk1N2IwUkhGeE85MDFtQjRi
b1hFeGZmemM1Kzd2ZUZSSWpyM05iOUxVWjgzSFhYWGNtS1hIengKeGVYQ0N5OHMzNi9uOVZ3b0VJ
QUFCQ0FBQVFoQUFBSVFlQ2tFWG5ZQnNtM2J0bnlodkQ5RVJJZ3pHUHFnK2FLWEhPbno1ODZHL1Ay
LwpQVkt1ZXZOMStUamg4VTE2Qlc5YmRyVzRybjREWkdITjJ2S3Z1LzZ0Nk4xWlpZMldZYTFhdTBv
ZkpmVGJ0ZWFIUFNBZXcvMnYwMGNMClgwcHhrUCtOYjN3andzTjdOeXdDZkxqTVppbTZhT2puTGlT
NlRmZnA3ZjNjN1U2K2QvOXU2LzZ6NDltMis3bmViL3J5NjQzdnZ2dnUKWWlHeVk4ZU83Qjl4R3dV
Q0VJQUFCQ0FBQVFoQUFBSXZGNEdYWFlCY2ZmWFZDWkpuQWF6eFJ3YjlhbDZ2UEZJR1JHdU15bGNm
ZmF4OAo5cXd6eTQ5ZWNWbkVSOThONGN5SHhjY1h2dld0Y3BlKysrRVBFYm9zU2hpc2tkZzRvaSts
ejdXbFYyblFEKytibUZLOFlmN21tMi9PCk1xc3VIdnJ5cDFteDBETVNYUkRrWGdKQk84MXpMR3B6
ZlVTRW44K1pHdWRwMUM3TnBjZlY4MXJRNkprWEpKN214R0podFRhbDYxa1cKL1lwaDdmUHdoeGRq
Mi9hRTlQSFM1MGwxbnBlWGhmazQ3N3p6eXBWWFhsbTJidDA2NWZIeGdRQUVJQUFCQ0VBQUFoQ0F3
RXNtOExJTAprQnR2dkxIODFWLzkxYkEvdzAva29IbXRnbkF2bzFKSWJqV2hMTWg4K2NTZGQ1Y0g5
anhmM3Fkdmdlell1aVVQLzhqeno1VXZQdlpFCnVlL3BaL1QySzlscUE3b2MwdWJnZmUzNkRVUGZQ
VXZnZlJKaml2ZDBmT2xMWDhvZWo3NWZ3MzM1dWdmL3ZuYmRVRHdQTC8zeUhoY2QKMlJSdllTR0RM
bDc4ZEM2K2o3K3VVK2Y3TENHVHRjV0s5dGc3QzJRdGR0eWl4UDFZak9qdFdNVVpJSW11K2JZQnZj
K2hpNTkrOWpoOQp6NGl6VGhZaVo1MTFscXNwRUlBQUJDQUFBUWhBQUFJUVdEWUNMN3NBZWZ2YjM1
NUEySnU0K3laeFAvMVJpUWRQN3BpekJncnU1L3pCCkQ0WHZYOVhicGI2dXc4V1prdFVXR2NvT3JG
SUF2bVplYjlOeU1rRkxzR3lid0Z6K2ZlK0hnM08vMHRhYnRMK1g0cjBwWC9qQ0Y4cWQKZDk0WmN3
ZnpYWERNWHJ2UjljNXd6QjArVklXSHJ6V2U3U0lDcXBIVmh0TWNtbDN5SHA1bHJoYVAyM2FRVHNw
K1ZGRVNnOWhZNE5oZApHL0p0ZDBSbjdZV1ozNmVleE9lNEdNeHYzRmpLR1p2THZESWtmdGJaT2M0
S0pMK2Q2MGxsaXk2OTlOSUlrWmU2Sk0yUFJvRUFCQ0FBCkFRaEFBQUlRZ01EM1FtRFZMLzdpTC82
WDc4WHdQOHJHcitCMW9QLzFyMzg5UWZQc1gvQWRrYS9TY2R6QnZZSnNGd2ZzaXJqTEtnWGMKem5X
a1hqWU93bFdwLzdWa3lmY2JOdGFBM0RZcUhzY2k0YnJycml1WFhISkpyWHlSbjU2RDUvUEpUMzZ5
UFA3NDR3bmtIY3k3OUVDKwpDd3VyZ2tXOTFuZGhyejU0cUMrdkordmg3SVVGZ0IxMGR2RjlMeEVI
dmM3MU0yMVpkcVlNamlSWDZoY1gzRS9kaE80ZTNHZWRpWHV6CmI2dlRtSXNTUHd1YXcrSkJiZXBY
bnhFaU5wc3AvVGxjNWUraFBQYllZeEZvem9iTXRzMjRjQWtCQ0VBQUFoQ0FBQVFnQUlIdkc0RzUK
VzI2NXhYSHR5MW9jQ0gvNHd4OHUvaWFJaTROOHY1Ylhod1hJV2krdDBpeFh1OTVaRDJVUWZQWWVE
eGRuT0pJRjBiS2tOVnFTdE1iZgpCbEUyb1BmUnovNlEzMGMvK3RGa1FlTDRBaitjaWZtN3YvdTc4
dWlqajZhMUIrVStlMTR1cVhObTVwQytTK0xOOEJZY1RhQllITVJPCkFxQlYxYjBzdmQ3K3Z1NzJN
K2R1UHkrQjFZdnJmSjgybjF0RHhwajExZHlHL1NPcXQ1MlhvTTBySXpLbmp4Zk9pYVY5aG5rMjMx
N24KZlRHdmYvM3I4OEhEUGpabkNFQUFBaENBQUFRZ0FBRUlmTDhKdkNJRWlCL3FjNS83WFBuWXh6
NDJQSjhENHk0Y1Z1bDZyUTYvR3N1WgpESXNOZjZSd3JiSWRxN3dYUW1XTnJ0Zm83VlpyRld5dlVm
YkRvaVQxVGNpNHJ3OTk2RVBsbW11dVNmMEwvYmpqamp2S1RUZmRsS1ZnCnpsSWt5SmZoQ1VHN3hZ
WS9aS2hzUTg5cXpIdHpoa0wrTGc1czd3VlcvdG5yL0F4YkpZRE8zbnhHMlNLQmRPYW1qV1dUdjNB
dXdiUk8KeitDbFpINDJsK1BhUCtLc3oySHRIVG1rZlNRSER4MHBlelhtODhwc1BIK2ducDNoeUx5
YU9IRUd5Ry84Y3NuNG1WSVZKV25UbThQbQo5VEZIN3gwNStibTZDUEg0cjMzdGE4dEZGMTJVZnZn
QkFRaEFBQUlRZ0FBRUlBQ0I3emVCbDMwUFNIK2dIL21SSHlsZis5clhzdXpKCmRWNHVOZXdKa1hn
NHFnQjd0WlpZSFZmZ2ZWVExraGExSjhReHRvWENtdlhyeW5HMXpXa3pkcFl3dGJkZTliMGY3dTlO
YjNyVGk0b1AKZjlUUHd1UFdXMjl0d2J1RWcwU0U1K0RndkMrWld0aS9UMWtQQ1EvMTE0V0YrMTdJ
L28xYTR5ekVvdnhzY042V3JlVlYyODRyRjU1egpkdG0yWlVzVlVmWnQyUWYzNnhLNTRrM3I5bE54
MW1kUkFtcURucnNvazlQTTVKZm1jdVRZOGZLTXNrWlBLVnV6YS9lZXNudmYzanBIClBYeXlJSm16
K3RXSEhKVS95WFBNMlViem56L3p6RkxPMnBLM2FyazN6OEhQNlRuNSt2YmJiOC9yZTEvem10Y01n
cWlPeWs4SVFBQUMKRUlBQUJDQUFBUWk4ZEFLdm1BeUlIOFZDNERkKzR6ZktQLzNUUHcxUFpnSGc3
SVhGUk0rSU9GRDJ4L1ZtNjkzdUlIcldycmY3ci9vZgorY2hIWGpDZ2Z2NzU1OHRmL3VWZkZyOWkx
NldMQTU4SDhYRkV5Nno4c2NRV3FGc1J1TjE2NElSRGRkdTFsT21xaXk4cWwvbHI1SnBqCkxSSWEz
c3ZSQkVRWEhsMXc5REhWYlMzTnp1T2tpTUZzZy92eFc4SDBNOVdIeE8xUmZSWDlrYWVlS2JzbFRE
SzMrS2hkZHZNdHM1SjkKTXZMd0szM25KWTdtbFMzeU0vYmlhL3Q2Zm41VnIvZkxlTk0rQlFJUWdB
QUVJQUFCQ0VBQUF0OHZBcThvQWVLSHNnajVyZC82clNFVAo0cm91UXJxZzhObkZZc05DcEl1T0xr
Sm03ZDcxcm5kbGYwbGYzaFRIOXNOdmcvclRQLzNUYk1aTzBONFVRZy9LczhSS1dZTkZ2MFozClJu
UTQ3cytxSy9WanJiQk84N2xHYjVSNnc2dDNsSzFhV2xWcjlkTmZVMVN4anZCMWxRdXR3djJsZGVi
SGtrS3BsZTArZ2lYWDFjT1gKZmkxdkZ5NENGSHZiUFgvd1VIbHc1eFBsRVgwczBVdTVQRXFlUi9h
RHdKQjE5b2RJWE15ZmM2NCsydGlGa3VxYm5mdmFxT3pMbTkvOApaajVnT1BNcjRoSUNFSUFBQkNB
QUFRaEE0S1VSZU1VSmtQNDQzaFB5Tzcvek95KzRNZDFDWTFac1dIQjAwZUY2Ri84RjMxbVBHMjY0
Cm9YZDV3dm1oaHg0cWYvRVhmNkVWVllkcWdLN1dJVUMzT1BBeUxyL1ZTc0xCWVgvTmR6aUxVYStz
S2pacTZkY05WMXhSWGkvaHNWNUwKd0xRd0xKa09aeVlzV0xyZ21HdExxL29Fc2tUTE40TkJiL251
NXptOVpqaWxLWmZ1cmtsWk9haEpSM3ZGN3hHSmo0ZjAvWkw3SlVZTwpINUdBa2tpSkNJdXBscFcx
NTVnelM0bVFlZTFQNmFXTEVOK2Jxek1oNTV4elRtL21EQUVJUUFBQ0VJQUFCQ0FBZ2NrRVhyRUN4
RS9rCnQyTTVRK0VQRmZydFZCWUlYV2gwMGVHLzFQY3NpTTlidE5maWZlOTdYM24vKzk5Zk5tM2E5
SUpnN3J2dnZ2S0pUM3hDbiszUXR6b1MKdUZmeFllUGNlN21WM202bHhVanhYMXFrWkdFeHAyLy9y
U2x2MVlmODNuVGw1V1dkUllHQ2VuOTd4RjMxc3dWS01oZnVvUXNRMVNVZAprbDdiV0xydWRuMVR1
eDYwV2pTRjBhV001MmJoMEV0ZlV0V0ZoN3VmMHh2RGxzN2FMNk41UGJqcmlYTHZZenV6c2QwKzNq
U2Y1OVMxCno2bmJmR2FaMzNwMnJ0MS9zaVp0SUFzWFowTE9QZmZjUGpSbkNFQUFBaENBQUFRZ0FB
RUlUQ0x3aWhZZy9ZbThHZjNtbTIvT2NjODkKOStRamVnZjFWaWlMRUF1T0N5KzhzRng5OWRVSmt2
M1grcDRGNmY2elo0dVBQL3V6UDR2NGNMMEQ4Q0hZZHVTdXpkcGFCOVl5SGdyRQo0MXd6SDc2Kytw
S0x5dys5NFkzbHpBM3JxbkRRM280dU1BWUJJZUhTc3h6SmhMaGZseTVFNmwwVkFhcHJyZFl4S1lQ
Z3NBU3lHR24rCkVRMjJhQUlsd3NWN1FlUll4VWp0WVJBcFhpZVdyTWxpT2Fnc3lCM2YrbFo1L0ps
bjJ2UGF5ZTBTSWJMTHEzNjFKR3ZWZWR2MHBxeWEKUmVwc1BBNGlwUDV1K0FrQkNFQUFBaENBQUFR
ZzhOSUlyQWdCOHRJZWNjbjdnUWNlS0IvLytNZUh6RWNQNkgzMk1xa0ZiK0RXMlhHNQpGMXJONmEx
UzljT0FwWnlwL1JBZnVPSDZzdU44QmVqNmJ6RnZyV3JTb2UzMUdKWmFkY0hob2J2b3NORG85VzI4
WVdZZWNMWjB1MTZYCkNmVjhUUFRHMGg0UUNaQkJzRFJoVWtXSG5DMUFYRlRmTjYxL2U4OXo1ZXRh
ZnViWCszcEpsOFdIZnVpSnF0M2NHdTJwT2YvOE10ZjIKaFF6aVRNMFdJZGRmZnozTHNjeUtBZ0VJ
UUFBQ0VJQUFCQ0F3aWNCcEkwQjJhVC9FSC96QkgyaGxsWlpXV1FDMG9MK0tEMjNXM3JjdgorellT
aUVzQXVMNkc1WXZsV20wd2YvLzFiODVyY1MwODNKYWxWazBvUkl3WWZ4TWJQUk15WkVIY0Z0dVRN
aUZkdjdoZHBja0ZYYlNyCjNuOXR6c2J4WEtyZW1aRnV2NVR4cVBrYUN3b1hMOGRLaVFCcDFoSWRS
elRQMng1OHNPeDg1dG1NMWUzOEhaRzhNVXZmVkZtOWJidGUKYTd5dXVXc3NQN1BHOVRLM3Q3NzFy
V3hNcjJUNUNRRUlRQUFDRUlBQUJDQXdrc0JwSVVEOGhmWGYvLzNmTDM3bGJpOFJIZzcwL1VWegpp
UTl2TnZjM05CeW1PNlBnekljL0R2aStOMTFYcnIvODh1cW13RDF2czdJdzhLSDlGUzVEYnFJSmtD
NUVxdWlRcWNld25mdlhPSFk5CnNmU0tMaWxPYk8xM25xNHpHVDJUTXV3QkdUSWZTNExEUGljSUU0
K3RJNW1RbGhsNWFOZVQ1YzVIdnVVM0JFdXp5RmY5SitOaFcyMnEKWDczOWd1OFFJZTUzdzRZTjVX
MXZleHV2NkRVTUNnUWdBQUVJUUFBQ0VJREFLQUtudkFEeGEzMS83L2Qrcnp6MjJHTUp3QjFnTzRD
UApHTEF3OE1jRkUvL3JJMzRObldYSUpyM2g2bjk3OXcrV2kvVVJ3VUZRK0ZzZVdXNmxRTjZaa0s0
a0xEeTYrSENkRG1jL0xCaFNIT0gzCjB1MzZmZnByTjkycysvbStpd3VidUw1bE4zdzdER0RCNE9k
cWRUNUhVRFJmQzVFcVZqVHZ0dVFxcG1wL1J1THJ5L2ZlVjQ0Y1AyYXYKTE52S2ZoQ0pMNytxZDlY
NVM1a1FNK3Y4L0pheHQ3emxMUy80YlJYM1RZRUFCQ0FBQVFoQUFBSVFnTUFMRWVneDl3dTFuUkox
Zi9NMwpmMU1lZmZUUmlBNExEMy8xMjJWQndtUkJHODV6SDhIUTJoUzluNzM1alBLZjN2L2VKajVV
a1kzbVZYeFlXQ3c2V0hjL3M0ZUZSTnJxCkY4MGpUdHl1cjVZUGRocHp1RmJibk4vQ0ZWSGp2alZP
TzN4ZDcrVi84bGduM0t0dis2aXZCZldWVEl2N2JYVjlySDRmMGVRNVpmK0sKZlJmSzJYcjk3cnRm
ZDIzWnVIWnBVLzJDNnQzWHdyR2o1ZGkzZDVWRjdSZHhtZVczZS9mdTRoY0NVQ0FBQVFoQUFBSVFn
QUFFSURDRwp3Q2t0UUc2NTVaYThPY3RBSER6N3lMV0Q4QVA3azZWd0FPK0FPOHVvMUx4dHkxbmxQ
NzN2dmVYc1Rmb3VSc3Q0ZEVIZ2ZSOE82cE9nCjZFRytzeWlxUzV2N2NiM09zZXZYdnJmWThOS3Vk
dmplZ2lDSCtxMTdTdXhmci9zZWsvVFhmQWNoWkFIUng0K2dxSDU5N0M1RVpzVkwKTWpMeTZXZmJk
cnVOMnRmeHJtdXYwVWI3RGEzZnhzcTROUGJ4Sjc4ZHdSWjQ3WWV6SVJaMmp6LysrR3cxMXhDQUFB
UWdBQUVJUUFBQwpFUGl1QkU1WkFmTHNzOC9tK3lIT2NQakkvZ2NGM2JuWHNxTkZaU01HVVNLaHNh
QzI4OC9lV243bXZlOHBtOWJweStBdHNNOVpDUHVTCnF3VHVQWk1obit3aDZjTERtWktJRFFrT0Iv
Z2VWMmRuT2R5UEEvNEUvVTFRcE0zdDhiZG9zVjNydy8yME9kaHVOcFBTaFVQcWJaY3gKYTBiRC9r
TzkvZTNyZVdqTTNsL09YcGJWMitTL1hxL2VmZnRycnM3YnZ2d3ZKcGtlQ1IxblZoYVVBVmw0NnNs
YUo1L08xUHp1dXV1dQo0bGNpVXlBQUFRaEFBQUlRZ0FBRUlQQzlFRGdsQllnRDR6Ly84ei9QVjg2
N3lIRFE3TEtvand3dTZyc2lpd24wNjEvNkxUN08yYnk1CmZQU0hKVDc4K3RrRThUV3JrRUM4QmU4
V0lRbm1IZERyaUJDUWJ3L3kvZjBRYjB6UHEzeG5ndjRzMlZLUTc0M3RFUUx1ejBmMzdmZGUKWHFV
alM3TlVWMFZBRXhqMmQ5dmdJd0hsakl5V2VMa3U5YmxYSHhZa1hZajR1VTgrWkYvRlVPM2I0OWpH
SXVUR3E2L1NjaXd4TUNzZgpxdmV4Y1BCQU9mN3NNNmxQbStlaDRqMDJ0OTkrdXg2bDNxZVNIeENB
QUFRZ0FBRUlRQUFDRUhnUkFxZWtBUG5pRjc5WTdyMzMzZ1RGClhZRGtyTC9rZXorREJZZi84OW5s
akEzcnk4OVlmQ1R6b2JvV2tDOEpESXVIR3VRbjBQY2FMTm5rMnJZTy9IM2ZsMWRaQU9qb3dYdnYK
eitjRSt4N1hoMzBrTkhyZmcxMXIvNDZzUmZQcGR0MnZpb21sSlY0V0g4TllucDhQWlR5Nm44L1pl
NktxS3BhYWdKSGYralVTSWErNQpxcXp4RjlYOVhMSlJiL1hZdjc4c2FOTitGeHRkMURuYjlNZ2pq
eGdsQlFJUWdBQUVJQUFCQ0VBQUF0K1Z3Q2tuUVBacGVkWGYvdTNmCkR1TERTNjljbkwzd1gvSHJm
Zy9INGhZSjljMVhQL1UvLzFBMll6dHc3OHVoTEJUc21VTjJ5WDc0N015RUEzT0xnV1FhZkYzRmgr
dlQKNXI3dEw1c1REczBod04yZWJJbXlHS3JyQXFMMldjVkR4SUw5dTIzdlQvYTl6NHp2c2VYaW80
K2ZOM1Y1YmswWXVkOHFwdW96VlJIawplZHVwUFZ2Njk3d1h5K1oxNjh2YnJyb3F6OTZaT0dPMG9B
ek04YWVmMXZJMVpaRHNxMktPdnI3Ly92dnpqWlZVOGdNQ0VJQUFCQ0FBCkFRaEFBQUl2UXVDVUV5
Q2YrdFNuc2ljaEdROEgxLzA0Y0REN0dSeFFPMmoycTNiZDlvRWJiaWlYbm51dUlta3ZyNXBaOXRT
QUpWaHYKd1g5RWdiTWNYWGlrSHdYaTZyTUgrRlVVcU03THF0dytrK0dZRlJxUlJmSkxnTjh6SjdM
UEdPM2NoWWJQcnZkYytueDYzN0gzMGkzUApxUjJaaS9wMlJpWjE4aHY2YVBQcDQ1aUJ5MUxmWGhy
bXQyTnRLcS83Z1ZmcDJzS2orbHVFZURtWlJVZ3Y5amRQZitEeHZ2dnU2OVdjCklRQUJDRUFBQWhD
QUFBUWc4SUlFVGlrQjRtVkFYL3JTbHlJcy9MUTlPTTZ5Sy8zVlBuVUp5djFYLzRYeXhoMDdzdHpJ
MTBPd0h5dG4KRkdyUUgySGl3TDVuRTFvdzNnUDdHdXczZi9lakkrTEEvanFHREljeUhzTVlGZ3l6
bVF6N1dCak1ITDEvOXhYUk1TTmsrdEtzMmJFegpaaHUvWm0zazU3bEc1TlE1ZVQ3MXVlcitFL3Yz
T2ZteGw3STkxZjdWNTI4ckYraDdINjczWm5UUHlkMHRIanBVanV1ampoRnlQY09rCnZ2MVdyT2Vl
ZTY0UjVBUUJDRUFBQWhDQUFBUWdBSUh2SkhCS0NSQXZ2WEpRN0RMN2wvMkZRM3BMVXdSQnJmY3ly
TTJiTnBhZmVNZU4Kc25SNExhRmdwN1pQb291SUJQVU91QzArTEVKOE5FSFFCY29Rd0h2Y0JQdE5l
RGhnOTZHNlFSRFlwdFZWMjNvLzE0VEMwaDRTK2FTdQpCdjNEMkY2MjVmRTFqNXJkMEZnbnpNZjN0
YzcxOXJNQVNyOStmdGUxSStMRFQyMS96YWsvVHhpbzJrdlhmTHp4OHN2S1d1MExVWlg2CjAwOGRD
K3B6WWMvdStIWGVidmExOTk1UUlBQUJDRUFBQWhDQUFBUWc4R0lFVGhrQjh0QkRENVU3Nzd4VDhY
RmRFdFFmZVBISTRmejEKdnIvMUtrRzBHdi9YZDcyemJGaXpwZ2JrOHJIb2NDQyt0QlRKQWJ3Qzdo
NmMrOXJCdTlURUVLeTdUa2ZmSCtLQXYzOTdZeEFUOXNsUgpzdzlkc0tTUGxnbnBZMmI4Q0pUcUUr
R1R0MXg1ektWeDYvaTFQNC92SldFMVM5TGZnTlhIckptWi9seGg0amxhRkhuZUZsYWFXNzF1Cno5
NmZWL1gyVzZldnBWLzM2bGRyR04zN2VXMnZqdndhNDRYbjlxU3VpejMzLytTVFR4Wi9wSkFDQVFo
QUFBSVFnQUFFSUFDQkZ5SncKeWdpUXZ2SGNEOWxGaUw5MnZxaTlDZG52b2IvaE8vT3hvT0Q3alFx
b3I3N29vaGFJdDJBL0lxRUc0d253SFd4YkRQanNvTjNCdXNwcwo0RjZGeFl4UEMrYmpuMHhFRXgw
OXFKZmd5SklzWlJEeXV0MklDdmZwUHRSL3htbyt1aDdxWjRUS2tFSHgzTnFjSXdwaTN3UkM2eWZ0
CnFUZVUrcHhKWmRndlk3Wm55MzBkdC9icHZ0MVhiZCt1anpOZWZQWTVjdkVTTEF1OG1qRmEwRElz
YjBoMzVzTkhGeUxzQmNrL0ZYNUEKQUFJUWdBQUVJQUFCQ0x3QWdWTkNnUGhyM1A0Z1hnK0EvWndS
SVJJZmpzVXRQSHFkbHhQOStJMXZ6Vi94VTZrZi9vdStpNFZLRGNDYgpHUENTclB5NVg1MzQ3Q0Ri
WWlKTGw5eHhDK3BuNnBPSmFQVjlBM29YSGYxdFZUN1hBTC81ZTVMdXR4M0pva1F3ZUF3SkEvVVhI
OWRGCk9IVEJvclBGVE1TQzVtWTd6YzF6OUlON3lwbGordkpZcmxPZmVTYTF4VUEvL0grenFadno1
YTcvL1BpZW1nMWV0K05WWlY0VmViN00KUXhZYTcvaWVtZ1d4VlM5UFBmVlUyYnQzYjcvbERBRUlR
QUFDRUlBQUJDQUFnWUhBS1NGQS91RWYvaUdDbzJjKzhuUUtqaGVPNnJzZgpDWllkaHp0NEwrVTl1
cmVnR1FBQUlBQkpSRUZVYjNoRE9XdkRSbDA3SUY5YWNwWE1ob1A1Vm1hRlJJTDVLQm4zMFFOOEIv
c3E3amQ5Cld5eFVBWkN6N1RPMjZuU2RyRWk3SHdSR2I3ZndhRGJET1NMQzQvblFPRE0yVlhCNHZI
YllabmJzbVhsbFhMZTErVVJBMmEvNW1FSG0KWDU5RzFSWXY3Wm44WE8zWXVHWnR1Y3BaSTdVbDIr
RjZBOUMzUWZ4aHg1NEZDV2RWUC96d3c1NEZCUUlRZ0FBRUlBQUJDRUFBQWljUQpXUEVDeE4vOXVQ
bm1tL05RRmlCZGhQak5WODRhMURvRnkycmJ1RzVkK2NIWFg1dS83RHV3N3NGNUQ3SjdrRzViZlla
dkNMNGQ2Q2R3CmR4Qi9zcCt5QWt2OXVOMkRPaHZSQXZzRThLMCsxeDdYR1FjZkVpWVNGaFk3czRm
SDk5RXpLTzR2Ui9QdjkvSFBuSnJBOGRnNW1uQlEKMit5OGg3bXJ2eFBuWERNNzdyZjM2YlBuVkRN
am1xUCt1K3pDQzdRaFhmdG0zSlpuYkdLa1pUdk0yc1VpNUxISEhpdEg5RHVnUUFBQwpFSUFBQkNB
QUFRaEFZSmJBaWhjZ1gvbktWL0lOaWg3OFJuQW9BRTcySTJHejQrVWFHTC9udWpjTUc4OWIxU3lM
Qk5aZGpDUURJcU1lCnFOZnowbjNzM0luR2NqQ2U5blp2RVpBbFUxMFFxTjJaQmljTXN0bGQxeEVv
eVhMVVB1MC8zNDQrQjlkWmhBejNmak9XaGh6cTNHOGIKTy9QVlhDd09CbnMvblpkTnRUNzZNMFRz
cEU2MjZjTnpXQkl0ZGpPelpIanFyUE44YTFldEtwZGZjRUhHY0IvNWtyenNGdmJ0cldQSQpMOWtS
MVIzVC9wdWRPM2U2S3dvRUlBQUJDRUFBQWhDQUFBUUdBaXRlZ1BUdmZuU1I0U2Z6a3FBdUlQTDJL
OVd0V2JXNnZPTzExNmhSCk53cWVIWXpicGdibFM4RzNxbXZ4MlRaRGhjTHhHcEhuOWJRTzdMdXZ6
OTViVWZkcXRHQytpWU11RUNJS21oQ3cwQmhFaEVWRE95d1UKdWxod25jZU9FRkI5eGxLZlBiUFN4
NDZ2NmpPKyszVmZ2cmR2L0hUdm92bTZxRmEyK3MvemI4OFRKdTZoUGZNd0g4OUJHK0Q3V0c2Lwpi
UHYyc21wK1ZmcXkwTW9TTjlrdEtCT1YvajF1T2lySmdsUkRma0lBQWhDQUFBUWdBQUVJUUtBU1dO
RUN4Szk4ZmVDQkJ4THdPdWp0Cit3LzhaaWJId0g1YlUwSnUzYnp0TlZlWDlhdFhKemhQWUYramJq
Y253RTdBcmtCNktSTlFBM2tINDZtem9OQzFPeDVFZ3E1cmNPNjYKWnQvdG1tMS9hOVY4cHRMc1Bi
bm1hLzk1K2Zqd2RlN2xPMi8vZnJUNk9wZnFHNEhWaGNsZzErYVFESXp0M0ljRmgwcXp5WHhWYjMv
UAoyUjhxVEozdS9aeGR1S1V1LzBic2JWSGhQbzVMeUszS2wrUDlkWFFYMXgvWGo0WDkrelNFK21p
cXh0ZlBQUE9NdG9qc2p4MC9JQUFCCkNFQUFBaENBQUFRZ1lBSXJXb0RjY3NzdHcyOHhva0tCOEhH
L2VsZUJ1WXZDWnY5UWtMeFkzdjA2N2Yxb2YrWHZBWGVDY2dmcHpiYkcKemdxNFZkY0Q4NFRmQ3Fa
N0FKL040TEx2b3FUMjFUZHUxL0VTbFRzeVQxRHZPdm43NlAxMDRXQWJYVnNJUkF4NFhCMFJCN0tk
VjhEdgp2U2hEeGtUMkdVODJKeXpYYW1QNVdTMDRQSll6SlhVWjJNeTQzYi9QbzlrdGNlaFprWkRM
V002c2VENGV0NG9MN1FXNTZFSWowMlA2CnVXcjdndlo3K09pL2g5cStXSjU0NG9uWThnTUNFSUFB
QkNBQUFRaEFBQUltc0tJRnlHMjMzYWJZV1VGd0t3NStpNWRmT1NoT2NPeDQKZktIOHdQbmJ5N2F6
emxvU0FWNStKQjhmS2VvakdRd0g3KzdQTWJ6L2MzODZCanYxdFNSZVZDLzdHcHlyTC90V3RaTEF2
eS9IR2tTSApnL2owYlJGUmhZYmJFdGg3akRhV3h4c085Mjl4SW5zZnNiRzQ4bGl5RzdJVnJSOVZa
QTVWUE9uSmVyM0hiVWNYWnliUW4wdTkrWUdiClRSMHpjM1cxNTlOS0ZVbUw1Y3oxNjhxV3pXZW9T
OW1xUGYyby8wVmxRYnA5UCsvYXRhdTdjNFlBQkNBQUFRaEFBQUlRZ01ES0ZTQUgKRGh3by91Q2RB
OTFaRWJMZ2ovMjFvRm5oY1FMcnQxeDVoWDdWRHBZVm4wY2srTlp0cWxPbXdKVTlHRS9RSHI4cUNo
TGtPK0IzQUcrcgpadWkrVlZ0TGQ3Wk43N1AxN3d4Q0h5c0N3U0todHpYN29WNWZQUy81OG5rVEtC
WWR6bVJvL0FpYytGWWhNbVFsMUZlR2I2SWs4MHlGCjZuMXVjNnQ3UG5Ualo4MzRTL01ZbmpuUEdK
UDZ3L2Z0OE5PNnY4NzJWZWVlVzUvVkhOeWZ5c0xCZ3pLdmI4WktoWDQ4L2ZUVDBvUkgKK3kxbkNF
QUFBaENBQUFRZ0FJSFRuTUNLellEY2ZmZmRlZE9TZjM5ZGhGU3g0R3lCNDJZRnhqNzAzM1ZYWEtZ
NFhOR3pnbm5iUkhRMAo5ZERyNCtRQVB4MjYwL3hmQTNEWHl5K0J1d045WFh0UHh3bFpEb3NGaTRH
MFZSdmJaUTlHblZDdSszMXNiZDhPNy9ubzF6MVRra3hICkZ4WXp0bjB1VmR6NGVUU094Kzk5Wkk1
MURuVWordXg4K3ZQWHVoTTJvK2ZaNjV5ek5NeGpSc1dvSVdQVStlckp5OFhublJ2dUhuc1EKSGM0
K3RRelVVQ2RYaXhBS0JDQUFBUWhBQUFJUWdBQUVUR0RGQ2hCblAxejZYOThqUXJ6L3c4RjMrNnU4
eGNlbDI3WXRmWGpRZi8yMwpFS2tXTGFpdWdxVlY1aS8vRHFxelRNcm5Ib0IzTHdYbEZpdFZ4TlRB
djR1S0tnVGN0aVFtNGpiYzEzNnozTXRMcVN4c2ZIZ2ZpR3lxCkNHckNRSFVXR0RteTdFcnR0bWw5
K2V5cFpPeFdYK2ZsZnZyUjUrcDd6VXRISHNkK2NkYXA5WjA1dWRGdHJZU1UrM1pwUGo2WnpRWjkK
bUhDcmxtRzVtL1JyRTgvcDBFRmJwODcxUHJ3Wm5RSUJDRUFBQWhDQUFBUWdBQUVUV05FQ3hIOWw3
MEd1SDZidWIzRFFtenNGeEl2bAoybGRkMnBZTzJVQnREdXAxOXRITWFsRGVnM2d2eVlxViszQ3dM
U3UxRGVkNHhkT3RObFZSWDgwbWR2YnhHR21TcjQwc0NscG1JdEJ6CnJUWUxEZHZHcHdxSGZqL25O
MDNaVHI0UklvTmQ3VC96eWhodHZOWWVNVk9uSmIvTUlqOHpodnFyODVLUDV4eEZVbTJHcjZKclBM
VU8KcGM1SGM1R3RMVDFWL1N6YnQyelJ0ZXBWanV2czc0TDRBNUM5OU44TkFxUVQ0UXdCQ0VBQUFo
Q0FBQVFnc0NJRmlEOXk5L0RERHl2NApYUXFUYzYyQU9rRndyMWUwZk9YRkZ3OTJOUUN2QVhQc0hU
RExKMEcrL3kwa0RsZVE3VzViZmV4YWZCNlRDSWNYRUF6TjNmYU82Wk5NCmNJRGY3RDFHUkVTV2dW
WFJrVWplYzIxSEZ4NlpqLzBjM09zWTVpMUJrbXZWK1MxWTl1dGl3MVBNMkpsSGV3Ylo5VXhOUGZ2
QlRpdzEKQTlMbVl3RHBTQ2YzTFhHa24rblhEZFcyUHAvdno4dkdmdldYdWVpa3k0VkRoNFd1TXZa
SXZ0NjllL2NKZGE2blFBQUNFSUFBQkNBQQpBUWljbmdSV3BBRHhtNVVPSHo2YzMxamZhK0JBdkda
QWFpRHVQU0QrZS8yTzg4K1B3UEN5b1Y2cStGQXduNUM1MTlhZ3U5bzV5SzdCCmVNNFJBd3F2ZFY0
SzRSMnBWNStJaXlZSUVvemJiaEFMNnN1Q3djWTlNSTl0RXhHdTAzMzJqdWk2N2dXcHk3TUdRZEw3
dGhpUVRSY2gKdmQzOTUxbTZYUk1lYVUvV1FpUnliblB3bUQ1Y3A2TStVNTFuK3E2UFZuMmlLcHdS
NlZZNngvOTRPV2Z6NXRTblRXTjdiZ3YrQm91RQpTeGNoWm0zQnVLOTlxTkFZS0JDQUFBUWdBQUVJ
UUFBQ3B5K0JGU2xBZHU3Y21iL0tSMGpvZCtkei9zS2Y2L3JMZEZCOHdkbG5hNi9DCkdzZlowUVhE
cjFtQnNzVkppNm1iZzRKc3hkYTF6K3JnWUx4bkdFNzB0V0VMNHRQZzBXcDNDZUFIUVdDeFVBV0c1
eGRCb0Q3elZpc1AKMXBkZjZleWczalo1RG9zbkIvbXhyZU1NdnZaenV3ZHNOcmJyZ3NmVkxrMURO
SnZhUjM4V3o5Wk1QSDc2aUVkOWRuYy8xT1hHbllsVwp1dzYzMk0vcG80VHo1Y3lOR3pWbjlhajJq
S2x6WDRhVk9nc2MxZTNkdTdlTndna0NFSUFBQkNBQUFRaEE0SFFtc0NJRnlHT1BQWmJmCm1RTmJI
eTRPd1BOWGQ5YzFaWEhoMlZ0emJaT0lFQnRhZkRnbzluVVByQ01TWEZIN3lsNkk5T09xWG1jeDBh
NzcyUzd1ei9jK1d4Q28KRE1HL3JtS3FBTjIxOFhaRkZ5KzV0cGlvUjR6YmRlOXp0di9hbVh2WEUz
cXZTbzM0UGVRdzZDQmNWTlVGUjN0WTEyUnNDeUFQbmVjZgpHR1IyMWNZZCsxbGk1UHJhMXAvZjFl
WnBNWEtXQllqKzg5STNIL1paMEp1d2VtYktaL05HZ0FnakJRSVFnQUFFSUFBQkNFQmdaVzVDCmYv
TEpKeFBnZGdFU0VhTEF0NGJLRG9MMXY0THNDODQ1Vzc5aWhja0tsaDBiSjVqWGplMFR1enZJemtY
TWJGbkZ4S3lOblp1dzZDT2sKVDR1S1lVelZ5RzVKTktqL3RDdjRick95NkxBNHNFMVVYK2JnZVZU
eDRmcGtSbHEvN2p0dGVSaGYxL21uSDErckptUFlYa2U5cnYzYgp0ajlqNW1UQmszbmtDZlBNZGFt
Wisxa3FtWU5IMHRncDdzaDk2NytCdGI2ellpUTJNWS9OR3pZMCs4YkREVjZHcGJNUEY0c1FsbUFG
CkJUOGdBQUVJUUFBQ0VJREFhVTlnUldaQXZLblpwUWU0Q1hhYlNPaWIwQjBjYjl1Nk5jR3liZXRT
cU9wanNXQlJFZjhhU2R0RTl3N1UKSFhYcnAyeThseUdpd1ZXMWVoQVo3cjlYTzNCUHRrRVY3dG9O
YnZlM1FoTEFxNzF2R3MrNFRZaTRMWWZIMVdHYjJQbFpiTk9FUlVURQo0S08yN0MrcFBoWXB2ZlN4
N1p0am1LRXM4cHh0TDBkY05Fblp6ZTZiOGNUN1c2M2lLcnVCMGV3Z25uZkduYXRMc05wdFRtYmhq
eW1hCm42NHRQbncrcUk4VVVpQUFBUWhBQUFJUWdBQUVJTEJpQlVnQ1kvMytlb0RyKzZGT3dieHV5
OVpObTJxZEEzSkgxUDdmZ2JGLzd6cnIKMWhmNW1ZQTlEZnFSczV1cVQyeGNsOEM3MTlsTmZiUngz
WXZIOU5HRmhVVklEOVJkbjVGMGtSbG9qdGs4YnZIaGZpVjJMR0o4ekZ1TQp5Tk9pcEI3eWFaMm5q
L3l3UVh1R1p0ZE1odWVMYis3a2tQRjE5bGp4cndMS3oyaHV0U2UxcGJtZTZ3aWVoOXJOeXp4UzFL
NStmTHQrCjdkcGE0OEhsN0w0Vy9EMlc1dU5HWHg4NmRDaDIvSUFBQkNBQUFRaEFBQUlRT0wwSnJF
Z0JzbWZQbnZ6V0hOaTZKT2lOeUhBQW5DcUgKd3VVc0NaRCtsM2pmOS9DNWlnM1h0RElqVUJLZDJ6
QjFibTllQ2FpWGJ0MlNUZU8rNkVVK0VRb2VTMjcyekdieEpoQnliMXNObklEZgpFL0NFMVc2L2VU
WDRjSER2dnVOYkxlMVYrL09GNTliOGZHb3pyR043RHJaUlE4NTVqbWFraW1nSWl4QzErbWZzaGs1
c1VMc2VudCtkCitFZy85VEorOGpiM0RSSWdGb0UxODJSYkdVdE16UXBEMVpJQk1RUUtCQ0FBQVFo
QUFBSVFnRUQ5US90SzQrQy9wanY0N1VmbW4zc0YKendxR0hVKzdiTnF3WGhXK0d2Nis3NXZFMHc2
VUhWZW42Q0tCZVJ6bDRHRGJGWDBNZFdMYjJxeDIvVy9Cc09UdnZxcm9xSlhPS3NncwpRZnVTWGU1
clF6cXp2NWRaV1FYMkRFZHpyT041bzduN21NbUV1SStlaWNqNGJvdTE3dnkvS3owM1hXZ0tLVlVV
dVQ1TjFXYVlyK1p1CnB6Ylg2aXRiOXlNYlQ3ZmR4Tm0zZmxyNytMOTFhOWUwY1N5YWFnYkg4KzIv
RzU5ZGptcGpPZ1VDRUlBQUJDQUFBUWhBQUFJck1nTnkKUkYvYjlsL1llMG13cXpCNHdjRzRBdWZj
SzdCZnUycDFndUlFNWZuUjJod3lLekN1b1hFTnFJZSsya1hpNzM3dGpFUTN5QUFLc0hYZgo2Mnpy
T0R1eGRpb3RPbXFyZi9vNEViUUZTZzNZNDZUKzNVZStpdTU5SjNhdzBFaW5WVkE1MkIvS3pMT25U
cytkVnZsbERxcnNnYis3CnloTnFqRG9Ualp1eGJleXFhbUdycFN2ZnpSVGIrN1l6MUYzNjE3aXI1
dXFUNVZXOHJwZFovOTNNWmtGNjNVeXZYRUlBQWhDQUFBUWcKQUFFSW5JWUVUb3lMVndnQUN4QVhC
N1d6UWE0RGJYK0FzQWZmcTFldlNzeWNHTHNIMmc3c0hhNjNZTnBoZDhKbVJjNzlyL3J1dXdmYwp5
UTdvdm9iL3JyVlk2UC9WK3BycGFFWTJkTENmRHJwZkhVVXR0V2d1TFd6WGZScy9QdlpUL3o0MHYz
N1lObk9NZDIyckhYa3dIWGF6CktHbTMxYXhOb1BsVS8ycFFaeCszMXBwVGZTcHo2YTV0RG1abFQ4
Rk5XNStYa2E3U3QwQWkvTlJzN25rZHIrMW1pbjlIL2hnaEJRSVEKZ0FBRUlBQUJDRUFBQWl0U2dI
VFI0VjlmRnh2MVkzZzE4SFg4bkc5U3pMVGIxcVVMaW5xWG1nVFY5bkZBN1ZML3VxOGJWL2hJOU8y
VwplbEdEK1dyc242NU5pMjlzcmhzZlEwbkhycWcrSi9aWGhjYlFGaWZaK2Y4Y3pXZm9yR1pQNnEz
YmRQVHgrbTIvVit2c05Pb1kxVDQrCnZjL01yL1dvNWp4ZjY2dno3YWIyYzExMXNaSEg2UGtlM2JT
Ky9EdHlxYmJWTGhYOGdBQUVJQUFCQ0VBQUFoQTRyUW1zU0FHeVJsODMKZCtuQjhYRXRXM0xFUHhz
VU80ZytydGZWMWhDOFNvWTR6Wi84eUFxT2g0RGRka3ZaaDBGRnlHU3BoeHJTTzZUdVlmWGl2RHRJ
Ny9XSApsaVhWdHRheDFVZ210MlMwbU10cWxTQzlxeFkvUjVZMXFjM3UrcStHOGt1K015UGxNZ0xB
L3EzVW9lWTFmWGN3SXc0eVNkVjVXQjExCmRKdFUzL3FNTGNQU3VzdEpIYWJ0QkhiVnpveVh4RjZk
UU85M1ZuejBNZm9jT1VNQUFoQ0FBQVFnQUFFSW5KNEVUbzdHVndTRnRlM04KU3ozQWRYRHJaVUMr
OXhLc3BrVEtZVzk4ampod2lLNlNwaUU4VHVCZEErTVdiYzg4ZmF3U2VLc3lnYmY2c0ZtTzJsKy9k
V1dDL3VhZgpZRDNHYlM3dXgzMmtQd1h1ZFRabGJuNVY1amZuTnRrdjZ0Nkg1MndSNGprc3BwODZy
TjA4WnUrcjNuMm5RTEZMWitPemZkSi83VEUvCi9VeCs5aGNVQmgyUkxJZkxQbWQzMWZwekg4ZTBV
ZDdmRHVsWnFZZ1I5ZXY3WG1melZhdjBYQlFJUUFBQ0VJQUFCQ0FBZ2RPZXdJb1YKSVAwMzF3TnRC
L1VKMk5XUXNGazMrL3JINzNvVXJjalpBWGR1WXl6TGZxTnpBbkwzNDhEY0E1d1FvRGRiMjd1UDFr
OTFqN005VGl4TgpSQ1RJOTBBT3dsMG4zM3FXdWE2OUt5VlpENHVsaUk4Mmh5WkdIT2pYOFZSdnNl
SyszSWVmUk9kYzFxZksrRTF5REhPcDQvbVo3T09qCkZmVlQvOU85QlluL2MyZURpZThINDF4b3hG
cDBZZmFIai9qdFZwcVhmdmFqZCtCMkZ3c1JCRWhROEFNQ0VJQUFCQ0FBQVFpYzlnUlcKcEFBNTY2
eXpFdngyOGVGelhRWlV3MmxmKzlpOWYxOExxdjE3VmlUZGd1WWg0OUIvL1Y3eTVHYjUrTCtJbEtY
SXUxcko1anVyS3I3WQoyNm9KaFFUa2pyMGR2TXVwaW9zbUhEeUpURVVqNlRKYjRpMHFaT2VsVmo3
czJvV0lqZDFOTDdsdTQxUmg0WG03dFlxV3pNRjNiYko1CjFqcWdhbTJvdzBKSDU3ajVoK2ZZbnIw
eVZaM24xSXZNazYzUmZmVjBRODNrSE5RTEFleFRhMXl0ZmoyL1Z0ZXpJT3ZXcllzTlB5QUEKQVFo
QUFBSVFnQUFFVG04Q00xSG15Z0d4WmN1V0dqQzNJRGN6ZDhDdE9EZ0JzczRPZ0hmdjNaY2d1eTVu
YW8weTdzRnhmZUlXUFBlQQpmYmJkd1hRNzZoZ240ckpuTWhPeThianB3aGN0a3hFZjIyUVcxYllL
QkJsWjlEakk3MkxDMlpGMlh6TWxWVkNrZndzRUhSWVRPWHNzCjk1c0o2TUxqZWZCKzBqbGpaa0px
OS9pcVMzRldwVDV5cTZnbk4zZVQ5QmNiUDM5dDc4eDhHMXZOMTJQc2IxODQ3MTM2bkQweDFTMC8K
N2J0K3ZiN0pRb0VBQkNBQUFRaEFBQUlRT08wSm5CaFJyeEFjVzdkdXpVeTdPTWhad2JDekhnNlll
eUQ5eExQUHlxNkd4alVUb0RZSAo4anJxSm5CMzA2MTFsU1ZTdFQwdFRSVFVERWRDK3VwbjhTQy83
dG1GUVlMMVJPQzFOYkxFb2lJWkZwL2xrZXMyZnU1MXJkNXk5RDBnCjNiNEptVHlCYkpNZHlkeWJJ
TkVyY0MxSVVueVNZZWJRL09PbjZzeFVkUlppZmM2dXpYejhqTlUxOTJIZ0NodXE3L3JzN1p6T1ZX
OGgKVkFjcXorOC9FTzdKT3ZuTlY2cjNuSHJtbzlvVkJJaVpVaUFBQVFoQUFBSVFnQUFFVHZvKzNn
b0Jjc0VGRnlUQTlYUzdDS2tSYzcxMwpNT3l5ODVsbkVudzdSbmRWUkVpQzlMcDhxSXFTSHFaWG05
dzEvM1NpSHpYcjBBV0hBM2RWU2h6MDRMLzNrSHNINTI1cjRpRkJ2cFJCCkJFL0VpSng5dHRodzN4
NGs5MTJnMUg3ZGwyZlpSVXo2anJCd3UyeG4yaUlJUENtUGJiODJmMDh6OTU1TEhVbm5WbEtuNjVs
bnpYeUcKaDNHYmpqNW5YVWE4T1lPU1V2dmNzMzkvN2JuMUU1bTJXbDlIMTcxRmlJdXZ6enp6ekZ6
ekF3SVFnQUFFSUFBQkNFRGc5Q2JnU0hiRgpsWXN2dmpqQjhHeUE2d0Rmd1creUlMbGFMSTg4OVhT
OVVpQWRFYUludFYzOXE3NXVYTm1EL3dUZUxmcDJrQjBCWUlkZVY0VkZZUFU2CmQ5RUNkSityb0ZG
ZGpQekRZcURaUkRCb2o0ZjdiWDA3MitBajk2M09vL1g3UGpmZjkrdmF1NndzSURKUW0xOGJOUE5v
bVp0c1dQYzAKWW1JRDhmRkpjODBqcUYreldPcTdHN2M2dDhXNWpwRjV1RWEzYnJJa2UzYmZQanRW
cTlwcDNXd2Z1eVVSZ2dBSkpuNUFBQUlRZ0FBRQpJQUNCMDU3QWloUWdsMXh5eWZEWDlVR0VPQnBQ
WUZ5RGZyK085OUVubnlvSDlTcGVCOHNKbXYzcmJnRzNRK3RhMnBXV005VWNoL3hyClI3R05TSkRo
a0dsSlpzUFpDaDBPNU4zV2p4YVoxejBuNmpkajFiZGMxWWk5MVRYZkJmdkxKa0pCMTluN1lmSFE2
MmJPcVd2alpFTjQKc2lIMjl4emNyK2ZrWjlmczI1RW5VMTNOMXRoRWdzZTI5bEM5eFVvWEZiRk5x
NjdzNDZmSzJSNjY5L3pjYjN4eldRN3IreXZQN04yYgo4ZVJRbjhVWHExY3YxY25IdnlPL09JQUNB
UWhBQUFJUWdBQUVJQUFCUlpVcnIzZ0pscjhGNGtEYmdYUVhJZGtqMGVvY0tCOVg0SHYvCnppY1Nw
TTk1djRRZk5XcEJQeEo4TzVCT2JlcTliTXAyTlJpdlhHSXUyd2lSdHZ5b3U4VENRWG9MNUJQUUp6
TlJnL3RrS2V6cjl0UTcKaU5mL0hrQitFUi8ydDRqd0VUdWRld1lqYmU2L1pra3lzZXo3V09vaklx
R05uL25yMm5VZTAvM3FSMzBRbmMwa1FzSmpxVGJQN3ZuawpnZXF6MTNuYXBZbVpOczkwNHZtb2VO
N3UvOG5uOXRpNVpaM1NWQmJhWE4xblp6c3ZXeklnbFE4L0lRQUJDRUFBQWhDQXdPbE93QkhxCmlp
dXI5UmYyeXk2N0xBSHVJRDRrTm5wUTdZOFM5c0Q3N24vN1ZrTHdCTU1LdkMwd0V2ekh3a0YzQys0
N0JYZmk0RjFIQW0zWHQyQzYKOTFIYlZPOEFQNGY2c1ptckhMaTM2NTZkcUVHOTZpVkNGbGNyQzVF
Z3ZjNGpjM0Y5RXk1ZFVGU2hvUG9JZ0RaV3o0NjBjZTJUNThtNApKNC9kK25UZmZtNC9rODcxR1RS
Yml3ajM3WEh6ckczU091VUJWTmV6UDdFVGcvVGhldnZKYk9mVHorUnNsODVvYnMzcUNNSXVQdHgw
CjNubm5hUWlOVDRFQUJDQUFBUWhBQUFJUU9PMEpyTmlvOEpwcnJra3c3VUIzQ0hZVEdDczA5di8r
TXJyK3UvV0JCM08yTUZCekFtOEgKOWI1eEVPM0FPU1VDUUFHNkEvYldwODFqMndKL0IrUVJCdFV6
L1VaNXVJTUU4Zkp0ZmJ2L1hDYno0dkdxQVBBNVc3Tjc0Ti82em53cwpFSHg0WFBlNWFyWE02NWla
bCtmYytxOW5Dd3JadFhyWCtZaFFzSDg2eVZQVXVUWlJVYXVicmZ0ckpXTEU4L1N6ZEM1dWEzVjVK
dCtuCmc4WHliMDg5VlM5VmxiZGcyV2ZOR2x2RTMrTFFod1VJQlFJUWdBQUVJQUFCQ0VBQUFpWnd5
Z2dRQjh3T3ZMWDFvd2JiZWpqSHd3ODgKc2JQczBhdGlzN3pKVDZ3Nmg5eitLNzREYWdmYk5RYjNm
V3VQS0ZBUTNnSnhWOGVvQitYMnNUQndZTjZEODlrNlhTZUlkNGNhcjR1VAp1aVJMZFJZNXR1bHo2
TUltb3NUdEdsdDFGaXBaVmpiWTF2RXNGSHJtdzMyNHI0Z2p6YVZtVjJvZlMrUFd1VlpSWVFBV1I3
Sng4Ym43CmU2NjlXcGUrZFZ1dk05QWdVTjErZllEd3FUM1BMUzIvYW4wdXJGbHJyNVF1NU00Ly8v
eGV4UmtDRUlBQUJDQUFBUWhBNERRbm9PaHkKWlpZM3ZPRU4yck90NVZNSmltc1d4SCtGZDJEdERl
Z1dJZzZoSFRCLzZaNXZKczYyUUVtV3dPZG1hNnVlWllpUksyYktzRVJML2RZTQpnU0owQmZyRDI2
UWNzTHN0aDY0dEl0cTlnM2UvOWNwMUZneWFYVDNrNzB4SHhFdXVxNGdZMnVXWHVmaWM2MnJiTXh3
WjMzMmw3MnJiCnN5cDlmNGx0Y2oySUdzK2p6c0Y5VjN2NWV2cjUyWDYwK1daRGZLc0tLL3Q2enVy
UG1hVUh2YmVtTVRUcTROYnZ3N3ljOVhDYmkzOGYKM3JORGdRQUVJQUFCQ0VBQUFoQ0FnQW5VQ0hR
RnN0aTBhVk41N1d0Zm01bjNZTmZuR3ZiV0I4cjNRRlQzejNmY0VTSGltTmp4ZFFMdQpCTlE5S0Zk
REF1WjJMeU9MbFN4bG1yRno1N1gvS25UU1QwUkZBNWlnWDRGNjg3RkFTQitxWDVDZFJVZ3lGNW1F
UklEc0lsQWMyUHZRCi9wQWMvZDdpd2NKRjlvUFlrRTlFanR0YVA3MXRTZFJVa1ZDZlZIYVp0TVp2
OWhFMU0zUDAyTDBQK3dTRm5JWWxaeDR6MU5wenE1OTcKSDkrWi9ycllDUHYyWW9EKyt6Q1Y3ZHUz
bDNYcjFqVkFuQ0FBQVFoQUFBSVFnQUFFVG5jQ2ppeFhiSG5MVzk2U3Y3VFhyRWY5cTNzQwphVDFS
QW1JRjNoWWg5ejc2V05tNVcxOUZUelpBajZ3QTJ1TEJoMHY5eTM0UDdIV08wS2haRlVmajNTNVpB
V2NBbWtEd1dGMWdSRURZClVPMXphcTlMdEtwd3lKeGt1NmhsV3ljSUVRZjJybit4UXlON3JCT0Vp
eklNZFN6UHR3cUhPZ2NOSGxHaU9kZ25jMWpxUCtQNFlUVlcKVHVxN1AxZjBpWDk0UHA2LysyMnRz
MktpWm9QbTllcmRmZm5JWXdSZU90TThkVjVjdHo3Y1hkV0Z5YVdYWHVwYkNnUWdBQUVJUUFBQwpF
SUFBQkVKQUVlZktMZTk4NXpzVDhCN1g5eWhjRWl3cndLN3Z3M0tzWFFOaks0clBmUG1yQ2Jscm9z
UEJ1dDkrMVFKNE85czJrYml1CkU0Zzc4RzgyN2Q0MnM4SmlFQURLVWpod0g4UlBydDJQeElLRGVm
bWxUNTkxTEhoY3pTYkN3OHVXWkRNclpBYkJFYkhoNTVGdDV0dDgKMUVjWExiVmZDNDM2cSt6MXlj
SllrTFM1dTM3SWFIZ2V3N3c4eDJhbktYYyt5WlkwMzJwYitjcXkzUDdRdy9xcDB1Y2hwN3c2MlBO
Vgo2YUxGNXgwN2RxU09IeENBQUFRZ0FBRUlRQUFDRURDQkZTMUFMcnp3d3U5WWh1Vy92RHNZZC9D
YmF6Mms5NE44L3JiYnNuRTZRaUZDCnc4dUpIRU03dUhjQTMvN3k3MHJkRDFrQUIrZlZzUGJyYXdm
YVBXalgyZnNwSE9CSEJGZ0l0TU43TUxKQnZQVmY5NE9vZlNhdzkzV1cKWXVtOEpCNGtmQ3c0WEtj
amMxSC9zd0lpZ2tWdnlZcUkwaHlHTjFocDdDenp5cnhybjNrZXpUbjdQankzTnBiN0c0UlByOU01
eit0NwpNYlFpMFdPbzFQSDk4Y0c3SDMwMEdZL0t0MmFLNXRadk9JRzVmYjM1bkE4UUJoNC9JQUFC
Q0VBQUFoQ0FBQVFhQVVXYks3dTg1ejN2CnlRTTQ0RTNBN0RzRjY4UHlvSVRLcFJ3NGZMaDg3cGF2
T1l4T2dKNWxWRDNvdG5ob2dYZis4cTh1SEhzNzhoN3VYZGY2MHFWdmNwY2wKVXZGZEN1d2pSbHpY
am41ZmcvMmF2YkRvR0lSTnM0c2drQ2pvUXFTM0QxOU05N2h0cnJWUHo5dVRkRjlMWWlQWkZVMCtO
clkzbTdpcQpMbGZ1cUQ1QTdtWGlrbWVWZlo5dkZTNFdPWldaWGI3eDBFUGxpTDR1M3h5eTRUL1B1
WDU5cW1aL0QxZGRkVlcxNHljRUlBQUJDRUFBCkFoQ0FBQVFhQVVXdUs3djgwQS85a0Q0OXNTYmlv
d2UvRHJZZHFGdUVSRWpvaDRYSFgzL3gveXNIOVByWUJOYU95L3VqTytodVFicjkKaGdBOFFiMHpF
TXA0NkRvWkNOZlpyd3NJbmJ1WXFlSkFIYWZPYzZqQ0lPS2dMNkZLMXFGK2pOQ1psRUVrZUw3dGNG
MnRsMysrQlZLegpJTDVPWC9LcjQzZmgwZVlUTVZMSFQzdWJZNTMzaWZXdW0zM09LbVEwcnFmdDhj
Tk1OeW1lejN3NXJPelNWKys3djJaOFZOK1pMYTVkCkY3LzQrQmxrNXc4UFhuNzU1YzJmRXdRZ0FB
RUlRQUFDRUlBQUJDcUJGUzlBTm0vZVhONzczdmNtR1BZak9Rak8waUFIM3lvUklhMysKK1lNSHlx
Zi85Y3Yxai84S2xLdGdxSm1ESWZzZ3Z3VHNEdWJia2U5dXFMNEg3TFhkd2I5c05GNFZBOTFlOWZM
ckFYN0VoTzZ6Uk1wegphdjJrM3Y0UkV4WVVTM3RCbkNueHNaZzNZR2tJMmMwZUdUZDFick1tc1VE
eStIWHNldGExWllIcWhxVlh0bWwyN2k5Mk9mdGFnc1RqCmRuSGo4WDJvS1J4MCt0cjk5NVdERW5D
RDhGQmQrdHU0d1ZjcGZkbWJzeC9yVzFha3QzR0dBQVFnQUFFSVFBQUNFSUNBbzlRVlh6NzgKNFEv
bkdSejhPamgyeVU4RjF4RWtxc3U5ZnZ5VnNpQlA3OTJiNER2QnRqTWJDYlJyUU81NHV3ZnVmUk41
c2c0TzFKMzlzRUV5RzlYZQpRWHo4MDRmOE1QS2VBQUFnQUVsRVFWUndwazEyWHIvVkJFd1hGRU5i
MjdUZWhZTEZ5VksvSGtQM0ZnS3RMOXZsdnZYbmJFVE51bFRoClVzVk5uNS9IVnBGUDlaY1lza0NK
bUtrQ284NU43WDNPdHEwemJuWDJxYy9WR2V3OWVLaDg1ZDc3MG5mOE5VakcwWnV2YkdQMlhYeVkK
dWIvVFFvRUFCQ0FBQVFoQUFBSVFnTURKQkJ4NXJ2aXlZOGVPY3YzMTErdVA4VlZ3NUMvMEZoMEsy
SzBiaG5zOTZTSDlCZjlQL3AvUApaMGxXMVNvSm84UEFka1BnYmdIaGV6ZnJNc1g5SlVPZ2lwNHBp
QmlvQWJzSHE1a0ZuUzBxa3Btb1lxR0todGJlUmNwZ2I0R2d2UllXCkNSWW5iYWxWNWhJaG9mRmlX
L3NhM3BMbGg5TTh1cURJMktxcndrcHRFUmcrYTF3L1JyOVhWVlVQcm5WUmhlZms5Z29sZGJXMS92
eW4KMjIvWDNvOWoxVTM5NVUxakhuOUQzWHllYnZURC9uNzE3cm5ubnR1ck9FTUFBaENBQUFRZ0FB
RUlRR0FnY0VvSUVEL05Sei82MFhMQwo2M2hWRi8yZ3dMb0xrNFZGL1pWZWxmOTgreDNsYXc4K3FF
RGRRYmYzUXRUZ3V3c0lMejN5dGJNR09mZHI5K2xyMlNmbzEzV3lEejdIClJrS2l0U2ZyNEg1OFpC
elp0SE1DZlFtSGZLdkRmYW5MZXRSKzNOY0poMnp0WXdIaER4VjY3UDVhWG85bndaRm5hSFBvYzh6
WTh1bEwKcTFKdlBlRisybEY5TlFIYlplNFdVeDZ2aVNwZFAvenRKL1BtSzR1T0x1YkNWSHMvSW9E
RXROYzdDM0xqalRkcUVBb0VJQUFCQ0VBQQpBaENBQUFTK2s0QWkwVk9qWEhQTk5lVnRiM3RiQW1F
L1VWK09sVURlQWJJcjljTlgvdS8vL05Tbnk3N0RSeUpDSWtRc1ZGcWdIeEhoCkFOM0N4SFUrOTZN
RjhQWkp3RDRUek1kdnRUSVpEdVk5bm9KNDExVnhNTk9INjNVcytzdm5FU1VPK092RzlCNzhSd0M0
elRadDdBVzUKNVRyK2FtdWlJV05aUEdqc1llNXQ3TzViQlpQbjFPYVJQdHgzRXhyMlYxc1ZKQlpF
dGY5RHg0NlYvL0hWVy9JOEZrd1pTOTI0ZlU1ZgpvKy9McmxRVjlxOSs5YXZMQlJkYzRGc0tCQ0FB
QVFoQUFBSVFnQUFFdm9PQW9zeFRwL3pzei83czhKZDRQMVZmVHBUdmI3akNRYmJLCmdqNE04dlJ6
ejVVLytQVGZMZG1ucWYvMWYwbGNSR1JFbU5RQXZlNmxzS2hvdGc3S2RSMDc5OThPQi9JV0UwTTJ4
ZlVXRENjSm12NjkKRC9zdDlhTmZpNWRrT1JNUklXQmZIYTdyL2JSeFpwZUM5Ykh0azNFaktDd2tO
RmVMbWRaWG5hdm5MUmdXSko2WGJUMWUxcHZKWG0zTwpJTjBrOGZIOGdRT3FsMnhUaFRNZjJkUytj
V01USmZXdFYxMklrUDBRS2dvRUlBQUJDRUFBQWhDQXdJc1NVUFI1NmhTL2Vla0RIL2pBCklDb1NM
R3RKVVBZKzZERWpTQlJVKzYvNFhrN2twVmlmMGJkQkVvUTNJZUZXeCtWWjd1VGdYQUgzMGdaeHRT
U0k3MEY3RGV3VHVMZWcKdndxTyt1YXBMa3FTV1hGMklsa0g5UmRCVS90T3BHOEI0THAreE5aamFE
d2R6alpFakhnK3RvMHc4ZGcxZzFIclpKYzJ0ZWNCbWwvYgozOUV6R3A1Ly9OeFhlNVk4Y1ZJYkVo
bFdIbTJjcnozNFFMbnprVWZ5RDJSUm5YcjVtbyt5V3E4OVhyczI5VjE0bU8yMTExNWJ0bS9mCm5u
cCtRQUFDRUlBQUJDQUFBUWhBNElVSUtBbzl0Y292L01JdmxFMWFHdVNBdUFmSFBpYzQxNk02enJZ
dzhZV0Q2VC84ek9mS054L2IKMllMOUh1QXJpRzlZZWliRFFYa1AzTHV3Y0FEdjREMmIzWHVHSVVH
OXhFRmZEaVdSRUJ2WldhaFVzU0lmenlYaVJuUHhmSHpkQlVTYgpaNFNIKzNPNytyRW9pakJLWFJj
aWFsZG1wSXNnWFF6enJBTEd6MlF4b2o3YU0vVHJDQmNMQ2hmUFgrMzFtQ3VQUFBWMHVlbHJYMDlU
Cm5hY3VleDlubktITG12bXdnVm12VzdldS9PQVAvbURzK1FFQkNFQUFBaENBQUFRZ0FJRVhJNkNJ
ODlRcVc3WnNLUlloTGc2TWZUaFkKem5Xcml6QnhuZTZQSEQ5Vy9vOVAvSGw1WXMrZW1RQzhCdm9S
Q2U3SXdzQUJ0dzRIODEySURBRjdFd1JlNXRUM2hzd0crUW51MWRhLwphQjQvQ3hRZEVUZ1dGejJi
NFRGODNlNlRVV2xpSmtMQTlTMHpjdko1R045WkQ0c0p6eXR6ci9PcTE2MXRFQnRWc0F3Wkg5VS91
MjkvCitiKy84Qy9sdUYrdDYrZFhNUXV0WEN2RlM2L01yZ21YTHZJc1BqYXFqUUlCQ0VBQUFoQ0FB
QVFnQUlIdlJ1Q1VFeUIrMkE5OTZFUGwKdXV1dXkzTTdVTzVCY2dKbkIvZ3FpM29qVnE0VVZPL2V2
Ni84bC8vK1orVTU3WFdJY0hDQTdRRGR3YjR6SFBieHZjOE82aDE4Nnp6VQpKNWkzb0tsSEZ4WERl
R212b2liOXRQc0lBbzB4MkRVaFU4ZlJXRTJnZEorTTErYVdiSW12KzV3OG56WituYXZtMlRJZkVU
Y25QWWR0ClhhcndjRC8xZWZZZlBseis3Qi8vcWZoc3ZSRitlbDZmNS9WaHdjVTFTMHV2WEdkeGQ4
a2xsd3k4MHlrL0lBQUJDRUFBQWhDQUFBUWcKOENJRUZLV2Vlc1ZCOGEvLytxL3JFeFgxQzkyeklp
UkJ2Mkp2YXdpRjFTM0lMdVh4cDU4cEgvdjRmeS9QSHpxc3dIMXB1ZE9jM2tLVgo1VTB6b3FFTGdn
VDJMY2lQRUhDbVFuYURFTENBVUYvWmFDN01FUTB0czJHUk1RZ1AxL213djQ5KzM4ZU15TkNrVlcr
ZkxNVnkzODFuCjZNZjI5bTl6a3VHSkdSbjMwL3JNcG5UUHRjM0Q5ZnVQSEMwZi8vdy9sR2VlM3h2
QllXNFJRNTY3TjhBcnc5R3pTZjVYNC9ZMWE5YVUKSC91eEgwdTk2eWdRZ0FBRUlBQUJDRUFBQWhE
NGJnUk9TUUhpQi9abTZGLzkxVjlkQ3FSVjU0QTVod0p6YjBMUGhtckxCY1hsdm43bwppU2ZLYi83
eHg1Y3lJUTdRaDB5Qmx6NEpsek1GRHZ4ejdZQytMWit5YlEvd0l3S2FiVnN1TmJ0SG80b0V0OHUv
Q1lBdUJFNDRlODQrClBKWUZSOXREa214RnoyaG9QcGxMRzdQUEllTEU4M1M3eHBpVGdMQ2QyOU9X
c2V2eUs5Yzc0K0VQTk83YXZWdGptcFBIZGtaSGJOVEgKM09iTllaZjlOR3JzNS9lLy8vM2xyTFBP
a2hVRkFoQ0FBQVFnQUFFSVFBQUMvejRCUmFlbmJuRncvTUVQZmxEeHR3THBMajRjV2JzNApNRmVB
YmVIaDEvSzYrT2ZEdTNhVi8veEgvNjN1Q1VsdzcweUYycXdWa3MzSXhaTFlTSkN2dW9pREd1QXZp
UUFIL3pvYytQdDdIazJNClJHUkV4TGl1Q3BpYVRhbTJ2cDQ5YkJNeDRNeUcrNGh2dFkzNGFCdklJ
eTRzVnByUW1MVWI1cVMrdXZCeEpzWDEzdlB4WHovN3VmTEUKczgrR1EzQ29teFMxejU5NVp0ak1N
alRUTjczcFRlVjFyM3RkTStRRUFRaEFBQUlRZ0FBRUlBQ0JmNTlBRHpQL2Zjc1ZhdkVydi9Jcgp4
YS9uN2NWQmRQYUVXSlRvc0FpcHBlWTZMRWk4SE9zLy85Zi9WdTU1N1BFRTgxME1XRURVNjVuZ3Z3
Zjg3a1RYZFNONEZSdmVaWExDCmR6OGlWbVJqTy90WmFPaDh3dHV1MnJ3OHR5bzYxSmNGaGc5bklu
cDJwZmxudVpXZlFmWjlXWlh0dWdnWmhNY2dVdW84dTNCNVZNLzYKZjMzbXMrV3A1NStQQW9zVVUz
ZDU3YTdSNkkxWGxaTWZzQll6OU1jR0xmQW9FSUFBQkNBQUFRaEFBQUlRR0VOZzdwWmJibWtwZ1RG
dQpLOHYycWFlZUtyLzBTNzlVZkhieFgrOTl6RHY0OTNkQ0ZGQTcxblpkYmRkUFVWbXJZUDhYZnZS
SHlvOWUvK2JVUzdrNE1rL2JuRGF4CjJ6ZjJybk5wOXllZkJ6dDMzN0l0c1QvNVJ4MCsvWi9ZMUg5
Rk10QWNoenVMRUpjWE9kZW5rb3ZFaDBWT2U4akIvdVo3N3kzLzQ4dGYKelpUbW5GbHhhVnpDNkl6
TlpiNTk3Nk16czRuZk5QYnpQLy96NVV4bFJpZ1FnQUFFSUFBQkNFQUFBaEFZUStDMEVDQUc4dEJE
RDVWZgovdVZmTGdmMHBxc2xvVkdGU0VTRnhNTzhnbTlyRVAyc0RIVlN6cUc4Ky9Xdks3LzB3UStV
TS9TdGk4WGo3Y1cwQzhjbFhLclpvcTVUClhreVF1REhDcFR2VXN6TUpMaDdUcGV1WWV2ZWQ5YzYr
cE1qUVdZbitIRjJBREptS0praXk3OFFPWHJybDdJbkdzYzNCbzhmSzMzenAKNW5LYm1MZ2tJK09u
ZG9iSC9jcC9YbnMrNXZUQndUNUc2dFcyWG0vQ3N2ZzQvL3p6NDhzUENFQUFBaENBQUFRZ0FBRUlq
Q0Z3MmdnUQpRN24xMWx2THIvM2FyNVdqUjQrR1VRK3FUODZFdU5GaUpEcEVHc0hYNTJxajlmLytF
eDhzYjc3c3NnaUZaRUNPVitIaERJckxrT25vClNrTFZGaWNlWjlHMjdsTWxQMjNUN1ZyOWk5L2Jx
V1U3MG9OK05KRXhLMFM2QU9sQ3BXZEFZcHNNeDV3K3V2aDQrYXN2ZnJFOHYvOUEKNWpPSURzMWh6
aUxGeThMMElVY3Y5VElYbHk1Qy9NYXJuL21abnlrN2R1eElQVDhnQUFFSVFBQUNFSUFBQkNBd2xz
QnBKVUFNNTh0Zgovbkw1emQvOHpYTHMyTEdCVlJjaXFYQW1SQmVwMDluU3dvSmgzdGtCL2ZkdWJi
cis2UHQvdUp5cjVVbHAwMUtzdnVScUVDRDJtMW1PCjFRUDRpQkQzMXdXSHJydXZMM3R4dnk0Uktr
MEUxSnIyczRzUEN4aGR4MDdDb1dkVXVsaXBTNjhzTE9iS25nTUh5NmYvOVYvTDF4K3MKV1k5NWl3
MzNJK2Y2ckxLVHdKaVgrSmlYK0hCZnFZOHdtZE5MdUZhWG4vcXBueXBYWEhIRkNWUGhCZ0lRZ0FB
RUlBQUJDRUFBQW1NSQpuSFlDeEhCbVJjaHNvSjFNU0RJVEVpR0s3V3RnWG5IV1lOenh1cFloYVYv
RVQ3N3JuZVdEYjMxTDJiQld5NVQwWDEyR3BXaStaVHhtCjkzb01TN1RVMVp6M2dFUXhPQUZTcFli
N1R1bWk1U1RSTVd1WGpFZTFycS9uZFo4NjhxcmVDQkl2MDVKNDhOdXVWQTRlTzFyKytmWTcKeXYv
N2pkc2x1cHlGVWFWRmhmL3p1RHI4M0hONnBybjJuUS9YOSt5SCszRG13K0xqeWl1djlDMEZBaENB
QUFRZ0FBRUlRQUFDa3dtYwpsZ0xFdEx3Y3k1a1E3d2x4NlNLZ0I5NkowNVhkNklGNkZTcU8zeFdj
TzREWHNWa2ZPdnhmM3ZtTzhpTTN2TGxzVWdEditEOUxzNFp6CkV4ajFKRm5RTHZwZWtZeHN1ZEF2
bXIzNmRsbXFyKzE5YVZWdmllaFFrNjJYOW5oSVRLamlrUFo1L011ZGQ1Vi91TzIyY3ZEd2tSalYK
WjlUYysxNFBQNDAycU0vcE9lYlhyc3NndHZFUlVhTHpPdTE3K2VtZi91bHltWmFlVVNBQUFRaEFB
QUlRZ0FBRUlQQlNDWnkyQXNUZwpIbnp3d1h3eC9lbW5ueDQ0OWdEY0ZWV0VERHNwWXBQZzNFRjZE
Qkw2bDQzcjFwY2ZmdU1ieW8rKzlZWnkwZGF6bDRSRDI1eHVuMnhlCmoxUHR0NzU2S2wxS1BReFNJ
eFg5em42MXdwdk92VEJzU2FEVSs5cnNUZVl1bnRXdTUvYVVMOXh4Wi9uWGU3NVpqaWpqMGQ5dXRT
U3MKWk9XTWgvdjJWOTQzYk5SblJsWU5ncVAxbUhhLzdlcm5mdTduOGxISFhzOFpBaENBQUFRZ0FB
RUlRQUFDTDRYQWFTMUFETTZ2NXYzWQp4ejVXdnZuTmI0YWpBL04rdU1LQnUvZHp6RXNrRElMQTli
YlQyWFdXQlZVRHpKV3JMcm00L0U5NmE5YmJYbk4xT1Z2N0tWeG1NeU8rCmQrenYwdmVFOUlwV2Zi
SWV5VDRQMnc5K25vdVdXSFdoOHB5eU9GOS80TUh5bGZ2dUwvLzI3VjJaVStZbGcreGRzWGhSNTk3
M2tYNmMKOVpCb1dxVTNXdlhTbjdtZkw3bmtrbXc0dHdpaFFBQUNFSUFBQkNBQUFRaEE0UHRGNExR
WElBYnB0Mkw5N3UvK2J2bjBweitkNE4xMQpEc1FqUGhUc0Q5a0RCLzVhbGhWQjRYWWRWUlJVNmVD
ZnJuT2xUNWRmZUdGNWs1WXVYZk1EbDVZcmRMMWh6VnAzM1h4MDBSUkVsbVpwCmIwanRxd2tXZnpo
d3R0MStrVHphMTZINVBxUXZ0dC8vK09QbHptODlVaDU5VXQ4M3FWT0l6YkRFcW5YWVJVWE9XbEkx
cCtWV1BRdlMKMitxODZqUGZlT09ONVNkKzRpZXk4ZHoxRkFoQUFBSVFnQUFFSUFBQkNIeS9DQ0JB
WmtqZWROTk5FU0w3OSsrWEdMQ0lxSWROQmhGaQpmU0Zoa05mckt0dy9XWVFNOTdJWmxqK3BIMmNm
THRsMlhybjB2UFBLUmVlY1U3YWZ2YlZzMVZmR2ZaeWhQUmorNk9GcUxZbHk4V2J4Cnd4SVpCN1Iz
NDdrRCs4dnVmWHZMazd2M2xDZWUzVjEyUHZPc3pzOUttMVIxa2psYWRuaXVNMHV4VHJqMytCWWQy
cWZpTjF6MVlocy8KbDgvZTQ3SkI4L2pKbi96SmN2MzExM2NUemhDQUFBUWdBQUVJUUFBQ0VQaStF
a0NBbklSemx6SUx2LzNidjUxTjZtN3FRWHJkaEw0awpTRlo1YVphLzdlRU1pWVAvZHRodUVDRmRH
TFF4dkJ6S3FZcjhsTDJMVC9aMXNWODkxeVZUMWhnWnY5dk9DSXplbDRWSVhxa3JtMXJuCkhqd2Zp
eVlKbWpYNm5vYzNtRGVoc1NTazZsajkrZng2M1k5ODVDUGw3TFBQemh6NEFRRUlRQUFDRUlBQUJD
QUFnZjhJQWdpUUY2QnEKRWZHcFQzMnEvTkVmL1ZIWnQyOWZSRUFYQ1Q3UEhuYjNod2h6K0ZydFhh
eEVVQ2pPcjVKalNXRDB2cnBRU2JzVmcwb1hJYjd0ZHJQago5YjZXNnV6bE9kVnhJakM4eDhOZk1k
ZnJjL05WYzRtUFhwYjg3RE5YTnVyVnV4Lzg0QWZMTzkvNXptRzhic3NaQWhDQUFBUWdBQUVJClFB
QUMzMjhDQ0pEdlFuVFBuajNsRC8vd0Q4dG5Qdk9aaUlxK1hNbUJ1MHNQNW4yZHdMOEpFVy9lOERL
dDFGY2xrYXhIN3BYRnlIL3EKd2liMVR1ZFdieHYzVzhWSlZJV3JZbGNGallWRHFwTDVxQjJyenFK
ajFlcjZNVUYvemJ3WnpXWThlbDM2bHloNSs5dmZYajcwb1ErVgpNN1FNakFJQkNFQUFBaENBQUFR
Z0FJSGxJSUFBK1I0bzMzdnZ2ZVdQLy9pUDh3SEQyU0RlMXoyWTcxbVBYaGVOSUVIaUpWcCtUNWJr
CmdWVkVWRWUxc2RDb21Za1RzeDZ1czA5ZlVsWEg4RFR0WGtWUUxpUmF0TVRLcjlEVnZvNTgxZHcy
YlU3OXJLcGhqdjM2Mm11dkxULysKNHo5ZUxyMzBVbGRSSUFBQkNFQUFBaENBQUFRZ3NHd0VFQ0Fq
VU45OTk5M2xULzdrVDhvdHQ5d1NyNTVkOEUyLzdtY0xBRjluVDBoYgpBbVVoWW1GUjlGcmZDQVQ1
UlpOSXBHVC9odlJLemhZUi9rOW4vVWcvRVJpK2x1QlFSUVJIMnQxSHMvRThYUHA5Yis5MXIzM3Rh
NVB4CjJMRmpSK3o0QVFFSVFBQUNFSUFBQkNBQWdlVW1nQUNaUVB6aGh4OHVmLzNYZjEwKy8vblA1
eFcrN3NMQmZnLzRaNjluQlVtdlA5bnUKaGU1bjYyYjc2R045dDdwdTR6N1c2czFYWG1yMW52ZThw
MXgwMFVWdW9rQUFBaENBQUFRZ0FBRUlRT0JsSTRBQWVRbm85KzdkVy83eApILzh4UXNUWkVRZjgv
WEMzL2RybmsrOTcyMng5di81dTRtSzJyeGV5Ni8xZWZ2bmw1UjN2ZUVlNTRZWWIyT01SK3Z5QUFB
UWdBQUVJClFBQUNFSGdsRUVDQWZKOStDenQzN2l4Zi9PSVh5MWUrOHBWeTExMTNsZU42Ulc4WEF6
NWJMSHpIUHBFWEVDYWV6cXlmcjExbXhVYXYKbTdWYnJYMGdWMTU1Wlhuakc5K1k3M2hzMjdZdGZ2
eUFBQVFnQUFFSVFBQUNFSURBSzRrQUF1US80TGZoRHhsKzR4dmZLTTZLM0hQUApQZVdCQng0b1I0
NGNHWVNGaDV3VkQvMjYxL2Z6ck9nNHVXNmR2bWkrUTNzNXJycnFxdUp2ZUZ4enpUVjVwYTd0S0JD
QUFBUWdBQUVJClFBQUNFSGlsRWtDQUxNTnY1dGl4WStXSko1NG9qejc2YUE1LzdOQ3YrTjI5ZTNk
NTdybm5JazRzVUk3cTYrY1dIZDYzNGNNaVkrdFcKZlRHOUhjNXFYSHp4eGVYQ0N5OHMyN2R2MTVm
VGw3NXF2Z3lQd1JBUWdBQUVJQUFCQ0VBQUFoQjR5UVFRSUM4WklSMUFBQUlRZ0FBRQpJQUFCQ0VB
QUF0OHJnYVZQWkgrdkh0aEJBQUlRZ0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJ
UUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFB
QWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlR
Z0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0UVFBQwpFSUFB
QkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdB
QUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJD
RUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFB
QUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0UVFBQwpF
SUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFB
UWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlB
QUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FR
aEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0UVFB
QwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhD
QUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhz
RUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VF
R0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0
UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVj
YmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdF
aHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FU
d2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFRVElS
SEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FBRUlBQUJDRUFBQWhDWVNBQUJN
aEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFn
RXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VF
Q0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFR
VElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FBRUlBQUJDRUFBQWhDWVNB
QUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpo
SkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZ
a0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdB
aUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FBRUlBQUJDRUFBQWhD
WVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FB
RUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNB
QWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJ
UUdBaUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FBRUlBQUJDRUFB
QWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFRaEFBQUlR
Z0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEK
QkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdB
QUVJUUdBaUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FBRUlBQUJD
RUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFRaEFB
QUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJ
QUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFB
UWdBQUVJUUdBaUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FBRUlB
QUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNBQUFR
aEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJUUFB
Q0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFBQWhD
QUFBUWdBQUVJUUdBaUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lRZ0FB
RUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFBQkNB
QUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dBQUVJ
UUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BDRUFB
QWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERBd0lR
Z0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04SUFB
QkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16d2dB
QUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3d1BD
RUFBQWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhqUERB
d0lRZ0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQSE04
SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1ROE16
d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FBWnp3
d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NCQXhq
UERBd0lRZ0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJCmtQ
SE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRBQW1R
OE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXduZ0FB
Wnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxqQ1NC
QXhqUERBd0lRZ0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFlQUlJ
CmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdNSjRB
QW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJDSXdu
Z0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFBQUxq
Q1NCQXhqUERBd0lRZ0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJREFl
QUlJCmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFBUWdN
SjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlBQUJD
SXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0UVFBQwpFSUFBQkNBQUFRaEFB
QUxqQ1NCQXhqUERBd0lRZ0FBRUlBQUJDRUFBQWhDWVNBQUJNaEVjYmhDQUFBUWdBQUVJUUFBQ0VJ
REFlQUlJCmtQSE04SUFBQkNBQUFRaEFBQUlRZ0FBRUpoSkFnRXdFaHhzRUlBQUJDRUFBQWhDQUFB
UWdNSjRBQW1ROE16d2dBQUVJUUFBQ0VJQUEKQkNBQWdZa0VFQ0FUd2VFR0FRaEFBQUlRZ0FBRUlB
QUJDSXduZ0FBWnp3d1BDRUFBQWhDQUFBUWdBQUVJUUdBaUFRVElSSEM0UVFBQwpFT013YWdzQUFC
WTJTVVJCVklBQUJDQUFBUWhBQUFMakNTQkF4alBEQXdJUWdBQUVJQUFCQ0VBQUFoQ1lTQUFCTWhF
Y2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlrUEhNOElBQUJDQUFBUWhBQUFJUWdBQUVKaEpBZ0V3
RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFtUTgKTXp3Z0FBRUlRQUFDRUlBQUJDQUFnWWtFRUNB
VHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdBQVp6d3dQQ0VBQUFoQ0FBQVFnQUFFSQpRR0FpQVFU
SVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNTQkF4alBEQXdJUWdBQUVJQUFCQ0VBQUFoQ1lTQUFC
TWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlrUEhNOElBQUJDQUFBUWhBQUFJUWdBQUVKaEpB
Z0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFtUTgKTXp3Z0FBRUlRQUFDRUlBQUJDQUFnWWtF
RUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdBQVp6d3dQQ0VBQUFoQ0FBQVFnQUFFSQpRR0Fp
QVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNTQkF4alBEQXdJUWdBQUVJQUFCQ0VBQUFoQ1lT
QUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlrUEhNOElBQUJDQUFBUWhBQUFJUWdBQUVK
aEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFtUTgKTXp3Z0FBRUlRQUFDRUlBQUJDQUFn
WWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdBQVp6d3dQQ0VBQUFoQ0FBQVFnQUFFSQpR
R0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNTQkF4alBEQXdJUWdBQUVJQUFCQ0VBQUFo
Q1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlrUEhNOElBQUJDQUFBUWhBQUFJUWdB
QUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFtUTgKTXp3Z0FBRUlRQUFDRUlBQUJD
QUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdBQVp6d3dQQ0VBQUFoQ0FBQVFnQUFF
SQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNTQkF4alBEQXdJUWdBQUVJQUFCQ0VB
QUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlrUEhNOElBQUJDQUFBUWhBQUFJ
UWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFtUTgKTXp3Z0FBRUlRQUFDRUlB
QUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdBQVp6d3dQQ0VBQUFoQ0FBQVFn
QUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNTQkF4alBEQXdJUWdBQUVJQUFC
Q0VBQUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlrUEhNOElBQUJDQUFBUWhB
QUFJUWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFtUTgKTXp3Z0FBRUlRQUFD
RUlBQUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdBQVp6d3dQQ0VBQUFoQ0FB
QVFnQUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNTQkF4alBEQXdJUWdBQUVJ
QUFCQ0VBQUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlrUEhNOElBQUJDQUFB
UWhBQUFJUWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFtUTgKTXp3Z0FBRUlR
QUFDRUlBQUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdBQVp6d3dQQ0VBQUFo
Q0FBQVFnQUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNTQkF4alBEQXdJUWdB
QUVJQUFCQ0VBQUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlrUEhNOElBQUJD
QUFBUWhBQUFJUWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFtUTgKTXp3Z0FB
RUlRQUFDRUlBQUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdBQVp6d3dQQ0VB
QUFoQ0FBQVFnQUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNTQkF4alBEQXdJ
UWdBQUVJQUFCQ0VBQUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlrUEhNOElB
QUJDQUFBUWhBQUFJUWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFtUTgKTXp3
Z0FBRUlRQUFDRUlBQUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdBQVp6d3dQ
Q0VBQUFoQ0FBQVFnQUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNTQkF4alBE
QXdJUWdBQUVJQUFCQ0VBQUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlrUEhN
OElBQUJDQUFBUWhBQUFJUWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFtUTgK
TXp3Z0FBRUlRQUFDRUlBQUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdBQVp6
d3dQQ0VBQUFoQ0FBQVFnQUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNTQkF4
alBEQXdJUWdBQUVJQUFCQ0VBQUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVBSUlr
UEhNOElBQUJDQUFBUWhBQUFJUWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0QUFt
UTgKTXp3Z0FBRUlRQUFDRUlBQUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3bmdB
QVp6d3dQQ0VBQUFoQ0FBQVFnQUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFMakNT
QkF4alBEQXdJUWdBQUVJQUFCQ0VBQUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlEQWVB
SUlrUEhNOElBQUJDQUFBUWhBQUFJUWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFnTUo0
QUFtUTgKTXp3Z0FBRUlRQUFDRUlBQUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFCQ0l3
bmdBQVp6d3dQQ0VBQUFoQ0FBQVFnQUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhBQUFM
akNTQkF4alBEQXdJUWdBQUVJQUFCQ0VBQUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFDRUlE
QWVBSUlrUEhNOElBQUJDQUFBUWhBQUFJUWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FBQVFn
TUo0QUFtUTgKTXp3Z0FBRUlRQUFDRUlBQUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJQUFC
Q0l3bmdBQVp6d3dQQ0VBQUFoQ0FBQVFnQUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFBUWhB
QUFMakNTQkF4alBEQXdJUWdBQUVJQUFCQ0VBQUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlRQUFD
RUlEQWVBSUlrUEhNOElBQUJDQUFBUWhBQUFJUWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFoQ0FB
QVFnTUo0QUFtUTgKTXp3Z0FBRUlRQUFDRUlBQUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdBQUVJ
QUFCQ0l3bmdBQVp6d3dQQ0VBQUFoQ0FBQVFnQUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJDQUFB
UWhBQUFMakNTQkF4alBEQXdJUWdBQUVJQUFCQ0VBQUFoQ1lTQUFCTWhFY2JoQ0FBQVFnCkFBRUlR
QUFDRUlEQWVBSUlrUEhNOElBQUJDQUFBUWhBQUFJUWdBQUVKaEpBZ0V3RWh4c0VJQUFCQ0VBQUFo
Q0FBQVFnTUo0QUFtUTgKTXp3Z0FBRUlRQUFDRUlBQUJDQUFnWWtFRUNBVHdlRUdBUWhBQUFJUWdB
QUVJQUFCQ0l3bmdBQVp6d3dQQ0VBQUFoQ0FBQVFnQUFFSQpRR0FpQVFUSVJIQzRRUUFDRUlBQUJD
QUFBUWhBQUFMakNTQkF4alBEQXdJUWdBQUVJUEQvdDErSEJBQUFBQXpDK3JkK2hxTVhBRE1ICkFR
SUVDQkNJQWdZa3dza0lFQ0JBZ0FBQkFnUUlFUGdGRE1odnBpQkFnQUFCQWdRSUVDQkFJQW9Za0Fn
bkkwQ0FBQUVDQkFnUUlFRGcKRnpBZ3Y1bUNBQUVDQkFnUUlFQ0FBSUVvWUVBaW5Jd0FBUUlFQ0JB
Z1FJQUFnVi9BZ1B4bUNnSUVDQkFnUUlBQUFRSUVvb0FCaVhBeQpBZ1FJRUNCQWdBQUJBZ1IrQVFQ
eW15a0lFQ0JBZ0FBQkFnUUlFSWdDQmlUQ3lRZ1FJRUNBQUFFQ0JBZ1ErQVVNeUcrbUlFQ0FBQUVD
CkJBZ1FJRUFnQ2hpUUNDY2pRSUFBQVFJRUNCQWdRT0FYTUNDL21ZSUFBUUlFQ0JBZ1FJQUFnU2hn
UUNLY2pBQUJBZ1FJRUNCQWdBQ0IKWDhDQS9HWUtBZ1FJRUNCQWdBQUJBZ1NpZ0FHSmNESUNCQWdR
SUVDQUFBRUNCSDRCQS9LYktRZ1FJRUNBQUFFQ0JBZ1FpQUlHSk1MSgpDQkFnUUlBQUFRSUVDQkQ0
QlF6SWI2WWdRSUFBQVFJRUNCQWdRQ0FLR0pBSUp5TkFnQUFCQWdRSUVDQkE0QmN3SUwrWmdnQUJB
Z1FJCkVDQkFnQUNCS0dCQUlweU1BQUVDQkFnUUlFQ0FBSUZmd0lEOFpnb0NCQWdRSUVDQUFBRUNC
S0tBQVlsd01nSUVDQkFnUUlBQUFRSUUKZmdFRDhwc3BDQkFnUUlBQUFRSUVDQkNJQWdZa3dza0lF
Q0JBZ0FBQkFnUUlFUGdGRE1odnBpQkFnQUFCQWdRSUVDQkFJQW9Za0FnbgpJMENBQUFFQ0JBZ1FJ
RURnRnpBZ3Y1bUNBQUVDQkFnUUlFQ0FBSUVvWUVBaW5Jd0FBUUlFQ0JBZ1FJQUFnVi9BZ1B4bUNn
SUVDQkFnClFJQUFBUUlFb29BQmlYQXlBZ1FJRUNCQWdBQUJBZ1IrQVFQeW15a0lFQ0JBZ0FBQkFn
UUlFSWdDQmlUQ3lRZ1FJRUNBQUFFQ0JBZ1EKK0FVTXlHK21JRUNBQUFFQ0JBZ1FJRUFnQ2hpUUND
Y2pRSUFBQVFJRUNCQWdRT0FYTUNDL21ZSUFBUUlFQ0JBZ1FJQUFnU2hnUUNLYwpqQUFCQWdRSUVD
QkFnQUNCWDhDQS9HWUtBZ1FJRUNCQWdBQUJBZ1NpZ0FHSmNESUNCQWdRSUVDQUFBRUNCSDRCQS9L
YktRZ1FJRUNBCkFBRUNCQWdRaUFJR0pNTEpDQkFnUUlBQUFRSUVDQkQ0QlF6SWI2WWdRSUFBQVFJ
RUNCQWdRQ0FLR0pBSUp5TkFnQUFCQWdRSUVDQkEKNEJjd0lMK1pnZ0FCQWdRSUVDQkFnQUNCS0dC
QUlweU1BQUVDQkFnUUlFQ0FBSUZmd0lEOFpnb0NCQWdRSUVDQUFBRUNCS0tBQVlsdwpNZ0lFQ0JB
Z1FJQUFBUUlFZmdFRDhwc3BDQkFnUUlBQUFRSUVDQkNJQWdZa3dza0lFQ0JBZ0FBQkFnUUlFUGdG
RE1odnBpQkFnQUFCCkFnUUlFQ0JBSUFvWWtBZ25JMENBQUFFQ0JBZ1FJRURnRnpBZ3Y1bUNBQUVD
QkFnUUlFQ0FBSUVvWUVBaW5Jd0FBUUlFQ0JBZ1FJQUEKZ1YvQWdQeG1DZ0lFQ0JBZ1FJQUFBUUlF
b29BQmlYQXlBZ1FJRUNCQWdBQUJBZ1IrQVFQeW15a0lFQ0JBZ0FBQkFnUUlFSWdDQmlUQwp5UWdR
SUVDQUFBRUNCQWdRK0FVTXlHK21JRUNBQUFFQ0JBZ1FJRUFnQ2hpUUNDY2pRSUFBQVFJRUNCQWdR
T0FYTUNDL21ZSUFBUUlFCkNCQWdRSUFBZ1NoZ1FDS2NqQUFCQWdRSUVDQkFnQUNCWDhDQS9HWUtB
Z1FJRUNCQWdBQUJBZ1NpZ0FHSmNESUNCQWdRSUVDQUFBRUMKQkg0QkEvS2JLUWdRSUVDQUFBRUNC
QWdRaUFJR0pNTEpDQkFnUUlBQUFRSUVDQkQ0QlF6SWI2WWdRSUFBQVFJRUNCQWdRQ0FLR0pBSQpK
eU5BZ0FBQkFnUUlFQ0JBNEJjd0lMK1pnZ0FCQWdRSUVDQkFnQUNCS0dCQUlweU1BQUVDQkFnUUlF
Q0FBSUZmd0lEOFpnb0NCQWdRCklFQ0FBQUVDQktLQUFZbHdNZ0lFQ0JBZ1FJQUFBUUlFZmdFRDhw
c3BDQkFnUUlBQUFRSUVDQkNJQWdZa3dza0lFQ0JBZ0FBQkFnUUkKRVBnRkRNaHZwaUJBZ0FBQkFn
UUlFQ0JBSUFvWWtBZ25JMENBQUFFQ0JBZ1FJRURnRnpBZ3Y1bUNBQUVDQkFnUUlFQ0FBSUVvWUVB
aQpuSXdBQVFJRUNCQWdRSUFBZ1YvQWdQeG1DZ0lFQ0JBZ1FJQUFBUUlFb29BQmlYQXlBZ1FJRUNC
QWdBQUJBZ1IrQVFQeW15a0lFQ0JBCmdBQUJBZ1FJRUlnQ0JpVEN5UWdRSUVDQUFBRUNCQWdRK0FV
TXlHK21JRUNBQUFFQ0JBZ1FJRUFnQ2hpUUNDY2pRSUFBQVFJRUNCQWcKUU9BWE1DQy9tWUlBQVFJ
RUNCQWdRSUFBZ1NoZ1FDS2NqQUFCQWdRSUVDQkFnQUNCWDhDQS9HWUtBZ1FJRUNCQWdBQUJBZ1Np
Z0FHSgpjRElDQkFnUUlFQ0FBQUVDQkg0QkEvS2JLUWdRSUVDQUFBRUNCQWdRaUFJR0pNTEpDQkFn
UUlBQUFRSUVDQkQ0QlF6SWI2WWdRSUFBCkFRSUVDQkFnUUNBS0dKQUlKeU5BZ0FBQkFnUUlFQ0JB
NEJjd0lMK1pnZ0FCQWdRSUVDQkFnQUNCS0dCQUlweU1BQUVDQkFnUUlFQ0EKQUlGZndJRDhaZ29D
QkFnUUlFQ0FBQUVDQktLQUFZbHdNZ0lFQ0JBZ1FJQUFBUUlFZmdFRDhwc3BDQkFnUUlBQUFRSUVD
QkNJQWdZawp3c2tJRUNCQWdBQUJBZ1FJRVBnRkRNaHZwaUJBZ0FBQkFnUUlFQ0JBSUFvWWtBZ25J
MENBQUFFQ0JBZ1FJRURnRnpBZ3Y1bUNBQUVDCkJBZ1FJRUNBQUlFb1lFQWluSXdBQVFJRUNCQWdR
SUFBZ1YvQWdQeG1DZ0lFQ0JBZ1FJQUFBUUlFb29BQmlYQXlBZ1FJRUNCQWdBQUIKQWdSK0FRUHlt
eWtJRUNCQWdBQUJBZ1FJRUlnQ0JpVEN5UWdRSUVDQUFBRUNCQWdRK0FVTXlHK21JRUNBQUFFQ0JB
Z1FJRUFnQ2hpUQpDQ2NqUUlBQUFRSUVDQkFnUU9BWE1DQy9tWUlBQVFJRUNCQWdRSUFBZ1NoZ1FD
S2NqQUFCQWdRSUVDQkFnQUNCWDhDQS9HWUtBZ1FJCkVDQkFnQUFCQWdTaWdBR0pjRElDQkFnUUlF
Q0FBQUVDQkg0QkEvS2JLUWdRSUVDQUFBRUNCQWdRaUFJR0pNTEpDQkFnUUlBQUFRSUUKQ0JENEJR
ekliNllnUUlBQUFRSUVDQkFnUUNBS0dKQUlKeU5BZ0FBQkFnUUlFQ0JBNEJjd0lMK1pnZ0FCQWdR
SUVDQkFnQUNCS0dCQQpJcHlNQUFFQ0JBZ1FJRUNBQUlGZndJRDhaZ29DQkFnUUlFQ0FBQUVDQktL
QUFZbHdNZ0lFQ0JBZ1FJQUFBUUlFZmdFRDhwc3BDQkFnClFJQUFBUUlFQ0JDSUFnWWt3c2tJRUNC
QWdBQUJBZ1FJRVBnRkRNaHZwaUJBZ0FBQkFnUUlFQ0JBSUFvWWtBZ25JMENBQUFFQ0JBZ1EKSUVE
Z0Z6QWd2NW1DQUFFQ0JBZ1FJRUNBQUlFb1lFQWluSXdBQVFJRUNCQWdRSUFBZ1YvQWdQeG1DZ0lF
Q0JBZ1FJQUFBUUlFb29BQgppWEF5QWdRSUVDQkFnQUFCQWdSK0FRUHlteWtJRUNCQWdBQUJBZ1FJ
RUlnQ0JpVEN5UWdRSUVDQUFBRUNCQWdRK0FVTXlHK21JRUNBCkFBRUNCQWdRSUVBZ0NoaVFDQ2Nq
UUlBQUFRSUVDQkFnUU9BWE1DQy9tWUlBQVFJRUNCQWdRSUFBZ1NoZ1FDS2NqQUFCQWdRSUVDQkEK
Z0FDQlg4Q0EvR1lLQWdRSUVDQkFnQUFCQWdTaWdBR0pjRElDQkFnUUlFQ0FBQUVDQkg0QkEvS2JL
UWdRSUVDQUFBRUNCQWdRaUFJRwpKTUxKQ0JBZ1FJQUFBUUlFQ0JENEJRekliNllnUUlBQUFRSUVD
QkFnUUNBS0dKQUlKeU5BZ0FBQkFnUUlFQ0JBNEJjd0lMK1pnZ0FCCkFnUUlFQ0JBZ0FDQktHQkFJ
cHlNQUFFQ0JBZ1FJRUNBQUlGZndJRDhaZ29DQkFnUUlFQ0FBQUVDQktLQUFZbHdNZ0lFQ0JBZ1FJ
QUEKQVFJRWZnRUQ4cHNwQ0JBZ1FJQUFBUUlFQ0JDSUFnWWt3c2tJRUNCQWdBQUJBZ1FJRVBnRkRN
aHZwaUJBZ0FBQkFnUUlFQ0JBSUFvWQprQWduSTBDQUFBRUNCQWdRSUVEZ0Z6QWd2NW1DQUFFQ0JB
Z1FJRUNBQUlFb1lFQWluSXdBQVFJRUNCQWdRSUFBZ1YvQWdQeG1DZ0lFCkNCQWdRSUFBQVFJRW9v
QUJpWEF5QWdRSUVDQkFnQUFCQWdSK0FRUHlteWtJRUNCQWdBQUJBZ1FJRUlnQ0JpVEN5UWdRSUVD
QUFBRUMKQkFnUStBVU15RyttSUVDQUFBRUNCQWdRSUVBZ0NoaVFDQ2NqUUlBQUFRSUVDQkFnUU9B
WE1DQy9tWUlBQVFJRUNCQWdRSUFBZ1NoZwpRQ0tjakFBQkFnUUlFQ0JBZ0FDQlg4Q0EvR1lLQWdR
SUVDQkFnQUFCQWdTaWdBR0pjRElDQkFnUUlFQ0FBQUVDQkg0QkEvS2JLUWdRCklFQ0FBQUVDQkFn
UWlBSUdKTUxKQ0JBZ1FJQUFBUUlFQ0JENEJRekliNllnUUlBQUFRSUVDQkFnUUNBS0dKQUlKeU5B
Z0FBQkFnUUkKRUNCQTRCY3dJTCtaZ2dBQkFnUUlFQ0JBZ0FDQktHQkFJcHlNQUFFQ0JBZ1FJRUNB
QUlGZndJRDhaZ29DQkFnUUlFQ0FBQUVDQktLQQpBWWx3TWdJRUNCQWdRSUFBQVFJRWZnRUQ4cHNw
Q0JBZ1FJQUFBUUlFQ0JDSUFnWWt3c2tJRUNCQWdBQUJBZ1FJRVBnRkRNaHZwaUJBCmdBQUJBZ1FJ
RUNCQUlBb1lrQWduSTBDQUFBRUNCQWdRSUVEZ0Z6QWd2NW1DQUFFQ0JBZ1FJRUNBQUlFb1lFQWlu
SXdBQVFJRUNCQWcKUUlBQWdWL0FnUHhtQ2dJRUNCQWdRSUFBQVFJRW9vQUJpWEF5QWdRSUVDQkFn
QUFCQWdSK0FRUHlteWtJRUNCQWdBQUJBZ1FJRUlnQwpCaVRDeVFnUUlFQ0FBQUVDQkFnUStBVU15
RyttSUVDQUFBRUNCQWdRSUVBZ0NoaVFDQ2NqUUlBQUFRSUVDQkFnUU9BWEdPWlZ2R0sxCkV4VUhB
QUFBQUVsRlRrU3VRbUNDCgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0
b20vanMtdXBkYXRlLWdyYWRpZW50LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNw
bGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2Uv
cG5nCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQURPMmxE
UTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGCmxFdG8xRkFVaHYrTUtZSzBncWkxRnBUZ1FvdTBKVDdR
aWxEYmFiWFdrWEVZKzlBaXlEUnpaeHBOTXpHWkdSK0lTRUhjK1ZxS0d4K0kKaXlyaVFycFFjS1VM
a1VMcmExRUVjYVVpaUVJM1VzYi9KdTFNS2xZdkpQbHl6bi9QNjRZQVZROVRqbU5GTkdEWXpydkpy
cWgyNlBDQQp0bmdDVmFoQk5iaFNodWUwSnhMN2ZhWldQdWV2NmJkUXBHV3lTY2FLOVIyWStMUnQ5
ZjFMajJMdjY1NzIrcDc1K25sdk5TNFRBb3BHCjY0cHN3RnNsRHdhOFYvTEp2Sk9uNW9oa1l5aVZK
anZrUnJjbjJVRytRVjZhRGZGZ2lOUENNNENxTm1weWh1TXlUbVFGdWFWb1pHWE0KVWJKdXAwMmJQ
Q1h0YWM4WXBvYjlSbjdJV2RER2xZOEJyV3VBUlM4cnRnRVBHTDBMckZwZnNUWFVBU3Y3Z2JFdEZk
dlBwRDhmcFhiYwp5MnpaN0lkVHFxT3M2VU9wOUhNOXNQZ2FNSE8xVlBwMXExU2F1YzBjck9PWlpS
VGNvcTlsWWNvcklLZzMyTTM0eVRsYWlJT2VmRlVMCmNKTno3RjhDeEM0QTF6OENHeDRBeXg4RGlS
cWdad2NpNTlsdWNPWEZLYzRGNk1nNXAxMHpPNVRYTnV2NmRxMmRSeXUwYnR0b2J0UlMKbHFYNUxr
OXpoU2Zjb2tnM1k5Z3FjTTcrV3NaN3RiQjdEL0xKL2lMbmhMZDdscFdSZEtxVHMwUXoyL3FTRnAy
N3lZM2tleGx6VHplNQpnZGRVeHQzVEc3Q3kwY3gzOXdRYzZiT3RPTTlGYWlKMTltRDhBSm54RmRY
SlIrVThKSTk0eFlNeXBtOC9sdHFYSU5mVG5qeWVpMGxOCkxmZTJuUm5xNFJsSlZxd3pReDN4V1g3
dEZwSXk3enBxN2ppVy84Mnp0c2h6SElZRkFSTTI3elkwSk5HRktKcmd3RVVPR1hwTUtreGEKcFYv
UWFzTEQ4YjhxTFNUS3V5d3F1dkNaZXo3N2UwNmd3TjB5ZmgraWNZdzBsaU5vK2p2OW0vNUd2Nm5m
MGI5ZXFTODBWRHdqN2xIVApHTC84blhGbFpsbU5qQnZVS09QTG1vTDRCcXR0cDlkQ2x0WmhYa0ZQ
WGxuZkZLNHVZMStwTDNzMG1VTmNqRStIdWhTaFRFMFlaRHpaCnRleStTTGI0SnZ4OGM5a1dtaDYx
TDg0K3FhdmtlcU9PSFptc2ZuRTJYQTFyLzdPcllOS3lxL0RralpBdVBHdWhybFUzcWQxcWk3b0QK
bXJwTGJWTmIxVTYrN1ZUM2wzZjBjbFltVHJKdWw5V24ySU9OMC9SV1Ryb3lXd1QvRm40eC9DOTFD
VnU0cHFISmYyakN6V1ZNUy9pTwo0UFlmZDBqNUwvd05BWVVWRFh4TE96c0FBQ0FBU1VSQlZIZ0I3
TDNSdG1TN2pXTnIxK2dQNzEvckQrdnl4UVFJU1JHVk5Tcno0ZHE3Cmo2bWRzU1NSSUVnaFZrUncr
VHo0Ny8vUStOdU9WV0FWV0FWV2dWVmdGVmdGVm9GVllCVllCZjRKQ3Z6SFB5SEhwbGdGVm9GVllC
VlkKQlZhQlZXQVZXQVZXZ1ZYQUN1d0R5TjRJcThBcXNBcXNBcXZBS3JBS3JBS3J3Q3J3VDFOZ0gw
RCthVkp2b2xWZ0ZWZ0ZWb0ZWWUJWWQpCVmFCVldBVjJBZVF2UWRXZ1ZWZ0ZWZ0ZWb0ZWWUJWWUJW
YUJWZUNmcHNBK2dQelRwTjVFcThBcXNBcXNBcXZBS3JBS3JBS3J3Q3F3CkR5QjdENndDcThBcXNB
cXNBcXZBS3JBS3JBS3J3RDlOZ1gwQSthZEp2WWxXZ1ZWZ0ZWZ0ZWb0ZWWUJWWUJWYUJWV0FmUVBZ
ZVdBVlcKZ1ZWZ0ZWZ0ZWb0ZWWUJWWUJWYUJmNW9DK3dEeVQ1TjZFNjBDcThBcXNBcXNBcXZBS3JB
S3JBS3J3UC82WFFuKzkvLzUzMy83Mi9mLwpaL3JmRlkydDgwdjIybGd6Tmo0NjlGcU5PdGZPL05w
V3Z5aXo5OC9vVUNIKzhiZS9hL2tQUGxqL3FYVzhNbUMwVmY1WmE3WmZXMzhRCngrNFFmSWI5cDJk
aXY3bk1LVEE0eHl0ZmVMSzMzWnpqSDg3V1lzN0hYM3hxY3ZKVFgydk85d1cxalg5U3Z2bmhzWisw
LzFmMU8vMC8KL3ViL1pjWDRKMzVLSzE5cXV2R3h6MzVxeFZiODN6a3orWFE1ZWZIRFcvMlp4M2JP
YUs3R0pCNDgrVlBuK0tqL3FmbnZZbjd6LzRkOQo1TW81NDB1OXQ1N3V3MW5kRC9iL3Z2VnBQWFVR
NzFxbWZ0Wi8vODliNjRrWHJqVVJ5OW1QVC92L21Iak85eDk0VmF1NTBHQnNmNmYrCjRlRk1KeDdk
eU1uczE2eUgwelZPL2FsdmNQYmYrdjlEc2VHTlZycnVXQVZXZ1ZWZ0ZmaGhDdmczNTdkcTBnL0ZH
ZjdWMGE2MnpnRDgKYS96NHNPSC94b0NyclRQWWpVZUZxMDNYM3hxdGZsZWpiMjJxR1RNRC96Zm0v
M0g5L2o3MSsxaGNaTWd4YzlEWTcvcnZyMThOV29aSQpac2xFdyt0L3hRNnVhTEE4MXZ3RE8vbHpN
Y2ZCRENGY2VRUVNTbnk4UXA2byttNWNhNGtuOXJscUlpVTdlN1dCenZYYWxvdnphTWxJCjZSTWZV
Mnh5dUg3WnZ1UGZtRmJwVUNjakllY1lzbnM2RjViekdaS3p1dDdQL0VSUy84a3ZNdWZNd1JKWGZp
ZjZqTzhPRjdEV0gxNlgKNFF6czhWb3JyNEltbDJQWnNvRlFodnYrMUorNlVxc3dINE1nWGhxUWRU
c214OWpsSk9ZdXh2Vkc1SVM3eGlsRjhYR0Z5T1VWT3pVMgpwZFBXaHhKZmZoa201UlRsYkh0WkJW
YUJWV0FWK0VrSy9QNERDRlh6bThMZ2UvMzlic2YrK3JwKzdjVFZ2dkdyMzk0L2ZDSXkzczhKCnV2
Uno4dHBCMXE3RjZiOXFyMEh4YlhDTFA4MHhGSFJ2dk93VWVEaHRnb3Y0K1hCak8xd0NHa045RGlM
UW02RnFGR2F0OVRJMUhBZHAKY3NlM2VUWkdGbEJtdXhkYjhiZEI3cnI1bXpGMnc4MXhPYUUxSVN4
c0RJSVA4eHRmSDVDY3VYRU9pWHU0VXZ0Y25YeGlIRHRyMmNlbAp1YXVjeFI3WE1EbmtwcFptdE02
VDFvbmxNTWR6bHJmK1FCdk43cktSdVI1NHM1NTZtTTZRQnlmVHlZT1RoNzNCWjZ2cjdNRjFLUnpo
CjFQbEppeFVIRHdXekhrVDNPVzk4WEcwWFNleU9QbTlqVURmTHBFOU1nczFBMUVjZG9kbnJLckFL
ckFLcndBOVI0TThlUVBpQy85VzMKK3ZuaW4xUGxWOEkvWnY3TmFjekdyMzY5Rjk0UHdONC8rYXhV
ay8vcDgvUFJJQ3JJbjZ1bjhadk83VmhlL0ZrckNOemt3dHlHa0pzMApiNU5tWVZqak0xU2IwTE1M
eW83QnhRbUl3K2ppb0hrWXdZTHAxQUNtZzF3RFYxekM4NzlrMXhvcVhZMkQweWluQ0tVUklod3Vv
SzFMCktEZlNDWEd1Tjc0eGNRUlV2N3ZmaWFQYTFrODI1NTA4VXc1SmdXbmMrbXNod0d2bTRvakhD
aG1rMlhtTnlicDBnVnNEMjZtUC9leGkKdTFmVGhUUnh1bEsvVThkcE93eDlqODBGdjBDOGpCK1VZ
RE5hbUxZc0ozK2NBVDNIbVp3VGZLYkJFZVJjeVJrMkcwTUgwUXdpclA5dwoxRVArOS80TmZFQU4z
bmtWV0FWV2dWWGd4eWp3Wnc4Z2xNMDMvdnU5L3E3eGQ5OFpXMzhsdW41OTd4cC85NTBidzh6WS9G
Y2o5SGgxCmV2ZXZmZlZIbVl5LzJ2MHpIeTdlYnIvTldyRDJYbzBidHI3OTd1UGNlU0lGTFp1dVhH
YWNCbjBhUGhxOU43NUV0c3ZoUm5DTWg0WlkKYmJvblBwbElRalByaVkxSE9PU1pBT1lUQzVoL3hI
UU1zSnlOSThpcG1mbWJJRUliYnBQNThBZDN2RTBxOUZsKzVieEYxc0ZjOXRqKwpTLzFGRENsb3Ez
b0tuL2pqVCsydVh6WS9BRUQ5RkVYODRYbnlYeHNCejVnVWgwUmNOcGt6VHZMbGdVTnhrd3ViTlpN
cEdiMFliZk5nCjBscE9qSkd4V29zNTU1TktaSk9US2xqcjMvRnJQK2x6Z0VBTnlFUEdnelVpbGJY
K0VzRmhEY095MTFWZ0ZWZ0ZWb0VmcHNDZlBZRDAKbDRFZmhhNTdvTzc3ZzlHNWRuQmRiL3pWWXZX
TEF1KzlnV1h2bjA5ZDJIMW9KSUhhM0dsdWc5Z216Ujh4L0U5RFozaDFKVUxyYkNITwpCdHZMMjNn
L25BZ0RmeHZWek5uZlpvK2M1UTJWRzFucW4yeGV3algxdTQ1VERHZkpJQmN4QXp0ejR6MExiSnpp
NFlQbXJjdnhCczRaCmhZay9jZVJ5SFFva0Zxc254M2dydXl3MkZvUHpxWjlkZ2gzUStQS1NtWGpP
UWEyMlk3QU5JM1dIcjM3WEtLenptRFZyR0J3SHA5YkoKeFp5Vi9mYmxRcFJwdkgzcTc1a0ljeDBH
dk9CYnAxMlRmL1J6WFVmTDFCOEduMEFwc1dHWnVqajhVMldjcnM1NTdqMFNXN2gwN2JaYwptc000
dkFDMU5MMkRDSWd1MGRuR3Zhd0NxOEFxc0FyOE1BVisvd0dFNzNXKzh6OStFTWJHb2ZwN1VIL24x
Nzd4cTkvM2ZkSDdvM1A5Cm5WLzczais1Zjl4dFNTQjNlRzMrSWxnYjRUWmtic0swcWYxK1VOOFA3
UlcyY1RTMGJZcjlGcEFMSGo3by9JdlJjM0V3MnFsUyt2YUIKSmE1NytMTkxUVzYwN2JRajhkQm9P
SmNMQWtBOVRDVHZaRVJ3azhGVWhvRWZyUFlFcFNHRkpJUG9OTXJZYnY1eUdDWFhpZlA2MWs4dApy
VDhZSXVETWNINDBVeHk1bUwxaWZtM3c2Qzk0dWJUM2EySUM1d3B6Y3JMenVqYlBzZG4xWEt4M2t2
TldDTW5GaXp2L0lwNGEzbk0xCnY2bGRWS3JnWU9hVUl4WDZ0RTdodE1VcUozNmp5SThJbWtFek45
YVE5ekpZYUZpbXBqSXB6c3ZzcWNWRHMvVjhlWGE5Q3F3Q3E4QXEKOEdNVStQMEhrUGxlNTdmaWpQ
bk8vOWpYMzdtWTdqc1RWRjhKMk5mZnVaanVPMi84NnRkN1krOGZLOURtTExMazZsYVFCbEZPUGpy
KworTHlmb1dmdFJ0QWdMaE5QYk5oOTVYSzl4L1FzbmlZVEs4RTBnMTZuQnBZZUlUN0xOSXd5RHQ2
TkptdTlUajJKOVBZSkgzZnl2SGp5CkIwZURyMkM5WEV0NU9qKzRtQ1pLMCtGTHA5c0l6K1hzaGox
NDVqVEthSTgzZkcvdVdCeFo5MU1jaWVHSXE2b08rcGRUK01xYTJiV1UKNkVsZTFFdlV1anY3bnZF
QlFYMUZzT1gxY0JZU1Y5NXJuOTBHWFY0c2xCMmNrN1V1MFd3Mm1xakZZcFljRjhNQm9TeHR6b29U
eXdEWQo3bGdGVm9GVllCWDRjUXI4L2dOSVMzKy8xL3ZOWDl2Mzl6NzJYOW5LdGZGUll2V0xEcis2
VjM1bCszZS9mNTZtMExmTzNEL3UxYWJMClN4TVo4WHA3TWI5NDcrcTBUNXRuajh5bklmeXdmMzF3
NWF1RkZXdXVYbzNENFNxUU9RaFM4VkFRQU5jMDJWcXBheTNlVm04RU1HWXUKRG9zajJIZ1BWSXUz
OFlmd05NT1RzMDE5NDJOT1BlY0VsTlBFcDliQm1MQUE2aEtqODJUT09SMGRqaW5kWVhESzZqVVFh
QnhzeDdWUApaSFhDVy8ybU1nZFFVYXJLdGZXSHlKQURKeDZVejY4emxadjhMb0VaUHA4MzlRK0Rw
K0pOaUx1UWtFNGROY2ZwbUlOdGpjbERUbEk1Cm5TK2tpU0VJcC9YRlBNVVFPRGljcnQ4bzJVOHVH
L2F5Q3F3Q3E4QXE4TU1VK1BNSGtQdmIwVjhZL3dhY2M3MytyanNENnZyOWdhanQKMjE5NzUyOC9I
Sy90WGVOclhPZHYvOGFqeU5YcFhhOStWNWVmZHYrNFM4eWI1ZEttUHQ0eUdqYTJYcmVSQk5yaGJx
OGJJU2NXaTl0UwpCN2N4N0FmRXpnUVpMN3RkRS94d3VJUFYzdmtEY2x6QzhsOGh6QzRBK2M0RERp
aHNMeGNHaU40eDlUTzErSWJRbkxJMnY0bWU0QUhGCkhIdlFaVkdjemRFUDlxZ3dmc1czMXNQZkhD
MkFpclR1dHZGdzFVWVNoMkdVMWV0eHBybE9IdFp2ZkhPRHg5NFRtRVlYOXJIbGlyMG8KMWgya3Ny
MkpWVSs1d2RRTUdmYkxWb1lYTHpZSWVYVm9UUlRhbW12c0o0ZXhaYzA3VUpQMVI1OXlZU2owdzRh
R29IaUJDYWp2UDFBcwp2Nm9lMzQ1VllCVllCVmFCZjcwQ2YvWUE4djRZUE4vL1BzYnJZOTFma1c5
N3o3eng1L2R6OVpNQzMvZkozai81cEh6cmdwWG1xNStmCmZ0QmtzMmthczhyblJuWWF0SVRLVTA3
WjArUGRPVWtUN1lZT1hyYkVzTkJNREV0dnkyVlFvaWt1REJQWC9CTnZMd0J6Rk5rWmpsazMKNXhT
Y3ZQSk5maFpBM054cWNacGN4Yk51azJvMngrUy93TGh3MG1qY1N1L3E5Wk9nald3Um51RWZCdk44
bmQrdTQyK2R5aWRjNVdCeAoxL2NjVlBWUi84Z1Jlemhxb2hiV25kR0RYVWYydVdKajlWRi82KzVj
UDJBTnNLK3VoOXNweEtaL3paK0lSRlV6TXdqZzkrTGt1UFZaCmF4TW9VM0Ztdkd3VmlkcGR2NERt
TjAyNFdpZCs1L1M4bDFWZ0ZWZ0ZWb0dmcXNEdlA0RDRtMS9IeURmOFBVKysvKytlMVd2cmV1T2oK
eStyMzM5OHI5ZlNlZWUrbHZYL3UvZE91MWZQY1VNOTlSWFBXQnJhekh5YWtwMkhWVjdON1FoblRy
UGNOYUhNdGZKdmtBZ1ZoU2VwdwpONGJaUkhhZUJwUmNiaGpqSjc5OUV3OUhoM205U1g3WEpMOGJa
cTdreFEvbmhJVmVWNXd6WXV0dUtyR2ZwTEpQVGp6akRYZ0NVOU5OCjBQeE4ycGdQSEF5S3R5NWlK
VjAwaFFlR1cvOHAxWmhKTFNQcEdZNWw0UktVVFhPOHFZbThzL3FzbjFpejRBMGluRW5VdkVRSG9l
dG8KZ1FHLzdiSzVCZ2V3aG9VWDNobGRZdTRZcnBxeVRmMkJOK2labTc4Y21sdmR1U2NuLytYTlBa
SDlaVGJNUExMSmVlSWY3bDJ1QXF2QQpLckFLL0F3RmZ2OEJwTi8rblovZkVCL2x0ZGZYTTdLdnYz
TXhuVjk3YlJzZkJWYS92WC82K2VpY0R1djVZTjBQRFkxWG15L2c5WGltCjRSdURsMW9IV3lPMzNF
bkM1ZzRnY2czeWFVeGxFOWxwb1NmLzJUZEFNMDJpOHhXRHdXTkFubUxya3ZuQ3RNdS9OMHBybzMz
Tmlwb00KT1JlMjhOUk1mYWZHV3VXTUh0Y0gvamI5ajk5RlRhMVBNdUs5YmFKVGdZbVNpVHo2YTFp
YTdnQnJhMWpxeWE1cXRVWllYRi9yTnl5MQozN1BKS0ZKNGlTZldMM1krQTBIeFEvUG1pNGRyQjlr
eWpOTVdDL1UzN2lJZUhNczZQTHVTNURkQm5UTE5uNk9CeVpXSFBYeXB6eUVEClNPU3JvRkFYWU5S
ZVZvRlZZQlZZQlg2V0FyLy9BRUxkK2FiUHpDOEJvek5yL1A2RllET2pOclliSDFGZVRWYS91Vkht
L3RqNzU5ZWYKS1ZUcTU4Y2ZNbTNjcVk3eGFZWmp4NTJtTExkWWNHMFNJU09rUGxPeHN5RllQMVRR
clBvZG1qeWEzQ0RLbUthUXhuWHd4azJoTWpuNwp6T1lnSVZEREU1Y2N4SURReThEVUhTRE5zbFk5
aTR1T3JWSE5rOHF3d3AzNXRaRVhzeldBczMrQStXY240U3ppZDREMlNldmlqSTBYCkhBOWV3NmtW
dUk5NEdSSVZUbkxiSWlQNUQ5N3VJT1BwRldEeTVEb25HaHVvdkZ5RUxnd3I0dXVOck1kdWN4b0ZE
Mm1weTY5RVk4NzcKK2xtL3dSVHRzbURYTURqVEdEejViQUkyejduMzdFaGx4TnB2RzRVd2JFbCtZ
S1FibDZPY1ZwZUp4WGQwbmZqTFlzTmVWb0ZWWUJWWQpCWDZZQW4vMkFOTGkrenZCM3I4STQvaTJZ
MzV0QS91d2JYdzAvTmJLUDdLcjM4ZTlzdmZQS0RBM1J6cXZlLy80d3hnSVBlRnArR1JpCnowaHJ4
MG9mek41alIyUVpIbHZqYmVLaWZHa1hkZFcrZmpkLzhwMlB1bnlPbVRURnNVM2FlQnZYMmh4MUFv
SHlYd2hlTWhEc1AyMG0KTmZtY1R1NXlKNStkcVZleDVYVEZ3bkt1NElQRGRJWU85ZGFQNUpQRjla
SDcxRzl1bjhMaHhQWEJ5Wnk2SkhZeXNHY0pxVWZzclozNgpraStjcnRjTXQ0TEVHVGxrUS9WTWlS
dmsxTyswaU5NRWNydFdISHExQm1zMVhLbE9WNHJPWmp5cHY4ZElOZEhGdHNGNjhvRWJuUHkzCnZ0
anJIZkl6WVlmdmNHckJueW5sZTJzRjlMNXZoMlFYcThBcXNBcXNBajlDZ1Q5N0FNbnZUQXJ2cndT
MjJtc0RnZTNkMThiTXFHL2oKVjcrOWZ6NC9FK3orcDg4UEFEZUMraUFaTzYydGJIeTAzS1NWcGgw
YXZJREJNNWoxSWdLODJ6bmJ1T1FEU2xObkh4ZlcvaU9ZN2NXdwpubDJjY09yUG96N3dBY2s4emJs
c3FSVkg4dDZWTEtTZElMem10TTNNdWNDTE0xN0ZzRkVVUlBEajB0VTg4bVUvdklhQ3ZYaWpaUy9T
CmNlSTZtT0h6SkZiWDZCcE1Gdk1zbWNqazRVMHNObW1aVXV2SEVHaUtUMDR3UGRNRmdKczR6Zm03
Tm1pb1AzVEZ3UWRtK0hDNjdzdzMKQjRnQWU3YkNQdk9EWXdncnJvdkJrbmcwOHhselVCSW5wUHNK
cXJhTkMwelkxcWlvTHNFZUh1V0puVHhhNFdzeEtTSDU5cm9LckFLcgp3Q3J3b3hUNC9RZVE3eTl6
Zit2UFdlckQxakcvQTk2eUxxYitqYithVkp2VnIzZEh0S2tlZS8vY2V3V0YycnlwMGZLdHd5VWQy
OUV2Cjltbm41RXR6aVZzZU8xbExZSzFwVTJ0Nlp6ZDZSTWg0N2VKazQvY21iMURiWEJnN3dqbFJ6
VStOL2tmY05JeXNETXNEU2VNVHFldjQKQ0dUcEUya1JxdVQzWm13bjNuRytoQUlIV3lXTEZjWW52
b0V6cDZhTEpBY2Ezcnpsb1c3cUVaY1d3YkRtMzQwL3ViQmlGZ1JiOGt3ZApidzN3VGJ3eDVnTXdP
WXh0WEdjYmZTSEZtOThKWlhQOVU2dnB0ZmFmNWp3c2FPZDE0c2w5em5TWXZRaVpsOG8vWjByZXhM
VFcxaytlCmMzZ2I1ejBsNkd2WURhbDVPVi9PU09uVk9pRTJUTTNQUFNYblBmOFgrVzVYZ1ZWZ0ZW
Z0YvdVVLL1A0RFNMNy9VL0Q1bFpuNnYzMlkKWHh2cmQ3L3g4OE82K2xtQjczc0Q0MnZiKytkVEQv
b3lOMlpqUmg4WklsT0U4NVZ1YmFSMGMrbTFiR1AzVFJpSVk5MndtWHU0bnZnUwp0VmwxWTVpTGl4
aWF5UVl6SExHU093OHprUHZmOGQwNE9ieEpWT3h6MWVURzg2bWY4N2ZCbkREbmtOa2pwYjhzYzJ3
NTNNQUs5UjMvCnhyUktremtaQ1RsSCtDazI3REpva2ZNWmtyVnNSUVNYT0d3bnY4aWNFMEE1eXU5
RWlXeDhkN2lBdFg2WThkWFBIbS96QjVkY2ppV1kKeEFUSWNOOGZiNzJQbTFyaGVnZUdNVUxXN1po
OFBpR2lSeDVxaW5FZER5RjdoK3ZpZk9ZSVVmWlp0MGFxYVAzVlVCWWJYLzJ4RWRuegpFN2RqRlZn
RlZvRlY0R2NwOFBzUElOVE5EeGNqMys1WmM4WCsrcnArN2NVeGIzdzBRQXZHcXhQYXJINlc1VU9Y
NnNUODczNy9TSmluCmo4djlVb08wT2MzWjNFZW5PWk4wWHRQRldWeUJEd1poTllpM3dHQWZMZ0Vk
aHZZT0l0Q2JvV29VWnEzMU1qVWNCMmx5eDdzWjlVb1gKajRrMzVmREtEZ2MxK3pYcjVtL0dZRXpp
WE02YnJXdkpFbXQ0NFVLdU43NCtJTkh2MXVCNHRxTnhhcCtyazArTVkyY3QrN2cwZDVXegoyT01h
Sm9mYzFOS00xamxGcDJZNXpESDUyYjMxQjlwb2RwZU56UFhBbS9YVXczU0dQRGlaVGg2Yzh4RGhN
OFR2K3RtREc2cG1wTTVQCldrZzFPSzhUZUdOVDl6bHZjRnh0RjhtclEwc0s2bWFaOUlsSnNCbHVG
cWZheXlxd0Nxd0NxOEFQVStEUEhrRDRndi80ZFpuVG5DLysKWjgreTlzWnMvT3JYZTJGdUZVKzlU
MnBqejZpOU1Ydi81UDVwTnhhVm9wTzZ0Y3JVenUxWVh2eFpTMHc2dk5FYWN4dENrb1JMOC9EaQpN
MVNPTklic0pxT1hFMk1uSUlyVHhVSHpNSUlGMDZrQlRBZTVXczdsY25oSWhrb1c0K0RVUWdOTUtJ
TUdrRHprdXlqV0UyTC85Y0NTCm1EakNXLzlwdElGcHRQNlRsNUllYm5NWVNkUHRpS1oxb1daWHdZ
NkptK3c1aEFNbXM5YWNLMmVaaGZsaU8vWEp4aHJlNzZ2cHBncEMKd1ZBL25JL1pucjdINXBMZjJn
bG92QkFleEhtME1HMVlUdWI0QXFKMjU5YzJPU2Y0VElNalNIbW9LWnJrRkxCNlFEUURpL1d2Njlq
Lwo2d1BPaVcvd3pxdkFLckFLckFJL1JvRS9ld0NoYkg0TDVzdmZwM2pYR0xydmpPMytmbXo4Nm5m
dmtmZCtZYzNvZmRNWjI5NC9xSkR4CmZmK01PTWhsbWJSZzdiMGFOMnlWejMyY08wK28wdVNkTFJa
M2dBUWtna2J2alMrUjdYSzRFUndqK1R5SW5ScllFOTkya2xWcU1OS1gKY0pBN3RwYkF6ajduaWMv
WEFaYXpjZVIwYW1iK25DajVxWUZoay9ud0J4ZUVuSk9mL1ZrNkN0OVl6bHdIYzlsakE5TDR0NFlh
UVZ2VgpjalYrZ2xxN1krRVN6aGxLT3ZHSHAvRlRpYmxUeXIyZUVvZEUwK1dNazN4NTRGRFl3TEJa
TTNNUGlhYWNLdzhtcnBkTWpSRnovNnpGCm5OUHVvU2dwdUhrakVvNmZPdURyYUl5TXZPZHNQN2lj
TFRXZCsxYzJNS216UkR1dkFxdkFLckFLL0NRRi91d0JwTDhNNTFmZ09jcnIKdy96OGNCelVpK202
enU0YjE3bDJjRjF2L3F2RjZoY0YzbnNEeTEvOS91R0FiZTdjcE9iQWJkTDhFY0gvTkhTR1Z4ZkYw
MXcyeWl2MgpHQjdleHJ1NUV4citOcXFaczcvTkhqbkxHeW8zc242WGtzMUx1Q2FQNnpqRlRNTk5H
ZjdBZzB0RTU4WjdGcVZ4aW9jUG1yY3VLa2s0ClZ6dkhuemdxY2gwS0pCYXJKNVlNam9QRHhtSndQ
UFd6UzdBREdsOWU1NWVSK3FuVmRnaHR3MGpkNGF2Zlp5QTVlY3lhZFFyeTljbEYKelNlcjdIY1Fa
UUtibnZwN0pzSmNod0V2K05acDErUlhyYTNmTmM3K1BiL1BvS1NSWk9yaThFK1ZjYm82OHhFZlpH
eXQ1dFJ1cHk3NQpaNjZEa2MzME5oQ2Y5ekIxSHRRdVZvRlZZQlZZQlg2UUFyLy9BSkxmai90ajVo
OEVuZVI3N3U5SDUvbzNQbHA5NjFKOU90ZmYrYld6Ci9yYlgzN24renE5OTQvOGErcm5iMGh2c0Rp
L05hdy9XUnJBTm1ac3diV3EvSDFpK2hYcHozQnVqY2JTRHhCQnZGTG04MXN5L0dEMFgKQjZPZEtx
MjNuNE1WMXozODJhV21OTEhFTmNqRUdLakFPY05HUFJoMTRaOG5JNEtiRE0xRFRUNXo0R1pMUXly
RERLS3B4YmduZnprTQpFL3pFZVUwMUlQUlNqdFlmREJGNVlQQ0tJdEZNRTdtWXZXSitiZkRvejNX
WU5yVTNKbkN1NUUxT2RsN1g1amsydTU2TDYwMXl5aEdTCml4ZDMva1U4OWJ6bmFuNVR1NmhVWVIw
bVBoVzZjcWR3Mm1LVkU3OTV5SThJbWtFek45YVE5ekpZYUZpbXBqSXB6c3ZzUjJSUlI4T1gKWnRl
cndDcXdDcXdDUDBlQjMzOEE0ZHVmMFpuMWZPZXo5R0JmZitkaXV1OU1RSDBPbm4zOW5ZdnB2dlBH
cjM2OU4vYitzUUp0emlKTApybWxpYjlQcWo4LzdHWHJXYmdUWnUydWNlSnJRc0ZkbGY4UmpPNlpu
OFRTWldBSFNESHBOcy9tTWh5UXd2Rm9OM28wbWE3MTZzNTk0CndaN3cyU1RQaXdjVVhCNEVLT0J3
UEtXOHVKZ25TdFBoUzZmN1JsSHFKWFN0d1dOUG80ejJoSVR2elIzTDBIVnpBREtZSTVGVmRkQy8K
bkVKUm9zelVibFVvNG5DM21rOGFZNFhwVFAwNU83anlUZ3hiWGc5bklYSGx2ZmJaYmREbHhRNk5K
OW1CY0lsbXM5SGsvQmJaQ0J3WgpzNFd5dEs3YlhpeGYrRVR0ZFJWWUJWYUJWZUNIS1BEN0R5QXQr
UDFlN3pkL2JkL2YrOWgvWlN2WHhrZUoxUzg2L09wZStaWHQzLzMrCmNVT0dDTk9XenYyRE9TMTRH
cmMwajdkMUJXWm83emQzZkJWejJJNHY5dE1RZnRpL1ByankxZElLMHZhNklCTTVYQVV5dDBZcWE0
TkwKZkNyVlNsMXI4Ylo2TS9Vd2hXUVcyYWFBZTFZd2JuN0RaTkJwaGtlL29wTUx6U0QzeGJQUFFE
bVluVE8rMXA4RUJZQVJvL05tRHM3UgpyY0p6NmdycHJZbHdnckdiYXRZeFZDZDhKMy9CdHJYeXov
cFRJMUVhdysxemVTdUREbDF1OHJzRVp2bDcveEQ2anVKTkNIQjRMUjJVCkE0NDVWOGV3OVBZaWJO
SUY3YTEvM2dRQlkwZ2xRNGoxQU9FaXVvRnNpNWJkeERkdVY2dkFLckFLckFJL1M0RS9md0M1dngz
elk2SUQKMWNiWnVwN2ZCaCszdG04L21OZjJyamYrYXJuNjVUNzV2ai8rWGU4ZmQ0a1J3N2ZHM0Iv
SVFRdkcxdXMya2tBN2lEMzNreFpuelhMMgpFM2NlUG9ndHpyTTRTRkJqZlppRzMva0R3aHFrZlBT
UGJoTmRSdjdMakFGY3NMMWNHQ0I2Ui9sdEQ3Z2hOS2VzelcraUozaEFNY2NlCjlEbEYrbGxGbDYv
dHJQZTZWSS9EM3h3TlVHNU0zVGFlOG1zamljTXd5dXIxT05OY0p3L3JONzY1d1dQdkNVeWpDL3ZZ
Y3NWZUZPc08KVXRuZXhLcW4zR0JxaGd6N1pTdkRpeGNiaEx3NnRDWUtiYzAxOXBQRDJMTG1IYWlK
dDliNmxBdERvUjgyTkNTS0Y1aUErdjREeGZLcgo2dkh0V0FWV2dWVmdGZmpYSy9CbkR5RHZqOEh6
L2U5anZEN1cvbFhSL0czdm1UZisvSDZ1ZnIrNFQvYit5U2ZsVjU4Zm1xOStmdnBCCms4Mm1hY3dx
bnh2WmFkQWdkT05XVHRuVDQ5MDVTUlB0aGc1ZXR2NU1hNkdaR0d5OERyVkJpYVk0UWp5SUs4Z0I0
d1ZnamlJN0V6WHIKNXB3dmtlU1ZiL0t6Q0wydS9Hc2V4YlAyV2JVMm0yUHlYMkJ5SVBLOGxUNDF2
MmN4dFM0UDFrajR4MnJmR3pNZXU3MXVuY29uM0NsVAppN3VlK3AzcXEvNlJnMnJCKzMwSnVTeXB1
M01ySGJmMXNUaGp3UDlSZit2dVhQL2d3YjY2RXUxUlVhbm5Ld1pMVGd4U0RBTDR2VGc1CmhzTnVu
TUFlbkEwNFo0eEkxTzc2aFRXL2FjTFZPdkU3cCtlOXJBS3J3Q3F3Q3Z4VUJYNy9BY1RmL0RwR3Z1
SHZlZkw5Zi9lc1hsdlgKR3g5ZFZyLy8vbDZwcC9mTWV5L3QvWFB2bjNhdG51ZUdldTRybXJNMjRK
M2J0QnBXZlRXN0o1VFJEV0wxVjN3aHhEdE5nY0t3eEJidQpFNlNGaWV4MGc0Z0xJamVNYkdMMWRl
TGg2REN2Tjhudm11U251WVRvK05sT1dPaDF4VGtqdHU2bUV2dEpLdnZreERQZWdDY3dOZDBFCnpk
K2tqZm5Bd2FCNDZ5Slcwa1ZUZUdDNDlaOVNqWm5VTXBLZTRWZ1dMa0haTk1lYm1zZzdxOC82aVRV
TDNpRENtVVROUzNRUXVvNFcKR1BEYkxwdHJjQUJyV0hqaG5kRWw1bzdocWluYjFCOTRnNTY1K2N1
aHVkV2RlM0x5WDk3Y0U5bGZac1BNSTV1Y0ovN2gzdVVxc0FxcwpBcXZBejFEZzl4OUErdTNmK2Zr
TjhWRmVlMzA5SS92Nk94ZlQrYlhYdHZGUllQWGIrNmVmajg3cHNKNFAxdjNRMEhpMStRSmVqMmNh
CnZqRjRxWFd3TlhMTG5TUnM3Z0FpMXlDZnhsUTJrWjBXZXZLZmZRTTAweVE2WHpFWVBBYmtLYll1
bVM5TXUveDdvN1EyMnRlc3FNbVEKYzJFTFQ4M1VkMnFzVmM3b2NYM2diOVAvK0YzVTFQb2tJOTdi
SmpvVm1DaVp5S08vaHFYcERyQzJocVdlN0twV2E0VEY5YlYrdzFMNwpQWnVNSW9XWGVHTDlZdWN6
RUJRL05HKytlTGgya0MzRE9HMnhVSC9qTHVMQnNhekRzeXRKZmhQVUtkUDhPUnFZWEhuWXc1ZjZI
REtBClJMNEtDblVCUnUxbEZWZ0ZWb0ZWNEdjcDhQc1BJTlNkYi9yTS9CSXdPclBHNzE4SU5qTnFZ
N3Z4RWVYVlpQV2JHMlh1ajcxL2Z2MloKUXFWK2Z2d2gwOGFkNmhpZlpqaDIzR25LY29zRjF5WVJN
a0xxTXhVN0c0TDFRd1hOcXQraHlhUEpEYUtNYVFwcFhBZHYzQlFxazdQUApiQTRTQWpVOGNjbEJE
QWk5REV6ZEFkSXNhOVd6dU9qWUd0VThxUXdyM0psZkcza3hXd000K3dlWWYzWVN6aUorQjJpZnRD
N08ySGpCCjhlQTFuRnFCKzRpWElWSGhKTGN0TXBMLzRPME9NcDVlQVNaUHJuT2lzWUhLeTBYb3dy
QWl2dDdJZXV3MnAxSHdrSmE2L0VvMDVyeXYKbi9VYlRORXVDM1lOZ3pPTndaUFBKbUR6bkh2UGps
UkdyUDIyVVFqRGx1UUhScnB4T2NwcGRabFlmRWZYaWI4c051eGxGVmdGVm9GVgo0SWNwOEdjUElD
Mit2eFBzL1lzd2ptODc1dGMyc0EvYnhrZkRiNjM4STd2NmZkd3JlLytNQW5OenBQTzY5NDgvaklI
UUU1NkdUeWIyCmpMUjJyUFRCN0QxMlJKYmhzVFhlSmk3S2wzWlJWKzNyZC9NbjMvbW95K2VZU1ZN
YzI2U050M0d0elZFbkVDai9oZUFsQThIKzAyWlMKazgvcDVDNTM4dG1aZWhWYlRsY3NMT2NLUGpo
TVoraFFiLzFJUGxsY0g3bFAvZWIyS1J4T1hCK2N6S2xMWWljRGU1YVFlc1RlMnFrdgorY0xwZXMx
d0swaWM2RjB5VEFBQUlBQkpSRUZVa1VNMlZNK1V1RUZPL1U2TE9FMGd0MnZGb1ZkcnNGYkRsZXAw
cGVoc3hwUDZlNHhVCkUxMXNHNnduSDdqQnlYL3JpNzNlSVQ4VGR2Z09weGI4bVZLK3QxWkE3L3Qy
U0hheENxd0NxOEFxOENNVStMTUhrUHpPcFBEK1NtQ3IKdlRZUTJONTliY3lNK2paKzlkdjc1L016
d2U1Lyt2d0FjQ09vRDVLeDA5ckt4a2ZMVFZwcDJxSEJDeGc4ZzFrdklzQzduYk9OU3o2ZwpOSFgy
Y1dIdFA0TFpYZ3pyMmNVSnAvNDg2Z01ma016VG5NdVdXbkVrNzEzSlF0b0p3bXRPMjh5Y0M3dzQ0
MVVNRzBWQkJEOHVYYzBqClgvYkRheWpZaXpkYTlpSWRKNjZER1Q1UFluV05yc0ZrTWMrU2lVd2Uz
c1JpazVZcHRYNE1nYWI0NUFUVE0xMEF1SW5Ubkw5cmc0YjYKUTFjY2ZHQ0dENmZyem54emdBaXda
eXZzTXo4NGhyRGl1aGdzaVVjem56RUhKWEZDdXArZ2F0dTR3SVJ0allycUV1emhVWjdZeWFNVgp2
aGFURXBKdnI2dkFLckFLckFJL1NvSGZmd0Q1L2pMM3QvNmNwVDVzSGZNNzRDM3JZdXJmK0t0SnRW
bjllbmRFbStxeDk4KzlWMUNvCnpac2FMZDg2WE5LeEhmMWluM1pPdmpTWHVPV3hrN1VFMXBvMnRh
WjNkcU5IaEl6WExrNDJmbS95QnJYTmhiRWpuQlBWL05Ub2Y4Uk4KdzhqS3NEeVFORDZSdW82UFFK
WStrUmFoU241dnhuYmlIZWRMS0hDd1ZiSllZWHppR3poemFycEljcURoelZzZTZxWWVjV2tSREd2
KwozZmlUQ3l0bVFiQWx6OVR4MWdEZnhCdGpQZ0NUdzlqR2RiYlJGMUs4K1oxUU50Yy90WnBlYS85
cHpzT0NkbDRubnR6blRJZlppNUI1CnFmeHpwdVJOVEd0dC9lUTVoN2R4M2xPQ3ZvYmRrSnFYOCtX
TWxGNnRFMkxEMVB6Y1UzTGU4MytSNzNZVldBVldnVlhnWDY3QTd6K0EKNVBzL0JaOWZtYW4vMjRm
NXRiRis5eHMvUDZ5cm54WDR2amN3dnJhOWZ6NzFvQzl6WXpabTlKRWhNa1U0WCtuV1JrbzNsMTdM
Tm5iZgpoSUU0MWcyYnVZZnJpUzlSbTFVM2hybTRpS0daYkREREVTdTU4ekFEdWY4ZDM0MlR3NXRF
eFQ1WFRXNDhuL281Znh2TUNYTU9tVDFTCitzc3l4NWJERGF4UTMvRnZUS3MwbVpPUmtIT0VuMkxE
TG9NV09aOGhXY3RXUkhDSnczYnlpOHc1QVpTai9FNlV5TVozaHd0WTY0Y1oKWC8zczhUWi9jTW5s
V0lKSlRJQU05LzN4MXZ1NHFSV3VkMkFZSTJUZGpzbm5FeUo2NUtHbUdOZnhFTEozdUM3T1o0NFFa
WjkxYTZTSwoxbDhOWmJIeDFSOGJrVDAvY1R0V2dWVmdGVmdGZnBZQ3YvOEFRdDM4Y0RIeTdaNDFW
K3l2cit2WFhoenp4a2NEdEdDOE9xSE42bWRaClBuU3BUc3ovN3ZlUGhIbjZ1Tnd2TlVpYjA1ek5m
WFNhTTBubk5WMmN4Ulg0WUJCV2czZ0xEUGJoRXRCaGFPOGdBcjBacWtaaDFsb3YKVThOeGtDWjN2
SnRScjNUeG1IaFREcS9zY0ZDelg3TnUvbVlNeGlUTzVielp1cFlzc1lZWEx1UjY0K3NERXYxdURZ
NW5PeHFuOXJrNgorY1E0ZHRheWowdHpWem1MUGE1aGNzaE5MYzFvblZOMGFwYkRISk9mM1Z0L29J
MW1kOW5JWEErOFdVODlUR2ZJZzVQcDVNRTVEeEUrClEveXVuejI0b1dwRzZ2eWtoVlNEOHpxQk56
WjFuL01HeDlWMmtidzZ0S1NnYnBaSm41Z0VtK0ZtY2FxOXJBS3J3Q3F3Q3Z3d0JmN3MKQVlRditJ
OWZsem5OK2VKLzlpeHJiOHpHcjM2OUYrWlc4ZFQ3cERiMmpOb2JzL2RQN3A5MlkxRXBPcWxicTB6
dDNJN2x4WisxeEtURApHNjB4dHlFa1NiZzBEeTgrUStWSVk4aHVNbm81TVhZQ29qaGRIRFFQSTFn
d25SckFkSkNyNVZ3dWg0ZGtxR1F4RGs0dE5NQ0VNbWdBCnlVTytpMkk5SWZaZkR5eUppU084OVo5
R0c1aEc2ejk1S2VuaE5vZVJOTjJPYUZvWGFuWVY3Smk0eVo1RE9HQXlhODI1Y3BaWm1DKzIKVTU5
c3JPSDl2cHB1cWlBVURQWEQrWmp0Nlh0c0x2bXRuWURHQytGQm5FY0wwNGJsWkk0dklHcDNmbTJU
YzRMUE5EaUNsSWVhb2tsTwpBYXNIUkRPd1dQKzZqdjIvUHVDYytBYnZ2QXFzQXF2QUt2QmpGUGl6
QnhESzVyZGd2dng5aW5lTm9mdk8yTzd2eDhhdmZ2Y2VlZThYCjFvemVONTJ4N2YyRENobmY5OCtJ
ZzF5V1NRdlczcXR4dzFiNTNNZTU4NFFxVGQ3WlluRUhTRUFpYVBUZStCTFpMb2Nid1RHU3o0UFkK
cVlFOThXMG5XYVVHSTMwSkI3bGphd25zN0hPZStId2RZRGtiUjA2blp1YlBpWktmR2hnMm1ROS9j
RUhJT2ZuWm42V2o4STNsekhVdwpsejAySUkxL2E2Z1J0RlV0VitNbnFMVTdGaTdobktHa0UzOTRH
aitWbUR1bDNPc3BjVWcwWGM0NHlaY0hEb1VOREpzMU0vZVFhTXE1CjhtRGllc25VR0RIM3oxck1P
ZTBlaXBLQ216Y2k0ZmlwQTc2T3hzakllODcyZzh2WlV0TzVmMlVEa3pwTHRQTXFzQXFzQXF2QVQx
TGcKeng1QStzdHdmZ1dlbzd3K3pNOFB4MEc5bUs3cjdMNXhuV3NIMS9YbXYxcXNmbEhndlRldy9O
WHZIdzdZNXM1TmFnN2NKczBmRWZ4UApRMmQ0ZFZFOHpXV2p2R0tQNGVGdHZKczdvZUZ2bzVvNSs5
dnNrYk84b1hJajYzY3AyYnlFYS9LNGpsUE1OTnlVNFE4OHVFUjBicnhuClVScW5lUGlnZWV1aWtv
Unp0WFA4aWFNaTE2RkFZckY2WXNuZ09EaHNMQWJIVXorN0JEdWc4ZVYxZmhtcG4xcHRoOUEyak5R
ZHZ2cDkKQnBLVHg2eFpweUJmbjF6VWZMTEtmZ2RSSnJEcHFiOW5Jc3gxR1BDQ2I1MTJUWDdWMnZw
ZDQremY4L3NNU2hwSnBpNE8vMVFacDZzegpIL0ZCeHRacVR1MTI2cEovNWpvWTJVeHZBL0Y1RDFQ
blFlMWlGVmdGVm9GVjRBY3A4UHNQSVBuOXVEOW0va0hRU2I3bi9uNTBybi9qCm85VzNMdFduYy8y
ZFh6dnJiM3Y5bmV2di9ObzMvcStobjdzdHZjSHU4Tks4OW1CdEJOdVF1UW5UcHZiN2dlVmJxRGZI
dlRFYVJ6dEkKRFBGR2tjdHJ6ZnlMMFhOeE1OcXAwbnI3T1ZoeDNjT2ZYV3BLRTB0Y2cweU1nUXFj
TTJ6VWcxRVgvbmt5SXJqSjBEelU1RE1IYnJZMApwRExNSUpwYWpIdnlsOE13d1UrYzExUURRaS9s
YVAzQkVKRUhCcThvRXMwMGtZdlpLK2JYQm8vK1hJZHBVM3RqQXVkSzN1Ums1M1Z0Cm5tT3o2N200
M2lTbkhDRzVlSEhuWDhSVHozdXU1amUxaTBvVjFtSGlVNkVyZHdxbkxWWTU4WnVIL0lpZ0dUUnpZ
dzE1TDRPRmhtVnEKS3BQaXZNeCtSQloxTkh4cGRyMEtyQUtyd0Nyd2N4VDQvUWNRdnYwWm5WblBk
ejVMRC9iMWR5Nm0rODRFMU9mZzJkZmZ1Wmp1TzIvOAo2dGQ3WSs4Zks5RG1MTExrbWliMk5xMysr
THlmb1dmdFJwQzl1OGFKcHdrTmUxWDJSenkyWTNvV1Q1T0pGU0ROb05jMG04OTRTQUxECnE5WGcz
V2l5MXFzMys0a1g3QW1mVGZLOGVFREI1VUdBQWc3SFU4cUxpM21pTkIyK2RMcHZGS1ZlUXRjYVBQ
WTB5bWhQU1BqZTNMRU0KWFRjSElJTTVFbGxWQi8zTEtSUWx5a3p0Vm9VaURuZXIrYVF4VnBqTzFK
K3pneXZ2eExEbDlYQVdFbGZlYTUvZEJsMWU3TkI0a2gwSQpsMmcyRzAzT2I1R053SkV4V3loTDY3
cnR4ZktGVDlSZVY0RlZZQlZZQlg2SUFyLy9BTktDMysvMWZ2UFg5djI5ai8xWHRuSnRmSlJZCi9h
TERyKzZWWDluKzNlOGZOMlNJTUczcDNEK1kwNEtuY1V2emVGdFhZSWIyZm5QSFZ6R0g3ZmhpUHcz
aGgvM3JneXRmTGEwZ2JhOEwKTXBIRFZTQnphNlN5TnJqRXAxS3QxTFVXYjZzM1V3OVRTR2FSYlFx
NFp3WGo1amRNQnAxbWVQUXJPcm5RREhKZlBQc01sSVBaT2VOcgovVWxRQUJneE9tL200QnpkS2p5
bnJwRGVtZ2duR0x1cFpoMURkY0ozOGhkc1d5di9yRDgxRXFVeDNENlh0ekxvME9VbXYwdGdsci8z
CkQ2SHZLTjZFQUlmWDBrRTU0Smh6ZFF4TGJ5L0NKbDNRM3ZyblRSQXdobFF5aEZnUEVDNmlHOGky
YU5sTmZPTjJ0UXFzQXF2QUt2Q3oKRlBqekI1RDcyekUvSmpwUWJaeXQ2L2x0OEhGcisvYURlVzN2
ZXVPdmxxdGY3cFB2KytQZjlmNXhseGd4Zkd2TS9ZRWN0R0Jzdlc0agpDYlNEMkhNL2FYSFdMR2Mv
Y2VmaGc5amlQSXVEQkRYV2gybjRuVDhnckVIS1IvL29OdEZsNUwvTUdNQUYyOHVGQWFKM2xOLzJn
QnRDCmM4cmEvQ1o2Z2djVWMreEJuMU9rbjFWMCtkck9lcTlMOVRqOHpkRUE1Y2JVYmVNcHZ6YVNP
QXlqckY2UE04MTE4ckIrNDVzYlBQYWUKd0RTNnNJOHRWK3hGc2U0Z2xlMU5ySHJLRGFabXlMQmZ0
aks4ZUxGQnlLdERhNkxRMWx4alB6bU1MV3ZlZ1pwNGE2MVB1VEFVK21GRApRNko0Z1Ftbzd6OVFM
TCtxSHQrT1ZXQVZXQVZXZ1grOUFuLzJBUEwrR0R6Zi96N0c2MlB0WHhYTjMvYWVlZVBQNytmcTk0
djdaTytmCmZGSis5Zm1oK2VybnB4ODAyV3lheHF6eXVaR2RCZzFDTjI3bGxEMDkzcDJUTk5GdTZP
Qmw2OCswRnBxSndjYnJVQnVVYUlvanhJTzQKZ2h3d1hnRG1LTEl6VWJOdXp2a1NTVjc1SmorTDBP
dkt2K1pSUEd1ZlZXdXpPU2IvQlNZSElzOWI2VlB6ZXhaVDYvSmdqWVIvclBhOQpNZU94Mit2V3FY
ekNuVEsxdU91cDM2bSs2aDg1cUJhODM1ZVF5NUs2TzdmU2NWc2Zpek1HL0IvMXQrN085UThlN0tz
cjBSNFZsWHErCllyRGt4Q0RGSUlEZmk1TmpPT3pHQ2V6QjJZQnp4b2hFN2E1ZldQT2JKbHl0RTc5
emV0N0xLckFLckFLcndFOVY0UGNmUVB6TnIyUGsKRy82ZUo5Ly9kOC9xdFhXOThkRmw5ZnZ2NzVW
NmVzKzg5OUxlUC9mK2FkZnFlVzZvNTc2aU9Xc0QzcmxOcTJIVlY3TjdRaG5kSUZaLwp4UmRDdk5N
VUtBeExiT0UrUVZxWXlFNDNpTGdnY3NQSUpsWmZKeDZPRHZONmsveXVTWDZhUzRpT24rMkVoVjVY
bkROaTYyNHFzWitrCnNrOU9QT01OZUFKVDAwM1EvRTNhbUE4Y0RJcTNMbUlsWFRTRkI0WmIveW5W
bUVrdEkra1pqbVhoRXBSTmM3eXBpYnl6K3F5ZldMUGcKRFNLY1NkUzhSQWVoNjJpQkFiL3RzcmtH
QjdDR2hSZmVHVjFpN2hpdW1ySk4vWUUzNkptYnZ4eWFXOTI1SnlmLzVjMDlrZjFsTnN3OApzc2w1
NGgvdVhhNENxOEFxc0FyOERBVisvd0drMy82ZG45OFFIK1cxMTljenNxKy9jekdkWDN0dEd4OEZW
cis5Zi9yNTZKd082L2xnCjNROE5qVmViTCtEMWVLYmhHNE9YV2dkYkk3ZmNTY0xtRGlCeURmSnBU
R1VUMldtaEovL1pOMEF6VGFMekZZUEJZMENlWXV1UytjSzAKeTc4M1NtdWpmYzJLbWd3NUY3Yncx
RXg5cDhaYTVZd2Uxd2YrTnYyUDMwVk5yVTh5NHIxdG9sT0JpWktKUFBwcldKcnVBR3RyV09ySgpy
bXExUmxoY1grczNMTFhmczhrb1VuaUpKOVl2ZGo0RFFmRkQ4K2FMaDJzSDJUS00weFlMOVRmdUlo
NGN5em84dTVMa04wR2RNczJmCm80SEpsWWM5ZktuUElRTkk1S3VnVUJkZzFGNVdnVlZnRlZnRmZw
WUN2LzhBUXQzNXBzL01Md0dqTTJ2OC9vVmdNNk0ydGhzZlVWNU4KVnIrNVVlYisyUHZuMTU4cFZP
cm54eDh5YmR5cGp2RnBobVBIbmFZc3QxaHdiUkloSTZRK1U3R3pJVmcvVk5DcytoMmFQSnJjSU1x
WQpwcERHZGZER1RhRXlPZnZNNWlBaFVNTVRseHpFZ05ETHdOUWRJTTJ5VmoyTGk0NnRVYzJUeXJE
Q25mbTFrUmV6TllDemY0RDVaeWZoCkxPSjNnUFpKNitLTWpSY2NEMTdEcVJXNGozZ1pFaFZPY3Rz
aUkva1AzdTRnNCtrVllQTGtPaWNhRzZpOFhJUXVEQ3ZpNjQyc3gyNXoKR2dVUGFhbkxyMFJqenZ2
NldiL0JGTzJ5WU5jd09OTVlQUGxzQWpiUHVmZnNTR1hFMm04YmhUQnNTWDVncEJ1WG81eFdsNG5G
ZDNTZAorTXRpdzE1V2dWVmdGVmdGZnBnQ2YvWUEwdUw3TzhIZXZ3amorTFpqZm0wRCs3QnRmRFQ4
MXNvL3NxdmZ4NzJ5OTg4b01EZEhPcTk3Ci8vakRHQWc5NFduNFpHTFBTR3ZIU2gvTTNtTkhaQmtl
VytOdDRxSjhhUmQxMWI1K04zL3luWSs2Zkk2Wk5NV3hUZHA0RzlmYUhIVUMKZ2ZKZkNGNHlFT3cv
YlNZMStaeE83bklubjUycFY3SGxkTVhDY3E3Z2c4TjBoZzcxMW8va2s4WDFrZnZVYjI2Znd1SEU5
Y0hKbkxvawpkakt3WndtcFIreXRuZnFTTDV5dTF3eTNnc1FaT1dSRDlVeUpHK1RVNzdTSTB3Unl1
MVljZXJVR2F6VmNxVTVYaXM1bVBLbS94MGcxCjBjVzJ3WHJ5Z1J1Yy9MZSsyT3NkOGpOaGgrOXdh
c0dmS2VWN2F3WDB2bStIWkJlcndDcXdDcXdDUDBLQlAzc0F5ZTlNQ3UrdkJMYmEKYXdPQjdkM1h4
c3lvYitOWHY3MS9QajhUN1A2bnp3OEFONEw2SUJrN3JhMXNmTFRjcEpXbUhScThnTUV6bVBVaUFy
emJPZHU0NUFOSwpVMmNmRjliK0k1anR4YkNlWFp4dzZzK2pQdkFCeVR6TnVXeXBGVWZ5M3BVc3BK
MGd2T2EwemN5NXdJc3pYc1d3VVJSRThPUFMxVHp5ClpUKzhob0s5ZUtObEw5Sng0anFZNGZNa1Z0
Zm9Ha3dXOHl5WnlPVGhUU3cyYVpsUzY4Y1FhSXBQVGpBOTB3V0FtempOK2JzMmFLZy8KZE1YQkIy
YjRjTHJ1ekRjSGlBQjd0c0krODROakNDdXVpOEdTZURUekdYTlFFaWVrK3dtcXRvMExUTmpXcUtn
dXdSNGU1WW1kUEZyaAphekVwSWZuMnVncXNBcXZBS3ZDakZQajlCNUR2TDNOLzY4OVo2c1BXTWI4
RDNySXVwdjZOdjVwVW05V3ZkMGUwcVI1Ny85eDdCWVhhCnZLblI4cTNESlIzYjBTLzJhZWZrUzNP
Sld4NDdXVXRncldsVGEzcG5OM3BFeUhqdDRtVGo5eVp2VU50Y0dEdkNPVkhOVDQzK1I5dzAKakt3
TXl3Tko0eE9wNi9nSVpPa1RhUkdxNVBkbWJDZmVjYjZFQWdkYkpZc1Z4aWUrZ1RPbnBvc2tCeHJl
dk9XaGJ1b1JseGJCc09iZgpqVCs1c0dJV0JGdnlUQjF2RGZCTnZESG1BekE1akcxY1p4dDlJY1di
M3dsbGMvMVRxK20xOXAvbVBDeG81M1hpeVgzT2RKaTlDSm1YCnlqOW5TdDdFdE5iV1Q1NXplQnZu
UFNYb2E5Z05xWGs1WDg1STZkVTZJVFpNemM4OUplYzkveGY1YmxlQlZXQVZXQVgrNVFyOC9nTkkK
dnY5VDhQbVZtZnEvZlpoZkcrdDN2L0h6dzdyNldZSHZld1BqYTl2NzUxTVArakkzWm1OR0h4a2lV
NFR6bFc1dHBIUno2YlZzWS9kTgpHSWhqM2JDWmU3aWUrQksxV1hWam1JdUxHSnJKQmpNY3NaSTdE
ek9RKzkveDNUZzV2RWxVN0hQVjVNYnpxWi96dDhHY01PZVEyU09sCnZ5eHpiRG5jd0FyMUhmL0d0
RXFUT1JrSk9VZjRLVGJzTW1pUjh4bVN0V3hGQkpjNGJDZS95SndUUURuSzcwU0piSHgzdUlDMWZw
angKMWM4ZWIvTUhsMXlPSlpqRUJNaHczeDl2dlkrYld1RjZCNFl4UXRidG1IdytJYUpISG1xS2NS
MFBJWHVINitKODVnaFI5bG0zUnFwbwovZFZRRmh0Zi9iRVIyZk1UdDJNVldBVldnVlhnWnludyt3
OGcxTTBQRnlQZjdsbHp4Zjc2dW43dHhURnZmRFJBQzhhckU5cXNmcGJsClE1ZnF4UHp2ZnY5SW1L
ZVB5LzFTZzdRNXpkbmNSNmM1azNSZTA4VlpYSUVQQm1FMWlMZkFZQjh1QVIyRzlnNGkwSnVoYWhS
bXJmVXkKTlJ3SGFYTEh1eG4xU2hlUGlUZmw4TW9PQnpYN05ldm1iOFpnVE9KY3pwdXRhOGtTYTNq
aFFxNDN2ajRnMGUvVzRIaTJvM0ZxbjZ1VApUNHhqWnkzN3VEUjNsYlBZNHhvbWg5elUwb3pXT1VX
blpqbk1NZm5admZVSDJtaDJsNDNNOWNDYjlkVERkSVk4T0psT0hwenpFT0V6CnhPLzYyWU1icW1h
a3prOWFTRFU0cnhONFkxUDNPVzl3WEcwWHlhdERTd3JxWnBuMGlVbXdHVzRXcDlyTEtyQUtyQUty
d0E5VDRNOGUKUVBpQy8vaDFtZE9jTC81bno3TDJ4bXo4NnRkN1lXNFZUNzFQYW1QUHFMMHhlLy9r
L21rM0ZwV2lrN3ExeXRUTzdWaGUvRmxMVERxOAowUnB6RzBLU2hFdno4T0l6Vkk0MGh1d21vNWNU
WXljZ2l0UEZRZk13Z2dYVHFRRk1CN2xhenVWeWVFaUdTaGJqNE5SQ0Ewd29nd2FRClBPUzdLTllU
WXYvMXdKS1lPTUpiLzJtMGdXbTAvcE9Ya2g1dWN4aEowKzJJcG5XaFpsZkJqb21iN0RtRUF5YXox
cHdyWjVtRitXSTcKOWNuR0d0N3ZxK21tQ2tMQlVEK2NqOW1ldnNmbWt0L2FDV2k4RUI3RWViUXdi
VmhPNXZnQ29uYm4xelk1Si9oTWd5TkllYWdwbXVRVQpzSHBBTkFPTDlhL3IyUC9yQTg2SmIvRE9x
OEFxc0Fxc0FqOUdnVDk3QUtGc2Zndm15OStuZU5jWXV1K003ZjUrYlB6cWQrK1I5MzVoCnplaDkw
eG5iM2orb2tQRjkvNHc0eUdXWnRHRHR2Um8zYkpYUGZadzdUNmpTNUowdEZuZUFCQ1NDUnUrTkw1
SHRjcmdSSENQNVBJaWQKR3RnVDMzYVNWV293MHBkd2tEdTJsc0RPUHVlSno5Y0Jsck54NUhScVp2
NmNLUG1wZ1dHVCtmQUhGNFNjazUvOVdUb0szMWpPWEFkegoyV01EMHZpM2hocEJXOVZ5Tlg2Q1dy
dGo0UkxPR1VvNjhZZW44Vk9KdVZQS3ZaNFNoMFRUNVl5VGZIbmdVTmpBc0ZremN3K0pwcHdyCkR5
YXVsMHlORVhQL3JNV2MwKzZoS0NtNGVTTVNqcDg2NE90b2pJeTg1MncvdUp3dE5aMzdWell3cWJO
RU82OENxOEFxc0FyOEpBWCsKN0FHa3Z3em5WK0E1eXV2RC9QeHdITlNMNmJyTzdodlh1WFp3WFcv
K3E4WHFGd1hlZXdQTFgvMys0WUJ0N3R5azVzQnQwdndSd2Y4MApkSVpYRjhYVFhEYktLL1lZSHQ3
R3U3a1RHdjQycXBtenY4MGVPY3NiS2pleWZwZVN6VXU0Sm8vck9NVk13MDBaL3NDRFMwVG54bnNX
CnBYR0todythdHk0cVNUaFhPOGVmT0NweUhRb2tGcXNubGd5T2c4UEdZbkE4OWJOTHNBTWFYMTdu
bDVINnFkVjJDRzNEU04zaHE5OW4KSURsNXpKcDFDdkwxeVVYTko2dnNkeEJsQXB1ZStuc213bHlI
QVMvNDFtblg1RmV0cmQ4MXp2NDl2OCtncEpGazZ1THdUNVZ4dWpyegpFUjlrYkszbTFHNm5Mdmxu
cm9PUnpmUTJFSi8zTUhVZTFDNVdnVlZnRlZnRmZwQUN2LzhBa3QrUCsyUG1Id1NkNUh2dTcwZm4r
amMrClduM3JVbjA2MTkvNXRiUCt0dGZmdWY3T3IzM2oveHI2dWR2U0crd09MODFyRDlaR3NBMlpt
ekJ0YXI4ZldMNkZlblBjRzZOeHRJUEUKRUc4VXVield6TDhZUFJjSG81MHFyYmVmZ3hYWFBmelpw
YVkwc2NRMXlNUVlxTUE1dzBZOUdIWGhueWNqZ3BzTXpVTk5QblBnWmt0RApLc01Nb3FuRnVDZC9P
UXdUL01SNVRUVWc5RktPMWg4TUVYbGc4SW9pMFV3VHVaaTlZbjV0OE9qUGRaZzJ0VGNtY0s3a1RV
NTJYdGZtCk9UYTdub3ZyVFhMS0VaS0xGM2YrUlR6MXZPZHFmbE83cUZSaEhTWStGYnB5cDNEYVlw
VVR2M25JandpYVFUTTMxcEQzTWxob1dLYW0KTWluT3kreEhaRkZIdzVkbTE2dkFLckFLckFJL1I0
SGZmd0RoMjUvUm1mVjg1N1AwWUY5LzUySzY3MHhBZlE2ZWZmMmRpK20rODhhdgpmcjAzOXY2eEFt
M09Ja3V1YVdKdjArcVB6L3NaZXRadUJObTdhNXg0bXRDd1YyVi94R003cG1meE5KbFlBZElNZWsy
eitZeUhKREM4CldnM2VqU1pydlhxem4zakJudkRaSk0rTEJ4UmNIZ1FvNEhBOHBieTRtQ2RLMCtG
THAvdEdVZW9sZEszQlkwK2pqUGFFaE8vTkhjdlEKZFhNQU1wZ2prVlYxMEwrY1FsR2l6TlJ1VlNq
aWNMZWFUeHBqaGVsTS9Uazd1UEpPREZ0ZUQyY2hjZVc5OXRsdDBPWEZEbzBuMllGdwppV2F6MGVU
OEZ0a0lIQm16aGJLMHJ0dGVMRi80Uk8xMUZWZ0ZWb0ZWNEljbzhQc1BJQzM0L1Y3dk4zOXQzOS83
Mkg5bEs5ZkdSNG5WCkx6cjg2bDc1bGUzZi9mNXhRNFlJMDViTy9ZTTVMWGdhdHpTUHQzVUZabWp2
TjNkOEZYUFlqaS8yMHhCKzJMOCt1UExWMGdyUzlyb2cKRXpsY0JUSzNSaXByZzB0OEt0VktYV3Z4
dG5vejlUQ0ZaQmJacG9CN1ZqQnVmc05rMEdtR1I3K2lrd3ZOSVBmRnM4OUFPWmlkTTc3Vwpud1FG
Z0JHajgyWU96dEd0d25QcUN1bXRpWENDc1p0cTFqRlVKM3duZjhHMnRmTFArbE1qVVJyRDdYTjVL
NE1PWFc3eXV3Um0rWHYvCkVQcU80azBJY0hndEhaUURqamxYeDdEMDlpSnMwZ1h0clgvZUJBRmpT
Q1ZEaVBVQTRTSzZnV3lMbHQzRU4yNVhxOEFxc0Fxc0FqOUwKZ1Q5L0FMbS9IZk5qb2dQVnh0bTZu
dDhHSDdlMmJ6K1kxL2F1Ti81cXVmcmxQdm0rUC81ZDd4OTNpUkhEdDhiY0g4aEJDOGJXNnphUwpR
RHVJUGZlVEZtZk5jdllUZHg0K2lDM09zemhJVUdOOW1JYmYrUVBDR3FSODlJOXVFMTFHL3N1TUFW
eXd2VndZSUhwSCtXMFB1Q0UwCnA2ek5iNkluZUVBeHh4NzBPVVg2V1VXWHIrMnM5N3BVajhQZkhB
MVFia3pkTnA3eWF5T0p3ekRLNnZVNDAxd25EK3MzdnJuQlkrOEoKVEtNTCs5aHl4VjRVNnc1UzJk
N0VxcWZjWUdxR0RQdGxLOE9MRnh1RXZEcTBKZ3B0elRYMms4UFlzdVlkcUltMzF2cVVDME9oSHpZ
MApKSW9YbUlENi9nUEY4cXZxOGUxWUJWYUJWV0FWK05jcjhHY1BJTytQd2ZQOTcyTzhQdGIrVmRI
OGJlK1pOLzc4ZnE1K3Y3aFA5djdKCkorVlhueCthcjM1KytrR1R6YVpwekNxZkc5bHAwQ0IwNDFa
TzJkUGozVGxKRSsyR0RsNjIva3hyb1prWWJMd090VUdKcGpoQ1BJZ3IKeUFIakJXQ09JanNUTmV2
bW5DK1I1SlZ2OHJNSXZhNzhheDdGcy9aWnRUYWJZL0pmWUhJZzhyeVZQalcvWnpHMUxnL1dTUGpI
YXQ4YgpNeDY3dlc2ZHlpZmNLVk9MdTU3Nm5lcXIvcEdEYXNIN2ZRbTVMS203Y3lzZHQvV3hPR1BB
LzFGLzYrNWMvK0RCdnJvUzdWRlJxZWNyCkJrdE9ERklNQXZpOU9EbUd3MjZjd0I2Y0RUaG5qRWpV
N3ZxRk5iOXB3dFU2OFR1bjU3MnNBcXZBS3JBSy9GUUZmdjhCeE4vOE9rYSsKNGU5NTh2MS85Nnhl
VzljYkgxMVd2Ly8rWHFtbjk4eDdMKzM5YysrZmRxMmU1NFo2N2l1YXN6YmduZHUwR2xaOU5ic25s
TkVOWXZWWApmQ0hFTzAyQndyREVGdTRUcElXSjdIU0RpQXNpTjR4c1l2VjE0dUhvTUs4M3llK2E1
S2U1aE9qNDJVNVk2SFhGT1NPMjdxWVMrMGtxCisrVEVNOTZBSnpBMTNRVE4zNlNOK2NEQm9IanJJ
bGJTUlZONFlMajFuMUtObWRReWtwN2hXQll1UWRrMHg1dWF5RHVyei9xSk5RdmUKSU1LWlJNMUxk
QkM2amhZWThOc3VtMnR3QUd0WWVPR2QwU1htanVHcUtkdlVIM2lEbnJuNXk2RzUxWjE3Y3ZKZjN0
d1QyVjltdzh3agptNXduL3VIZTVTcXdDcXdDcThEUFVPRDNIMEQ2N2QvNStRM3hVVjU3ZlQwaisv
bzdGOVA1dGRlMjhWRmc5ZHY3cDUrUHp1bXduZy9XCi9kRFFlTFg1QWw2UFp4cStNWGlwZGJBMWNz
dWRKR3p1QUNMWElKL0dWRGFSblJaNjhwOTlBelRUSkRwZk1SZzhCdVFwdGk2WkwweTcKL0h1anRE
YmExNnlveVpCellRdFB6ZFIzYXF4Vnp1aHhmZUJ2MC8vNFhkVFUraVFqM3RzbU9oV1lLSm5Jbzcr
R3Bla09zTGFHcFo3cwpxbFpyaE1YMXRYN0RVdnM5bTR3aWhaZDRZdjFpNXpNUUZEODBiNzU0dUhh
UUxjTTRiYkZRZitNdTRzR3hyTU96SzBsK0U5UXAwL3c1CkdwaGNlZGpEbC9vY01vQkV2Z29LZFFG
RzdXVVZXQVZXZ1ZYZ1p5bncrdzhnMUoxditzejhFakE2czhidlh3ZzJNMnBqdS9FUjVkVmsKOVpz
YlplNlB2WDkrL1psQ3BYNSsvQ0hUeHAzcUdKOW1PSGJjYWNweWl3WFhKaEV5UXVvekZUc2JndlZE
QmMycTM2SEpvOGtOb294cApDbWxjQjIvY0ZDcVRzODlzRGhJQ05UeHh5VUVNQ0wwTVROMEIwaXhy
MWJPNDZOZ2ExVHlwREN2Y21WOGJlVEZiQXpqN0I1aC9kaExPCkluNEhhSiswTHM3WWVNSHg0RFdj
V29IN2lKY2hVZUVrdHkweWt2L2c3UTR5bmw0QkprK3VjNkt4Z2NyTFJlakNzQ0srM3NoNjdEYW4K
VWZDUWxycjhTalRtdksrZjlSdE0wUzRMZGcyRE00M0JrODhtWVBPY2U4K09WRWFzL2JaUkNNT1c1
QWRHdW5FNXltbDFtVmg4UjllSgp2eXcyN0dVVldBVldnVlhnaHlud1p3OGdMYjYvRSt6OWl6Q09i
enZtMXphd0Q5dkdSOE52cmZ3anUvcDkzQ3Q3LzR3Q2MzT2s4N3IzCmp6K01nZEFUbm9aUEp2YU10
SGFzOU1Ic1BYWkVsdUd4TmQ0bUxzcVhkbEZYN2V0Mzh5ZmYrYWpMNTVoSlV4emJwSTIzY2EzTlVT
Y1EKS1ArRjRDVUR3ZjdUWmxLVHorbmtMbmZ5MlpsNkZWdE9WeXdzNXdvK09FeG42RkJ2L1VnK1dW
d2Z1VS85NXZZcEhFNWNINXpNcVV0aQpKd043bHBDSnJCQndBQUFnQUVsRVFWUjZ4TjdhcVMvNXd1
bDZ6WEFyU0p5UlF6WlV6NVM0UVU3OVRvczRUU0MzYThXaFYydXdWc09WCjZuU2w2R3pHay9wN2pG
UVRYV3dickNjZnVNSEpmK3VMdmQ0aFB4TjIrQTZuRnZ5WlVyNjNWa0R2KzNaSWRyRUtyQUtyd0Ny
d0l4VDQKc3dlUS9NNms4UDVLWUt1OU5oRFkzbjF0ekl6Nk5uNzEyL3ZuOHpQQjduLzYvQUJ3STZn
UGtySFQyc3JHUjh0TldtbmFvY0VMR0R5RApXUzhpd0x1ZHM0MUxQcUEwZGZaeFllMC9ndGxlRE92
WnhRbW4vanpxQXgrUXpOT2N5NVphY1NUdlhjbEMyZ25DYTA3YnpKd0x2RGpqClZRd2JSVUVFUHk1
ZHpTTmY5c05yS05pTE4xcjJJaDBucm9NWlBrOWlkWTJ1d1dReHo1S0pUQjdleEdLVGxpbTFmZ3lC
cHZqa0JOTXoKWFFDNGlkT2N2MnVEaHZwRFZ4eDhZSVlQcCt2T2ZIT0FDTEJuSyt3elB6aUdzT0s2
R0N5SlJ6T2ZNUWNsY1VLNm42QnEyN2pBaEcyTgppdW9TN09GUm50akpveFcrRnBNU2ttK3ZxOEFx
c0Fxc0FqOUtnZDkvQVBuK012ZTMvcHlsUG13ZDh6dmdMZXRpNnQvNHEwbTFXZjE2CmQwU2I2ckgz
ejcxWFVLak5teG90M3pwYzByRWQvV0tmZGs2K05KZTQ1YkdUdFFUV21qYTFwbmQybzBlRWpOY3VU
alorYi9JR3RjMkYKc1NPY0U5WDgxT2gveEUzRHlNcXdQSkEwUHBHNmpvOUFsajZSRnFGS2ZtL0dk
dUlkNTBzb2NMQlZzbGhoZk9JYk9ITnF1a2h5b09ITgpXeDdxcGg1eGFSRU1hLzdkK0pNTEsyWkJz
Q1hQMVBIV0FOL0VHMk0rQUpQRDJNWjF0dEVYVXJ6NW5WQTIxeisxbWw1ci8ybk93NEoyClhpZWUz
T2RNaDltTGtIbXAvSE9tNUUxTWEyMzk1RG1IdDNIZVU0SytodDJRbXBmejVZeVVYcTBUWXNQVS9O
eFRjdDd6ZjVIdmRoVlkKQlZhQlZlQmZyc0R2UDREayt6OEZuMStacWYvYmgvbTFzWDczR3o4L3JL
dWZGZmkrTnpDK3RyMS9QdldnTDNOak5tYjBrU0V5UlRoZgo2ZFpHU2plWFhzczJkdCtFZ1RqV0Ra
dTVoK3VKTDFHYlZUZUd1YmlJb1psc01NTVJLN256TUFPNS94M2ZqWlBEbTBURlBsZE5ianlmCitq
bC9HOHdKY3c2WlBWTDZ5ekxIbHNNTnJGRGY4VzlNcXpTWms1R1FjNFNmWXNNdWd4WTVueUZaeTFa
RWNJbkRkdktMekRrQmxLUDgKVHBUSXhuZUhDMWpyaHhsZi9lenhObjl3eWVWWWdrbE1nQXozL2ZI
Vys3aXBGYTUzWUJnalpOMk95ZWNUSW5ya29hWVkxL0VRc25lNApMczVuamhCbG4zVnJwSXJXWHcx
bHNmSFZIeHVSUFQ5eE8xYUJWV0FWV0FWK2xnSy8vd0JDM2Z4d01mTHRualZYN0srdjY5ZGVIUFBH
ClJ3TzBZTHc2b2MzcVoxaytkS2xPelAvdTk0K0VlZnE0M0M4MVNKdlRuTTE5ZEpvelNlYzFYWnpG
RmZoZ0VGYURlQXNNOXVFUzBHRm8KN3lBQ3ZSbXFSbUhXV2k5VHczR1FKbmU4bTFHdmRQR1llRk1P
cit4d1VMTmZzMjcrWmd6R0pNN2x2Tm02bGl5eGhoY3U1SHJqNndNUwovVzROam1jN0dxZjJ1VHI1
eERoMjFyS1BTM05YT1lzOXJtRnl5RTB0eldpZFUzUnFsc01jazUvZFczK2dqV1ozMmNoY0Q3eFpU
ejFNClo4aURrK25rd1RrUEVUNUQvSzZmUGJpaGFrYnEvS1NGVklQek9vRTNObldmOHdiSDFYYVJ2
RHEwcEtCdWxrbWZtQVNiNFdaeHFyMnMKQXF2QUtyQUsvREFGL3V3QmhDLzRqMStYT2MzNTRuLzJM
R3R2ek1hdmZyMFg1bGJ4MVB1a052YU0yaHV6OTAvdW4zWmpVU2s2cVZ1cgpUTzNjanVYRm43WEVw
TU1iclRHM0lTUkp1RFFQTHo1RDVVaGp5RzR5ZWpreGRnS2lPRjBjTkE4aldEQ2RHc0Iwa0t2bFhD
NkhoMlNvClpERU9UaTAwd0lReWFBREpRNzZMWWowaDlsOFBMSW1KSTd6MW4wWWJtRWJyUDNrcDZl
RTJoNUUwM1k1b1doZHFkaFhzbUxqSm5rTTQKWURKcnpibHlsbG1ZTDdaVG4yeXM0ZjIrbW02cUlC
UU05Y1A1bU8zcGUyd3UrYTJkZ01ZTDRVR2NSd3ZUaHVWa2ppOGdhbmQrYlpOegpnczgwT0lLVWg1
cWlTVTRCcXdkRU03QlkvN3FPL2I4KzRKejRCdSs4Q3F3Q3E4QXE4R01VK0xNSEVNcm10MkMrL0gy
S2Q0MmgrODdZCjd1L0h4cTkrOXg1NTd4ZldqTjQzbmJIdC9ZTUtHZC8zejRpRFhKWkpDOWJlcTNI
RFZ2bmN4N256aENwTjN0bGljUWRJUUNKbzlONzQKRXRrdWh4dkJNWkxQZzlpcGdUM3hiU2RacFFZ
amZRa0h1V05yQ2V6c2M1NzRmQjFnT1J0SFRxZG01cytKa3A4YUdEYVpEMzl3UWNnNQorZG1mcGFQ
d2plWE1kVENYUFRZZ2pYOXJxQkcwVlMxWDR5ZW90VHNXTHVHY29hUVRmM2dhUDVXWU82WGM2eWx4
U0RSZHpqakpsd2NPCmhRME1telV6OTVCb3lybnlZT0o2eWRRWU1mZlBXc3c1N1I2S2tvS2JOeUxo
K0trRHZvN0d5TWg3enZhRHk5bFMwN2wvWlFPVE9rdTAKOHlxd0Nxd0NxOEJQVXVEUEhrRDZ5M0Ir
Qlo2anZEN016dy9IUWIyWXJ1dnN2bkdkYXdmWDllYS9XcXgrVWVDOU43RDgxZThmRHRqbQp6azFx
RHR3bXpSOFIvRTlEWjNoMVVUek5aYU84WW8vaDRXMjhtenVoNFcram1qbjcyK3lSczd5aGNpUHJk
eW5adklScjhyaU9VOHcwCjNKVGhEenk0UkhSdXZHZFJHcWQ0K0tCNTY2S1NoSE8xYy95Sm95TFhv
VUJpc1hwaXllQTRPR3dzQnNkVFA3c0VPNkR4NVhWK0dhbWYKV20ySDBEYU0xQjIrK24wR2twUEhy
Rm1uSUYrZlhOUjhzc3ArQjFFbXNPbXB2MmNpekhVWThJSnZuWFpOZnRYYStsM2o3Ti96K3d4SwpH
a21tTGc3L1ZCbW5xek1mOFVIRzFtcE83WGJxa24vbU9oalpURzhEOFhrUFUrZEI3V0lWV0FWV2dW
WGdCeW53K3c4ZytmMjRQMmIrClFkQkp2dWYrZm5TdWYrT2oxYmN1MWFkei9aMWZPK3R2ZS8yZDYr
LzgyamYrcjZHZnV5Mjl3ZTd3MHJ6MllHMEUyNUM1Q2RPbTl2dUIKNVZ1b044ZTlNUnBITzBnTThV
YVJ5MnZOL0l2UmMzRXcycW5TZXZzNVdISGR3NTlkYWtvVFMxeURUSXlCQ3B3emJOU0RVUmYrZVRJ
aQp1TW5RUE5Ua013ZHV0alNrTXN3Z21scU1lL0tYd3pEQlQ1elhWQU5DTCtWby9jRVFrUWNHcnln
U3pUU1JpOWtyNXRjR2ovNWNoMmxUCmUyTUM1MHJlNUdUbmRXMmVZN1BydWJqZUpLY2NJYmw0Y2Vk
ZnhGUFBlNjdtTjdXTFNoWFdZZUpUb1N0M0NxY3RWam54bTRmOGlLQVoKTkhOakRYa3ZnNFdHWldv
cWsrSzh6SDVFRm5VMGZHbDJ2UXFzQXF2QUt2QnpGUGo5QnhDKy9SbWRXYzkzUGtzUDl2VjNMcWI3
emdUVQo1K0RaMTkrNW1PNDdiL3pxMTN0ajd4OHIwT1lzc3VTYUp2WTJyZjc0dkoraForMUdrTDI3
eG9tbkNRMTdWZlpIUExaamVoWlBrNGtWCklNMmcxelNiejNoSUFzT3IxZURkYUxMV3F6ZjdpUmZz
Q1o5TjhyeDRRTUhsUVlBQ0RzZFR5b3VMZWFJMEhiNTB1bThVcFY1QzF4bzgKOWpUS2FFOUkrTjdj
c1F4ZE53Y2dnemtTV1ZVSC9jc3BGQ1hLVE8xV2hTSU9kNnY1cERGV21NN1VuN09ESysvRXNPWDFj
QllTVjk1cgpuOTBHWFY3czBIaVNIUWlYYURZYlRjNXZrWTNBa1RGYktFdnJ1dTNGOG9WUDFGNVhn
VlZnRlZnRmZvZ0N2LzhBMG9MZjcvVis4OWYyCi9iMlAvVmUyY20xOGxGajlvc092N3BWZjJmN2Q3
eDgzWklnd2JlbmNQNWpUZ3FkeFMvTjRXMWRnaHZaK2M4ZFhNWWZ0K0dJL0RlR0gKL2V1REsxOHRy
U0J0cndzeWtjTlZJSE5ycExJMnVNU25VcTNVdFJadnF6ZFREMU5JWnBGdENyaG5CZVBtTjB3R25X
WjQ5Q3M2dWRBTQpjbDg4K3d5VWc5azU0MnY5U1ZBQUdERTZiK2JnSE4wcVBLZXVrTjZhQ0NjWXU2
bG1IVU4xd25meUYyeGJLLytzUHpVU3BUSGNQcGUzCk11alE1U2EvUzJDV3YvY1BvZThvM29RQWg5
ZlNRVG5nbUhOMURFdHZMOEltWGREZSt1ZE5FRENHVkRLRVdBOFFMcUlieUxabzJVMTgKNDNhMUNx
d0NxOEFxOExNVStQTUhrUHZiTVQ4bU9sQnRuSzNyK1czd2NXdjc5b041YmU5NjQ2K1dxMS91aysv
NzQ5LzEvbkdYR0RGOAphOHo5Z1J5MFlHeTliaU1KdElQWWN6OXBjZFlzWno5eDUrR0QyT0k4aTRN
RU5kYUhhZmlkUHlDc1FjcEgvK2cyMFdYa3Y4d1l3QVhiCnk0VUJvbmVVMy9hQUcwSnp5dHI4Sm5x
Q0J4Uno3RUdmVTZTZlZYVDUyczU2cjB2MU9Qek4wUURseHRSdDR5bS9OcEk0REtPc1hvOHoKelhY
eXNIN2pteHM4OXA3QU5McXdqeTFYN0VXeDdpQ1Y3VTJzZXNvTnBtYklzRisyTXJ4NHNVSElxME5y
b3REV1hHTS9PWXd0YTk2QgptbmhyclUrNU1CVDZZVU5Eb25pQkNhanZQMUFzdjZvZTM0NVZZQlZZ
QlZhQmY3MENmL1lBOHY0WVBOLy9Qc2JyWSsxZkZjM2Y5cDU1CjQ4L3Y1K3IzaS90azc1OThVbjcx
K2FINTZ1ZW5IelRaYkpyR3JQSzVrWjBHRFVJM2J1V1VQVDNlblpNMDBXN280R1hyejdRV21vbkIK
eHV0UUc1Um9paVBFZzdpQ0hEQmVBT1lvc2pOUnMyN08rUkpKWHZrbVA0dlE2OHEvNWxFOGE1OVZh
N001SnY4RkpnY2l6MXZwVS9ONwpGbFByOG1DTmhIK3M5cjB4NDdIYjY5YXBmTUtkTXJXNDY2bmZx
YjdxSHptb0ZyemZsNURMa3JvN3Q5SnhXeCtMTXdiOEgvVzM3czcxCkR4N3NxeXZSSGhXVmVyNWlz
T1RFSU1VZ2dOK0xrMk00N01ZSjdNSFpnSFBHaUVUdHJsOVk4NXNtWEswVHYzTjYzc3Nxc0Fxc0Fx
dkEKVDFYZzl4OUEvTTJ2WStRYi9wNG4zLzkzeitxMWRiM3gwV1gxKysvdmxYcDZ6N3ozMHQ0Lzkv
NXAxK3A1YnFqbnZxSTVhd1BldVUycgpZZFZYczN0Q0dkMGdWbi9GRjBLODB4UW9ERXRzNFQ1Qldw
aklUamVJdUNCeXc4Z21WbDhuSG80TzgzcVQvSzVKZnBwTGlJNmY3WVNGClhsZWNNMkxyYmlxeG42
U3lUMDQ4NHcxNEFsUFRUZEQ4VGRxWUR4d01pcmN1WWlWZE5JVUhobHYvS2RXWVNTMGo2Um1PWmVF
U2xFMXoKdkttSnZMUDZySjlZcytBTklweEoxTHhFQjZIcmFJRUJ2KzJ5dVFZSHNJYUZGOTRaWFdM
dUdLNmFzazM5Z1Rmb21adS9ISnBiM2JrbgpKLy9selQyUi9XVTJ6RHl5eVhuaUgrNWRyZ0tyd0Nx
d0N2d01CWDcvQWFUZi9wMmYzeEFmNWJYWDF6T3lyNzl6TVoxZmUyMGJId1ZXCnY3MS8rdm5vbkE3
citXRGREdzJOVjVzdjRQVjRwdUViZzVkYUIxc2p0OXhKd3VZT0lISU44bWxNWlJQWmFhRW4vOWsz
UUROTm92TVYKZzhGalFKNWk2NUw1d3JUTHZ6ZEthNk45ellxYUREa1h0dkRVVEgybnhscmxqQjdY
Qi80Mi9ZL2ZSVTJ0VHpMaXZXMmlVNEdKa29rOAorbXRZbXU0QWEydFk2c211YXJWR1dGeGY2emNz
dGQrenlTaFNlSWtuMWk5MlBnTkI4VVB6NW91SGF3ZlpNb3pURmd2MU4rNGlIaHpMCk9qeTdrdVEz
UVoweXpaK2pnY21WaHoxOHFjOGhBMGprcTZCUUYyRFVYbGFCVldBVldBVitsZ0svL3dCQzNmbW16
OHd2QWFNemEveisKaFdBem96YTJHeDlSWGsxV3Y3bFI1djdZKytmWG55bFU2dWZISHpKdDNLbU84
V21HWThlZHBpeTNXSEJ0RWlFanBENVRzYk1oV0Q5VQowS3o2SFpvOG10d2d5cGlta01aMThNWk5v
VEk1Kzh6bUlDRlF3eE9YSE1TQTBNdkExQjBnemJKV1BZdUxqcTFSelpQS3NNS2QrYldSCkY3TTFn
TE4vZ1BsbkorRXM0bmVBOWtucjRveU5GeHdQWHNPcEZiaVBlQmtTRlU1eTJ5SWorUS9lN2lEajZS
Vmc4dVE2SnhvYnFMeGMKaEM0TUsrTHJqYXpIYm5NYUJROXBxY3V2UkdQTysvcFp2OEVVN2JKZzF6
QTQweGc4K1d3Q05zKzU5K3hJWmNUYWJ4dUZNR3hKZm1DawpHNWVqbkZhWGljVjNkSjM0eTJMRFhs
YUJWV0FWV0FWK21BSi85Z0RTNHZzN3dkNi9DT1A0dG1OK2JRUDdzRzE4TlB6V3lqK3lxOS9ICnZi
TDN6eWd3TjBjNnIzdi8rTU1ZQ0QzaGFmaGtZczlJYThkS0g4emVZMGRrR1I1YjQyM2lvbnhwRjNY
VnZuNDNmL0tkajdwOGpwazAKeGJGTjJuZ2IxOW9jZFFLQjhsOElYaklRN0Q5dEpqWDVuRTd1Y2ll
Zm5hbFhzZVYweGNKeXJ1Q0R3M1NHRHZYV2orU1R4ZldSKzlSdgpicC9DNGNUMXdjbWN1aVIyTXJC
bkNhbEg3SzJkK3BJdm5LN1hETGVDeEJrNVpFUDFUSWtiNU5UdnRJalRCSEs3Vmh4NnRRWnJOVnlw
ClRsZUt6bVk4cWIvSFNEWFJ4YmJCZXZLQkc1ejh0NzdZNngzeU0yR0g3M0Jxd1o4cDVYdHJCZlMr
YjRka0Y2dkFLckFLckFJL1FvRS8KZXdESjcwd0s3NjhFdHRwckE0SHQzZGZHektodjQxZS92WDgr
UHhQcy9xZlBEd0EzZ3ZvZ0dUdXRyV3g4dE55a2xhWWRHcnlBd1RPWQo5U0lDdk5zNTI3amtBMHBU
Wng4WDF2NGptTzNGc0o1ZG5IRHF6Nk0rOEFISlBNMjViS2tWUi9MZWxTeWtuU0M4NXJUTnpMbkFp
ek5lCnhiQlJGRVR3NDlMVlBQSmxQN3lHZ3IxNG8yVXYwbkhpT3BqaDh5UlcxK2dhVEJiekxKbkk1
T0ZOTERacG1WTHJ4eEJvaWs5T01EM1QKQllDYk9NMzV1elpvcUQ5MHhjRUhadmh3dXU3TU53ZUlB
SHUyd2o3emcyTUlLNjZMd1pKNE5QTVpjMUFTSjZUN0NhcTJqUXRNMk5hbwpxQzdCSGg3bGlaMDhX
dUZyTVNraCtmYTZDcXdDcThBcThLTVUrTHUrdFBuKzNyRUtyQUtyd0Nxd0Nxd0NxOEFxc0Fxc0Fx
dkEvKzhLCi9ObC9BZm4vdlp4TnNBcXNBcXZBS3JBS3JBS3J3Q3F3Q3F3Q2YyVUY5Z0hrci96dTd0
bFdnVlZnRlZnRlZvRlZZQlZZQlZhQkg2YkEKUG9EOHNEZGt5MWtGVm9GVllCVllCVmFCVldBVldB
WCt5Z3JzQThoZitkM2RzNjBDcThBcXNBcXNBcXZBS3JBS3JBSS9USUY5QVBsaApiOGlXc3dxc0Fx
dkFLckFLckFLcndDcXdDdnlWRmRnSGtML3l1N3RuV3dWV2dWVmdGVmdGVm9GVllCVllCWDZZQXZz
QThzUGVrQzFuCkZWZ0ZWb0ZWWUJWWUJWYUJWV0FWK0NzcnNBOGdmK1YzZDgrMkNxd0NxOEFxc0Fx
c0FxdkFLckFLL0RBRjlnSGtoNzBoVzg0cXNBcXMKQXF2QUtyQUtyQUtyd0Nyd1YxYmdmLzN1NGY3
My8vbmZmL3ZiOS85bit0OFZqYTN6Uy9iYVdETTJQanIwV28wNjE4NzgybGEvS0xQMwp6K2hRSWY3
eHQ3OXIrUTgrV1ArcGRid3lZTFJWL2xscnRsOWJmeERIN2hCOGh2Mm5aMksvdWN3cE1EakhLMTk0
c3JmZG5PTWZ6dFppCnpzZGZmR3B5OGxOZmE4NzNCYldOZjFLKytlR3huN1QvVi9VNy9ULys1djls
eGZnbmZrb3JYMnE2OGJIUGZtckZWdnpmT1RQNWREbDUKOGNOYi9abkhkczVvcnNZa0hqejVVK2Y0
cVArcCtlOWlmdlAvaDMza3lqbmpTNzIzbnU3RFdkMFA5disrOVdrOWRSRHZXcVorMW4vLwp6MXZy
aVJldU5SSEwyWTlQKy8rWWVNNzNIM2hWcTduUVlHeC9wLzdoNFV3bkh0M0l5ZXpYcklmVE5VNzlx
Vzl3OXQvNi8wT3g0WTFXCnV1NVlCVmFCVldBVitHRUsrRGZudDJyU0Q4VVovdFhScnJiT0FQeHIv
UGl3NGYvR2dLdXRNOWlOUjRXclRkZmZHcTErVjZOdmJhb1oKTXdQL04rYi9jZjMrUHZYN1dGeGt5
REZ6ME5qdit1K3ZYdzFhaGtobXlVVEQ2My9GRHE1b3NEelcvQU03K1hNeHg4RU1JVng1QkJKSwpm
THhDbnFqNmJseHJpU2YydVdvaUpUdDd0WUhPOWRxV2kvTm95VWpwRXg5VGJISzRmdG0rNDkrWVZ1
bFFKeU1oNXhpeWV6b1hsdk1aCmtyTzYzcy84UkZML3lTOHk1OHpCRWxkK0ovcU03dzRYc05ZZlhw
ZmhET3p4V2l1dmdpYVhZOW15Z1ZDRysvN1VuN3BTcXpBZmd5QmUKR3BCMU95YkgyT1VrNWk3RzlV
YmtoTHZHS1VYeGNZWEk1UlU3TlRhbDA5YUhFbDkrR1NibEZPVnNlMWtGVm9GVllCWDRTUXI4L2dN
SQpWZk9id3VCNy9mMXV4Lzc2dW43dHhOVys4YXZmM2o5OElqTGV6d202OUhQeTJrSFdyc1hwdjJx
dlFmRnRjSXMvelRFVWRHKzg3QlI0Ck9HMkNpL2o1Y0dNN1hBSWFRMzBPSXRDYm9Xb1VacTMxTWpV
Y0IybHl4N2Q1TmtZV1VHYTdGMXZ4dDBIdXV2bWJNWGJEelhFNW9UVWgKTEd3TWdnL3pHMThma0p5
NWNRNkplN2hTKzF5ZGZHSWNPMnZaeDZXNXE1ekZIdGN3T2VTbWxtYTB6cFBXaWVVd3gzT1d0LzVB
RzgzdQpzcEc1SG5pem5ucVl6cEFISjlQSmc1T0h2Y0ZucSt2c3dYVXBIT0hVK1VtTEZRY1BCYk1l
UlBjNWIzeGNiUmRKN0k0K2IyTlFOOHVrClQweUN6VURVUngyaDJlc3FzQXFzQXF2QUQxSGd6eDVB
K0lMLzFiZjYrZUtmVStWWHdqOW0vczFwek1hdmZyMFgzZy9BM2ovNXJGU1QKLytuejg5RWdLc2lm
cTZmeG04N3RXRjc4V1NzSTNPVEMzSWFRbXpSdmsyWmhXT016Vkp2UXN3dktqc0hGQ1lqRDZPS2dl
UmpCZ3VuVQpBS2FEWEFOWFhNTHp2MlRYR2lwZGpZUFRLS2NJcFJFaUhDNmdyVXNvTjlJSmNhNDN2
akZ4QkZTL3U5K0pvOXJXVHpibm5UeFREa21CCmFkejZheUhBYStiaWlNY0tHYVRaZVkzSnVuU0JX
d1BicVkvOTdHSzdWOU9GTkhHNlVyOVR4Mms3REgyUHpRVy9RTHlNSDVSZ00xcVkKdGl3bmY1d0JQ
Y2VabkJOOHBzRVI1RnpKR1RZYlF3ZlJEQ0tzLzNEVVEvNzMvZzE4UUEzZWVSVllCVmFCVmVESEtQ
Qm5EeUNVelRmKworNzMrcnZGMzN4bGJmeVc2Zm4zdkduLzNuUnZEek5qOFZ5UDBlSFY2OTY5OTlV
ZVpqTC9hL1RNZkx0NXV2ODFhc1BaZWpSdTJ2djN1CjQ5eDVJZ1V0bTY1Y1pwd0dmUm8rR3IwM3Zr
UzJ5K0ZHY0l5SGhsaHR1aWMrbVVoQ00rdUpqVWM0NUprQTVoTUxtSC9FZEF5d25JMGoKeUttWita
c2dRaHR1ay9ud0IzZThUU3IwV1g3bHZFWFd3VnoyMlA1TC9VVU1LV2lyZWdxZitPTlA3YTVmTmo4
QVFQMFVSZnpoZWZKZgpHd0hQbUJTSFJGdzJtVE5POHVXQlEzR1RDNXMxa3lrWnZSaHQ4MkRTV2s2
TWtiRmFpem5uazBwa2s1TXFXT3ZmOFdzLzZYT0FRQTNJClE4YUROU0tWdGY0U3dXRU53N0xYVldB
VldBVldnUittd0o4OWdQU1hnUitGcm51Zzd2dUQwYmwyY0Yxdi9OVmk5WXNDNzcyQlplK2YKVDEz
WWZXZ2tnZHJjYVc2RDJDYk5Iekg4VDBObmVIVWxRdXRzSWM0RzI4dmJlRCtjQ0FOL0c5WE0yZDlt
ajV6bERaVWJXZXFmYkY3QwpOZlc3amxNTVo4a2dGekVETzNQalBRdHNuT0xoZythdHkvRUd6aG1G
aVQ5eDVISWRDaVFXcXlmSGVDdTdMRFlXZy9PcG4xMkNIZEQ0CjhwS1plTTVCcmJaanNBMGpkWWV2
ZnRjb3JQT1lOV3NZSEFlbjFzbkZuSlg5OXVWQ2xHbThmZXJ2bVFoekhRYTg0RnVuWFpOLzlITmQK
Ujh2VUh3YWZRQ214WVptNk9QeFRaWnl1em5udVBSSmJ1SFR0dGx5YXd6aThBTFUwdllNSWlDN1Iy
Y2E5ckFLcndDcXdDdnd3Qlg3LwpBWVR2ZGI3elAzNFF4c2FoK250UWYrZlh2dkdyMy9kOTBmdWpj
LzJkWC92ZVA3bC8zRzFKSUhkNGJmNGlXQnZoTm1SdXdyU3AvWDVRCjN3L3RGYlp4TkxSdGl2MFdr
QXNlUHVqOGk5RnpjVERhcVZMNjlvRWxybnY0czB0TmJyVHR0Q1B4MEdnNGx3c0NRRDFNSk85a1JI
Q1QKd1ZTR2dSK3M5Z1NsSVlVa2crZzB5dGh1L25JWUpkZUo4L3JXVHkydFB4Z2k0TXh3ZmpSVEhM
bVl2V0orYmZEb0wzaTV0UGRyWWdMbgpDbk55c3ZPNk5zK3gyZlZjckhlUzgxWUl5Y1dMTy84aW5o
cmVjelcvcVYxVXF1Qmc1cFFqRmZxMFR1RzB4U29uZnFQSWp3aWFRVE0zCjFwRDNNbGhvV0thbU1p
bk95K3lweFVPejlYeDVkcjBLckFLcndDcndZeFQ0L1FlUStWN250K0tNK2M3LzJOZmZ1Wmp1T3hO
VVh3blkKMTkrNW1PNDdiL3pxMTN0ajd4OHIwT1lzc3VUcVZwQUdVVTQrT3Y3NHZKK2haKzFHMENB
dUUwOXMySDNsY3IzSDlDeWVKaE1yd1RTRApYcWNHbGg0aFBzczBqRElPM28wbWE3MU9QWW4wOWdr
ZmQvSzhlUElIUjRPdllMMWNTM2s2UDdpWUprclQ0VXVuMndqUDVleUdQWGptCk5NcG9qemQ4Yis1
WUhGbjNVeHlKNFlpcnFnNzZsMVA0eXByWnRaVG9TVjdVUzlTNk8vdWU4UUZCZlVXdzVmVndGaEpY
M211ZjNRWmQKWGl5VUhaeVR0UzdSYkRhYXFNVmlsaHdYd3dHaExHM09paFBMQU5qdVdBVldnVlZn
RmZoeEN2eitBMGhMZjcvWCs4MWYyL2YzUHZaZgoyY3ExOFZGaTlZc092N3BYZm1YN2Q3OS9ucWJR
dDg3Y1ArN1Zwc3RMRXhueGVuc3h2M2p2NnJSUG0yZVB6S2NoL0xCL2ZYRGxxNFVWCmE2NWVqY1Bo
S3BBNUNGTHhVQkFBMXpUWldxbHJMZDVXYndRd1ppNE9peVBZZUE5VWk3ZnhoL0EwdzVPelRYM2pZ
MDQ5NXdTVTA4U24KMXNHWXNBRHFFcVB6Wk00NUhSMk9LZDFoY01ycU5SQm9IR3pIdFU5a2RjSmIv
YVl5QjFCUnFzcTE5WWZJa0FNbkhwVFByek9WbS93dQpnUmsrbnpmMUQ0T240azJJdTVDUVRoMDF4
K21ZZzIyTnlVTk9Vam1kTDZTSklRaW45Y1U4eFJBNE9KeXUzeWpaVHk0YjlySUtyQUtyCndDcnd3
eFQ0OHdlUSs5dlJYeGovQnB4enZmNnVPd1BxK3YyQnFPM2JYM3ZuYno4Y3IrMWQ0MnRjNTIvL3hx
UEkxZWxkcjM1WGw1OTIKLzdoTHpKdmwwcVkrM2pJYU5yWmV0NUVFMnVGdXJ4c2hKeGFMMjFJSHR6
SHNCOFRPQkJrdnUxMFQvSEM0ZzlYZStRTnlYTUx5WHlITQpMZ0Q1emdNT0tHd3ZGd2FJM2pIMU03
WDRodENjc2phL2laN2dBY1VjZTlCbFVaek4wUS8ycURCK3hiZld3OThjTFlDS3RPNjI4WERWClJo
S0hZWlRWNjNHbXVVNGUxbTk4YzRQSDNoT1lSaGYyc2VXS3ZTaldIYVN5dllsVlQ3bkIxQXdaOXN0
V2hoY3ZOZ2g1ZFdoTkZOcWEKYSt3bmg3Rmx6VHRRay9WSG4zSmhLUFREaG9hZ2VJRUpxTzgvVUN5
L3FoN2ZqbFZnRlZnRlZvRi92UUovOWdEeS9oZzgzLzgreHV0agozVitSYjN2UHZQSG45M1Axa3dM
Zjk4bmVQL21rZk91Q2xlYXJuNTkrMEdTemFScXp5dWRHZGhxMGhNcFRUdG5UNDkwNVNSUHRoZzVl
CnRzU3cwRXdNUzIvTFpWQ2lLUzRNRTlmOEUyOHZBSE1VMlJtT1dUZm5GSnk4OGsxK0ZrRGMzR3B4
bWx6RnMyNlRhamJINUwvQXVIRFMKYU54SzcrcjFrNkNOYkJHZTRSOEc4M3lkMzY3amI1M0tKMXps
WUhIWDl4eFU5VkgveUJGN09HcWlGdGFkMFlOZFIvYTVZbVAxVVgvcgo3bHcvWUEyd3I2NkgyeW5F
cG4vTm40aEVWVE16Q09EMzR1UzQ5VmxyRXloVGNXYThiQldKMmwyL2dPWTNUYmhhSjM3bjlMeVhW
V0FWCldBVldnWitxd084L2dQaWJYOGZJTi93OVQ3Ny83NTdWYSt0NjQ2UEw2dmZmM3l2MTlKNTU3
Nlc5Zis3OTA2N1Y4OXhRejMxRmM5WUcKdHJNZkpxU25ZZFZYczN0Q0dkT3M5dzFvY3kxOG0rUUNC
V0ZKNm5BM2h0bEVkcDRHbEZ4dUdPTW52MzBURDBlSGViMUpmdGNrdnh0bQpydVRGRCtlRWhWNVhu
RE5pNjI0cXNaK2tzazlPUE9NTmVBSlQwMDNRL0UzYW1BOGNESXEzTG1JbFhUU0ZCNFpiL3luVm1F
a3RJK2taCmptWGhFcFJOYzd5cGlieXorcXlmV0xQZ0RTS2NTZFM4UkFlaDYyaUJBYi90c3JrR0I3
Q0doUmZlR1YxaTdoaXVtckpOL1lFMzZKbWIKdnh5YVc5MjVKeWYvNWMwOWtmMWxOc3c4c3NsNTRo
L3VYYTRDcThBcXNBcjhEQVYrL3dHazMvNmRuOThRSCtXMTE5Y3pzcSsvY3pHZApYM3R0R3g4RlZy
KzlmL3I1Nkp3TzYvbGczUThOalZlYkwrRDFlS2JoRzRPWFdnZGJJN2ZjU2NMbURpQnlEZkpwVEdV
VDJXbWhKLy9aCk4wQXpUYUx6RllQQlkwQ2VZdXVTK2NLMHk3ODNTbXVqZmMyS21ndzVGN2J3MUV4
OXA4WmE1WXdlMXdmK052MlAzMFZOclU4eTRyMXQKb2xPQmlaS0pQUHByV0pydUFHdHJXT3JKcm1x
MVJsaGNYK3MzTExYZnM4a29VbmlKSjlZdmRqNERRZkZEOCthTGgyc0gyVEtNMHhZTAo5VGZ1SWg0
Y3l6bzh1NUxrTjBHZE1zMmZvNEhKbFljOWZLblBJUU5JNUt1Z1VCZGcxRjVXZ1ZWZ0ZWZ0ZmcFlD
di84QVF0MzVwcy9NCkx3R2pNMnY4L29WZ002TTJ0aHNmVVY1TlZyKzVVZWIrMlB2bjE1OHBWT3Ju
eHg4eWJkeXBqdkZwaG1QSG5hWXN0MWh3YlJJaEk2USsKVTdHeklWZy9WTkNzK2gyYVBKcmNJTXFZ
cHBER2RmREdUYUV5T2Z2TTVpQWhVTU1UbHh6RWdOREx3TlFkSU0yeVZqMkxpNDZ0VWMyVAp5bTkz
U1VvQUFDQUFTVVJCVkxEQ25mbTFrUmV6TllDemY0RDVaeWZoTE9KM2dQWko2K0tNalJjY0QxN0Rx
Ulc0ajNnWkVoVk9jdHNpCkkva1AzdTRnNCtrVllQTGtPaWNhRzZpOFhJUXVEQ3ZpNjQyc3gyNXpH
Z1VQYWFuTHIwUmp6dnY2V2IvQkZPMnlZTmN3T05NWVBQbHMKQWpiUHVmZnNTR1hFMm04YmhUQnNT
WDVncEJ1WG81eFdsNG5GZDNTZCtNdGl3MTVXZ1ZWZ0ZWZ0ZmcGdDZi9ZQTB1TDdPOEhldndqagor
TFpqZm0wRCs3QnRmRFQ4MXNvL3NxdmZ4NzJ5OTg4b01EZEhPcTk3Ly9qREdBZzk0V240WkdMUFNH
dkhTaC9NM21OSFpCa2VXK050CjRxSjhhUmQxMWI1K04zL3luWSs2Zkk2Wk5NV3hUZHA0RzlmYUhI
VUNnZkpmQ0Y0eUVPdy9iU1kxK1p4TzduSW5uNTJwVjdIbGRNWEMKY3E3Z2c4TjBoZzcxMW8va2s4
WDFrZnZVYjI2Znd1SEU5Y0hKbkxva2RqS3dad21wUit5dG5mcVNMNXl1MXd5M2dzUVpPV1JEOVV5
SgpHK1RVNzdTSTB3Unl1MVljZXJVR2F6VmNxVTVYaXM1bVBLbS94MGcxMGNXMndYcnlnUnVjL0xl
KzJPc2Q4ak5oaCs5d2FzR2ZLZVY3CmF3WDB2bStIWkJlcndDcXdDcXdDUDBLQlAzc0F5ZTlNQ3Ur
dkJMYmFhd09CN2QzWHhzeW9iK05YdjcxL1BqOFQ3UDZuenc4QU40TDYKSUJrN3JhMXNmTFRjcEpX
bUhScThnTUV6bVBVaUFyemJPZHU0NUFOS1UyY2ZGOWIrSTVqdHhiQ2VYWnh3NnMralB2QUJ5VHpO
dVd5cApGVWZ5M3BVc3BKMGd2T2EwemN5NXdJc3pYc1d3VWRULzE1NjdMZGNOSzhtMmNmNy9wMDls
WmlVSnFkM1I5c09PaGVBYWxFVUFkY2NBCnBpWVFWaURGbDJyZWpqTzZqRGV1VFdYNzJ0dDY1TFcw
MzhSNmJEYWVtNG5xR2wyRGcwVzhYVFhLNU1lRFNDeWFia3F0WG9LWXB2amsKbEUzbjlCcklidjJt
emM4clV4alZuM0MxVXp6WmJEd3BYWGZhTjRjc1l0aTUxZXhuZnRucEdkdUo5ZHBJRW44eDh4d3pV
U1dPUzhmcgpWTGIxaTluWXRzYnhhbGUyVDV6SkU3bnlURSs2RnBNU2tvODNCQ0FBQVFoY1JlRHZM
eUMvLzVqN3IvN09wVHJKK3V6M2dJZnExNlo2Ci9GOG1aUU8vN282d0tRLzJ6N3RYUktpSHR6bG9l
ZXZvbFJQYnd5L3lQYzZOTG9kTHFVZGpwZm9EZVBvNnBsWjB0ajdveVdPRXIzeGkKYXVDMXlRTDFt
S3VJZlJKenZacGZOZnFmL1BiQXFKN05jaUdwZnp6bnZUbzVxdXNaVFNlaGt0K0RsVDMrOXZNcklh
VFFjSkpGcW9pSApmeDIzVFUydnBYS0k0WnUzY1ZTMzZwbFkwNG1OK3ZyMytqKzVKSlY0VENSTG5x
M2pyRUh4MXQ4MmppZUR6V0hiK3JXMTBDK2xPUE03CjRjaGMvOWJxOE5QM3o3UzVMTXpJL2Zncjl6
T25KN0k3Q2VidTVOODVKVzk4V212clY1NW44aGJ1bXNycDEyTzFnanF1NXBjNXF2U3kKam9zRlcv
T3hwMGI1enY5WGNJWVFnQUFFSVBBZkovRDNGNUQ4L1UvQno3Zk0xdjliSi9FcFUvOGM0NzlmclBB
emdkOTdROEpUeHY3NQp5VVBuTWgvTVZpdytJd2ltZ1BOYnA3VkY2Y09sK3lOYnVUZGhUT3pyQTV0
amI2ekR2NEY2V1BYQk1DOFhzV0UybXlJclJxVEtuY3VNCmd2dmZvM3Y5UnVGQnZDTGY5elErZUI3
MWEvNDlZSzZiYzR6WVQwby9vK3kwUitFRDdGajk5ajk5V3FXRE9aa1NhaDZKcjJJVGZRVFQKeWZ4
c2t2N0lhaEc3K0VuMjVKOWd6aW1EeG1oOEo0cG4vVHVTU21hdFg1R2xxMTVqYVpzL2RzbGxYemty
c1J4RzhLNlBoeDVIclZvVgo2M3drV0tHQ2RiZ2l6Mjhzd2lPWG10cTRqaU9neG5hZmwvTTVSZ0ps
bkg1clZCV3R2d3hIWXVISlh6SjVkdjd5NDRFQUJDQUFnYnNJCi9QMEZSSFhyaTB0UC9ycW5yN2Zr
cDY3OVUxNDd0ZmlIZ1Zqb09UbUpEZnlNNVFlWGNsTDczNzUvQnN4eGpzdCtxV0RZUEllejNVZlAK
NFd6UXVhOVRuT0dPOFdNanNQUEkzNEJsZThRYVE3dUp2WjNrNk1HR3FwZkUwNTlmaDFhTXg5TEI3
ZS9EcUh2ejhyUCtEcmx4UjY0WQpxdG0vMjIvK1pveU5nemlYODJib1d0S1ZOSEVWUzdoTy8rcGtF
bjV2RGZiWGNCbW45bjA3K2ZyWWQvc2pYOVcwN1dVdTFyaUd6VEZxCjFkS001cHlpVS9Nb0hHUHph
M1RXSDlONmEvUkdVK1pxRkRmOXJVZk44NHhHU2pWUEhpbjNFdUU1Uk8vNk5aYmRobXBHMWZrenJJ
TE8Kby9rNmdRY1dkWno1eGs1dnl5Zkl5YUVseGVyTnN1bmpFMmRIZUxNNEZTOElRQUFDRUxpTXdM
OWRRUFFIL3NlM3k4N20rY04vak5XdAp2RDc0dzY5N1liZUttKzZUeWpUV1UzbDkyRC9aUHoyTmhW
STR6V210bUhweWV5U24vZE1mbURyaExXdUpleUJVa3NTYWR1TktaOU5SCjVHQ28wV1owZDMyc2xK
R0ttNWVkOWpJaWlVUlBEYkxwbzF3dDU0MWw5d1RaVUNPeG5XSk9aeDdaSkdTc1paQTh5dmRhcWI4
dTFyOGEKUllsUEZJbGIvWFBRbHRrOHJmL0pxNUtPMkk1aFN4MjY3ZEcwTHRUUnAyRDdSSzNzbVlR
ZE52UDBOYS9NWlR1T0Y5bFQzOGpVVjl6ZgpiNGZiS3VRcUc5V3ZtSWZZbXE2eFk0M2U3TWJROW1Q
aFIzNStXdGdNMU4zTTBjVkl0VHYvREpOem5aOW03ZVEwZVZSVG1HUVdpdXBICmdmYVJ4UHlyZXVU
Lzg0THorTmVaRmdJUWdBQUVyaUh3YnhjUWxhM3ZndjNqNzFtY2ZRazZiaXZaKy8yQlAvemVQWEx1
Ri9YMWROKzAKbFl6OUl3cDVmdStmaFNOY3hqUWQ5VDJlZzV0a3hlZHpuRStlQ3BWRDNqT1V4Q2RB
T2NSREI3M1R2NEVzSDRVUGdpdFVQai95M1JvMApsbitQaytxbEJsdjZsUmpLSFZsTDBNZzY1NG5P
N3pWc3pQb3BwMU9yMVk4VEpiOXEwR09SNDBrZnUxaU1jdk5yL0hUdEpkMUtucllLCnRZMGVtVXpx
ZjlaUW9heE50YkhxdjA2dDNiNktOWGJPMEtEci84U3AvMWJpMkNubGZUOGxicEJwM3BoUktsOHVI
T08yWnBLWm1XTnYKa0dreXIxeE1YSzh5MVdjaTk4Y3NkcDVXYjRnR2xkMHVSTnlsVngySzE2YytJ
OVNhYS9namxyT2xwbWYvamt3MnFiT0JhQ0VBQVFoQQo0Q1lDLzNZQjZUZkQ4eTF3VE9YVVNYeDhj
VHhXcDAzN1ZYWmN2N2FWeTY1OThyOHM0QmNDNTk2UTVPdjdSeFBzNGM2SDFFeTRoelIvClJLUS9E
blEyTDVmeDErR3lYdTVwTE1FUnQvNCszSTIxNHZlZ21qYmo5N0NubkkyYlVEN0llcFdTelYzRjJq
eXU0eWxtRDl3cXd4OTQKMmNXamJmM2RUa2piamIvaUtjeFpseXFKdTk1V3JqNStxc2gxaktOOEpY
V2pyaDVOUndvTGF5UEZVYjlHY2JaRC9SdlgrVWVvK2xXcgo1UXBvbVlTcU8vR3E5eHlVWEhrY05m
MFU1UGVSU3pVL1dVZitQdkp5QUl1Tytqc251YmtPRzV6R2I1MVdiZjZwdGZXN3hoMmY4L2NjCkpt
bVFiRjJhL0ZGbGxLN084ZVFmeThoYXpWTzdsZlBLUDhkNmJFYm04QmJJUDJ1WU9oOHJPaENBQUFR
Z2NCR0J2NytBNVB2ai9UTHoKRjhMTTVIZmI3NCsyMWVNZlZyKzVsRS9iNnR1ZWN2Vi95NnR2VzMz
YlU0Ny9OL2o1dERVTDdCTmVEcStkV0ErQ1BaRDVFRGFEeXQ4UApyUDRLZFhPOEc2TitPZzdLUi82
MlVpNzNwOVcvQ04zV1RoR3RuTks2L2V3OGZoMHJma2FwS1lkWStkWEpnU1ZRQmM2WmFLcEh3bm5w
Cm54dGJ4RzR6Tkk5cThweGo3bWc1a0k1Z0gzbXJGdHNkK1J2RFptUCsrTG12YW1ReHY1T2o5Y2RH
SHJrd3VLY2l4V3dhNVZMcm50cFQKcGpqejR6b2NOclhYSitaNksyOXlhdVIrWlc0anMrcDR1ZDRr
VnpsanFaYzdiL3NIZjlWenpxdjVIZHBGcFFweldQOVU2TXFkd21scgpPem1sZHh6bEY0UnBaYTIy
dmpZNVgydXJNT3FtcGtZYVAzY3pYc2dUT2d6UE1QUWhBQUVJUU9BZUFuOS9BZEZmZnoxdDFkKy8r
ZXI2CjBiajZ0clhwdUswY3FyUHpqcXR2VzV1TzIrSVB2KzROOW84SjlIQVdMSG5uRVBzZVd2M3hP
VDlEUjk4SFFZMTlhbHgvSFVJVHZaVDkKRVkvc0VSMmQ0NUFwcVF4MUdIUmZoODNqT1lMRVROcnBy
YjBQbXVyUGJ6Zjc0ejltaC9zT2t1ZTBsMUhzY2hGUUFVK01vNVRUTHVMMQptdWFKbDVQdTZhVlMz
NEN1TmZhUzU2QXM5bkpKdkROM0pCdXVnOGRnQkk0UnoxSmQ2ejgyQ2RGQWFWVzdxYWlJSjNhcitS
bkd0bVBUClZ2Vm43ckpyM1BYUlVMOUh6SnBFbGJYMjNDMlkxMm03WWR5TVhDWjZoZGtPcG5GK1E3
YUZGSGwycUpBTjY3cXRsZVNYZmJ4NFF3QUMKRUlEQUpRVCsvZ0xTZ3MrLzYvM0xYOW52di91Uy8w
bldXUGlIQlB6QzRVOTc1VSt5Ly9iOTR3T1pJT3l4ZFBlUHhEbUM1K0NXdytONwpkSldaVGJ2ZmZP
SXJ6STMyNkNKL0RvUS81TDgrdUtPcnBCWGsyT3VDSE1qdVU2RGExcWpLZXNDVmZ5cWQzcHhhYTIr
cEIxdVBtZ1RaClRvWXA0SjJyYkh6NFRTUWJQWWZoNVZmcjVCSXpCZmZMcmVlZ2NpUjJ6dWhhZnhM
VVFEWVQwWG5UeHM3ZXJjSnQ2a3JRdHlhNXkxbHkKaDlwK0JPVWszWk8veHBhMThwLzFwMFo1emJP
eFBTOFBSekNUYm16bGR3bHFSOS85STlmenFiMER5bkRqR3AxQ3JuSEVlZHRIWFE5ZgpDNHZtSmZi
bW4wVVl3d2hTeVFhVTlERlVMSG5YVWNOYWo5eUJYejk2RUlBQUJDQndGNEYvdjRDODN4MzdaVElU
cWt4emEzKy9HenpkCnluN3JaWFBLemo3K0wwdjRaWi84M2gvL3JmdkhwOFRBOE5iWS9TRWNPb0pw
Nkg0UGtqTHRJOTluUDAzbjZhdTc0L1Y3TGgveXJaM2IKaWFFRUZWWW4wY1ozL2hoSkdzdlI2Znpv
WTZMTHlQL00yRUF2eWM1WUVpalErVFMrNVRHdWl3Nm42anUrQXgzT2F4Ung1TEYrWnBIego3SGcz
WG8rekhzK3JQSjc0elZHSHlTMVJoL1ZYK1pVcGlkMGtIS243cTh6aE9ublVQLzJiVy9hU2R3WU9N
eStOSTh0YjhscXAzMGVwCkxHL2lxYWV4WlZPeGdrbitSbXVFMDM2aUthQisrMHhmWG1McldDdC9j
dGkyVWJNQ0ZXbHB6YWV4SktqcEQ1a1l5a3Uvc29sUjExK20Ka3Z5cGV1bDRJQUFCQ0VEZ1AwL2cz
eTRnNTVmQjhmZmYwemgxNnZ0YlpkcmY4czRaLytmN0UzNS8yQ2ZzbjN4Uy92VDUwZUdybjU5Kwow
RVptMFI3TWlzOEgyVDJnS2FBUGJvMDU4cHp4M2paSjQrMERuZUpxNk0vMGRLYVZqMlQ2ZlVMYktO
NHFUaTUrNUZjak82eFdCbzVSCnk3YnkybjV6N2grUjVCM2Q1bGNuNGVldGY4MHovdXA3cnROM05Q
dmtmMkF5SWVVNUt6MXFQdWZpMFBNNmJHMnArQ3UxN3ZSWmpkWHUKdDg3Sk4zWlBtZE41KzF1L1Uv
MnFmM0dvV3RsN1hSSjhKS203YlN0ZHRma1l6Z3FrLzFGLzYyNWIvZHJMOXVRcWJ6K0ZxbnArK1Vp
UwpHY3R5SW95QjErTEpzVEdzbGxKbWg1MEZVdTZ6a0ZTNzZ4OWJ4M2VZeEdxZDBqdW5XMTRRZ0FB
RUlIQXJnYisvZ1Bndi8wd2pmK0hmCitlVHYvenRXNzVTMWozKzR3TzkvM3l2VmRNK2NlNG45OCs2
Zm5scmQ3b1k2OXBVT1p6MkF0KzJoMVdibE82M1BoQ1AwQWJIOHg3OG0KOG5lYUdvNk51cElsOXVN
MEhRZXkwZ2RFcVJUSUIwWU5JdlY3L1JXamorTjZrUHl1YWZRNlhDclFvOWR3M1JKKzNsTHVFMWxI
VzRuMQpTanJ5elNuTmFtTzhqcW5wVGREOFRWcWZIM2FLTVA3bU1sR1ZMa3dWUnhIZStwOVNiYk9w
UjZqMGV1eXJqa3VZYk5OR201cVVkM3MvCjY1ZXZvMGdiaThSTW91YVZkeXptdlN3a2tON3lrYmtH
TzZpdktQcVZkcDkySmU2enNTcktNUFhIdkU1SDIveU5NVzJyZS9iazVuL2oKWms5ay9FYTJtZU9N
YkpTUC94R2JMZ1FnQUFFSTNFSGc3eThnL2V2Zjl2Z084VlJPZVhXZG84YlZ0NjFOMjFOZUdmNGhB
RC8yVHo4ZgpiWFBDT2o1WTc0ZEdCNjhldm1SZWpWc2QrRmJnN3ZSalc2RzIzSk5FZy9lUnlhalc4
amlZam15Q1BVZm96ZitNNnpDdERvbk9WeHNKCi9LeVJtOGphVmZ1YXpTai9UcS9wMjlydjlGU1RU
WjZYaG9wVHNlcDdhcXgwbE9IeDZtVC9Idm9Qdll2YVdvOWs4dmV3aVo0S0hDaVoKbEdkKzZwWkRk
d3dycTF2cXlhaTBXcU9pdUw3V2I3UFUvczV0aEJOVWNlVXZYLzlxNURuSUtYcUZPZk5GbzNjZlpj
dGp1eGxLb3Zycgo5MW9jZHVwVzRkYVZKTDhEVkRtaS9iRzN6RWFWeTU1MHFjOHVheERQaytCWXZR
YTI0Z1VCQ0VBQUFuY1IrUHNMaU9yT1gvcTAraWJRCjAxWjk2ZjBOb2NFK2xXbUlmNkNjVE9DM0cy
WDNCL3ZuejU4cFVlcm54eCt5R2Zpa3VzTGpNQnk1MURtVVpZdkZyb2RFQlpOTGRRNmwKa1FXeDlh
VkNoMVd2ME9hWnhnZkVFZVpRcUlQcjJ0dHVDeDJSczIvckdFb29VNXZITHpua0k0djV0V0hxanFF
T3k5UHJYRngwWlBWcQpubFFtcVdLblBXWEtLN0VaS0daL1pLeC9Wc3BkbmVqdE1PT2tkWEcyalZa
MnVuaHR6T25KN29mL0NPS1ZtTXB0eVFpVi83RzNPcGJSCjlDM0Q1TWw3WjdReVdlWFhSY3hMajRu
NC9YcFdZN1ZqMmtweGxGWjErVGZlRW1kZGY5WnZZeFh0c2hSOUhodW5XWUViejIwTW0rZloKZTFh
a012bGFiNWtLMFdOSjhzdE02VlpsTDZlZDEvcEs5M0JkL3plS0Jid2dBQUVJUU9BeUF2OTJBV254
L1o3UTJOOElxL2d0bC9pVQpyZGtQR2Y1aCtKdVZ2MlRoOTJPdnNIK1d3RzZPbkx6ZS9lTVBZMHgw
Sm53T2ZDUFNXRStPZHVyTkI3Tjc3SUU4Z2tOV2Y0djBtbnc1CkxzNTd4dFg3OERlNjU2TStPdnRz
bXRwcG1MVFIxcSsxMmV0eGxLbitoK0FNSmd1TmY4b2MxTUYzZHFOdTdPU3pNdldPYjJPNjRySFYK
dkdJZk80bWVaeVoxMWkva204WDFLZmRUdjJON0ZuYVhYeTlPamptditHNEdqZFZWVUQrUnQzYlZs
M3lKNlhvZDRhMGdmcmJjWUJ2cQphT0szbGx1LzB3cE9FNHphdFVveHY2M0JyRFpXcXB1M2lzNWdO
YW0vMDBnMTRXTFoycnJ4aE91Yy9HOTlrVmU3d1o5R2NzVjdZazVIClB3NDV1ck5XR1ozcjlnU2hB
d0VJUUFBQ1Z4RDR0d3RJdm1kU2VMOGxKS3U4TWxsSWRvNHJVNnVuT3Z6aHgvNzUrWm5RNlAvNi9N
akEKQjhINUlObDJqN1lqMDBmTGg3U0c2UWxOY1dVc2V6MXE1MWNlc3ZkeHpqSzk4Z0hWb2M0NnZk
VDNqNXcxZkczVTMxR1VpamsvZnFxVApmWXhHdklmemthVldLWkwzN1kxRWFkZEpXc2UwekpIelVs
d3BveDBmRGNaTGdSUmZxbms3enVneTNyZzJsZTFyYit1UjE5SitFK3V4CjJYaHVKcXByZEEwT0Z2
RjIxU2lUSHc4aXNXaTZLYlY2Q1dLYTRwTlROcDNUYXlDNzlaczJQNjlNWVZSL3d0Vk84V1N6OGFS
MDNXbmYKSExLSVllZFdzNS81WmFkbmJDZldheU5KL01YTWM4eEVsVGd1SGE5VDJkWXZabVBiR3Nl
clhkaytjU1pQNU1velBlbGFURXBJUHQ0UQpnQUFFSUhBVmdiKy9nUHorWSs2LytqdVg2aVRyczk4
REhxcGZtK3J4ZjVtVURmeTZPOEttUE5nLzcxNFJvUjdlNXFEbHJhTlhUbXdQCnY4ajNPRGU2SEM2
bEhvMlY2Zy9nNmV1WVd0SForcUFuanhHKzhvbXBnZGNtQzlSanJpTDJTY3oxYW43VjZIL3kyd09q
ZWpiTGhhVCsKOFp6MzZ1U29ybWMwbllSS2ZnOVc5dmpiejYrRWtFTERTUmFwSWg3K2RkdzJOYjJX
eWlHR2I5N0dVZDJxWjJKTkp6YnE2OS9yLytTUwpWT0l4a1N4NXRvNnpCc1ZiZjlzNG5ndzJoMjNy
MTlaQ3Y1VGl6TytFSTNQOVc2dkRUOTgvMCtheU1DUDM0Ni9jejV5ZXlPNGttTHVUCmYrZVV2UEZw
cmExZmVaN0pXN2hyS3FkZmo5VUs2cmlhWCthbzBzczZMaFpzemNlZUd1VTcvMS9CR1VJQUFoQ0F3
SCtjd045ZlFQTDMKUHdVLzN6SmIvMitkeEtkTS9YT00vMzZ4d3M4RWZ1OE5DVThaKytjbkQ1M0xm
REJic2ZpTUlKZ0N6bStkMWhhbEQ1ZnVqMnpsM29ReApzYThQYkk2OXNRNy9CdXBoMVFmRHZGekVo
dGxzaXF3WWtTcDNMak1LN24rUDd2VWJoUWZ4aW56ZjAvamdlZFN2K2ZlQXVXN09NV0kvCktmMk1z
dE1laFErd1kvWGIvL1JwbFE3bVpFcW9lU1MraWszMEVVd244N05KK2lPclJlemlKOW1UZjRJNXB3
d2FvL0dkS0o3MTcwZ3EKbWJWK1JaYXVlbzJsYmY3WUpaZDk1YXpFY2hqQnV6NGVlaHkxYWxXczg1
RmdoUXJXNFlvOHY3RUlqMXhxYXVNNmpvQWEyMzFlenVjWQpDWlJ4K3ExUlZiVCtNaHlKaFNkL3ll
VForY3VQQndJUWdBQUU3aUx3OXhjUTFhMHZMajM1NjU2KzNwS2Z1dlpQZWUzVTRoOEdZcUhuCjVD
UTI4RE9XSDF6S1NlMS8rLzRaTU1jNUx2dWxnbUh6SE01Mkh6MkhzMEhudms1eGhqdkdqNDNBemlO
L0E1YnRFV3NNN1NiMmRwS2oKQnh1cVhoSlBmMzRkV2pFZVN3ZTN2dytqN3MzTHovbzc1TVlkdVdL
b1p2OXV2L21iTVRZTzRsek9tNkZyU1ZmU3hGVXM0VHI5cTVOSgorTDAxMkYvRFpaemE5KzNrNjJQ
ZjdZOThWZE8ybDdsWTR4bzJ4NmhWU3pPYWM0cE96YU53ak0ydjBWbC9UT3V0MFJ0Tm1hdFIzUFMz
CkhqWFBNeG9wMVR4NXBOeExoT2NRdmV2WFdIWWJxaGxWNTgrd0NqcVA1dXNFSGxqVWNlWWJPNzB0
bnlBbmg1WVVxemZMcG85UG5CM2gKemVKVXZDQUFBUWhBNERJQy8zWUIwUi80SDk4dU81dm5ELzh4
VnJmeSt1QVB2KzZGM1NwdXVrOHEwMWhQNWZWaC8yVC85RFFXU3VFMApwN1ZpNnNudGtaejJUMzln
Nm9TM3JDWHVnVkJKRW12YWpTdWRUVWVSZzZGR205SGQ5YkZTUmlwdVhuYmF5NGdrRWowMXlLYVBj
cldjCk41YmRFMlJEamNSMmlqbWRlV1NUa0xHV1FmSW8zMnVsL3JwWS8yb1VKVDVSSkc3MXowRmJa
dk8wL2lldlNqcGlPNFl0ZGVpMlI5TzYKVUVlZmd1MFR0YkpuRW5iWXpOUFh2REtYN1RoZVpFOTlJ
MU5mY1grL0hXNnJrS3RzVkw5aUhtSnJ1c2FPTlhxekcwUGJqNFVmK2ZscApZVE5RZHpOSEZ5UFY3
dnd6VE01MWZwcTFrOVBrVVUxaGtsa29xaDhGMmtjUzg2L3FrZi9QQzg3algyZGFDRUFBQWhDNGhz
Qy9YVUJVCnRyNEw5bysvWjNIMkplaTRyV1R2OXdmKzhIdjN5TGxmMU5mVGZkTldNdmFQS09UNXZY
OFdqbkFaMDNUVTkzZ09icElWbjg5eFBua3EKVkE1NXoxQVNud0RsRUE4ZDlFNy9Ccko4RkQ0SXJs
RDUvTWgzYTlCWS9qMU9xcGNhYk9sWFlpaDNaQzFCSSt1Y0p6cS8xN0F4NjZlYwpUcTFXUDA2VS9L
cEJqMFdPSjMzc1lqSEt6YS94MDdXWGRDdDUyaXJVTm5wa01xbi9XVU9Gc2piVnhxci9PclYyK3ly
VzJEbERnNjcvCkU2ZitXNGxqcDVUMy9aUzRRYVo1WTBhcGZMbHdqTnVhU1dabWpyMUJwc204Y2pG
eHZjcFVuNG5jSDdQWWVWcTlJUnBVZHJzUWNaZGUKZFNoZW4vcU1VR3V1NFk5WXpwYWFudjA3TXRt
a3pnYWloUUFFSUFDQm13ajgyd1drM3d6UHQ4QXhsVk1uOGZIRjhWaWROdTFYMlhIOQoybFl1dS9i
Si83S0FYd2ljZTBPU3IrOGZUYkNIT3g5U00rRWUwdndSa2Y0NDBObThYTVpmaDh0NnVhZXhCRWZj
K3Z0d045YUszNE5xCjJvemZ3NTV5Tm01QytTRHJWVW8yZHhWcjg3aU9wNWc5Y0tzTWYrQmxGNCsy
OVhjN0lXMDMvb3FuTUdkZHFpVHVlbHU1K3ZpcEl0Y3gKanZLVjFJMjZlalFkS1N5c2pSUkgvUnJG
MlE3MWIxem5INkhxVjYyV0s2QmxFcXJ1eEt2ZWMxQnk1WEhVOUZPUTMwY3UxZnhrSGZuNwp5TXNC
TERycTc1ems1anBzY0JxL2RWcTErYWZXMXU4YWQzek8zM09ZcEVHeWRXbnlSNVZSdWpySGszOHNJ
MnMxVCsxV3ppdi9IT3V4CkdabkRXeUQvckdIcWZLem9RQUFDRUlEQVJRVCsvZ0tTNzQvM3k4eGZD
RE9UMzIyL1A5cFdqMzlZL2VaU1BtMnJiM3ZLMWY4dHI3NXQKOVcxUE9mN2Y0T2ZUMWl5d1QzZzV2
SFppUFFqMlFPWkQyQXdxZnordytpdlV6ZkZ1alBycE9DZ2YrZHRLdWR5ZlZ2OGlkRnM3UmJSeQpT
dXYycy9QNGRhejRHYVdtSEdMbFZ5Y0hsa0FWT0dlaXFSNEo1NlYvYm13UnU4M1FQS3JKYzQ2NW8r
VkFPb0o5NUsxYWJIZmtid3liCmpmbmo1NzZxa2NYOFRvN1dIeHQ1NU1MZ25vb1VzMm1VUzYxN2Fr
K1o0c3lQNjNEWTFGNmZtT3V0dk1tcGtmdVZ1WTNNcXVQbGVwTmMKNVl5bFh1Njg3Ui84VmM4NXIr
WjNhQmVWS3N4aC9WT2hLM2NLcDYzdDVKVGVjWlJmRUthVnRkcjYydVI4cmEzQ3FKdWFHbW44M00x
NApJVS9vTUR6RDBJY0FCQ0FBZ1hzSS9QMEZSSC85OWJSVmYvL21xK3RINCtyYjFxYmp0bktvenM0
N3JyNXRiVHB1aXovOHVqZllQeWJRCncxbXc1SjFEN0h0bzljZm4vQXdkZlI4RU5mYXBjZjExQ0Uz
MFV2WkhQTEpIZEhTT1E2YWtNdFJoMEgwZE5vL25DQkl6YWFlMzlqNW8KcWorLzNleVAvNWdkN2p0
SW50TmVSckhMUlVBRlBER09VazY3aU5kcm1pZGVUcnFubDBwOUE3clcyRXVlZzdMWXl5WHh6dHlS
YkxnTwpIb01ST0VZOFMzV3QvOWdrUkFPbFZlMm1vaUtlMkszbVp4amJqazFiMVorNXk2NXgxMGRE
L1I0eGF4SlYxdHB6dDJCZXArMkdjVE55Cm1lZ1ZaanVZeHZrTjJSWlM1Tm1oUWphczY3WldrbC8y
OGVJTkFRaEFBQUtYRVBqN0MwZ0xQdit1OXk5L1piLy83a3YrSjFsajRSOFMKOEF1SFArMlZQOG4r
Mi9lUEQyU0NzTWZTM1Q4UzV3aWVnMXNPaisvUlZXWTI3WDd6aWE4d045cWppL3c1RVA2US8vcmdq
cTZTVnBCagpyd3R5SUx0UGdXcGJveXJyQVZmK3FYUjZjMnF0dmFVZWJEMXFFbVE3R2FhQWQ2Nnk4
ZUUza1d6MEhJYVhYNjJUUzh3VTNDKzNub1BLCmtkZzVvMnY5U1ZBRDJVeEU1MDBiTzN1M0NyZXBL
MEhmbXVRdVo4a2RhdnNSbEpOMFQvNGFXOWJLZjlhZkd1VTF6OGIydkR3Y3dVeTYKc1pYZkphZ2Rm
ZmVQWE0rbjlnNG93NDFyZEFxNXhoSG5iUjkxUFh3dExKcVgySnQvRm1FTUkwZ2xHMURTeDFDeDVG
MUhEV3M5Y2dkKwovZWhCQUFJUWdNQmRCUDc5QXZKK2QreVh5VXlvTXMydC9mMXU4SFFyKzYyWHpT
azcrL2kvTE9HWGZmSjdmL3kzN2grZkVnUERXMlAzCmgzRG9DS2FoK3oxSXlyU1BmSi85TkoybnIr
Nk8xKys1Zk1pM2RtNG5oaEpVV0oxRUc5LzVZeVJwTEVlbjg2T1BpUzRqL3pOakE3MGsKTzJOSm9F
RG4wL2lXeDdndU9weXE3L2dPZERpdlVjU1J4L3FaUmM2ejQ5MTRQYzU2UEsveWVPSTNSeDBtdDBR
ZDFsL2xWNllrZHBOdwpwTzZ2TW9mcjVGSC85Rzl1MlV2ZUdUak12RFNPTEcvSmE2VitINld5dklt
bm5zYVdUY1VLSnZrYnJSRk8rNG1tZ1BydE0zMTVpYTFqCnJmekpZZHRHelFwVXBLVTFuOGFTb0tZ
L1pHSW9MLzNLSmtaZGY1bEs4cWZxcGVPQkFBUWdBSUgvUElGL3U0Q2NYd2JIMzM5UDQ5U3AKNzIr
VmFYL0xPMmY4bis5UCtQMWhuN0IvOGtuNTArZEhoNjkrZnZwQkc1bEZlekFyUGg5azk0Q21nRDY0
TmViSWM4WjcyeVNOdHc5MAppcXVoUDlQVG1WWStrdW4zQ1cyamVLczR1ZmlSWDQzc3NGb1pPRVl0
Mjhwcis4MjVmMFNTZDNTYlg1MkVuN2YrTmMvNHErKzVUdC9SCjdKUC9nY21FbE9lczlLajVuSXRE
eit1d3RhWGlyOVM2MDJjMVZydmZPaWZmMkQxbFR1ZnRiLzFPOWF2K3hhRnFaZTkxU2ZDUnBPNjIK
clhUVjVtTTRLNUQrUi8ydHUyMzFheS9iazZ1OC9SU3E2dm5sSTBsbUxNdUpNQVplaXlmSHhyQmFT
cGtkZGhaSXVjOUNVdTJ1ZjJ3ZAozMkVTcTNWSzc1eHVlVUVBQWhDQXdLMEUvdjRDNHIvOE00Mzho
WC9uazcvLzcxaTlVOVkrL3VFQ3YvOTlyMVRUUFhQdUpmYlB1Mzk2CmFuVzdHK3JZVnpxYzlRRGV0
b2RXbTVYdnRENFRqdEFIeFBJZi81ckkzMmxxT0RicVNwYllqOU4wSE1oS0h4Q2xVaUFmR0RXSTFP
LzEKVjR3K2p1dEI4cnVtMGV0d3FVQ1BYc04xUy9oNVM3bFBaQjF0SmRZcjZjZzNwelNyamZFNnBx
WTNRZk0zYVgxKzJDbkMrSnZMUkZXNgpNRlVjUlhqcmYwcTF6YVllb2RMcnNhODZMbUd5VFJ0dGFs
TGU3ZjJzWDc2T0ltMHNFak9KbWxmZXNaajNzcEJBZXN0SDVocnNvTDZpCjZGZmFmZHFWdU0vR3Fp
akQxQi96T2gxdDh6Zkd0SzN1MlpPYi80MmJQWkh4RzlsbWpqT3lVVDcrUjJ5NkVJQUFCQ0J3QjRH
L3Y0RDAKcjMvYjR6dkVVem5sMVhXT0dsZmZ0alp0VDNsbCtJY0EvTmcvL1h5MHpRbnIrR0M5SHhv
ZHZIcjRrbmsxYm5YZ1c0RzcwNDl0OXMvVQpQZ0FBSUFCSlJFRlVoZHB5VHhJTjNrY21vMXJMNDJB
NnNnbjJIS0UzL3pPdXc3UTZKRHBmYlNUd3MwWnVJbXRYN1dzMm8vdzd2YVp2CmE3L1RVMDAyZVY0
YUtrN0ZxdStwc2RKUmhzZXJrLzE3NkQvMExtcHJQWkxKMzhNbWVpcHdvR1JTbnZtcFd3N2RNYXlz
YnFrbm85SnEKallyaStscS96Vkw3TzdjUlRsREZsYjk4L2F1UjV5Q242QlhtekJlTjNuMlVMWS90
WmlpSjZxL2ZhM0hZcVZ1RlcxZVMvQTVRNVlqMgp4OTR5RzFVdWU5S2xQcnVzUVR4UGdtUDFHdGlL
RndRZ0FBRUkzRVhnN3k4Z3FqdC82ZFBxbTBCUFcvV2w5emVFQnZ0VXBpSCtnWEl5CmdkOXVsTjBm
N0o4L2Y2WkVxWjhmZjhobTRKUHFDby9EY09SUzUxQ1dMUmE3SGhJVlRDN1ZPWlJHRnNUV2x3b2RW
cjFDbTJjYUh4QkgKbUVPaERxNXJiN3N0ZEVUT3ZxMWpLS0ZNYlI2LzVKQ1BMT2JYaHFrN2hqb3NU
Njl6Y2RHUjFhdDVVcG1raXAzMmxDbXZ4R2FnbVAyUgpzZjVaS1hkMW9yZkRqSlBXeGRrMld0bnA0
clV4cHllN0gvNGppRmRpS3JjbEkxVCt4OTdxV0ViVHR3eVRKKytkMGNwa2xWOFhNUzg5Ckp1TDM2
MW1OMVk1cEs4VlJXdFhsMzNoTG5IWDlXYitOVmJUTFV2UjViSnhtQlc0OHR6RnNubWZ2V1pISzVH
dTlaU3BFanlYSkx6T2wKVzVXOW5IWmU2eXZkdzNYOTN5Z1c4SUlBQkNBQWdjc0kvTnNGcE1YM2Uw
SmpmeU9zNHJkYzRsTzJaajlrK0lmaGIxYitrb1hmajczQwovbGtDdXpseThucjNqeitNTWRHWjhE
bndqVWhqUFRuYXFUY2Z6TzZ4Qi9JSURsbjlMZEpyOHVXNE9POFpWKy9EMytpZWovcm83TE5wCmFx
ZGgwa1pidjlabXI4ZFJwdm9mZ2pPWUxEVCtLWE5RQjkvWmpicXhrOC9LMUR1K2plbUt4MWJ6aW4z
c0pIcWVtZFJadjVCdkZ0ZW4KM0UvOWp1MVoyRjErdlRnNTVyeml1eGswVmxkQi9VVGUybFZmOGlX
bTYzV0V0NEw0MlhLRGJhaWppZDlhYnYxT0t6aE5NR3JYS3NYOAp0Z2F6MmxpcGJ0NHFPb1BWcFA1
T0k5V0VpMlZyNjhZVHJuUHl2L1ZGWHUwR2Z4ckpGZStKT1IzOU9PVG96bHBsZEs3YkU0UU9CQ0FB
CkFRaGNRZURmTGlENW5rbmgvWmFRclBMS1pDSFpPYTVNclo3cThJY2YrK2ZuWjBLai8rdnpJd01m
Qk9lRFpOczkybzVNSHkwZjBocW0KSnpURmxiSHM5YWlkWDNuSTNzYzV5L1RLQjFTSE91djBVdDgv
Y3Rid3RWRi9SMUVxNXZ6NHFVNzJNUnJ4SHM1SGxscWxTTjYzTnhLbApYU2RwSGRNeVI4NUxjYVdN
ZG53MEdDOEZVbnlwNXUwNG84dDQ0OXBVdHErOXJVZGVTL3ROck1kbTQ3bVpxSzdSTlRoWXhOdFZv
MHgrClBJakVvdW1tMU9vbGlHbUtUMDdaZEU2dmdleldiOXI4dkRLRlVmMEpWenZGazgzR2s5SjFw
MzF6eUNLR25Wdk5mdWFYblo2eG5WaXYKalNUeEZ6UFBNUk5WNHJoMHZFNWxXNytZalcxckhLOTJa
ZnZFbVR5Uks4LzBwR3N4S1NINWVFTUFBaENBd0ZVRS92NEM4dnVQdWYvcQo3MXlxazZ6UGZnOTRx
SDV0cXNmL1pWSTI4T3Z1Q0p2eVlQKzhlMFdFZW5pYmc1YTNqbDQ1c1QzOEl0L2ozT2h5dUpSNk5G
YXFQNENuCnIyTnFSV2ZyZzU0OFJ2aktKNllHWHBzc1VJKzVpdGduTWRlcitWV2ovOGx2RDR6cTJT
d1hrdnJIYzk2cms2TzZudEYwRWlyNVBWaloKNDI4L3Z4SkNDZzBuV2FTS2VQalhjZHZVOUZvcWh4
aStlUnRIZGF1ZWlUV2QyS2l2ZjYvL2swdFNpY2RFc3VUWk9zNGFGRy85YmVONApNdGdjdHExZld3
djlVb296dnhPT3pQVnZyUTQvZmY5TW04dkNqTnlQdjNJL2Mzb2l1NU5nN2s3K25WUHl4cWUxdG43
bGVTWnY0YTZwCm5INDlWaXVvNDJwK21hTktMK3U0V0xBMUgzdHFsTy84ZndWbkNBRUlRQUFDLzNF
Q2YzOEJ5ZC8vRlB4OHkyejl2M1VTbnpMMXp6SCsKKzhVS1B4UDR2VGNrUEdYc241ODhkQzd6d1d6
RjRqT0NZQW80djNWYVc1UStYTG8vc3BWN0U4YkV2ajZ3T2ZiR092d2JxSWRWSHd6egpjaEViWnJN
cHNtSkVxdHk1ekNpNC96MjYxMjhVSHNRcjhuMVA0NFBuVWIvbTN3UG11am5IaVAyazlEUEtUbnNV
UHNDTzFXLy8wNmRWCk9waVRLYUhta2ZncU50RkhNSjNNenlicGo2d1dzWXVmWkUvK0NlYWNNbWlN
eG5laWVOYS9JNmxrMXZvVldicnFOWmEyK1dPWFhQYVYKc3hMTFlRVHYrbmpvY2RTcVZiSE9SNElW
S2xpSEsvTDh4aUk4Y3FtcGplczRBbXBzOTNrNW4yTWtVTWJwdDBaVjBmckxjQ1FXbnZ3bAprMmZu
THo4ZUNFQUFBaEM0aThEZlgwQlV0NzY0OU9TdmUvcDZTMzdxMmovbHRWT0xmeGlJaFo2VGs5akF6
MWgrY0NrbnRmL3QrMmZBCkhPZTQ3SmNLaHMxek9OdDk5QnpPQnAzN09zVVo3aGcvTmdJN2ovd05X
TFpIckRHMG05amJTWTRlYktoNlNUejkrWFZveFhnc0hkeisKUG95Nk55OC82KytRRzNma2lxR2Ev
YnY5NW0vRzJEaUljemx2aHE0bFhVa1RWN0dFNi9TdlRpYmg5OVpnZncyWGNXcmZ0NU92ajMyMwpQ
L0pWVGR0ZTVtS05hOWdjbzFZdHpXak9LVG8xajhJeE5yOUdaLzB4cmJkR2J6Umxya1p4MDk5NjFE
elBhS1JVOCtTUmNpOFJua1AwCnJsOWoyVzJvWmxTZFA4TXE2RHlhcnhONFlGSEhtVy9zOUxaOGdw
d2NXbEtzM2l5YlBqNXhkb1EzaTFQeGdnQUVJQUNCeXdqODJ3VkUKZitCL2ZMdnNiSjQvL01kWTNj
cnJnei84dWhkMnE3anBQcWxNWXoyVjE0ZjlrLzNUMDFnb2hkT2Mxb3FwSjdkSGN0by8vWUdwRTk2
eQpscmdIUWlWSnJHazNyblEySFVVT2hocHRSbmZYeDBvWnFiaDUyV2t2STVKSTlOUWdtejdLMVhM
ZVdIWlBrQTAxRXRzcDVuVG1rVTFDCnhsb0d5YU44cjVYNjYyTDlxMUdVK0VTUnVOVS9CMjJaemRQ
Nm43d3E2WWp0R0xiVW9kc2VUZXRDSFgwS3RrL1V5cDVKMkdFelQxL3oKeWx5MjQzaVJQZldOVEgz
Ri9mMTJ1SzFDcnJKUi9ZcDVpSzNwR2p2VzZNMXVERzAvRm43azU2ZUZ6VURkelJ4ZGpGUzc4ODh3
T2RmNQphZFpPVHBOSE5ZVkpacUdvZmhSb0gwbk12NnBIL2o4dk9JOS9uV2toQUFFSVFPQWFBdjky
QVZIWitpN1lQLzZleGRtWG9PTzJrcjNmCkgvakQ3OTBqNTM1UlgwLzNUVnZKMkQraWtPZjMvbGs0
d21WTTAxSGY0em00U1ZaOFBzZjU1S2xRT2VROVEwbDhBcFJEUEhUUU8vMGIKeVBKUitDQzRRdVh6
STkrdFFXUDU5emlwWG1xd3BWK0pvZHlSdFFTTnJIT2U2UHhldzhhc24zSTZ0VnI5T0ZIeXF3WTlG
am1lOUxHTAp4U2czdjhaUDExN1NyZVJwcTFEYjZKSEpwUDVuRFJYSzJsUWJxLzdyMU5ydHExaGo1
d3dOdXY1UG5QcHZKWTZkVXQ3M1UrSUdtZWFOCkdhWHk1Y0l4Ym1zbW1aazU5Z2FaSnZQS3hjVDFL
bE45Sm5KL3pHTG5hZldHYUZEWjdVTEVYWHJWb1hoOTZqTkNyYm1HUDJJNVcycDYKOXUvSVpKTTZH
NGdXQWhDQUFBUnVJdkJ2RjVCK016emZBc2RVVHAzRXh4ZkhZM1hhdEY5bHgvVnJXN25zMmlmL3l3
SitJWER1RFVtKwp2bjgwd1I3dWZFak5oSHRJODBkRSt1TkFaL055R1g4ZEx1dmxuc1lTSEhIcjc4
UGRXQ3QrRDZwcE0zNFBlOHJadUFubGc2eFhLZG5jClZhek40enFlWXZiQXJUTDhnWmRkUE5yVzMr
MkV0TjM0SzU3Q25IV3BrcmpyYmVYcTQ2ZUtYTWM0eWxkU04rcnEwWFNrc0xBMlVoejEKYXhSbk85
Uy9jWjEvaEtwZnRWcXVnSlpKcUxvVHIzclBRY21WeDFIVFQwRitIN2xVODVOMTVPOGpMd2V3Nktp
L2M1S2I2N0RCYWZ6VwphZFhtbjFwYnYydmM4VGwvejJHU0JzbldwY2tmVlVicDZoeFAvckdNck5V
OHRWczVyL3h6ck1kbVpBNXZnZnl6aHFuenNhSURBUWhBCkFBSVhFZmo3QzBpK1A5NHZNMzhoekV4
K3QvMythRnM5L21IMW0wdjV0SzIrN1NsWC83ZTgrcmJWdHozbCtIK0RuMDliczhBKzRlWHcKMm9u
MUlOZ0RtUTloTTZqOC9jRHFyMUEzeDdzeDZxZmpvSHprYnl2bGNuOWEvWXZRYmUwVTBjb3ByZHZQ
enVQWHNlSm5sSnB5aUpWZgpuUnhZQWxYZ25JbW1laVNjbC82NXNVWHNOa1B6cUNiUE9lYU9sZ1Bw
Q1BhUnQycXgzWkcvTVd3MjVvK2YrNnBHRnZNN09WcC9iT1NSCkM0TjdLbExNcGxFdXRlNnBQV1dL
TXordXcyRlRlMzFpcnJmeUpxZEc3bGZtTmpLcmpwZnJUWEtWTTVaNnVmTzJmL0JYUGVlOG10K2gK
WFZTcU1JZjFUNFd1M0NtY3RyYVRVM3JIVVg1Qm1GYldhdXRyay9PMXRncWpibXBxcFBGek4rT0ZQ
S0hEOEF4REh3SVFnQUFFN2lIdwo5eGNRL2ZYWDAxYjkvWnV2cmgrTnEyOWJtNDdieXFFNk8rKzQr
cmExNmJndC92RHIzbUQvbUVBUFo4R1NkdzZ4NzZIVkg1L3pNM1QwCmZSRFUyS2ZHOWRjaE5ORkwy
Ui94eUI3UjBUa09tWkxLVUlkQjkzWFlQSjRqU015a25kN2ErNkNwL3Z4MnN6LytZM2E0N3lCNVRu
c1oKeFM0WEFSWHd4RGhLT2UwaVhxOXBubmc1Nlo1ZUt2VU42RnBqTDNrT3ltSXZsOFE3YzBleTRU
cDRERWJnR1BFczFiWCtZNU1RRFpSVwp0WnVLaW5oaXQ1cWZZV3c3Tm0xVmYrWXV1OFpkSHczMWU4
U3NTVlJaYTgvZGdubWR0aHZHemNobG9sZVk3V0FhNXpka1cwaVJaNGNLCjJiQ3UyMXBKZnRuSGl6
Y0VJQUFCQ0Z4QzRPOHZJQzM0L0x2ZXYveVYvZjY3TC9tZlpJMkZmMGpBTHh6K3RGZitKUHR2M3o4
K2tBbkMKSGt0My8waWNJM2dPYmprOHZrZFhtZG0wKzgwbnZzTGNhSTh1OHVkQStFUCs2NE03dWtw
YVFZNjlMc2lCN0Q0RnFtMk5xcXdIWFBtbgowdW5OcWJYMmxucXc5YWhKa08xa21BTGV1Y3JHaDk5
RXN0RnpHRjUrdFU0dU1WTnd2OXg2RGlwSFl1ZU1ydlVuUVExa014R2ROMjNzCjdOMHEzS2F1Qkgx
cmtydWNKWGVvN1VkUVR0STkrV3RzV1N2L1dYOXFsTmM4Rzl2ejhuQUVNK25HVm42WG9IYjAzVDl5
UFovYU82QU0KTjY3UktlUWFSNXkzZmRUMThMV3dhRjVpYi81WmhER01JSlZzUUVrZlE4V1NkeDAx
clBYSUhmajFvd2NCQ0VBQUFuY1IrUGNMeVB2ZApzVjhtTTZIS05MZjI5N3ZCMDYzc3QxNDJwK3pz
NC8reWhGLzJ5ZS85OGQrNmYzeEtEQXh2amQwZndxRWptSWJ1OXlBcDB6N3lmZmJUCmRKNit1anRl
ditmeUlkL2F1WjBZU2xCaGRSSnRmT2VQa2FTeEhKM09qejRtdW96OHo0d045SkxzakNXQkFwMVA0
MXNlNDdyb2NLcSsKNHp2UTRieEdFVWNlNjJjV09jK09kK1AxT092eHZNcmppZDhjZFpqY0VuVllm
NVZmbVpMWVRjS1J1ci9LSEs2VFIvM1R2N2xsTDNsbgo0RER6MGppeXZDV3ZsZnA5bE1yeUpwNTZH
bHMyRlN1WTVHKzBSamp0SjVvQzZyZlA5T1VsdG82MThpZUhiUnMxSzFDUmx0WjhHa3VDCm12NlFp
YUc4OUN1YkdIWDlaU3JKbjZxWGpnY0NFSUFBQlA3ekJQN3RBbkorR1J4Ly96Mk5VNmUrdjFXbS9T
M3ZuUEYvdmovaDk0ZDkKd3Y3SkorVlBueDhkdnZyNTZRZHRaQmJ0d2F6NGZKRGRBNW9DK3VEV21D
UFBHZTl0a3pUZVB0QXByb2IrVEU5bld2bElwdDhudEkzaQpyZUxrNGtkK05iTERhbVhnR0xWc0s2
L3ROK2YrRVVuZTBXMStkUkorM3ZyWFBPT3Z2dWM2ZlVlelQvNEhKaE5TbnJQU28rWnpMZzQ5CnI4
UFdsb3EvVXV0T245Vlk3WDdybkh4ajk1UTVuYmUvOVR2VnIvb1hoNnFWdmRjbHdVZVN1dHUyMGxX
YmorR3NRUG9mOWJmdXR0V3YKdld4UHJ2TDJVNmlxNTVlUEpKbXhMQ2ZDR0hndG5od2J3Mm9wWlhi
WVdTRGxQZ3RKdGJ2K3NYVjhoMG1zMWltOWM3cmxCUUVJUUFBQwp0eEw0K3d1SS8vTFBOUElYL3Ax
UC92Ni9ZL1ZPV2Z2NGh3djgvdmU5VWszM3pMbVgyRC92L3VtcDFlMXVxR05mNlhEV0EzamJIbHB0
ClZyN1Qra3c0UWg4UXkzLzhheUovcDZuaDJLZ3JXV0kvVHROeElDdDlRSlJLZ1h4ZzFDQlN2OWRm
TWZvNHJnZko3NXBHcjhPbEFqMTYKRGRjdDRlY3Q1VDZSZGJTVldLK2tJOStjMHF3Mnh1dVltdDRF
emQrazlmbGhwd2pqYnk0VFZlbkNWSEVVNGEzL0tkVTJtM3FFU3EvSAp2dXE0aE1rMmJiU3BTWG0z
OTdOKytUcUt0TEZJekNScVhubkhZdDdMUWdMcExSK1phN0NEK29xaVgybjNhVmZpUGh1cm9neFRm
OHpyCmRMVE4zeGpUdHJwblQyNytOMjcyUk1adlpKczV6c2hHK2ZnZnNlbENBQUlRZ01BZEJQNytB
dEsvL20yUDd4QlA1WlJYMXpscVhIM2IKMnJROTVaWGhId0x3WS8vMDg5RTJKNnpqZy9WK2FIVHc2
dUZMNXRXNDFZRnZCZTVPUDdZVmFzczlTVFI0SDVtTWFpMlBnK25JSnRoegpoTjc4ejdnTzArcVE2
SHkxa2NEUEdybUpyRjIxcjltTTh1LzBtcjZ0L1U1UE5kbmtlV21vT0JXcnZxZkdTa2NaSHE5Tzl1
K2gvOUM3CnFLMzFTQ1ovRDV2b3FjQ0Jra2w1NXFkdU9YVEhzTEs2cFo2TVNxczFLb3JyYS8wMlMr
M3YzRVk0UVJWWC92TDFyMGFlZzV5aVY1Z3oKWHpSNjkxRzJQTGFib1NTcXYzNnZ4V0duYmhWdVhV
bnlPMENWSTlvZmU4dHNWTG5zU1pmNjdMSUc4VHdKanRWcllDdGVFSUFBQkNCdwpGNEcvdjRDbzd2
eWxUNnR2QWoxdDFaZmUzeEFhN0ZPWmh2Z0h5c2tFZnJ0UmRuK3dmLzc4bVJLbGZuNzhJWnVCVDZv
clBBN0RrVXVkClExbTJXT3g2U0ZRd3VWVG5VQnBaRUZ0ZktuUlk5UXB0bm1sOFFCeGhEb1U2dUs2
OTdiYlFFVG43dG82aGhESzFlZnlTUXo2eW1GOGIKcHU0WTZyQTh2YzdGUlVkV3IrWkpaWklxZHRw
VHByd1NtNEZpOWtmRyttZWwzTldKM2c0elRsb1haOXRvWmFlTDE4YWNudXgrK0k4ZwpYb21wM0ph
TVVQa2ZlNnRqR1UzZk1reWV2SGRHSzVOVmZsM0V2UFNZaU4rdlp6VldPNmF0RkVkcFZaZC80eTF4
MXZWbi9UWlcwUzVMCjBlZXhjWm9WdVBIY3hyQjVucjFuUlNxVHIvV1dxUkE5bGlTL3pKUnVWZlp5
Mm5tdHIzUVAxL1YvbzFqQUN3SVFnQUFFTGlQd2J4ZVEKRnQvdkNZMzlqYkNLMzNLSlQ5bWEvWkRo
SDRhL1dmbExGbjQvOWdyN1p3bnM1c2pKNjkwLy9qREdSR2ZDNThBM0lvMzE1R2luM253dwp1OGNl
eUNNNFpQVzNTSy9KbCtQaXZHZGN2UTkvbzNzKzZxT3p6NmFwbllaSkcyMzlXcHU5SGtlWjZuOEl6
bUN5MFBpbnpFRWRmR2MzCjZzWk9QaXRUNy9nMnBpc2VXODByOXJHVDZIbG1VbWY5UXI1WlhKOXlQ
L1U3dG1kaGQvbjE0dVNZODRydlp0QllYUVgxRTNsclYzM0oKbDVpdTF4SGVDdUpueXcyMm9ZNG1m
bXU1OVR1dDREVEJxRjJyRlBQYkdzeHFZNlc2ZWF2b0RGYVQranVOVkJNdWxxMnRHMCs0enNuLwox
aGQ1dFJ2OGFTUlh2Q2ZtZFBUamtLTTdhNVhSdVc1UEVEb1FnQUFFSUhBRmdYKzdnT1I3Sm9YM1cw
S3l5aXVUaFdUbnVESzFlcXJECkgzN3NuNStmQ1kzK3I4K1BESHdRbkErU2JmZG9Peko5dEh4SWE1
aWUwQlJYeHJMWG8zWis1U0Y3SCtjczB5c2ZVQjNxck5OTGZmL0kKV2NQWFJ2MGRSYW1ZOCtPbk90
bkhhTVI3T0I5WmFwVWllZC9lU0pSMm5hUjFUTXNjT1MvRmxUTGE4ZEZndkJSSThhV2F0K09NTHVP
TgphMVBadnZhMkhua3Q3VGV4SHB1TjUyYWl1a2JYNEdBUmIxZU5Ndm54SUJLTHBwdFNxNWNncGlr
K09XWFRPYjBHc2x1L2FmUHp5aFJHCjlTZGM3UlJQTmh0UFN0ZWQ5czBoaXhoMmJqWDdtVjkyZXNa
MllyMDJrc1JmekR6SFRGU0o0OUx4T3BWdC9XSTJ0cTF4dk5xVjdSTm4KOGtTdVBOT1Ryc1draE9U
akRRRUlRQUFDVnhINCt3dkk3ei9tL3F1L2M2bE9zajc3UGVDaCtyV3BIditYU2RuQXI3c2piTXFE
L2ZQdQpGUkhxNFcwT1d0NDZldVhFOXZDTGZJOXpvOHZoVXVyUldLbitBSjYranFrVm5hMFBldklZ
NFN1Zm1CcDRiYkpBUGVZcVlwL0VYSy9tClY0MytKNzg5TUtwbnMxeEk2aC9QZWE5T2p1cDZSdE5K
cU9UM1lHV1B2LzM4U2dncE5KeGtrU3JpNFYvSGJWUFRhNmtjWXZqbWJSelYKclhvbTFuUmlvNzcr
dmY1UExra2xIaFBKa21mck9HdFF2UFczamVQSllIUFl0bjV0TGZSTEtjNzhUamd5MTcrMU92ejAv
VE50TGdzegpjai8reXYzTTZZbnNUb0s1Ty9sM1Rza2JuOWJhK3BYbm1ieUZ1Nlp5K3ZWWXJhQ09x
L2xsamlxOXJPTml3ZFo4N0tsUnZ2UC9GWndoCkJDQUFBUWo4eHduOC9RVWtmLzlUOFBNdHMvWC8x
a2w4eXRRL3gvanZGeXY4VE9EMzNwRHdsTEYvZnZMUXVjd0hzeFdMendpQ0tlRDgKMW1sdFVmcHc2
ZjdJVnU1TkdCUDcrc0RtMkJ2cjhHK2dIbFo5TU16TFJXeVl6YWJJaWhHcGN1Y3lvK0QrOStoZXYx
RjRFSy9JOXoyTgpENTVIL1pwL0Q1anI1aHdqOXBQU3p5Zzc3Vkg0QUR0V3YvMVBuMWJwWUU2bWhK
cEg0cXZZUkIvQmRESS9tNlEvc2xyRUxuNlNQZmtuCm1IUEtvREVhMzRuaVdmK09wSkpaNjFkazZh
clhXTnJtajExeTJWZk9TaXlIRWJ6cjQ2SEhVYXRXeFRvZkNWYW9ZQjJ1eVBNYmkvREkKcGFZMnJ1
TUlxTEhkNStWOGpwRkFHYWZmR2xWRjZ5L0RrVmg0OHBkTW5wMi8vSGdnQUFFSVFPQXVBbjkvQVZI
ZCt1TFNrNy91NmVzdAorYWxyLzVUWFRpMytZU0FXZWs1T1lnTS9ZL25CcFp6VS9yZnZud0Z6bk9P
eVh5b1lOcy9oYlBmUmN6Z2JkTzdyRkdlNFkvellDT3c4CjhqZGcyUjZ4eHRCdVltOG5PWHF3b2Vv
bDhmVG4xNkVWNDdGMGNQdjdNT3JldlB5c3YwTnUzSkVyaG1yMjcvYWJ2eGxqNHlETzVid1oKdXBa
MEpVMWN4Ukt1MDc4Nm1ZVGZXNFA5TlZ6R3FYM2ZUcjQrOXQzK3lGYzFiWHVaaXpXdVlYT01XclUw
b3ptbjZOUThDc2ZZL0JxZAo5Y2UwM2hxOTBaUzVHc1ZOZit0Ujh6eWprVkxOazBmS3ZVUjREdEc3
Zm8xbHQ2R2FVWFgrREt1ZzgyaStUdUNCUlIxbnZySFQyL0lKCmNuSm9TYkY2czJ6NitNVFpFZDRz
VHNVTEFoQ0FBQVF1SS9CdkZ4RDlnZi94N2JLemVmN3dIMk4xSzY4UC92RHJYdGl0NHFiN3BES04K
OVZSZUgvWlA5azlQWTZFVVRuTmFLNmFlM0I3SmFmLzBCNlpPZU10YTRoNElsU1N4cHQyNDB0bDBG
RGtZYXJRWjNWMGZLMldrNHVabApwNzJNU0NMUlU0TnMraWhYeTNsajJUMUJOdFJJYktlWTA1bEhO
Z2taYXhra2ovSzlWdXF2aS9XdlJsSGlFMFhpVnY4Y3RHVTJUK3QvCjhxcWtJN1pqMkZLSGJuczBy
UXQxOUNuWVBsRXJleVpoaDgwOGZjMHJjOW1PNDBYMjFEY3k5UlgzOTl2aHRncTV5a2IxSytZaHRx
WnIKN0Zpak43c3h0UDFZK0pHZm54WTJBM1UzYzNReFV1M09QOFBrWE9lbldUczVUUjdWRkNhWmhh
TDZVYUI5SkRIL3FoNzUvN3pnUFA1MQpwb1VBQkNBQWdXc0kvTnNGUkdYcnUyRC8rSHNXWjErQ2p0
dEs5bjUvNEErL2Q0K2MrMFY5UGQwM2JTVmovNGhDbnQvN1orRUlsekZOClIzMlA1K0FtV2ZINUhP
ZVRwMExsa1BjTUpmRUpVQTd4MEVIdjlHOGd5MGZoZytBS2xjK1BmTGNHamVYZjQ2UjZxY0dXZmlX
R2NrZlcKRWpTeXpubWk4M3NORzdOK3l1blVhdlhqUk1tdkd2Ulk1SGpTeHk0V285ejhHajlkZTBt
M2txZXRRbTJqUnlhVCtwODFWQ2hyVTIycworcTlUYTdldllvMmRNelRvK2o5eDZyK1ZPSFpLZWQ5
UGlSdGttamRtbE1xWEM4ZTRyWmxrWnViWUcyU2F6Q3NYRTllclRQV1p5UDB4Cmk1Mm4xUnVpUVdX
M0N4RjM2VldINHZXcHp3aTE1aHIraU9Wc3Flblp2eU9UVGVwc0lGb0lRQUFDRUxpSndMOWRRUHJO
OEh3TEhGTTUKZFJJZlh4eVAxV25UZnBVZDE2OXQ1Ykpybi93dkMvaUZ3TGszSlBuNi90RUVlN2p6
SVRVVDdpSE5IeEhwandPZHpjdGwvSFc0ckpkNwpHa3R3eEsyL0QzZGpyZmc5cUtiTitEM3NLV2Zq
SnBRUHNsNmxaSE5Yc1RhUDYzaUsyUU8zeXZBSFhuYnhhRnQvdHhQU2R1T3ZlQXB6CjFxVks0cTYz
bGF1UG55cHlIZU1vWDBuZHFLdEgwNUhDd3RwSWNkU3ZVWnp0VVAvR2RmNFJxbjdWYXJrQ1dpYWg2
azY4NmowSEpWY2UKUjAwL0JmbDk1RkxOVDlhUnY0KzhITUNpby83T1NXNnV3d2FuOFZ1blZadC9h
bTM5cm5ISDUvdzloMGthSkZ1WEpuOVVHYVdyY3p6NQp4ekt5VnZQVWJ1Vzg4cyt4SHB1Uk9id0Y4
czhhcHM3SGlnNEVJQUFCQ0Z4RTRPOHZJUG4rZUwvTS9JVXdNL25kOXZ1amJmWDRoOVZ2Ckx1WFR0
dnEycDF6OTMvTHEyMWJmOXBUai93MStQbTNOQXZ1RWw4TnJKOWFEWUE5a1BvVE5vUEwzQTZ1L1F0
MGM3OGFvbjQ2RDhwRy8KclpUTC9XbjFMMEszdFZORUs2ZTBiajg3ajEvSGlwOVJhc29oVm41MWNt
QUpWSUZ6SnBycWtYQmUrdWZHRnJIYkRNMmptanpubUR0YQpEcVFqMkVmZXFzVjJSLzdHc05tWVAz
N3VxeHBaek8va2FQMnhrVWN1RE82cFNER2JScm5VdXFmMmxDbk8vTGdPaDAzdDlZbTUzc3FiCm5C
cTVYNW5ieUt3NlhxNDN5VlhPV09ybHp0dit3Vi8xblBOcWZvZDJVYW5DSE5ZL0ZicHlwM0RhMms1
TzZSMUgrUVZoV2xtcnJhOU4KenRmYUtveTZxYW1SeHMvZGpCZnloQTdETXd4OUNFQUFBaEM0aDhE
ZlgwRDAxMTlQVy9YM2I3NjZmalN1dm0xdE9tNHJoK3Jzdk9QcQoyOWFtNDdiNHc2OTdnLzFqQWoy
Y0JVdmVPY1MraDFaL2ZNN1AwTkgzUVZCam54clhYNGZRUkM5bGY4UWplMFJINXpoa1NpcERIUWJk
CjEySHplSTRnTVpOMmVtdnZnNmI2ODl2Ti92aVAyZUcrZytRNTdXVVV1MXdFVk1BVDR5amx0SXQ0
dmFaNTR1V2tlM3FwMURlZ2E0MjkKNURrb2k3MWNFdS9NSGNtRzYrQXhHSUZqeExOVTEvcVBUVUkw
VUZyVmJpb3E0b25kYW42R3NlM1l0Rlg5bWJ2c0duZDlOTlR2RWJNbQpVV1d0UFhjTDVuWGFiaGcz
STVlSlhtRzJnMm1jMzVCdElVV2VIU3BrdzdwdWF5WDVaUjh2M2hDQUFBUWdjQW1CdjcrQXRPRHo3
M3IvCjhsZjIrKysrNUgrU05SYitJUUcvY1BqVFh2bVQ3TDk5Ly9oQUpnaDdMTjM5STNHTzREbTQ1
ZkQ0SGwxbFp0UHVONS80Q25PalBickkKbndQaEQvbXZEKzdvS21rRk9mYTZJQWV5K3hTb3RqV3Fz
aDV3NVo5S3B6ZW4xdHBiNnNIV295WkJ0cE5oQ25qbktoc2ZmaFBKUnM5aAplUG5WT3JuRVRNSDlj
dXM1cUJ5Sm5UTzYxcDhFTlpETlJIVGV0TEd6ZDZ0d203b1M5SzFKN25LVzNLRzJIMEU1U2Zma3I3
RmxyZnhuCi9hbFJYdk5zYk0vTHd4SE1wQnRiK1YyQzJ0RjMvOGoxZkdydmdETGN1RWFua0dzY2Nk
NzJVZGZEMThLaWVZbTkrV2NSeGpDQ1ZMSUIKSlgwTUZVdmVkZFN3MWlOMzROZVBIZ1FnQUFFSTNF
WGczeThnNzNmSGZwbk1oQ3JUM05yZjd3WlB0N0xmZXRtY3NyT1AvOHNTZnRrbgp2L2ZIZit2KzhT
a3hNTHcxZG44SWg0NWdHcnJmZzZSTSs4ajMyVS9UZWZycTduajluc3VIZkd2bmRtSW9RWVhWU2JU
eG5UOUdrc1p5CmREby8rcGpvTXZJL016YlFTN0l6bGdRS2RENk5iM21NNjZMRHFmcU83MENIOHhw
RkhIbXNuMW5rUER2ZWpkZmpyTWZ6S284bmZuUFUKWVhKTDFHSDlWWDVsU21JM0NVZnEvaXB6dUU0
ZTlVLy81cGE5NUoyQnc4eEw0OGp5bHJ4VzZ2ZFJLc3ViZU9wcGJObFVyR0NTdjlFYQo0YlNmYUFx
bzN6N1RsNWZZT3RiS254eTJiZFNzUUVWYVd2TnBMQWxxK2tNbWh2TFNyMnhpMVBXWHFTUi9xbDQ2
SGdoQUFBSVErTThUCitMY0x5UGxsY1B6OTl6Uk9uZnIrVnBuMnQ3eHp4di81L29UZkgvWUoreWVm
bEQ5OWZuVDQ2dWVuSDdTUldiUUhzK0x6UVhZUGFBcm8KZzF0ampqeG52TGROMG5qN1FLZTRHdm96
UFoxcDVTT1pmcC9RTm9xM2lwT0xIL25WeUE2cmxZRmoxTEt0dkxiZm5QdEhKSGxIdC9uVgpTZmg1
NjEvempMLzZudXYwSGMwKytSK1lURWg1emtxUG1zKzVPUFM4RGx0Ykt2NUtyVHQ5Vm1PMSs2MXo4
bzNkVStaMDN2N1c3MVMvCjZsOGNxbGIyWHBjRUgwbnFidHRLVjIwK2hyTUM2WC9VMzdyYlZyLzJz
ajI1eXR0UG9hcWVYejZTWk1heW5BaGo0TFY0Y213TXE2V1UKMldGbmdaVDdMQ1RWN3ZySDF2RWRK
ckZhcC9UTzZaWVhCQ0FBQVFqY1N1RHZMeUQreXovVHlGLzRkejc1Ky8rTzFUdWdJQVFGQUFBZwpB
RWxFUVZSbDdlTWZMdkQ3My9kS05kMHo1MTVpLzd6N3A2ZFd0N3Voam4ybHcxa1A0RzE3YUxWWitV
N3JNK0VJZlVBcy8vR3ZpZnlkCnBvWmpvNjVraWYwNFRjZUJyUFFCVVNvRjhvRlJnMGo5WG4vRjZP
TzRIaVMvYXhxOURwY0s5T2cxWExlRW43ZVUrMFRXMFZaaXZaS08KZkhOS3M5b1lyMk5xZWhNMGY1
UFc1NGVkSW95L3VVeFVwUXRUeFZHRXQvNm5WTnRzNmhFcXZSNzdxdU1TSnR1MDBhWW01ZDNlei9y
bAo2eWpTeGlJeGs2aDU1UjJMZVM4TENhUzNmR1N1d1E3cUs0cCtwZDJuWFluN2JLeUtNa3o5TWEv
VDBUWi9ZMHpiNnA0OXVmbmZ1TmtUCkdiK1JiZVk0SXh2bDQzL0VwZ3NCQ0VBQUFuY1ErUHNMU1Av
NnR6MitRenlWVTE1ZDU2aHg5VzFyMC9hVVY0Wi9DTUNQL2RQUFI5dWMKc0k0UDF2dWgwY0dyaHkr
WlYrTldCNzRWdUR2OTJGYW9MZmNrMGVCOVpES3F0VHdPcGlPYllNOFJldk0vNHpwTXEwT2k4OVZH
QWo5cgo1Q2F5ZHRXK1pqUEt2OU5yK3JiMk96M1ZaSlBucGFIaVZLejZuaG9ySFdWNHZEclp2NGYr
USsraXR0WWptZnc5YktLbkFnZEtKdVdaCm43cmwwQjNEeXVxV2VqSXFyZGFvS0s2djlkc3N0Yjl6
RytFRVZWejV5OWUvR25rT2NvcGVZYzU4MGVqZFI5bnkyRzZHa3FqKytyMFcKaDUyNlZiaDFKY252
QUZXT2FIL3NMYk5SNWJJblhlcXp5eHJFOHlRNFZxK0JyWGhCQUFJUWdNQmRCUDcrQXFLNjg1Yyty
YjRKOUxSVgpYM3AvUTJpd1QyVWE0aDhvSnhQNDdVYlovY0grK2ZOblNwVDYrZkdIYkFZK3FhN3dP
QXhITG5VT1pkbGlzZXNoVWNIa1VwMURhV1JCCmJIMnAwR0hWSzdSNXB2RUJjWVE1Rk9yZ3V2YTIy
MEpINU96Yk9vWVN5dFRtOFVzTytjaGlmbTJZdW1Pb3cvTDBPaGNYSFZtOW1pZVYKU2FyWWFVK1o4
a3BzQm9yWkh4bnJuNVZ5VnlkNk84dzRhVjJjYmFPVm5TNWVHM042c3Z2aFA0SjRKYVp5V3pKQzVY
L3NyWTVsTkgzTApNSG55M2htdFRGYjVkUkh6MG1NaWZyK2UxVmp0bUxaU0hLVlZYZjZOdDhSWjE1
LzEyMWhGdXl4Rm44ZkdhVmJneG5NYncrWjU5cDRWCnFVeSsxbHVtUXZSWWt2d3lVN3BWMmN0cDU3
VyswajFjMS8rTllnRXZDRUFBQWhDNGpNQy9YVUJhZkw4bk5QWTN3aXAreXlVK1pXdjIKUTRaL0dQ
NW01UzlaK1AzWUsreWZKYkNiSXlldmQvLzR3eGdUblFtZkE5K0lOTmFUbzUxNjg4SHNIbnNnaitD
UTFkOGl2U1pmam92egpubkgxUHZ5Tjd2bW9qODQrbTZaMkdpWnR0UFZyYmZaNkhHV3EveUU0Zzhs
QzQ1OHlCM1h3bmQyb0d6djVyRXk5NDl1WXJuaHNOYS9ZCngwNmk1NWxKbmZVTCtXWnhmY3I5MU8v
WW5vWGQ1ZGVMazJQT0s3NmJRV04xRmRSUDVLMWQ5U1ZmWXJwZVIzZ3JpSjh0TjlpR09wcjQKcmVY
Vzc3U0Mwd1NqZHExU3pHOXJNS3VObGVybXJhSXpXRTNxN3pSU1RiaFl0clp1UE9FNkovOWJYK1RW
YnZDbmtWenhucGpUMFk5RApqdTZzVlVibnVqMUI2RUFBQWhDQXdCVUUvdTBDa3UrWkZONXZDY2tx
cjB3V2twM2p5dFRxcVE1LytMRi9mbjRtTlBxL1BqOHk4RUZ3ClBraTIzYVB0eVBUUjhpR3RZWHBD
VTF3WnkxNlAydm1WaCt4OW5MTk1yM3hBZGFpelRpLzEvU05uRFY4YjlYY1VwV0xPajUvcVpCK2oK
RWUvaGZHU3BWWXJrZlhzalVkcDFrdFl4TFhQa3ZCUlh5bWpIUjRQeFVpREZsMnJlampPNmpEZXVU
V1g3MnR0NjVMVzAzOFI2YkRhZQptNG5xR2wyRGcwVzhYVFhLNU1lRFNDeWFia3F0WG9LWXB2amts
RTNuOUJySWJ2Mm16YzhyVXhqVm4zQzFVenpaYkR3cFhYZmFONGNzCll0aTUxZXhuZnRucEdkdUo5
ZHBJRW44eDh4d3pVU1dPUzhmclZMYjFpOW5ZdHNieGFsZTJUNXpKRTdueVRFKzZGcE1Ta284M0JD
QUEKQVFoY1JlRC9tei9hK3Z2TkF3RUlRQUFDRUlBQUJDQUFBUWhBNFA4NWdYLzdINUQvNStXUUFB
SVFnQUFFSUFBQkNFQUFBaEQ0TWdFdQpJRjllWGVZR0FRaEFBQUlRZ0FBRUlBQ0J5d2h3QWJsc1FT
Z0hBaENBQUFRZ0FBRUlRQUFDWHliQUJlVExxOHZjSUFBQkNFQUFBaENBCkFBUWdjQmtCTGlDWExR
amxRQUFDRUlBQUJDQUFBUWhBNE1zRXVJQjhlWFdaR3dRZ0FBRUlRQUFDRUlBQUJDNGp3QVhrc2dX
aEhBaEEKQUFJUWdBQUVJQUFCQ0h5WkFCZVFMNjh1YzRNQUJDQUFBUWhBQUFJUWdNQmxCTGlBWExZ
Z2xBTUJDRUFBQWhDQUFBUWdBSUV2RStBQwo4dVhWWlc0UWdBQUVJQUFCQ0VBQUFoQzRqQUFYa01z
V2hISWdBQUVJUUFBQ0VJQUFCQ0R3WlFKY1FMNjh1c3dOQWhDQUFBUWdBQUVJClFBQUNseEhnQW5M
WmdsQU9CQ0FBQVFoQUFBSVFnQUFFdmt5QUM4aVhWNWU1UVFBQ0VJQUFCQ0FBQVFoQTRESUNYRUF1
V3hES2dRQUUKSUFBQkNFQUFBaENBd0pjSmNBSDU4dW95TndoQUFBSVFnQUFFSUFBQkNGeEdnQXZJ
WlF0Q09SQ0FBQVFnQUFFSVFBQUNFUGd5QVM0ZwpYMTVkNWdZQkNFQUFBaENBQUFRZ0FJSExDSEFC
dVd4QktBY0NFSUFBQkNBQUFRaEFBQUpmSnNBRjVNdXJ5OXdnQUFFSVFBQUNFSUFBCkJDQndHUUV1
SUpjdENPVkFBQUlRZ0FBRUlBQUJDRURneXdTNGdIeDVkWmtiQkNBQUFRaEFBQUlRZ0FBRUxpUEFC
ZVN5QmFFY0NFQUEKQWhDQUFBUWdBQUVJZkprQUY1QXZyeTV6Z3dBRUlBQUJDRUFBQWhDQXdHVUV1
SUJjdGlDVUF3RUlRQUFDRUlBQUJDQUFnUzhUNEFMeQo1ZFZsYmhDQUFBUWdBQUVJUUFBQ0VMaU1B
QmVReXhhRWNpQUFBUWhBQUFJUWdBQUVJUEJsQWx4QXZyeTZ6QTBDRUlBQUJDQUFBUWhBCkFBS1hF
ZUFDY3RtQ1VBNEVJQUFCQ0VBQUFoQ0FBQVMrVElBTHlKZFhsN2xCQUFJUWdBQUVJQUFCQ0VEZ01n
SmNRQzViRU1xQkFBUWcKQUFFSVFBQUNFSURBbHdsd0Fmbnk2akkzQ0VBQUFoQ0FBQVFnQUFFSVhF
YUFDOGhsQzBJNUVJQUFCQ0FBQVFoQUFBSVErRElCTGlCZgpYbDNtQmdFSVFBQUNFSUFBQkNBQWdj
c0ljQUc1YkVFb0J3SVFnQUFFSUFBQkNFQUFBbDhtd0FYa3k2dkwzQ0FBQVFoQUFBSVFnQUFFCklI
QVpBUzRnbHkwSTVVQUFBaENBQUFRZ0FBRUlRT0RMQkxpQWZIbDFtUnNFSUFBQkNFQUFBaENBQUFR
dUk4QUY1TElGb1J3SVFBQUMKRUlBQUJDQUFBUWg4bVFBWGtDK3ZMbk9EQUFRZ0FBRUlRQUFDRUlE
QVpRUzRnRnkySUpRREFRaEFBQUlRZ0FBRUlBQ0JMeFBnQXZMbAoxV1Z1RUlBQUJDQUFBUWhBQUFJ
UXVJd0FGNURMRm9SeUlBQUJDRUFBQWhDQUFBUWc4R1VDWEVDK3ZMck1EUUlRZ0FBRUlBQUJDRUFB
CkFwY1I0QUp5MllKUURnUWdBQUVJUUFBQ0VJQUFCTDVNZ0F2SWwxZVh1VUVBQWhDQUFBUWdBQUVJ
UU9BeUFseEFMbHNReW9FQUJDQUEKQVFoQUFBSVFnTUNYQ1hBQitmTHFNamNJUUFBQ0VJQUFCQ0FB
QVFoY1JvQUx5R1VMUWprUWdBQUVJQUFCQ0VBQUFoRDRNZ0V1SUY5ZQpYZVlHQVFoQUFBSVFnQUFF
SUFDQnl3aHdBYmxzUVNnSEFoQ0FBQVFnQUFFSVFBQUNYeWJBQmVUTHE4dmNJQUFCQ0VBQUFoQ0FB
QVFnCmNCa0JMaUNYTFFqbFFBQUNFSUFBQkNBQUFRaEE0TXNFdUlCOGVYV1pHd1FnQUFFSVFBQUNF
SUFBQkM0andBWGtzZ1doSEFoQUFBSVEKZ0FBRUlBQUJDSHlaQUJlUUw2OHVjNE1BQkNBQUFRaEFB
QUlRZ01CbEJMaUFYTFlnbEFNQkNFQUFBaENBQUFRZ0FJRXZFK0FDOHVYVgpaVzRRZ0FBRUlBQUJD
RUFBQWhDNGpBQVhrTXNXaEhJZ0FBRUlRQUFDRUlBQUJDRHdaUUpjUUw2OHVzd05BaENBQUFRZ0FB
RUlRQUFDCmx4SGdBbkxaZ2xBT0JDQUFBUWhBQUFJUWdBQUV2a3lBQzhpWFY1ZTVRUUFDRUlBQUJD
QUFBUWhBNERJQ1hFQXVXeERLZ1FBRUlBQUIKQ0VBQUFoQ0F3SmNKY0FINTh1b3lOd2hBQUFJUWdB
QUVJQUFCQ0Z4R2dBdklaUXRDT1JDQUFBUWdBQUVJUUFBQ0VQZ3lBUzRnWDE1ZAo1Z1lCQ0VBQUFo
Q0FBQVFnQUlITENIQUJ1V3hCS0FjQ0VJQUFCQ0FBQVFoQUFBSmZKc0FGNU11cnk5d2dBQUVJUUFB
Q0VJQUFCQ0J3CkdRRXVJSmN0Q09WQUFBSVFnQUFFSUFBQkNFRGd5d1M0Z0h4NWRaa2JCQ0FBQVFo
QUFBSVFnQUFFTGlQQUJlU3lCYUVjQ0VBQUFoQ0EKQUFRZ0FBRUlmSmtBRjVBdnJ5NXpnd0FFSUFB
QkNFQUFBaENBd0dVRXVJQmN0aUNVQXdFSVFBQUNFSUFBQkNBQWdTOFQ0QUx5NWRWbApiaENBQUFR
Z0FBRUlRQUFDRUxpTUFCZVF5eGFFY2lBQUFRaEFBQUlRZ0FBRUlQQmxBbHhBdnJ5NnpBMENFSUFB
QkNBQUFRaEFBQUtYCkVlQUNjdG1DVUE0RUlBQUJDRUFBQWhDQUFBUytUSUFMeUpkWGw3bEJBQUlR
Z0FBRUlBQUJDRURnTWdKY1FDNWJFTXFCQUFRZ0FBRUkKUUFBQ0VJREFsd2x3QWZueTZqSTNDRUFB
QWhDQUFBUWdBQUVJWEVhQUM4aGxDMEk1RUlBQUJDQUFBUWhBQUFJUStESUJMaUJmWGwzbQpCZ0VJ
UUFBQ0VJQUFCQ0FBZ2NzSWNBRzViRUVvQndJUWdBQUVJQUFCQ0VBQUFsOG13QVhreTZ2TDNDQUFB
UWhBQUFJUWdBQUVJSEFaCkFTNGdseTBJNVVBQUFoQ0FBQVFnQUFFSVFPRExCTGlBZkhsMW1Sc0VJ
QUFCQ0VBQUFoQ0FBQVF1SThBRjVMSUZvUndJUUFBQ0VJQUEKQkNBQUFRaDhtUUFYa0MrdkxuT0RB
QVFnQUFFSVFBQUNFSURBWlFTNGdGeTJJSlFEQVFoQUFBSVFnQUFFSUFDQkx4UGdBdkxsMVdWdQpF
SUFBQkNBQUFRaEFBQUlRdUl3QUY1RExGb1J5SUFBQkNFQUFBaENBQUFRZzhHVUNYRUMrdkxyTURR
SVFnQUFFSUFBQkNFQUFBcGNSCjRBSnkyWUpRRGdRZ0FBRUlRQUFDRUlBQUJMNU1nQXZJbDFlWHVV
RUFBaENBQUFRZ0FBRUlRT0F5QWx4QUxsc1F5b0VBQkNBQUFRaEEKQUFJUWdNQ1hDWEFCK2ZMcU1q
Y0lRQUFDRUlBQUJDQUFBUWhjUm9BTHlHVUxRamtRZ0FBRUlBQUJDRUFBQWhENE1nRXVJRjllWGVZ
RwpBUWhBQUFJUWdBQUVJQUNCeXdod0FibHNRU2dIQWhDQUFBUWdBQUVJUUFBQ1h5YkFCZVRMcTh2
Y0lBQUJDRUFBQWhDQUFBUWdjQmtCCkxpQ1hMUWpsUUFBQ0VJQUFCQ0FBQVFoQTRNc0V1SUI4ZVhX
Wkd3UWdBQUVJUUFBQ0VJQUFCQzRqd0FYa3NnV2hIQWhBQUFJUWdBQUUKSUFBQkNIeVpBQmVRTDY4
dWM0TUFCQ0FBQVFoQUFBSVFnTUJsQkxpQVhMWWdsQU1CQ0VBQUFoQ0FBQVFnQUlFdkUrQUM4dVhW
Wlc0UQpnQUFFSUFBQkNFQUFBaEM0akFBWGtNc1doSElnQUFFSVFBQUNFSUFBQkNEd1pRSmNRTDY4
dXN3TkFoQ0FBQVFnQUFFSVFBQUNseEhnCkFuTFpnbEFPQkNBQUFRaEFBQUlRZ0FBRXZreUFDOGlY
VjVlNVFRQUNFSUFBQkNBQUFRaEE0RElDWEVBdVd4REtnUUFFSUFBQkNFQUEKQWhDQXdKY0pjQUg1
OHVveU53aEFBQUlRZ0FBRUlBQUJDRnhHZ0F2SVpRdENPUkNBQUFRZ0FBRUlRQUFDRVBneUFTNGdY
MTVkNWdZQgpDRUFBQWhDQUFBUWdBSUhMQ0hBQnVXeEJLQWNDRUlBQUJDQUFBUWhBQUFKZkpzQUY1
TXVyeTl3Z0FBRUlRQUFDRUlBQUJDQndHUUV1CklKY3RDT1ZBQUFJUWdBQUVJQUFCQ0VEZ3l3UzRn
SHg1ZFprYkJDQUFBUWhBQUFJUWdBQUVMaVBBQmVTeUJhRWNDRUFBQWhDQUFBUWcKQUFFSWZKa0FG
NUF2cnk1emd3QUVJQUFCQ0VBQUFoQ0F3R1VFdUlCY3RpQ1VBd0VJUUFBQ0VJQUFCQ0FBZ1M4VDRB
THk1ZFZsYmhDQQpBQVFnQUFFSVFBQUNFTGlNQUJlUXl4YUVjaUFBQVFoQUFBSVFnQUFFSVBCbEFs
eEF2cnk2ekEwQ0VJQUFCQ0FBQVFoQUFBS1hFZUFDCmN0bUNVQTRFSUFBQkNFQUFBaENBQUFTK1RJ
QUx5SmRYbDdsQkFBSVFnQUFFSUFBQkNFRGdNZ0pjUUM1YkVNcUJBQVFnQUFFSVFBQUMKRUlEQWx3
bHdBZm55NmpJM0NFQUFBaENBQUFRZ0FBRUlYRWFBQzhobEMwSTVFSUFBQkNBQUFRaEFBQUlRK0RJ
QkxpQmZYbDNtQmdFSQpRQUFDRUlBQUJDQUFnY3NJY0FHNWJFRW9Cd0lRZ0FBRUlBQUJDRUFBQWw4
bXdBWGt5NnZMM0NBQUFRaEFBQUlRZ0FBRUlIQVpBUzRnCmx5MEk1VUFBQWhDQUFBUWdBQUVJUU9E
TEJMaUFmSGwxbVJzRUlBQUJDRUFBQWhDQUFBUXVJOEFGNUxJRm9Sd0lRQUFDRUlBQUJDQUEKQVFo
OG1RQVhrQyt2TG5PREFBUWdBQUVJUUFBQ0VJREFaUVM0Z0Z5MklKUURBUWhBQUFJUWdBQUVJQUNC
THhQZ0F2TGwxV1Z1RUlBQQpCQ0FBQVFoQUFBSVF1SXdBRjVETEZvUnlJQUFCQ0VBQUFoQ0FBQVFn
OEdVQ1hFQyt2THJNRFFJUWdBQUVJQUFCQ0VBQUFwY1I0QUp5CjJZSlFEZ1FnQUFFSVFBQUNFSUFB
Qkw1TWdBdklsMWVYdVVFQUFoQ0FBQVFnQUFFSVFPQXlBbHhBTGxzUXlvRUFCQ0FBQVFoQUFBSVEK
Z01DWENYQUIrZkxxTWpjSVFBQUNFSUFBQkNBQUFRaGNSb0FMeUdVTFFqa1FnQUFFSUFBQkNFQUFB
aEQ0TWdFdUlGOWVYZVlHQVFoQQpBQUlRZ0FBRUlBQ0J5d2h3QWJsc1FTZ0hBaENBQUFRZ0FBRUlR
QUFDWHliQUJlVExxOHZjSUFBQkNFQUFBaENBQUFRZ2NCa0JMaUNYCkxRamxRQUFDRUlBQUJDQUFB
UWhBNE1zRXVJQjhlWFdaR3dRZ0FBRUlRQUFDRUlBQUJDNGp3QVhrc2dXaEhBaEFBQUlRZ0FBRUlB
QUIKQ0h5WkFCZVFMNjh1YzRNQUJDQUFBUWhBQUFJUWdNQmxCTGlBWExZZ2xBTUJDRUFBQWhDQUFB
UWdBSUV2RStBQzh1WFZaVzRRZ0FBRQpJQUFCQ0VBQUFoQzRqQUFYa01zV2hISWdBQUVJUUFBQ0VJ
QUFCQ0R3WlFKY1FMNjh1c3dOQWhDQUFBUWdBQUVJUUFBQ2x4SGdBbkxaCmdsQU9CQ0FBQVFoQUFB
SVFnQUFFdmt5QUM4aVhWNWU1UVFBQ0VJQUFCQ0FBQVFoQTRESUNYRUF1V3hES2dRQUVJQUFCQ0VB
QUFoQ0EKd0pjSmNBSDU4dW95TndoQUFBSVFnQUFFSUFBQkNGeEdnQXZJWlF0Q09SQ0FBQVFnQUFF
SVFBQUNFUGd5QVM0Z1gxNWQ1Z1lCQ0VBQQpBaENBQUFRZ0FJSExDSEFCdVd4QktBY0NFSUFBQkNB
QUFRaEFBQUpmSnNBRjVNdXJ5OXdnQUFFSVFBQUNFSUFBQkNCd0dRRXVJSmN0CkNPVkFBQUlRZ0FB
RUlBQUJDRURneXdTNGdIeDVkWmtiQkNBQUFRaEFBQUlRZ0FBRUxpUEFCZVN5QmFFY0NFQUFBaENB
QUFRZ0FBRUkKZkprQUY1QXZyeTV6Z3dBRUlBQUJDRUFBQWhDQXdHVUV1SUJjdGlDVUF3RUlRQUFD
RUlBQUJDQUFnUzhUNEFMeTVkVmxiaENBQUFRZwpBQUVJUUFBQ0VMaU1BQmVReXhhRWNpQUFBUWhB
QUFJUWdBQUVJUEJsQWx4QXZyeTZ6QTBDRUlBQUJDQUFBUWhBQUFLWEVlQUNjdG1DClVBNEVJQUFC
Q0VBQUFoQ0FBQVMrVElBTHlKZFhsN2xCQUFJUWdBQUVJQUFCQ0VEZ01nSmNRQzViRU1xQkFBUWdB
QUVJUUFBQ0VJREEKbHdsd0Fmbnk2akkzQ0VBQUFoQ0FBQVFnQUFFSVhFYUFDOGhsQzBJNUVJQUFC
Q0FBQVFoQUFBSVErRElCTGlCZlhsM21CZ0VJUUFBQwpFSUFBQkNBQWdjc0ljQUc1YkVFb0J3SVFn
QUFFSUFBQkNFQUFBbDhtd0FYa3k2dkwzQ0FBQVFoQUFBSVFnQUFFSUhBWkFTNGdseTBJCjVVQUFB
aENBQUFRZ0FBRUlRT0RMQkxpQWZIbDFtUnNFSUFBQkNFQUFBaENBQUFRdUk4QUY1TElGb1J3SVFB
QUNFSUFBQkNBQUFRaDgKbVFBWGtDK3ZMbk9EQUFRZ0FBRUlRQUFDRUlEQVpRUzRnRnkySUpRREFR
aEFBQUlRZ0FBRUlBQ0JMeFBnQXZMbDFXVnVFSUFBQkNBQQpBUWhBQUFJUXVJd0FGNURMRm9SeUlB
QUJDRUFBQWhDQUFBUWc4R1VDWEVDK3ZMck1EUUlRZ0FBRUlBQUJDRUFBQXBjUjRBSnkyWUpRCkRn
UWdBQUVJUUFBQ0VJQUFCTDVNZ0F2SWwxZVh1VUVBQWhDQUFBUWdBQUVJUU9BeUFseEFMbHNReW9F
QUJDQUFBUWhBQUFJUWdNQ1gKQ1hBQitmTHFNamNJUUFBQ0VJQUFCQ0FBQVFoY1JvQUx5R1VMUWpr
UWdBQUVJQUFCQ0VBQUFoRDRNZ0V1SUY5ZVhlWUdBUWhBQUFJUQpnQUFFSUFDQnl3aHdBYmxzUVNn
SEFoQ0FBQVFnQUFFSVFBQUNYeWJBQmVUTHE4dmNJQUFCQ0VBQUFoQ0FBQVFnY0JrQkxpQ1hMUWps
ClFBQUNFSUFBQkNBQUFRaEE0TXNFdUlCOGVYV1pHd1FnQUFFSVFBQUNFSUFBQkM0andBWGtzZ1do
SEFoQUFBSVFnQUFFSUFBQkNIeVoKQUJlUUw2OHVjNE1BQkNBQUFRaEFBQUlRZ01CbEJMaUFYTFln
bEFNQkNFQUFBaENBQUFRZ0FJRXZFK0FDOHVYVlpXNFFnQUFFSUFBQgpDRUFBQWhDNGpBQVhrTXNX
aEhJZ0FBRUlRQUFDRUlBQUJDRHdaUUpjUUw2OHVzd05BaENBQUFRZ0FBRUlRQUFDbHhIZ0FuTFpn
bEFPCkJDQUFBUWhBQUFJUWdBQUV2a3lBQzhpWFY1ZTVRUUFDRUlBQUJDQUFBUWhBNERJQ1hFQXVX
eERLZ1FBRUlBQUJDRUFBQWhDQXdKY0oKY0FINTh1b3lOd2hBQUFJUWdBQUVJQUFCQ0Z4R2dBdkla
UXRDT1JDQUFBUWdBQUVJUUFBQ0VQZ3lBUzRnWDE1ZDVnWUJDRUFBQWhDQQpBQVFnQUlITENIQUJ1
V3hCS0FjQ0VJQUFCQ0FBQVFoQUFBSmZKc0FGNU11cnk5d2dBQUVJUUFBQ0VJQUFCQ0J3R1FFdUlK
Y3RDT1ZBCkFBSVFnQUFFSUFBQkNFRGd5d1M0Z0h4NWRaa2JCQ0FBQVFoQUFBSVFnQUFFTGlQQUJl
U3lCYUVjQ0VBQUFoQ0FBQVFnQUFFSWZKa0EKRjVBdnJ5NXpnd0FFSUFBQkNFQUFBaENBd0dVRXVJ
QmN0aUNVQXdFSVFBQUNFSUFBQkNBQWdTOFQ0QUx5NWRWbGJoQ0FBQVFnQUFFSQpRQUFDRUxpTUFC
ZVF5eGFFY2lBQUFRaEFBQUlRZ0FBRUlQQmxBbHhBdnJ5NnpBMENFSUFBQkNBQUFRaEFBQUtYRWVB
Q2N0bUNVQTRFCklBQUJDRUFBQWhDQUFBUytUSUFMeUpkWGw3bEJBQUlRZ0FBRUlBQUJDRURnTWdK
Y1FDNWJFTXFCQUFRZ0FBRUlRQUFDRUlEQWx3bHcKQWZueTZqSTNDRUFBQWhDQUFBUWdBQUVJWEVh
QUM4aGxDMEk1RUlBQUJDQUFBUWhBQUFJUStESUJMaUJmWGwzbUJnRUlRQUFDRUlBQQpCQ0FBZ2Nz
SWNBRzViRUVvQndJUWdBQUVJQUFCQ0VBQUFsOG13QVhreTZ2TDNDQUFBUWhBQUFJUWdBQUVJSEFa
QVM0Z2x5MEk1VUFBCkFoQ0FBQVFnQUFFSVFPRExCTGlBZkhsMW1Sc0VJQUFCQ0VBQUFoQ0FBQVF1
SThBRjVMSUZvUndJUUFBQ0VJQUFCQ0FBQVFoOG1RQVgKa0MrdkxuT0RBQVFnQUFFSVFBQUNFSURB
WlFTNGdGeTJJSlFEQVFoQUFBSVFnQUFFSUFDQkx4UGdBdkxsMVdWdUVJQUFCQ0FBQVFoQQpBQUlR
dUl3QUY1RExGb1J5SUFBQkNFQUFBaENBQUFRZzhHVUNYRUMrdkxyTURRSVFnQUFFSUFBQkNFQUFB
cGNSNEFKeTJZSlFEZ1FnCkFBRUlRQUFDRUlBQUJMNU1nQXZJbDFlWHVVRUFBaENBQUFRZ0FBRUlR
T0F5QWx4QUxsc1F5b0VBQkNBQUFRaEFBQUlRZ01DWENYQUIKK2ZMcU1qY0lRQUFDRUlBQUJDQUFB
UWhjUm9BTHlHVUxRamtRZ0FBRUlBQUJDRUFBQWhENE1nRXVJRjllWGVZR0FRaEFBQUlRZ0FBRQpJ
QUNCeXdod0FibHNRU2dIQWhDQUFBUWdBQUVJUUFBQ1h5YkFCZVRMcTh2Y0lBQUJDRUFBQWhDQUFB
UWdjQmtCTGlDWExRamxRQUFDCkVJQUFCQ0FBQVFoQTRNc0V1SUI4ZVhXWkd3UWdBQUVJUUFBQ0VJ
QUFCQzRqd0FYa3NnV2hIQWhBQUFJUWdBQUVJQUFCQ0h5WkFCZVEKTDY4dWM0TUFCQ0FBQVFoQUFB
SVFnTUJsQkxpQVhMWWdsQU1CQ0VBQUFoQ0FBQVFnQUlFdkUrQUM4dVhWWlc0UWdBQUVJQUFCQ0VB
QQpBaEM0akFBWGtNc1doSElnQUFFSVFBQUNFSUFBQkNEd1pRSmNRTDY4dXN3TkFoQ0FBQVFnQUFF
SVFBQUNseEhnQW5MWmdsQU9CQ0FBCkFRaEFBQUlRZ0FBRXZreUFDOGlYVjVlNVFRQUNFSUFBQkNB
QUFRaEE0RElDWEVBdVd4REtnUUFFSUFBQkNFQUFBaENBd0pjSmNBSDUKOHVveU53aEFBQUlRZ0FB
RUlBQUJDRnhHZ0F2SVpRdENPUkNBQUFRZ0FBRUlRQUFDRVBneUFTNGdYMTVkNWdZQkNFQUFBaENB
QUFRZwpBSUhMQ0hBQnVXeEJLQWNDRUlBQUJDQUFBUWhBQUFKZkpzQUY1TXVyeTl3Z0FBRUlRQUFD
RUlBQUJDQndHUUV1SUpjdENPVkFBQUlRCmdBQUVJQUFCQ0VEZ3l3UzRnSHg1ZFprYkJDQUFBUWhB
QUFJUWdBQUVMaVBBQmVTeUJhRWNDRUFBQWhDQUFBUWdBQUVJZkprQUY1QXYKcnk1emd3QUVJQUFC
Q0VBQUFoQ0F3R1VFdUlCY3RpQ1VBd0VJUUFBQ0VJQUFCQ0FBZ1M4VDRBTHk1ZFZsYmhDQUFBUWdB
QUVJUUFBQwpFTGlNQUJlUXl4YUVjaUFBQVFoQUFBSVFnQUFFSVBCbEFseEF2cnk2ekEwQ0VJQUFC
Q0FBQVFoQUFBS1hFZUFDY3RtQ1VBNEVJQUFCCkNFQUFBaENBQUFTK1RJQUx5SmRYbDdsQkFBSVFn
QUFFSUFBQkNFRGdNZ0pjUUM1YkVNcUJBQVFnQUFFSVFBQUNFSURBbHdsd0FmbnkKNmpJM0NFQUFB
aENBQUFRZ0FBRUlYRWFBQzhobEMwSTVFSUFBQkNBQUFRaEFBQUlRK0RJQkxpQmZYbDNtQmdFSVFB
QUNFSUFBQkNBQQpnY3NJY0FHNWJFRW9Cd0lRZ0FBRUlBQUJDRUFBQWw4bXdBWGt5NnZMM0NBQUFR
aEFBQUlRZ0FBRUlIQVpBUzRnbHkwSTVVQUFBaENBCkFBUWdBQUVJUU9ETEJMaUFmSGwxbVJzRUlB
QUJDRUFBQWhDQUFBUXVJOEFGNUxJRm9Sd0lRQUFDRUlBQUJDQUFBUWg4bVFBWGtDK3YKTG5PREFB
UWdBQUVJUUFBQ0VJREFaUVM0Z0Z5MklKUURBUWhBQUFJUWdBQUVJQUNCTHhQZ0F2TGwxV1Z1RUlB
QUJDQUFBUWhBQUFJUQp1SXdBRjVETEZvUnlJQUFCQ0VBQUFoQ0FBQVFnOEdVQ1hFQyt2THJNRFFJ
UWdBQUVJQUFCQ0VBQUFwY1I0QUp5MllKUURnUWdBQUVJClFBQUNFSUFBQkw1TWdBdklsMWVYdVVF
QUFoQ0FBQVFnQUFFSVFPQXlBbHhBTGxzUXlvRUFCQ0FBQVFoQUFBSVFnTUNYQ1hBQitmTHEKTWpj
SVFBQUNFSUFBQkNBQUFRaGNSb0FMeUdVTFFqa1FnQUFFSUFBQkNFQUFBaEQ0TWdFdUlGOWVYZVlH
QVFoQUFBSVFnQUFFSUFDQgp5d2h3QWJsc1FTZ0hBaENBQUFRZ0FBRUlRQUFDWHliQUJlVExxOHZj
SUFBQkNFQUFBaENBQUFRZ2NCa0JMaUNYTFFqbFFBQUNFSUFBCkJDQUFBUWhBNE1zRXVJQjhlWFda
R3dRZ0FBRUlRQUFDRUlBQUJDNGp3QVhrc2dXaEhBaEFBQUlRZ0FBRUlBQUJDSHlaQUJlUUw2OHUK
YzRNQUJDQUFBUWhBQUFJUWdNQmxCTGlBWExZZ2xBTUJDRUFBQWhDQUFBUWdBSUV2RStBQzh1WFZa
VzRRZ0FBRUlBQUJDRUFBQWhDNApqQUFYa01zV2hISWdBQUVJUUFBQ0VJQUFCQ0R3WlFKY1FMNjh1
c3dOQWhDQUFBUWdBQUVJUUFBQ2x4SGdBbkxaZ2xBT0JDQUFBUWhBCkFBSVFnQUFFdmt5QUM4aVhW
NWU1UVFBQ0VJQUFCQ0FBQVFoQTRESUNYRUF1V3hES2dRQUVJQUFCQ0VBQUFoQ0F3SmNKY0FINTh1
b3kKTndoQUFBSVFnQUFFSUFBQkNGeEdnQXZJWlF0Q09SQ0FBQVFnQUFFSVFBQUNFUGd5QVM0Z1gx
NWQ1Z1lCQ0VBQUFoQ0FBQVFnQUlITApDSEFCdVd4QktBY0NFSUFBQkNBQUFRaEFBQUpmSnNBRjVN
dXJ5OXdnQUFFSVFBQUNFSUFBQkNCd0dRRXVJSmN0Q09WQUFBSVFnQUFFCklBQUJDRURneXdTNGdI
eDVkWmtiQkNBQUFRaEFBQUlRZ0FBRUxpUEFCZVN5QmFFY0NFQUFBaENBQUFRZ0FBRUlmSmtBRjVB
dnJ5NXoKZ3dBRUlBQUJDRUFBQWhDQXdHVUV1SUJjdGlDVUF3RUlRQUFDRUlBQUJDQUFnUzhUNEFM
eTVkVmxiaENBQUFRZ0FBRUlRQUFDRUxpTQpBQmVReXhhRWNpQUFBUWhBQUFJUWdBQUVJUEJsQWx4
QXZyeTZ6QTBDRUlBQUJDQUFBUWhBQUFLWEVlQUNjdG1DVUE0RUlBQUJDRUFBCkFoQ0FBQVMrVElB
THlKZFhsN2xCQUFJUWdBQUVJQUFCQ0VEZ01nSmNRQzViRU1xQkFBUWdBQUVJUUFBQ0VJREFsd2x3
QWZueTZqSTMKQ0VBQUFoQ0FBQVFnQUFFSVhFYUFDOGhsQzBJNUVJQUFCQ0FBQVFoQUFBSVErRElC
TGlCZlhsM21CZ0VJUU1ueFZsb0FBQWdsU1VSQgpWQUFDRUlBQUJDQUFnY3NJY0FHNWJFRW9Cd0lR
Z0FBRUlBQUJDRUFBQWw4bXdBWGt5NnZMM0NBQUFRaEFBQUlRZ0FBRUlIQVpBUzRnCmx5MEk1VUFB
QWhDQUFBUWdBQUVJUU9ETEJMaUFmSGwxbVJzRUlBQUJDRUFBQWhDQUFBUXVJOEFGNUxJRm9Sd0lR
QUFDRUlBQUJDQUEKQVFoOG1RQVhrQyt2TG5PREFBUWdBQUVJUUFBQ0VJREFaUVM0Z0Z5MklKUURB
UWhBQUFJUWdBQUVJQUNCTHhQZ0F2TGwxV1Z1RUlBQQpCQ0FBQVFoQUFBSVF1SXdBRjVETEZvUnlJ
QUFCQ0VBQUFoQ0FBQVFnOEdVQ1hFQyt2THJNRFFJUWdBQUVJQUFCQ0VBQUFwY1I0QUp5CjJZSlFE
Z1FnQUFFSVFBQUNFSUFBQkw1TWdBdklsMWVYdVVFQUFoQ0FBQVFnQUFFSVFPQXlBbHhBTGxzUXlv
RUFCQ0FBQVFoQUFBSVEKZ01DWENYQUIrZkxxTWpjSVFBQUNFSUFBQkNBQUFRaGNSb0FMeUdVTFFq
a1FnQUFFSUFBQkNFQUFBaEQ0TWdFdUlGOWVYZVlHQVFoQQpBQUlRZ0FBRUlBQ0J5d2h3QWJsc1FT
Z0hBaENBQUFRZ0FBRUlRQUFDWHliQUJlVExxOHZjSUFBQkNFQUFBaENBQUFRZ2NCa0JMaUNYCkxR
amxRQUFDRUlBQUJDQUFBUWhBNE1zRXVJQjhlWFdaR3dRZ0FBRUlRQUFDRUlBQUJDNGp3QVhrc2dX
aEhBaEFBQUlRZ0FBRUlBQUIKQ0h5WkFCZVFMNjh1YzRNQUJDQUFBUWhBQUFJUWdNQmxCTGlBWExZ
Z2xBTUJDRUFBQWhDQUFBUWdBSUV2RStBQzh1WFZaVzRRZ0FBRQpJQUFCQ0VBQUFoQzRqQUFYa01z
V2hISWdBQUVJUUFBQ0VJQUFCQ0R3WlFKY1FMNjh1c3dOQWhDQUFBUWdBQUVJUUFBQ2x4SGdBbkxa
CmdsQU9CQ0FBQVFoQUFBSVFnQUFFdmt5QUM4aVhWNWU1UVFBQ0VJQUFCQ0FBQVFoQTRESUNYRUF1
V3hES2dRQUVJQUFCQ0VBQUFoQ0EKd0pjSmNBSDU4dW95TndoQUFBSVFnQUFFSUFBQkNGeEdnQXZJ
WlF0Q09SQ0FBQVFnQUFFSVFBQUNFUGd5QVM0Z1gxNWQ1Z1lCQ0VBQQpBaENBQUFRZ0FJSExDSEFC
dVd4QktBY0NFSUFBQkNBQUFRaEFBQUpmSnNBRjVNdXJ5OXdnQUFFSVFBQUNFSUFBQkNCd0dRRXVJ
SmN0CkNPVkFBQUlRZ0FBRUlBQUJDRURneXdTNGdIeDVkWmtiQkNBQUFRaEFBQUlRZ0FBRUxpUEFC
ZVN5QmFFY0NFQUFBaENBQUFRZ0FBRUkKZkprQUY1QXZyeTV6Z3dBRUlBQUJDRUFBQWhDQXdHVUV1
SUJjdGlDVUF3RUlRQUFDRUlBQUJDQUFnUzhUNEFMeTVkVmxiaENBQUFRZwpBQUVJUUFBQ0VMaU1B
QmVReXhhRWNpQUFBUWhBQUFJUWdBQUVJUEJsQWx4QXZyeTZ6QTBDRUlBQUJDQUFBUWhBQUFLWEVl
QUNjdG1DClVBNEVJQUFCQ0VBQUFoQ0FBQVMrVElBTHlKZFhsN2xCQUFJUWdBQUVJQUFCQ0VEZ01n
SmNRQzViRU1xQkFBUWdBQUVJUUFBQ0VJREEKbHdsd0Fmbnk2akkzQ0VBQUFoQ0FBQVFnQUFFSVhF
YUFDOGhsQzBJNUVJQUFCQ0FBQVFoQUFBSVErRElCTGlCZlhsM21CZ0VJUUFBQwpFSUFBQkNBQWdj
c0ljQUc1YkVFb0J3SVFnQUFFSUFBQkNFQUFBbDhtd0FYa3k2dkwzQ0FBQVFoQUFBSVFnQUFFSUhB
WkFTNGdseTBJCjVVQUFBaENBQUFRZ0FBRUlRT0RMQkxpQWZIbDFtUnNFSUFBQkNFQUFBaENBQUFR
dUk4QUY1TElGb1J3SVFBQUNFSUFBQkNBQUFRaDgKbVFBWGtDK3ZMbk9EQUFRZ0FBRUlRQUFDRUlE
QVpRUzRnRnkySUpRREFRaEFBQUlRZ0FBRUlBQ0JMeFBnQXZMbDFXVnVFSUFBQkNBQQpBUWhBQUFJ
UXVJd0FGNURMRm9SeUlBQUJDRUFBQWhDQUFBUWc4R1VDWEVDK3ZMck1EUUlRZ0FBRUlBQUJDRUFB
QXBjUjRBSnkyWUpRCkRnUWdBQUVJUUFBQ0VJQUFCTDVNZ0F2SWwxZVh1VUVBQWhDQUFBUWdBQUVJ
UU9BeUFseEFMbHNReW9FQUJDQUFBUWhBQUFJUWdNQ1gKQ1hBQitmTHFNamNJUUFBQ0VJQUFCQ0FB
QVFoY1JvQUx5R1VMUWprUWdBQUVJQUFCQ0VBQUFoRDRNZ0V1SUY5ZVhlWUdBUWhBQUFJUQpnQUFF
SUFDQnl3aHdBYmxzUVNnSEFoQ0FBQVFnQUFFSVFBQUNYeWJBQmVUTHE4dmNJQUFCQ0VBQUFoQ0FB
QVFnY0JrQkxpQ1hMUWpsClFBQUNFSUFBQkNBQUFRaEE0TXNFdUlCOGVYV1pHd1FnQUFFSVFBQUNF
SUFBQkM0andBWGtzZ1doSEFoQUFBSVFnQUFFSUFBQkNIeVoKQUJlUUw2OHVjNE1BQkNBQUFRaEFB
QUlRZ01CbEJMaUFYTFlnbEFNQkNFQUFBaENBQUFRZ0FJRXZFK0FDOHVYVlpXNFFnQUFFSUFBQgpD
RUFBQWhDNGpBQVhrTXNXaEhJZ0FBRUlRQUFDRUlBQUJDRHdaUUpjUUw2OHVzd05BaENBQUFRZ0FB
RUlRQUFDbHhIZ0FuTFpnbEFPCkJDQUFBUWhBQUFJUWdBQUV2a3lBQzhpWFY1ZTVRUUFDRUlBQUJD
QUFBUWhBNERJQ1hFQXVXeERLZ1FBRUlBQUJDRUFBQWhDQXdKY0oKY0FINTh1b3lOd2hBQUFJUWdB
QUVJQUFCQ0Z4R2dBdklaUXRDT1JDQUFBUWdBQUVJUUFBQ0VQZ3lBUzRnWDE1ZDVnWUJDRUFBQWhD
QQpBQVFnQUlITENIQUJ1V3hCS0FjQ0VJQUFCQ0FBQVFoQUFBSmZKc0FGNU11cnk5d2dBQUVJUUFB
Q0VJQUFCQ0J3R1FFdUlKY3RDT1ZBCkFBSVFnQUFFSUFBQkNFRGd5d1M0Z0h4NWRaa2JCQ0FBQVFo
QUFBSVFnQUFFTGlQQUJlU3lCYUVjQ0VBQUFoQ0FBQVFnQUFFSWZKa0EKRjVBdnJ5NXpnd0FFSUFB
QkNFQUFBaENBd0dVRXVJQmN0aUNVQXdFSVFBQUNFSUFBQkNBQWdTOFQ0QUx5NWRWbGJoQ0FBQVFn
QUFFSQpRQUFDRUxpTUFCZVF5eGFFY2lBQUFRaEFBQUlRZ0FBRUlQQmxBbHhBdnJ5NnpBMENFSUFB
QkNBQUFRaEFBQUtYRWVBQ2N0bUNVQTRFCklBQUJDRUFBQWhDQUFBUytUSUFMeUpkWGw3bEJBQUlR
Z0FBRUlBQUJDRURnTWdKY1FDNWJFTXFCQUFRZ0FBRUlRQUFDRUlEQWx3bHcKQWZueTZqSTNDRUFB
QWhDQUFBUWdBQUVJWEVhQUM4aGxDMEk1RUlBQUJDQUFBUWhBQUFJUStESUJMaUJmWGwzbUJnRUlR
QUFDRUlBQQpCQ0FBZ2NzSWNBRzViRUVvQndJUWdBQUVJQUFCQ0VBQUFsOG04UDhEdG15WEZDM2ll
L2NBQUFBQVNVVk9SSzVDWUlJPQoK
</data>
<flag name="review"
          id="37933"
          type_id="1"
          status="+"
          setter="krit"
    />
    <flag name="commit-queue"
          id="38035"
          type_id="3"
          status="-"
          setter="krit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54063</attachid>
            <date>2010-04-22 08:57:18 -0700</date>
            <delta_ts>2010-04-23 03:38:10 -0700</delta_ts>
            <desc>WebCore changes</desc>
            <filename>WebCore.diff</filename>
            <type>text/plain</type>
            <size>255599</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODA5NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjU0IEBACisyMDEwLTA0LTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNWR1BhaW50U2VydmVyIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgbmV3IFJl
bmRlclNWR1Jlc291cmNlKiBzeXN0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM3OTg2CisKKyAgICAgICAgSHVnZSBzcGVlZHVwIGZvciBTVkcgcGFp
bnRpbmcgdXNpbmcgcGFpbnQgc2VydmVycyAoZ3JhZGllbnQvcGF0dGVybnMpLiBDYWNoZSB1bmRl
cmx5aW5nCisgICAgICAgIFdlYkNvcmU6OkdyYWRpZW50L1BhdHRlcm4gZGF0YXN0cnVjdHVyZXMs
IGRvIG5vdCByZWJ1aWxkIHRoZW0gb24gZXZlcnkgcGFpbnRpbmcuIFRoaXMgbWFya3MKKyAgICAg
ICAgdGhlIGZpbmlzaCBvZiB0aGUgU1ZHUmVzb3VyY2UgLT4gUmVuZGVyU1ZHUmVzb3VyY2UgdHJh
bnNpdGlvbi4KKworICAgICAgICBUT0RPOiBXUklURSBERVRBSUxFRCBDSEFOR0VMT0csIFRISVMg
SVMgSlVTVCBUTyBHRVQgRUFSTFkgRkVFREJBQ0shCisgICAgICAgIFRPRE86IE1PRElGWSBPVEhF
UiBCVUlMRCBTWVNURU1TIQorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYWRpZW50OjphZGRDb2xvclN0b3ApOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYWRpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFkaWVudDo6aXNSYWRp
YWwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaDoKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRSdW46OlRleHRSdW4pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bjo6YWN0
aXZlUGFpbnRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UnVuOjpzZXRBY3Rp
dmVQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vR3Jh
cGhpY3NDb250ZXh0V2luLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6dG9SZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc1NWR0dyYWRpZW50U3RvcCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJPYmplY3Q6OmlzU1ZHUmVzb3VyY2VDb250YWluZXIpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBhdGg6OmZp
bGxDb250YWlucyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQYXRoOjpzdHJva2VDb250YWlu
cyk6CisgICAgICAgIChXZWJDb3JlOjpmaWxsQW5kU3Ryb2tlUGF0aCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJQYXRoOjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR0dy
YWRpZW50U3RvcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdHcmFkaWVudFN0b3A6
OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRT
dG9wLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdHcmFkaWVudFN0b3A6OmlzU1ZHR3Jh
ZGllbnRTdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0dyYWRpZW50U3RvcDo6cmVu
ZGVyTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdHcmFkaWVudFN0b3A6OmNsaXBw
ZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0dy
YWRpZW50U3RvcDo6b2JqZWN0Qm91bmRpbmdCb3gpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHR3JhZGllbnRTdG9wOjpyZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcyk6CisgICAgICAg
IChXZWJDb3JlOjp0b1JlbmRlclNWR0dyYWRpZW50U3RvcCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyUGVuZGlu
Z1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OmFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291
cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGlu
Z1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjpzaGFyZWRT
b2xpZFBhaW50aW5nUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2U6Om1hcmtGb3JMYXlvdXRBbmRSZXNvdXJjZUludmFsaWRhdGlvbik6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2U6OlJlbmRlclNWR1Jlc291cmNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjp+UmVuZGVyU1ZHUmVzb3VyY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2U6OnBvc3RBcHBseVJlc291cmNlKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6aW52YWxp
ZGF0ZUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6
OmFwcGx5UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyOjphcHBseUNsaXBwaW5nVG9Db250ZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
U1ZHUmVzb3VyY2VDbGlwcGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXI6OlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOjp+UmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OmlkQ2hh
bmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjo6aXNT
VkdSZXNvdXJjZUNvbnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lcjo6ZHJhd3NDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdS
ZXNvdXJjZUNvbnRhaW5lcjo6dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcik6CisgICAgICAg
IChXZWJDb3JlOjpnZXRSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQpOgorICAgICAgICAo
V2ViQ29yZTo6Z2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXI6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjphcHBseVJlc291cmNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpwb3N0QXBwbHlSZXNvdXJjZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50Ojp+UmVuZGVy
U1ZHUmVzb3VyY2VHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZUdyYWRpZW50OjppbnZhbGlkYXRlQ2xpZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50OjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4dEZvclRleHRHcmFkaWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpjbGlwVG9UZXh0TWFzayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZUdyYWRpZW50OjphcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2VHcmFkaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VH
cmFkaWVudDo6cmVzb3VyY2VCb3VuZGluZ0JveCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50Ojp+
UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50OjpidWlsZEdyYWRpZW50KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6cmVuZGVyTmFtZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50OjpyZXNvdXJjZVR5
cGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcjo6UmVuZGVyU1ZHUmVzb3Vy
Y2VNYXJrZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6Omlu
dmFsaWRhdGVDbGllbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1h
cmtlci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmFwcGx5
UmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6UmVuZGVyU1ZH
UmVzb3VyY2VNYXNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNr
ZXI6OmludmFsaWRhdGVDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2VNYXNrZXI6OmFwcGx5UmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdS
ZXNvdXJjZU1hc2tlci5oOgorICAgICAgICAoV2ViQ29yZTo6TWFza2VyRGF0YTo6TWFza2VyRGF0
YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OlJlbmRlclNWR1Jlc291
cmNlUGF0dGVybik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46
On5SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuOjppbnZhbGlkYXRlQ2xpZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmludmFsaWRhdGVDbGllbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjphcHBseVJlc291cmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6cG9zdEFwcGx5UmVzb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlUGF0dGVybkJvdW5kYXJpZXMpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpjYWxjdWxhdGVQYXR0ZXJuQm91bmRh
cmllc0luY2x1ZGluZ092ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291
cmNlUGF0dGVybjo6Y3JlYXRlVGlsZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jlc291cmNlUGF0dGVybjo6YnVpbGRQYXR0ZXJuKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNv
dXJjZVBhdHRlcm46OnJlbmRlck5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVz
b3VyY2VQYXR0ZXJuOjpyZXNvdXJjZUJvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jlc291cmNlUGF0dGVybjo6cmVzb3VyY2VUeXBlKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50OjpSZW5kZXJTVkdSZXNvdXJjZVJhZGlh
bEdyYWRpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3Jh
ZGllbnQ6On5SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6OmJ1aWxkR3JhZGllbnQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50OjpyZW5kZXJOYW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6OnJl
c291cmNlVHlwZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlU29saWRD
b2xvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6
OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3I6On5SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjphcHBseVJlc291cmNl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcjo6cG9zdEFw
cGx5UmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlk
Q29sb3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcjo6
aW52YWxpZGF0ZUNsaWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VT
b2xpZENvbG9yOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jlc291cmNlU29saWRDb2xvcjo6cmVzb3VyY2VCb3VuZGluZ0JveCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnJlc291cmNlVHlwZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OmNvbG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcjo6c2V0Q29sb3IpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1RleHQ6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpleHRlcm5h
bFJlcHJlc2VudGF0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludENoYXJhY3RlcnMp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHVGV4dFBhaW50SW5mbzo6U1ZHVGV4dFBhaW50SW5mbyk6CisgICAgICAgICogcmVuZGVy
aW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyQmFz
ZTo6cHJlcGFyZVRvUmVuZGVyU1ZHQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5k
ZXJCYXNlOjpmaW5pc2hSZW5kZXJTVkdDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmludmFs
aWRhdGVQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OmRlcmVnaXN0ZXJGcm9t
UmVzb3VyY2VzKToKKyAgICAgICAgKFdlYkNvcmU6OmRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHls
ZSk6CisgICAgICAgIChXZWJDb3JlOjphcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5oOgorICAgICAgICAqIHJlbmRlcmluZy9T
VkdSZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgor
ICAgICAgICAoV2ViQ29yZTo6d3JpdGVTVkdQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdl
YkNvcmU6OndyaXRlU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6Ym91bmRpbmdCb3hNb2RlU3Ry
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlQ29tbW9uR3JhZGllbnRQcm9wZXJ0aWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OndyaXRlU1ZHUmVzb3VyY2VDb250YWluZXIpOgorICAgICAgICAo
V2ViQ29yZTo6d3JpdGVTVkdHcmFkaWVudFN0b3ApOgorICAgICAgICAqIHJlbmRlcmluZy9TVkdS
ZW5kZXJUcmVlQXNUZXh0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjpTVkdS
b290SW5saW5lQm94UGFpbnRXYWxrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGlu
ZUJveFBhaW50V2Fsa2VyOjp+U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6dGVhcmRvd25GaWxsUGFpbnRT
ZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjp0
ZWFyZG93blN0cm9rZVBhaW50U2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxp
bmVCb3hQYWludFdhbGtlcjo6c2V0dXBCYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBGaWxsKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBGaWxsU2VsZWN0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBTdHJva2UpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjpzZXR1cFN0cm9r
ZVNlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5saW5lQm94UGFpbnRXYWxr
ZXI6OnNldHVwRm9yZWdyb3VuZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5saW5lQm94
UGFpbnRXYWxrZXI6OmFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjpwYWludENodW5rKToKKyAgICAgICAgKiBzdmcv
R3JhZGllbnRBdHRyaWJ1dGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFkaWVudEF0dHJpYnV0
ZXM6OnN0b3BzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50QXR0cmlidXRlczo6c2V0U3Rv
cHMpOgorICAgICAgICAqIHN2Zy9MaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaDoKKyAgICAgICAg
KiBzdmcvUGF0dGVybkF0dHJpYnV0ZXMuaDoKKyAgICAgICAgKiBzdmcvUmFkaWFsR3JhZGllbnRB
dHRyaWJ1dGVzLmg6CisgICAgICAgICogc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdDbGlwUGF0aEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHQ2xpcFBhdGhFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgor
ICAgICAgICAqIHN2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0RvY3VtZW50RXh0ZW5z
aW9uczo6YWRkUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnRFeHRlbnNp
b25zOjpyZW1vdmVSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudEV4dGVu
c2lvbnM6OnJlc291cmNlQnlJZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudEV4dGVu
c2lvbnM6OmFkZFBlbmRpbmdSZXNvdXJjZSk6CisgICAgICAgICogc3ZnL1NWR0RvY3VtZW50RXh0
ZW5zaW9ucy5oOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0VsZW1lbnQ6OnVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcv
U1ZHRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGb250LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnQ6OmRyYXdUZXh0VXNpbmdTVkdGb250KToKKyAgICAgICAgKiBzdmcvU1ZHR0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHR0VsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToK
KyAgICAgICAgKiBzdmcvU1ZHR0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dFbGVt
ZW50OjpyZW5kZXJlcklzTmVlZGVkKToKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmlidXRl
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdHcmFkaWVudEVsZW1lbnQ6OmNoaWxkcmVu
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdHcmFkaWVudEVsZW1lbnQ6OmJ1aWxkU3Rv
cHMpOgorICAgICAgICAqIHN2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xpbmVh
ckdyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6Y29sbGVjdEdyYWRpZW50UHJvcGVydGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OmNhbGN1bGF0
ZVN0YXJ0RW5kUG9pbnRzKToKKyAgICAgICAgKiBzdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTWFya2VyRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdNYXJrZXJFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTWFya2VyRWxlbWVudDo6c2V0T3JpZW50VG9BdXRvKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR01hcmtlckVsZW1lbnQ6OnNldE9yaWVudFRvQW5nbGUpOgorICAgICAgICAqIHN2Zy9TVkdN
YXNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNrRWxlbWVudDo6c3ZnQXR0
cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNrRWxlbWVudDo6Y2hpbGRy
ZW5DaGFuZ2VkKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdQYXR0ZXJuRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAg
ICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQb2x5RWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6Y3JlYXRlUmVu
ZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Ojpjb2xs
ZWN0R3JhZGllbnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudDo6Y2FsY3VsYXRlRm9jYWxDZW50ZXJQb2ludHNBbmRSYWRpdXMpOgorICAgICAg
ICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3Rv
cEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3RvcEVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0b3BFbGVtZW50OjpzdG9wQ29s
b3JJbmNsdWRpbmdPcGFjaXR5KToKKyAgICAgICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdT
dHlsZWRFbGVtZW50Ojp+U1ZHU3R5bGVkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdT
dHlsZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1N0eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4pOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHU3R5bGVkRWxlbWVudDo6aW52YWxpZGF0ZVJlc291cmNlQ2xpZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQp
OgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1Rl
eHRQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlci5o
OiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmg6IFJlbW92ZWQuCisKIDIw
MTAtMDQtMjIgIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkZXNjYWxhbnRlQGlnYWxpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpJbmRleDogV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDU4MDkzKQorKysgV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE0Myw5
ICsxNDMsNiBAQAogCQkwOEE0ODQ3NzBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEE0ODQ3
NTBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVudC5jcHAgKi87IH07CiAJCTA4QTQ4NDc4
MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEE0ODQ3NjBFNTI3MkM1MDBDM0ZFNzYgLyogU2Ny
aXB0RWxlbWVudC5oICovOyB9OwogCQkwOEE0OEE2RTBFODZDRjZEMDBFMjI1REQgLyogSlNTVkdF
bGVtZW50SW5zdGFuY2VDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDhBNDhBNkQwRTg2Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxlbWVudElu
c3RhbmNlQ3VzdG9tLmNwcCAqLzsgfTsKLQkJMDhBN0U5MjcxMTgwNUVEQTAwRDBCODcwIC8qIFNW
R1BhaW50U2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwOEE3RTkyNjExODA1RURBMDBEMEI4NzAgLyogU1ZHUGFpbnRTZXJ2ZXIuaCAqLzsgfTsK
LQkJMDhBN0U5MkIxMTgwNUVGMTAwRDBCODcwIC8qIFNWR1Jlc291cmNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEE3RTkyQTExODA1RUYxMDBEMEI4
NzAgLyogU1ZHUmVzb3VyY2UuaCAqLzsgfTsKLQkJMDhBN0U5MkYxMTgwNUVGRDAwRDBCODcwIC8q
IFNWR1Jlc291cmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA4QTdFOTJFMTE4MDVFRkQwMEQwQjg3MCAvKiBTVkdSZXNvdXJjZS5jcHAgKi87IH07
CiAJCTA4QzM0QUY1MTE3OUMwNTcwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QzM0
QUYxMTE3OUMwNTYwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcCAqLzsg
fTsKIAkJMDhDMzRBRjYxMTc5QzA1NzAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QzM0
QUYyMTE3OUMwNTcwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmggKi87IH07
CiAJCTA4QzM0QUY3MTE3OUMwNTcwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdy
YWRpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA4QzM0QUYzMTE3OUMwNTcwMDJENzQ1NiAvKiBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRp
ZW50LmNwcCAqLzsgfTsKQEAgLTU1MTQsOSArNTUxMSw2IEBACiAJCTA4QTQ4NDc1MEU1MjcyQzUw
MEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNjcmlwdEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwOEE0ODQ3NjBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4QTQ4QTZEMEU4NkNGNkQwMEUyMjVERCAvKiBKU1NWR0VsZW1lbnRJbnN0
YW5jZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NW
R0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTA4QTdFOTI2MTE4MDVFREEwMEQwQjg3MCAvKiBTVkdQYWludFNlcnZlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYWludFNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkwOEE3RTkyQTExODA1RUYxMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUmVzb3VyY2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDhBN0U5MkUxMTgwNUVGRDAwRDBCODcwIC8qIFNWR1Jlc291
cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1Jlc291cmNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhDMzRBRjExMTc5QzA1NjAwMkQ3
NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4QzM0QUYyMTE3OUMwNTcwMDJENzQ1NiAvKiBSZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bmRlclNWR1Jlc291cmNlR3JhZGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDhDMzRBRjMxMTc5QzA1NzAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGll
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHUmVz
b3VyY2VMaW5lYXJHcmFkaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NDUxMCw5ICsxNDUwNCw2IEBACiAJCQkJQjI1NTk4OUMwRDAwRDhCODAwQkI4MjVDIC8qIGZpbHRl
cnMgKi8sCiAJCQkJQjI1NTk5MEIwRDAwRDhCOTAwQkI4MjVDIC8qIFNWR0ltYWdlLmNwcCAqLywK
IAkJCQlCMjU1OTkwQzBEMDBEOEI5MDBCQjgyNUMgLyogU1ZHSW1hZ2UuaCAqLywKLQkJCQkwOEE3
RTkyNjExODA1RURBMDBEMEI4NzAgLyogU1ZHUGFpbnRTZXJ2ZXIuaCAqLywKLQkJCQkwOEE3RTky
RTExODA1RUZEMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwICovLAotCQkJCTA4QTdFOTJBMTE4
MDVFRjEwMEQwQjg3MCAvKiBTVkdSZXNvdXJjZS5oICovLAogCQkJKTsKIAkJCXBhdGggPSBncmFw
aGljczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xODg2Nyw4ICsxODg1OCw2IEBA
CiAJCQkJMEZEMzA4MEYxMTdDRjdFNzAwQTc5MUY3IC8qIFJlbmRlckZyYW1lQmFzZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZEMzA4RDYxMTdEMTY4NTAwQTc5MUY3IC8qIFJlbmRlcklGcmFtZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDhDNkE3QUMxMTdERkJBQjAwRkVBMUEyIC8qIFJlbmRlclNW
R1Jlc291cmNlU29saWRDb2xvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDhBN0U5MjcxMTgwNUVE
QTAwRDBCODcwIC8qIFNWR1BhaW50U2VydmVyLmggaW4gSGVhZGVycyAqLywKLQkJCQkwOEE3RTky
QjExODA1RUYxMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjEx
MDQsNyArMjEwOTMsNiBAQAogCQkJCTBGRDMwOEQ1MTE3RDE2ODUwMEE3OTFGNyAvKiBSZW5kZXJJ
RnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDhDNkE3QUIxMTdERkJBQjAwRkVBMUEyIC8q
IFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzM4
ODlBMDExNkVBOURDMDBBREYzMTMgLyogRG9jdW1lbnRXcml0ZXIuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMDhBN0U5MkYxMTgwNUVGRDAwRDBCODcwIC8qIFNWR1Jlc291cmNlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAJKHJldmlz
aW9uIDU4MDkyKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTk2LDcgKzk2LDE0IEBAIHZvaWQgR3JhZGllbnQ6OmFkZENvbG9yU3Rv
cChmbG9hdCB2YWx1ZSwKICAgICBtX3N0b3BzLmFwcGVuZChDb2xvclN0b3AodmFsdWUsIHIsIGcs
IGIsIGEpKTsKIAogICAgIG1fc3RvcHNTb3J0ZWQgPSBmYWxzZTsKKyAgICBwbGF0Zm9ybURlc3Ry
b3koKTsKK30KIAordm9pZCBHcmFkaWVudDo6YWRkQ29sb3JTdG9wKGNvbnN0IEdyYWRpZW50OjpD
b2xvclN0b3AmIHN0b3ApCit7CisgICAgbV9zdG9wcy5hcHBlbmQoc3RvcCk7CisKKyAgICBtX3N0
b3BzU29ydGVkID0gZmFsc2U7CiAgICAgcGxhdGZvcm1EZXN0cm95KCk7CiB9CiAKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmgJKHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2ICs4
Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgfQogICAgICAgICB2aXJ0dWFsIH5H
cmFkaWVudCgpOwogCisgICAgICAgIHN0cnVjdCBDb2xvclN0b3A7CisgICAgICAgIHZvaWQgYWRk
Q29sb3JTdG9wKGNvbnN0IENvbG9yU3RvcCYpOwogICAgICAgICB2b2lkIGFkZENvbG9yU3RvcChm
bG9hdCwgY29uc3QgQ29sb3ImKTsKIAogICAgICAgICB2b2lkIGdldENvbG9yKGZsb2F0IHZhbHVl
LCBmbG9hdCogciwgZmxvYXQqIGcsIGZsb2F0KiBiLCBmbG9hdCogYSkgY29uc3Q7CkBAIC05Miw3
ICs5NCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgZmxvYXQgcjAoKSBjb25zdCB7
IHJldHVybiBtX3IwOyB9CiAgICAgICAgIGZsb2F0IHIxKCkgY29uc3QgeyByZXR1cm4gbV9yMTsg
fQogICAgICAgICBib29sIGlzUmFkaWFsKCkgY29uc3QgeyByZXR1cm4gbV9yYWRpYWw7IH0KLSAg
ICAgICAgc3RydWN0IENvbG9yU3RvcDsKICAgICAgICAgY29uc3QgVmVjdG9yPENvbG9yU3RvcD4m
IGdldFN0b3BzKCkgY29uc3Q7CiAjZWxzZQogICAgICAgICBQbGF0Zm9ybUdyYWRpZW50IHBsYXRm
b3JtR3JhZGllbnQoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCShyZXZp
c2lvbiA1ODA5MikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IFJlbmRlck9iamVjdDsKLWNsYXNzIFNWR1BhaW50U2VydmVyOworY2xhc3MgUmVuZGVyU1ZHUmVz
b3VyY2U7CiAKIGNsYXNzIFRleHRSdW4gewogcHVibGljOgpAQCAtNDcsNyArNDcsNyBAQCBwdWJs
aWM6CiAgICAgICAgICwgbV9kaXNhYmxlU3BhY2luZyhmYWxzZSkKICNpZiBFTkFCTEUoU1ZHX0ZP
TlRTKQogICAgICAgICAsIG1fcmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoMCkKLSAgICAgICAgLCBt
X2FjdGl2ZVBhaW50U2VydmVyKDApCisgICAgICAgICwgbV9hY3RpdmVQYWludGluZ1Jlc291cmNl
KDApCiAjZW5kaWYKICAgICB7CiAgICAgfQpAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICwgbV9kaXNhYmxlU3BhY2luZyhmYWxzZSkKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAg
ICAgICAsIG1fcmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoMCkKLSAgICAgICAgLCBtX2FjdGl2ZVBh
aW50U2VydmVyKDApCisgICAgICAgICwgbV9hY3RpdmVQYWludGluZ1Jlc291cmNlKDApCiAjZW5k
aWYKICAgICB7CiAgICAgfQpAQCAtOTgsOCArOTgsOCBAQCBwdWJsaWM6CiAgICAgUmVuZGVyT2Jq
ZWN0KiByZWZlcmVuY2luZ1JlbmRlck9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmZXJlbmNp
bmdSZW5kZXJPYmplY3Q7IH0KICAgICB2b2lkIHNldFJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KFJl
bmRlck9iamVjdCogb2JqZWN0KSB7IG1fcmVmZXJlbmNpbmdSZW5kZXJPYmplY3QgPSBvYmplY3Q7
IH0KIAotICAgIFNWR1BhaW50U2VydmVyKiBhY3RpdmVQYWludFNlcnZlcigpIGNvbnN0IHsgcmV0
dXJuIG1fYWN0aXZlUGFpbnRTZXJ2ZXI7IH0KLSAgICB2b2lkIHNldEFjdGl2ZVBhaW50U2VydmVy
KFNWR1BhaW50U2VydmVyKiBvYmplY3QpIHsgbV9hY3RpdmVQYWludFNlcnZlciA9IG9iamVjdDsg
fQorICAgIFJlbmRlclNWR1Jlc291cmNlKiBhY3RpdmVQYWludGluZ1Jlc291cmNlKCkgY29uc3Qg
eyByZXR1cm4gbV9hY3RpdmVQYWludGluZ1Jlc291cmNlOyB9CisgICAgdm9pZCBzZXRBY3RpdmVQ
YWludGluZ1Jlc291cmNlKFJlbmRlclNWR1Jlc291cmNlKiBvYmplY3QpIHsgbV9hY3RpdmVQYWlu
dGluZ1Jlc291cmNlID0gb2JqZWN0OyB9CiAjZW5kaWYKIAogcHJpdmF0ZToKQEAgLTExNyw3ICsx
MTcsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICBSZW5kZXJPYmpl
Y3QqIG1fcmVmZXJlbmNpbmdSZW5kZXJPYmplY3Q7Ci0gICAgU1ZHUGFpbnRTZXJ2ZXIqIG1fYWN0
aXZlUGFpbnRTZXJ2ZXI7CisgICAgUmVuZGVyU1ZHUmVzb3VyY2UqIG1fYWN0aXZlUGFpbnRpbmdS
ZXNvdXJjZTsKICNlbmRpZgogfTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRXaW4uY3BwCShyZXZpc2lvbiA1ODA5MikKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQzLDggKzQzLDYgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdSZXNvdXJjZUltYWdlOwotCiBzdGF0aWMgdm9p
ZCBmaWxsV2l0aENsZWFyQ29sb3IoSEJJVE1BUCBiaXRtYXApCiB7CiAgICAgQklUTUFQIGJtcElu
Zm87CkBAIC0xOTksMTMgKzE5Nyw0IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlOjpjb24KICAgICBNb2RpZnlXb3JsZFRyYW5zZm9ybShtX2hkYywgJnhmb3JtLCBNV1RfTEVG
VE1VTFRJUExZKTsKIH0KIAotI2lmIEVOQUJMRShTVkcpCi1HcmFwaGljc0NvbnRleHQqIGNvbnRl
eHRGb3JJbWFnZShTVkdSZXNvdXJjZUltYWdlKikKLXsKLSAgICAvLyBGSVhNRTogVGhpcyBzaG91
bGQgZ28gaW4gR3JhcGhpY3NDb250ZXh0Q0cuY3BwCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAg
ICByZXR1cm4gMDsKLX0KLSNlbmRpZgotCiB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAJKHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYsNyArNjYsNyBAQAogI2VuZGlmCiAKICNpZiBFTkFC
TEUoU1ZHKQotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCiAj
ZW5kaWYKIApAQCAtMjQ5Nyw3ICsyNDk3LDcgQEAgY29uc3QgU1ZHUmVuZGVyQmFzZSogUmVuZGVy
T2JqZWN0Ojp0b1NWRwogICAgIHJldHVybiAwOwogfQogCi1SZW5kZXJTVkdSZXNvdXJjZSogUmVu
ZGVyT2JqZWN0Ojp0b1JlbmRlclNWR1Jlc291cmNlKCkKK1JlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyKiBSZW5kZXJPYmplY3Q6OnRvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIoKQogewogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAwOwpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgJKHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0LDcgQEAgY2xhc3MgUmVuZGVyVGhl
bWU7CiBjbGFzcyBUcmFuc2Zvcm1TdGF0ZTsKIGNsYXNzIFZpc2libGVQb3NpdGlvbjsKICNpZiBF
TkFCTEUoU1ZHKQotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2U7CitjbGFzcyBSZW5kZXJTVkdSZXNv
dXJjZUNvbnRhaW5lcjsKIGNsYXNzIFNWR1JlbmRlckJhc2U7CiAjZW5kaWYKIApAQCAtMzMyLDE2
ICszMzIsMTcgQEAgcHVibGljOgogICAgIC8vIHRvIGFkZCBTVkcgcmVuZGVyZXIgbWV0aG9kcyB0
byBSZW5kZXJPYmplY3Qgd2l0aCBhbiBBU1NFUlRfTk9UX1JFQUNIRUQoKSBkZWZhdWx0IGltcGxl
bWVudGF0aW9uLgogICAgIHZpcnR1YWwgYm9vbCBpc1NWR1Jvb3QoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1NWR0NvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzU1ZHR3JhZGllbnRTdG9wKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdIaWRkZW5Db250YWluZXIoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlclBhdGgoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1NWR1RleHQoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1NWR0ltYWdlKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdGb3JlaWduT2JqZWN0KCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNTVkdSZXNvdXJjZSgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzU1ZHUmVzb3VyY2VD
b250YWluZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1NW
R1NoYWRvd1RyZWVSb290Q29udGFpbmVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAg
IHZpcnR1YWwgY29uc3QgU1ZHUmVuZGVyQmFzZSogdG9TVkdSZW5kZXJCYXNlKCkgY29uc3Q7Ci0g
ICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZSogdG9SZW5kZXJTVkdSZXNvdXJjZSgpOworICAg
IHZpcnR1YWwgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHRvUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXIoKTsKIAogICAgIC8vIEZJWE1FOiBUaG9zZSBiZWxvbmcgaW50byBhIFNWRyBzcGVj
aWZpYyBiYXNlLWNsYXNzIGZvciBhbGwgcmVuZGVyZXJzIChzZWUgYWJvdmUpCiAgICAgLy8gVW5m
b3J0dW5hdGVseSB3ZSBkb24ndCBoYXZlIHN1Y2ggYSBjbGFzcyB5ZXQsIGJlY2F1c2UgaXQncyBu
b3QgcG9zc2libGUgZm9yIGFsbCByZW5kZXJlcnMKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclBhdGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhdGgu
Y3BwCShyZXZpc2lvbiA1ODA5MikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhdGguY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00LDYgKzQsNyBAQAogICAgICAgICAgICAgICAgICAgMjAwNSwg
MjAwNyBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICAgICAgICAgICAgICAgICAgMjAw
OSBHb29nbGUsIEluYy4KICAgICAgICAgICAgICAgICAgIDIwMDkgRGlyayBTY2h1bHplIDxrcml0
QHdlYmtpdC5vcmc+CisgICAgQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRl
ZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zNCw3
ICszNSw2IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaCIKICNpbmNsdWRl
ICJSZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oIgogI2luY2x1ZGUgIlN0cm9rZVN0eWxlQXBwbGll
ci5oIgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3Vw
cG9ydC5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgiCiAjaW5j
bHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgpAQCAtNzYsNyArNzYsNyBAQCBib29sIFJlbmRlclBh
dGg6OmZpbGxDb250YWlucyhjb25zdCBGbG9hCiAgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChyZXF1aXJlc0ZpbGwgJiYgIVNWR1BhaW50
U2VydmVyOjpmaWxsUGFpbnRTZXJ2ZXIoc3R5bGUoKSwgdGhpcykpCisgICAgaWYgKHJlcXVpcmVz
RmlsbCAmJiAhUmVuZGVyU1ZHUmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291cmNlKHRoaXMsIHN0
eWxlKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gbV9wYXRoLmNvbnRh
aW5zKHBvaW50LCBzdHlsZSgpLT5zdmdTdHlsZSgpLT5maWxsUnVsZSgpKTsKQEAgLTg3LDcgKzg3
LDcgQEAgYm9vbCBSZW5kZXJQYXRoOjpzdHJva2VDb250YWlucyhjb25zdCBGbAogICAgIGlmICht
X3BhdGguaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAocmVxdWly
ZXNTdHJva2UgJiYgIVNWR1BhaW50U2VydmVyOjpzdHJva2VQYWludFNlcnZlcihzdHlsZSgpLCB0
aGlzKSkKKyAgICBpZiAocmVxdWlyZXNTdHJva2UgJiYgIVJlbmRlclNWR1Jlc291cmNlOjpzdHJv
a2VQYWludGluZ1Jlc291cmNlKHRoaXMsIHN0eWxlKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICBCb3VuZGluZ1JlY3RTdHJva2VTdHlsZUFwcGxpZXIgc3Ryb2tlU3R5bGUodGhpcywg
c3R5bGUoKSk7CkBAIC0xOTgsMjAgKzE5OCwyMCBAQCB2b2lkIFJlbmRlclBhdGg6OmxheW91dCgp
CiAgICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZmls
bEFuZFN0cm9rZVBhdGgoY29uc3QgUGF0aCYgcGF0aCwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclBhdGgqIG9iamVjdCkKK3N0YXRpYyBpbmxpbmUg
dm9pZCBmaWxsQW5kU3Ryb2tlUGF0aChjb25zdCBQYXRoJiBwYXRoLCBHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIFJlbmRlclBhdGgqIG9iamVjdCkKIHsKICAgICBjb250ZXh0LT5iZWdpblBhdGgo
KTsKIAotICAgIFNWR1BhaW50U2VydmVyKiBmaWxsUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZl
cjo6ZmlsbFBhaW50U2VydmVyKHN0eWxlLCBvYmplY3QpOwotICAgIGlmIChmaWxsUGFpbnRTZXJ2
ZXIpIHsKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2UqIGZpbGxQYWludGluZ1Jlc291cmNlID0g
UmVuZGVyU1ZHUmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291cmNlKG9iamVjdCwgb2JqZWN0LT5z
dHlsZSgpKSkgewogICAgICAgICBjb250ZXh0LT5hZGRQYXRoKHBhdGgpOwotICAgICAgICBmaWxs
UGFpbnRTZXJ2ZXItPmRyYXcoY29udGV4dCwgb2JqZWN0LCBBcHBseVRvRmlsbFRhcmdldFR5cGUp
OworICAgICAgICBpZiAoZmlsbFBhaW50aW5nUmVzb3VyY2UtPmFwcGx5UmVzb3VyY2Uob2JqZWN0
LCBvYmplY3QtPnN0eWxlKCksIGNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSkpCisgICAgICAgICAg
ICBmaWxsUGFpbnRpbmdSZXNvdXJjZS0+cG9zdEFwcGx5UmVzb3VyY2Uob2JqZWN0LCBjb250ZXh0
LCBBcHBseVRvRmlsbE1vZGUpOwogICAgIH0KLSAgICAKLSAgICBTVkdQYWludFNlcnZlciogc3Ry
b2tlUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlcjo6c3Ryb2tlUGFpbnRTZXJ2ZXIoc3R5bGUs
IG9iamVjdCk7Ci0gICAgaWYgKHN0cm9rZVBhaW50U2VydmVyKSB7Ci0gICAgICAgIGNvbnRleHQt
PmFkZFBhdGgocGF0aCk7IC8vIHBhdGggaXMgY2xlYXJlZCB3aGVuIGZpbGxlZC4KLSAgICAgICAg
c3Ryb2tlUGFpbnRTZXJ2ZXItPmRyYXcoY29udGV4dCwgb2JqZWN0LCBBcHBseVRvU3Ryb2tlVGFy
Z2V0VHlwZSk7CisKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2UqIHN0cm9rZVBhaW50aW5nUmVz
b3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6c3Ryb2tlUGFpbnRpbmdSZXNvdXJjZShvYmplY3Qs
IG9iamVjdC0+c3R5bGUoKSkpIHsKKyAgICAgICAgY29udGV4dC0+YWRkUGF0aChwYXRoKTsKKyAg
ICAgICAgaWYgKHN0cm9rZVBhaW50aW5nUmVzb3VyY2UtPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBv
YmplY3QtPnN0eWxlKCksIGNvbnRleHQsIEFwcGx5VG9TdHJva2VNb2RlKSkKKyAgICAgICAgICAg
IHN0cm9rZVBhaW50aW5nUmVzb3VyY2UtPnBvc3RBcHBseVJlc291cmNlKG9iamVjdCwgY29udGV4
dCwgQXBwbHlUb1N0cm9rZU1vZGUpOwogICAgIH0KIH0KIApAQCAtMjQxLDcgKzI0MSw3IEBAIHZv
aWQgUmVuZGVyUGF0aDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEkKICAgICAgICAgICAgIGlmIChw
cmVwYXJlVG9SZW5kZXJTVkdDb250ZW50KHRoaXMsIGNoaWxkUGFpbnRJbmZvLCBib3VuZGluZ0Jv
eCwgZmlsdGVyKSkgewogICAgICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5zdmdTdHlsZSgpLT5z
aGFwZVJlbmRlcmluZygpID09IFNSX0NSSVNQRURHRVMpCiAgICAgICAgICAgICAgICAgICAgIGNo
aWxkUGFpbnRJbmZvLmNvbnRleHQtPnNldFNob3VsZEFudGlhbGlhcyhmYWxzZSk7Ci0gICAgICAg
ICAgICAgICAgZmlsbEFuZFN0cm9rZVBhdGgobV9wYXRoLCBjaGlsZFBhaW50SW5mby5jb250ZXh0
LCBzdHlsZSgpLCB0aGlzKTsKKyAgICAgICAgICAgICAgICBmaWxsQW5kU3Ryb2tlUGF0aChtX3Bh
dGgsIGNoaWxkUGFpbnRJbmZvLmNvbnRleHQsIHRoaXMpOwogCiAgICAgICAgICAgICAgICAgaWYg
KHN0YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihub2RlKCkpLT5zdXBwb3J0c01hcmtlcnMo
KSkKICAgICAgICAgICAgICAgICAgICAgbV9tYXJrZXJMYXlvdXRJbmZvLmRyYXdNYXJrZXJzKGNo
aWxkUGFpbnRJbmZvKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRpZW50
U3RvcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHR3JhZGll
bnRTdG9wLmNwcAkocmV2aXNpb24gNTgwOTIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdHcmFkaWVudFN0b3AuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgsOCBAQCB2b2lk
IFJlbmRlclNWR0dyYWRpZW50U3RvcDo6c3R5bGVEaWRDaGFuCiAKICAgICAvLyA8c3RvcD4gZWxl
bWVudHMgc2hvdWxkIG9ubHkgYmUgYWxsb3dlZCB0byBtYWtlIHJlbmRlcmVycyB1bmRlciBncmFk
aWVudCBlbGVtZW50cwogICAgIC8vIGJ1dCBJIGNhbiBpbWFnaW5lIGEgZmV3IGNhc2VzIHdlIG1p
Z2h0IG5vdCBiZSBjYXRjaGluZywgc28gbGV0J3Mgbm90IGNyYXNoIGlmIG91ciBwYXJlbnQgaXNu
J3QgYSBncmFkaWVudC4KLSAgICBpZiAoU1ZHR3JhZGllbnRFbGVtZW50KiBncmFkaWVudCA9IGdy
YWRpZW50RWxlbWVudCgpKSB7Ci0gICAgICAgIGlmIChTVkdSZXNvdXJjZSogcmVzb3VyY2UgPSBn
cmFkaWVudC0+Y2FudmFzUmVzb3VyY2UodGhpcykpCi0gICAgICAgICAgICByZXNvdXJjZS0+aW52
YWxpZGF0ZSgpOwotICAgIH0KKyAgICBpZiAoU1ZHR3JhZGllbnRFbGVtZW50KiBncmFkaWVudCA9
IGdyYWRpZW50RWxlbWVudCgpKQorICAgICAgICBncmFkaWVudC0+aW52YWxpZGF0ZVJlc291cmNl
Q2xpZW50cygpOwogfQogCiB2b2lkIFJlbmRlclNWR0dyYWRpZW50U3RvcDo6bGF5b3V0KCkKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oCShyZXZpc2lvbiA1
ODA5MikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRpZW50U3RvcC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNywzMiArMjcsNDAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IAotICAgIGNsYXNzIFNWR0dyYWRpZW50RWxlbWVudDsKLSAgICBjbGFzcyBTVkdTdG9wRWxlbWVu
dDsKLSAgICAKLSAgICAvLyBUaGlzIGNsYXNzIGV4aXN0cyBtb3N0bHkgc28gd2UgY2FuIGhlYXIg
YWJvdXQgZ3JhZGllbnQgc3RvcCBzdHlsZSBjaGFuZ2VzCi0gICAgY2xhc3MgUmVuZGVyU1ZHR3Jh
ZGllbnRTdG9wIDogcHVibGljIFJlbmRlck9iamVjdCB7Ci0gICAgcHVibGljOgotICAgICAgICBS
ZW5kZXJTVkdHcmFkaWVudFN0b3AoU1ZHU3RvcEVsZW1lbnQqKTsKLSAgICAgICAgdmlydHVhbCB+
UmVuZGVyU1ZHR3JhZGllbnRTdG9wKCk7Ci0KLSAgICAgICAgdmlydHVhbCBjb25zdCBjaGFyKiBy
ZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR0dyYWRpZW50U3RvcCI7IH0KLQot
ICAgICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7Ci0KLSAgICAgICAgLy8gVGhpcyBvdmVycmlk
ZXMgYXJlIG5lZWRlZCB0byBwcmV2ZW50IEFTU0VSVHMgb24gPHN2Zz48c3RvcCAvPjwvc3ZnPgot
ICAgICAgICAvLyBSZW5kZXJPYmplY3QncyBkZWZhdWx0IGltcGxlbWVudGF0aW9ucyBBU1NFUlRf
Tk9UX1JFQUNIRUQoKQotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA0MDAKLSAgICAgICAgdmlydHVhbCBJbnRSZWN0IGNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KikgeyByZXR1cm4gSW50UmVjdCgpOyB9
Ci0gICAgICAgIHZpcnR1YWwgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94KCkgY29uc3QgeyBy
ZXR1cm4gRmxvYXRSZWN0KCk7IH0KLSAgICAgICAgdmlydHVhbCBGbG9hdFJlY3QgcmVwYWludFJl
Y3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQotCi0g
ICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVE
aWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwotCi0gICAgcHJpdmF0ZToK
LSAgICAgICAgU1ZHR3JhZGllbnRFbGVtZW50KiBncmFkaWVudEVsZW1lbnQoKSBjb25zdDsKLSAg
ICB9OworY2xhc3MgU1ZHR3JhZGllbnRFbGVtZW50OworY2xhc3MgU1ZHU3RvcEVsZW1lbnQ7CisK
Ky8vIFRoaXMgY2xhc3MgZXhpc3RzIG1vc3RseSBzbyB3ZSBjYW4gaGVhciBhYm91dCBncmFkaWVu
dCBzdG9wIHN0eWxlIGNoYW5nZXMKK2NsYXNzIFJlbmRlclNWR0dyYWRpZW50U3RvcCA6IHB1Ymxp
YyBSZW5kZXJPYmplY3QgeworcHVibGljOgorICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcChTVkdT
dG9wRWxlbWVudCopOworICAgIHZpcnR1YWwgflJlbmRlclNWR0dyYWRpZW50U3RvcCgpOworCisg
ICAgdmlydHVhbCBib29sIGlzU1ZHR3JhZGllbnRTdG9wKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQorICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJS
ZW5kZXJTVkdHcmFkaWVudFN0b3AiOyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CisK
KyAgICAvLyBUaGlzIG92ZXJyaWRlcyBhcmUgbmVlZGVkIHRvIHByZXZlbnQgQVNTRVJUcyBvbiA8
c3ZnPjxzdG9wIC8+PC9zdmc+CisgICAgLy8gUmVuZGVyT2JqZWN0J3MgZGVmYXVsdCBpbXBsZW1l
bnRhdGlvbnMgQVNTRVJUX05PVF9SRUFDSEVEKCkKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MDAKKyAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92
ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqKSB7IHJldHVybiBJbnRS
ZWN0KCk7IH0KKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBvYmplY3RCb3VuZGluZ0JveCgpIGNvbnN0
IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9CisgICAgdmlydHVhbCBGbG9hdFJlY3QgcmVwYWludFJl
Y3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQorCitw
cm90ZWN0ZWQ6CisgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5j
ZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKKworcHJpdmF0ZToKKyAgICBTVkdHcmFk
aWVudEVsZW1lbnQqIGdyYWRpZW50RWxlbWVudCgpIGNvbnN0OworfTsKKworaW5saW5lIGNvbnN0
IFJlbmRlclNWR0dyYWRpZW50U3RvcCogdG9SZW5kZXJTVkdHcmFkaWVudFN0b3AoY29uc3QgUmVu
ZGVyT2JqZWN0KiBvYmplY3QpCit7CisgICAgQVNTRVJUKCFvYmplY3QgfHwgb2JqZWN0LT5pc1NW
R0dyYWRpZW50U3RvcCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wKj4ob2JqZWN0KTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDU4
MDkzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yLDI3NiArMiwyMDAgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFz
IFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqICAgICAgICAgICAgICAgMjAwNyBS
b2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICogICAgICAgICAgICAgICAyMDA4IERpcmsgU2NodWx6
ZSA8a3JpdEB3ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKICNp
ZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCisjaW5jbHVkZSAiUmVu
ZGVyU1ZHUmVzb3VyY2UuaCIKIAotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1
ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorI2luY2x1
ZGUgIlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVz
b3VyY2VTb2xpZENvbG9yLmgiCi0jaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJT
VkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCiAKLSNpZiBQ
TEFURk9STShTS0lBKQotI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKLSNlbmRpZgot
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1BhaW50U2VydmVyOjpTVkdQYWludFNlcnZlcigp
CitzdGF0aWMgaW5saW5lIHZvaWQgcmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoY29uc3QgQXRvbWlj
U3RyaW5nJiBpZCwgY29uc3QgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSYgcGFpbnRUeXBlLCBjb25z
dCBSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKLX0KKyAgICBpZiAocGFpbnRUeXBlICE9IFNWR1Bh
aW50OjpTVkdfUEFJTlRUWVBFX1VSSSkKKyAgICAgICAgcmV0dXJuOwogCi1TVkdQYWludFNlcnZl
cjo6flNWR1BhaW50U2VydmVyKCkKLXsKLX0KKyAgICBTVkdFbGVtZW50KiBzdmdFbGVtZW50ID0g
c3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG9iamVjdC0+bm9kZSgpKTsKKyAgICBBU1NFUlQoc3Zn
RWxlbWVudCAmJiBzdmdFbGVtZW50LT5pc1N0eWxlZCgpKTsKIAotVGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgU1ZHUGFpbnRTZXJ2ZXImIHBhaW50U2VydmVyKQot
ewotICAgIHJldHVybiBwYWludFNlcnZlci5leHRlcm5hbFJlcHJlc2VudGF0aW9uKHRzKTsKKyAg
ICBvYmplY3QtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jl
c291cmNlKGlkLCBzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOwog
fQogCi1TVkdQYWludFNlcnZlciogZ2V0UGFpbnRTZXJ2ZXJCeUlkKERvY3VtZW50KiBkb2N1bWVu
dCwgY29uc3QgQXRvbWljU3RyaW5nJiBpZCwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCitz
dGF0aWMgaW5saW5lIHZvaWQgYWRqdXN0Q29sb3JGb3JQc2V1ZG9SdWxlcyhjb25zdCBSZW5kZXJT
dHlsZSogc3R5bGUsIGJvb2wgdXNlRmlsbFBhaW50LCBDb2xvciYgY29sb3IpCiB7Ci0gICAgU1ZH
UmVzb3VyY2UqIHJlc291cmNlID0gZ2V0UmVzb3VyY2VCeUlkKGRvY3VtZW50LCBpZCwgb2JqZWN0
KTsKLSAgICBpZiAocmVzb3VyY2UgJiYgcmVzb3VyY2UtPmlzUGFpbnRTZXJ2ZXIoKSkKLSAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyKj4ocmVzb3VyY2UpOworICAgIGlm
IChzdHlsZS0+aW5zaWRlTGluaygpICE9IEluc2lkZVZpc2l0ZWRMaW5rKQorICAgICAgICByZXR1
cm47CiAKLSAgICByZXR1cm4gMDsKLX0KKyAgICBSZW5kZXJTdHlsZSogdmlzaXRlZFN0eWxlID0g
c3R5bGUtPmdldENhY2hlZFBzZXVkb1N0eWxlKFZJU0lURURfTElOSyk7CisgICAgU1ZHUGFpbnQq
IHZpc2l0ZWRQYWludCA9IHVzZUZpbGxQYWludCA/IHZpc2l0ZWRTdHlsZS0+c3ZnU3R5bGUoKS0+
ZmlsbFBhaW50KCkgOiB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVBhaW50KCk7Cisg
ICAgaWYgKHZpc2l0ZWRQYWludC0+cGFpbnRUeXBlKCkgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZ
UEVfVVJJKQorICAgICAgICByZXR1cm47CisgICAgICAgIAorICAgIENvbG9yIHZpc2l0ZWRDb2xv
cjsKKyAgICBpZiAodmlzaXRlZFBhaW50LT5wYWludFR5cGUoKSA9PSBTVkdQYWludDo6U1ZHX1BB
SU5UVFlQRV9DVVJSRU5UQ09MT1IpCisgICAgICAgIHZpc2l0ZWRDb2xvciA9IHZpc2l0ZWRTdHls
ZS0+Y29sb3IoKTsKKyAgICBlbHNlCisgICAgICAgIHZpc2l0ZWRDb2xvciA9IHZpc2l0ZWRQYWlu
dC0+Y29sb3IoKTsKIAotU1ZHUGFpbnRTZXJ2ZXJTb2xpZCogU1ZHUGFpbnRTZXJ2ZXI6OnNoYXJl
ZFNvbGlkUGFpbnRTZXJ2ZXIoKQotewotICAgIHN0YXRpYyBTVkdQYWludFNlcnZlclNvbGlkKiBf
c2hhcmVkU29saWRQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyU29saWQ6OmNyZWF0ZSgpLnJl
bGVhc2VSZWYoKTsKLSAgICAKLSAgICByZXR1cm4gX3NoYXJlZFNvbGlkUGFpbnRTZXJ2ZXI7Cisg
ICAgaWYgKHZpc2l0ZWRDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgIGNvbG9yID0gQ29sb3Iodmlz
aXRlZENvbG9yLnJlZCgpLCB2aXNpdGVkQ29sb3IuZ3JlZW4oKSwgdmlzaXRlZENvbG9yLmJsdWUo
KSwgY29sb3IuYWxwaGEoKSk7CiB9CiAKLVNWR1BhaW50U2VydmVyKiBTVkdQYWludFNlcnZlcjo6
ZmlsbFBhaW50U2VydmVyKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBpdGVtKQorLy8gRklYTUU6IFRoaXMgbWV0aG9kIGFuZCBzdHJva2VQYWludGluZ1Jlc291
cmNlKCkgc2hvdWxkIGJlIHJlZmFjdG9yZWQsIHRvIHNoYXJlIGV2ZW4gbW9yZSBjb2RlCitSZW5k
ZXJTVkdSZXNvdXJjZSogUmVuZGVyU1ZHUmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291cmNlKGNv
bnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCiB7Ci0g
ICAgaWYgKCFzdHlsZS0+c3ZnU3R5bGUoKS0+aGFzRmlsbCgpKQorICAgIEFTU0VSVChvYmplY3Qp
OworICAgIEFTU0VSVChzdHlsZSk7CisKKyAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5
bGUgPSBzdHlsZS0+c3ZnU3R5bGUoKTsKKyAgICBpZiAoIXN2Z1N0eWxlIHx8ICFzdmdTdHlsZS0+
aGFzRmlsbCgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIFNWR1BhaW50KiBmaWxsID0gc3R5
bGUtPnN2Z1N0eWxlKCktPmZpbGxQYWludCgpOwotICAgICAgICAKLSAgICBTVkdQYWludFNlcnZl
ciogZmlsbFBhaW50U2VydmVyID0gMDsKLSAgICBTVkdQYWludDo6U1ZHUGFpbnRUeXBlIHBhaW50
VHlwZSA9IGZpbGwtPnBhaW50VHlwZSgpOwotICAgIGlmIChwYWludFR5cGUgPT0gU1ZHUGFpbnQ6
OlNWR19QQUlOVFRZUEVfVVJJIHx8Ci0gICAgICAgIHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZH
X1BBSU5UVFlQRV9VUklfUkdCQ09MT1IpIHsKLSAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VS
SVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGZpbGwtPnVyaSgpKSk7Ci0gICAgICAgIGZpbGxQYWludFNl
cnZlciA9IGdldFBhaW50U2VydmVyQnlJZChpdGVtLT5kb2N1bWVudCgpLCBpZCwgaXRlbSk7Ci0K
LSAgICAgICAgU1ZHRWxlbWVudCogc3ZnRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQq
PihpdGVtLT5ub2RlKCkpOwotICAgICAgICBBU1NFUlQoc3ZnRWxlbWVudCAmJiBzdmdFbGVtZW50
LT5kb2N1bWVudCgpICYmIHN2Z0VsZW1lbnQtPmlzU3R5bGVkKCkpOwotCi0gICAgICAgIGlmIChp
dGVtLT5pc1JlbmRlclBhdGgoKSAmJiBmaWxsUGFpbnRTZXJ2ZXIpCi0gICAgICAgICAgICBmaWxs
UGFpbnRTZXJ2ZXItPmFkZENsaWVudChzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3Zn
RWxlbWVudCkpOwotICAgICAgICBlbHNlIGlmICghZmlsbFBhaW50U2VydmVyICYmIHBhaW50VHlw
ZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUkkpCi0gICAgICAgICAgICBzdmdFbGVtZW50
LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNvdXJjZShp
ZCwgc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsgCisgICAgU1ZH
UGFpbnQqIGZpbGxQYWludCA9IHN2Z1N0eWxlLT5maWxsUGFpbnQoKTsKKyAgICBBU1NFUlQoZmls
bFBhaW50KTsKKworICAgIFJlbmRlclNWR1Jlc291cmNlKiBmaWxsUGFpbnRpbmdSZXNvdXJjZSA9
IDA7CisKKyAgICBTVkdQYWludDo6U1ZHUGFpbnRUeXBlIHBhaW50VHlwZSA9IGZpbGxQYWludC0+
cGFpbnRUeXBlKCk7CisgICAgaWYgKHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQ
RV9VUkkKKyAgICAgICAgfHwgcGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VS
SV9SR0JDT0xPUikgeworICAgICAgICBBdG9taWNTdHJpbmcgaWQoU1ZHVVJJUmVmZXJlbmNlOjpn
ZXRUYXJnZXQoZmlsbFBhaW50LT51cmkoKSkpOworICAgICAgICBmaWxsUGFpbnRpbmdSZXNvdXJj
ZSA9IGdldFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyQnlJZChvYmplY3QtPmRvY3VtZW50KCks
IGlkKTsKKworICAgICAgICBpZiAoIWZpbGxQYWludGluZ1Jlc291cmNlKQorICAgICAgICAgICAg
cmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoaWQsIHBhaW50VHlwZSwgb2JqZWN0KTsKICAgICB9Ci0g
ICAgaWYgKHBhaW50VHlwZSAhPSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUkkgJiYgIWZpbGxQ
YWludFNlcnZlcikgewotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xpZFBhaW50
U2VydmVyKCk7Ci0gICAgICAgIFNWR1BhaW50U2VydmVyU29saWQqIGZpbGxQYWludFNlcnZlclNv
bGlkID0gc3RhdGljX2Nhc3Q8U1ZHUGFpbnRTZXJ2ZXJTb2xpZCo+KGZpbGxQYWludFNlcnZlcik7
Ci0gICAgICAgIAorCisgICAgaWYgKHBhaW50VHlwZSAhPSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQ
RV9VUkkgJiYgIWZpbGxQYWludGluZ1Jlc291cmNlKSB7CisgICAgICAgIFJlbmRlclNWR1Jlc291
cmNlU29saWRDb2xvciogc29saWRSZXNvdXJjZSA9IHNoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJj
ZSgpOworICAgICAgICBmaWxsUGFpbnRpbmdSZXNvdXJjZSA9IHNvbGlkUmVzb3VyY2U7CisKICAg
ICAgICAgQ29sb3IgZmlsbENvbG9yOwotICAgICAgICBpZiAocGFpbnRUeXBlID09IFNWR1BhaW50
OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKKyAgICAgICAgaWYgKGZpbGxQYWludC0+cGFp
bnRUeXBlKCkgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfQ1VSUkVOVENPTE9SKQogICAgICAg
ICAgICAgZmlsbENvbG9yID0gc3R5bGUtPmNvbG9yKCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIGZpbGxDb2xvciA9IGZpbGwtPmNvbG9yKCk7CisgICAgICAgICAgICBmaWxsQ29sb3IgPSBm
aWxsUGFpbnQtPmNvbG9yKCk7CiAKLSAgICAgICAgaWYgKHN0eWxlLT5pbnNpZGVMaW5rKCkgPT0g
SW5zaWRlVmlzaXRlZExpbmspIHsKLSAgICAgICAgICAgIFJlbmRlclN0eWxlKiB2aXNpdGVkU3R5
bGUgPSBzdHlsZS0+Z2V0Q2FjaGVkUHNldWRvU3R5bGUoVklTSVRFRF9MSU5LKTsKLSAgICAgICAg
ICAgIFNWR1BhaW50KiB2aXNpdGVkRmlsbCA9IHZpc2l0ZWRTdHlsZS0+c3ZnU3R5bGUoKS0+Zmls
bFBhaW50KCk7Ci0gICAgICAgICAgICBDb2xvciB2aXNpdGVkRmlsbENvbG9yOwotICAgICAgICAg
ICAgaWYgKHZpc2l0ZWRGaWxsLT5wYWludFR5cGUoKSAhPSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQ
RV9VUkkpIHsKLSAgICAgICAgICAgICAgICBpZiAodmlzaXRlZEZpbGwtPnBhaW50VHlwZSgpID09
IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKLSAgICAgICAgICAgICAgICAg
ICAgdmlzaXRlZEZpbGxDb2xvciA9IHZpc2l0ZWRTdHlsZS0+Y29sb3IoKTsKLSAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRGaWxsQ29sb3IgPSB2aXNpdGVk
RmlsbC0+Y29sb3IoKTsKLSAgICAgICAgICAgICAgICBpZiAodmlzaXRlZEZpbGxDb2xvci5pc1Zh
bGlkKCkpCi0gICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvciA9IENvbG9yKHZpc2l0ZWRGaWxs
Q29sb3IucmVkKCksIHZpc2l0ZWRGaWxsQ29sb3IuZ3JlZW4oKSwgdmlzaXRlZEZpbGxDb2xvci5i
bHVlKCksIGZpbGxDb2xvci5hbHBoYSgpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAg
ICAgICBhZGp1c3RDb2xvckZvclBzZXVkb1J1bGVzKHN0eWxlLCB0cnVlIC8qIHVzZUZpbGxQYWlu
dCAqLywgZmlsbENvbG9yKTsKIAotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXJTb2xpZC0+c2V0Q29s
b3IoZmlsbENvbG9yKTsKLSAgICAgICAgCiAgICAgICAgIC8vIEZJWE1FOiBJZGVhbGx5IGludmFs
aWQgY29sb3JzIHdvdWxkIG5ldmVyIGdldCBzZXQgb24gdGhlIFJlbmRlclN0eWxlIGFuZCB0aGlz
IGNvdWxkIHR1cm4gaW50byBhbiBBU1NFUlQKLSAgICAgICAgaWYgKCFmaWxsUGFpbnRTZXJ2ZXJT
b2xpZC0+Y29sb3IoKS5pc1ZhbGlkKCkpCi0gICAgICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSAw
OworICAgICAgICBpZiAoZmlsbENvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgICAgIHNvbGlkUmVz
b3VyY2UtPnNldENvbG9yKGZpbGxDb2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZp
bGxQYWludGluZ1Jlc291cmNlID0gMDsKICAgICB9Ci0gICAgaWYgKCFmaWxsUGFpbnRTZXJ2ZXIp
IHsKKworICAgIGlmICghZmlsbFBhaW50aW5nUmVzb3VyY2UpIHsKICAgICAgICAgLy8gZGVmYXVs
dCB2YWx1ZSAoYmxhY2spLCBzZWUgYnVnIDExMDE3Ci0gICAgICAgIGZpbGxQYWludFNlcnZlciA9
IHNoYXJlZFNvbGlkUGFpbnRTZXJ2ZXIoKTsKLSAgICAgICAgc3RhdGljX2Nhc3Q8U1ZHUGFpbnRT
ZXJ2ZXJTb2xpZCo+KGZpbGxQYWludFNlcnZlciktPnNldENvbG9yKENvbG9yOjpibGFjayk7Cisg
ICAgICAgIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciogc29saWRSZXNvdXJjZSA9IHNoYXJl
ZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSgpOworICAgICAgICBzb2xpZFJlc291cmNlLT5zZXRDb2xv
cihDb2xvcjo6YmxhY2spOworICAgICAgICBmaWxsUGFpbnRpbmdSZXNvdXJjZSA9IHNvbGlkUmVz
b3VyY2U7CiAgICAgfQotICAgIHJldHVybiBmaWxsUGFpbnRTZXJ2ZXI7CisKKyAgICByZXR1cm4g
ZmlsbFBhaW50aW5nUmVzb3VyY2U7CiB9CiAKLVNWR1BhaW50U2VydmVyKiBTVkdQYWludFNlcnZl
cjo6c3Ryb2tlUGFpbnRTZXJ2ZXIoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5k
ZXJPYmplY3QqIGl0ZW0pCitSZW5kZXJTVkdSZXNvdXJjZSogUmVuZGVyU1ZHUmVzb3VyY2U6OnN0
cm9rZVBhaW50aW5nUmVzb3VyY2UoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFJl
bmRlclN0eWxlKiBzdHlsZSkKIHsKLSAgICBpZiAoIXN0eWxlLT5zdmdTdHlsZSgpLT5oYXNTdHJv
a2UoKSkKKyAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBBU1NFUlQoc3R5bGUpOworCisgICAgY29u
c3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2Z1N0eWxlKCk7CisgICAgaWYg
KCFzdmdTdHlsZSB8fCAhc3ZnU3R5bGUtPmhhc1N0cm9rZSgpKQogICAgICAgICByZXR1cm4gMDsK
IAotICAgIFNWR1BhaW50KiBzdHJva2UgPSBzdHlsZS0+c3ZnU3R5bGUoKS0+c3Ryb2tlUGFpbnQo
KTsKKyAgICBTVkdQYWludCogc3Ryb2tlUGFpbnQgPSBzdmdTdHlsZS0+c3Ryb2tlUGFpbnQoKTsK
KyAgICBBU1NFUlQoc3Ryb2tlUGFpbnQpOwogCi0gICAgU1ZHUGFpbnRTZXJ2ZXIqIHN0cm9rZVBh
aW50U2VydmVyID0gMDsKLSAgICBTVkdQYWludDo6U1ZHUGFpbnRUeXBlIHBhaW50VHlwZSA9IHN0
cm9rZS0+cGFpbnRUeXBlKCk7Ci0gICAgaWYgKChwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19Q
QUlOVFRZUEVfVVJJCi0gICAgICAgIHx8IHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5U
VFlQRV9VUklfUkdCQ09MT1IpCi0gICAgICAgICYmIGl0ZW0tPm9iamVjdEJvdW5kaW5nQm94KCku
d2lkdGgoKSAhPSAwCi0gICAgICAgICYmIGl0ZW0tPm9iamVjdEJvdW5kaW5nQm94KCkuaGVpZ2h0
KCkgIT0gMCkgewotICAgICAgICBBdG9taWNTdHJpbmcgaWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRU
YXJnZXQoc3Ryb2tlLT51cmkoKSkpOwotICAgICAgICBzdHJva2VQYWludFNlcnZlciA9IGdldFBh
aW50U2VydmVyQnlJZChpdGVtLT5kb2N1bWVudCgpLCBpZCwgaXRlbSk7Ci0KLSAgICAgICAgU1ZH
RWxlbWVudCogc3ZnRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihpdGVtLT5ub2Rl
KCkpOwotICAgICAgICBBU1NFUlQoc3ZnRWxlbWVudCAmJiBzdmdFbGVtZW50LT5kb2N1bWVudCgp
ICYmIHN2Z0VsZW1lbnQtPmlzU3R5bGVkKCkpOwotIAotICAgICAgICBpZiAoaXRlbS0+aXNSZW5k
ZXJQYXRoKCkgJiYgc3Ryb2tlUGFpbnRTZXJ2ZXIpCi0gICAgICAgICAgICBzdHJva2VQYWludFNl
cnZlci0+YWRkQ2xpZW50KHN0YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihzdmdFbGVtZW50
KSk7Ci0gICAgICAgIGVsc2UgaWYgKCFzdHJva2VQYWludFNlcnZlciAmJiBwYWludFR5cGUgPT0g
U1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJKQotICAgICAgICAgICAgc3ZnRWxlbWVudC0+ZG9j
dW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2UoaWQsIHN0
YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihzdmdFbGVtZW50KSk7IAorICAgIFJlbmRlclNW
R1Jlc291cmNlKiBzdHJva2VQYWludGluZ1Jlc291cmNlID0gMDsKKyAgICBGbG9hdFJlY3Qgb2Jq
ZWN0Qm91bmRpbmdCb3ggPSBvYmplY3QtPm9iamVjdEJvdW5kaW5nQm94KCk7CisKKyAgICBTVkdQ
YWludDo6U1ZHUGFpbnRUeXBlIHBhaW50VHlwZSA9IHN0cm9rZVBhaW50LT5wYWludFR5cGUoKTsK
KyAgICBpZiAob2JqZWN0Qm91bmRpbmdCb3gud2lkdGgoKSAhPSAwICYmIG9iamVjdEJvdW5kaW5n
Qm94LmhlaWdodCgpICE9IDAKKyAgICAgICAgJiYgKHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZH
X1BBSU5UVFlQRV9VUkkgfHwgcGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VS
SV9SR0JDT0xPUikpIHsKKyAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5jZTo6
Z2V0VGFyZ2V0KHN0cm9rZVBhaW50LT51cmkoKSkpOworICAgICAgICBzdHJva2VQYWludGluZ1Jl
c291cmNlID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXJCeUlkKG9iamVjdC0+ZG9jdW1l
bnQoKSwgaWQpOworCisgICAgICAgIGlmICghc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSkKKyAgICAg
ICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKGlkLCBwYWludFR5cGUsIG9iamVjdCk7CiAg
ICAgfQotICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYm
ICFzdHJva2VQYWludFNlcnZlcikgewotICAgICAgICBzdHJva2VQYWludFNlcnZlciA9IHNoYXJl
ZFNvbGlkUGFpbnRTZXJ2ZXIoKTsKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCogc3Ryb2tl
UGFpbnRTZXJ2ZXJTb2xpZCA9IHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihzdHJv
a2VQYWludFNlcnZlcik7Ci0gICAgICAgIAorCisgICAgaWYgKHBhaW50VHlwZSAhPSBTVkdQYWlu
dDo6U1ZHX1BBSU5UVFlQRV9VUkkgJiYgIXN0cm9rZVBhaW50aW5nUmVzb3VyY2UpIHsKKyAgICAg
ICAgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKiBzb2xpZFJlc291cmNlID0gc2hhcmVkU29s
aWRQYWludGluZ1Jlc291cmNlKCk7CisgICAgICAgIHN0cm9rZVBhaW50aW5nUmVzb3VyY2UgPSBz
b2xpZFJlc291cmNlOworCiAgICAgICAgIENvbG9yIHN0cm9rZUNvbG9yOwotICAgICAgICBpZiAo
cGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKKyAgICAg
ICAgaWYgKHN0cm9rZVBhaW50LT5wYWludFR5cGUoKSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQ
RV9DVVJSRU5UQ09MT1IpCiAgICAgICAgICAgICBzdHJva2VDb2xvciA9IHN0eWxlLT5jb2xvcigp
OwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBzdHJva2VDb2xvciA9IHN0cm9rZS0+Y29sb3Io
KTsKLQotICAgICAgICBpZiAoc3R5bGUtPmluc2lkZUxpbmsoKSA9PSBJbnNpZGVWaXNpdGVkTGlu
aykgewotICAgICAgICAgICAgUmVuZGVyU3R5bGUqIHZpc2l0ZWRTdHlsZSA9IHN0eWxlLT5nZXRD
YWNoZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTkspOwotICAgICAgICAgICAgU1ZHUGFpbnQqIHZp
c2l0ZWRTdHJva2UgPSB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVBhaW50KCk7Ci0g
ICAgICAgICAgICBDb2xvciB2aXNpdGVkU3Ryb2tlQ29sb3I7Ci0gICAgICAgICAgICBpZiAodmlz
aXRlZFN0cm9rZS0+cGFpbnRUeXBlKCkgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRTdHJva2UtPnBhaW50VHlwZSgpID09IFNWR1Bh
aW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKLSAgICAgICAgICAgICAgICAgICAgdmlz
aXRlZFN0cm9rZUNvbG9yID0gdmlzaXRlZFN0eWxlLT5jb2xvcigpOwotICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdmlzaXRlZFN0cm9rZUNvbG9yID0gdmlzaXRlZFN0
cm9rZS0+Y29sb3IoKTsKLSAgICAgICAgICAgICAgICBpZiAodmlzaXRlZFN0cm9rZUNvbG9yLmlz
VmFsaWQoKSkKLSAgICAgICAgICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBDb2xvcih2aXNpdGVk
U3Ryb2tlQ29sb3IucmVkKCksIHZpc2l0ZWRTdHJva2VDb2xvci5ncmVlbigpLCB2aXNpdGVkU3Ry
b2tlQ29sb3IuYmx1ZSgpLCBzdHJva2VDb2xvci5hbHBoYSgpKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQorICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBzdHJva2VQYWludC0+Y29sb3IoKTsK
IAotICAgICAgICBzdHJva2VQYWludFNlcnZlclNvbGlkLT5zZXRDb2xvcihzdHJva2VDb2xvcik7
CisgICAgICAgIGFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMoc3R5bGUsIGZhbHNlIC8qIHVzZUZp
bGxQYWludCAqLywgc3Ryb2tlQ29sb3IpOwogCiAgICAgICAgIC8vIEZJWE1FOiBJZGVhbGx5IGlu
dmFsaWQgY29sb3JzIHdvdWxkIG5ldmVyIGdldCBzZXQgb24gdGhlIFJlbmRlclN0eWxlIGFuZCB0
aGlzIGNvdWxkIHR1cm4gaW50byBhbiBBU1NFUlQKLSAgICAgICAgaWYgKCFzdHJva2VQYWludFNl
cnZlclNvbGlkLT5jb2xvcigpLmlzVmFsaWQoKSkKLSAgICAgICAgICAgIHN0cm9rZVBhaW50U2Vy
dmVyID0gMDsKKyAgICAgICAgaWYgKHN0cm9rZUNvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgICAg
IHNvbGlkUmVzb3VyY2UtPnNldENvbG9yKHN0cm9rZUNvbG9yKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IDA7CiAgICAgfQotICAgIGlmICghc3Ry
b2tlUGFpbnRTZXJ2ZXIpIHsKKworICAgIGlmICghc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSkgewog
ICAgICAgICAvLyBkZWZhdWx0IHZhbHVlIChibGFjayksIHNlZSBidWcgMTEwMTcKLSAgICAgICAg
c3Ryb2tlUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xpZFBhaW50U2VydmVyKCk7Ci0gICAgICAgIHN0
YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihzdHJva2VQYWludFNlcnZlciktPnNldENv
bG9yKENvbG9yOjpibGFjayk7CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciog
c29saWRSZXNvdXJjZSA9IHNoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSgpOworICAgICAgICBz
b2xpZFJlc291cmNlLT5zZXRDb2xvcihDb2xvcjo6YmxhY2spOworICAgICAgICBzdHJva2VQYWlu
dGluZ1Jlc291cmNlID0gc29saWRSZXNvdXJjZTsKICAgICB9CiAKLSAgICByZXR1cm4gc3Ryb2tl
UGFpbnRTZXJ2ZXI7CisgICAgcmV0dXJuIHN0cm9rZVBhaW50aW5nUmVzb3VyY2U7CiB9CiAKLXZv
aWQgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCitSZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIFJlbmRlclNWR1Jlc291cmNlOjpzaGFyZWRTb2xpZFBh
aW50aW5nUmVzb3VyY2UoKQogewotICAgIGNvbnRleHQtPnNldFN0cm9rZVRoaWNrbmVzcyhTVkdS
ZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+c3ZnU3R5bGUo
KS0+c3Ryb2tlV2lkdGgoKSwgMS4wZikpOwotICAgIGNvbnRleHQtPnNldExpbmVDYXAoc3R5bGUt
PnN2Z1N0eWxlKCktPmNhcFN0eWxlKCkpOwotICAgIGNvbnRleHQtPnNldExpbmVKb2luKHN0eWxl
LT5zdmdTdHlsZSgpLT5qb2luU3R5bGUoKSk7Ci0gICAgaWYgKHN0eWxlLT5zdmdTdHlsZSgpLT5q
b2luU3R5bGUoKSA9PSBNaXRlckpvaW4pCi0gICAgICAgIGNvbnRleHQtPnNldE1pdGVyTGltaXQo
c3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZU1pdGVyTGltaXQoKSk7Ci0KLSAgICBjb25zdCBEYXNo
QXJyYXkmIGRhc2hlcyA9IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShvYmplY3QtPnN0eWxl
KCksIG9iamVjdC0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxlKCkp
OwotICAgIGZsb2F0IGRhc2hPZmZzZXQgPSBTVkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZlVG9M
ZW5ndGgob2JqZWN0LCBzdHlsZS0+c3ZnU3R5bGUoKS0+c3Ryb2tlRGFzaE9mZnNldCgpLCAwLjBm
KTsKLSAgICBjb250ZXh0LT5zZXRMaW5lRGFzaChkYXNoZXMsIGRhc2hPZmZzZXQpOworICAgIHN0
YXRpYyBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNfc2hhcmVkU29saWRQYWludGluZ1Jl
c291cmNlID0gMDsKKyAgICBpZiAoIXNfc2hhcmVkU29saWRQYWludGluZ1Jlc291cmNlKQorICAg
ICAgICBzX3NoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSA9IG5ldyBSZW5kZXJTVkdSZXNvdXJj
ZVNvbGlkQ29sb3I7CisgICAgcmV0dXJuIHNfc2hhcmVkU29saWRQYWludGluZ1Jlc291cmNlOwog
fQogCi1ib29sIFNWR1BhaW50U2VydmVyOjpzZXR1cChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0
LCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgU1ZHUGFpbnRUYXJnZXRUeXBlIHR5cGUsIGJv
b2wgaXNQYWludGluZ1RleHQpIGNvbnN0Cit2b2lkIFJlbmRlclNWR1Jlc291cmNlOjptYXJrRm9y
TGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24oUmVuZGVyT2JqZWN0KiBvYmplY3QpCiB7Ci0g
ICAgcmV0dXJuIHNldHVwKGNvbnRleHQsIG9iamVjdCwgb2JqZWN0ID8gb2JqZWN0LT5zdHlsZSgp
IDogMCwgdHlwZSwgaXNQYWludGluZ1RleHQpOwotfQorICAgIEFTU0VSVChvYmplY3QpOworICAg
IEFTU0VSVChvYmplY3QtPm5vZGUoKSk7CisgICAgQVNTRVJUKG9iamVjdC0+bm9kZSgpLT5pc1NW
R0VsZW1lbnQoKSk7CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXI6OmRyYXcoR3JhcGhpY3NDb250ZXh0
KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBwYXRoLCBTVkdQYWludFRhcmdldFR5cGUg
dHlwZSkgY29uc3QKLXsKLSAgICBpZiAoIXNldHVwKGNvbnRleHQsIHBhdGgsIHR5cGUpKQotICAg
ICAgICByZXR1cm47CisgICAgLy8gTWFyayB0aGUgcmVuZGVyZXIgZm9yIGxheW91dAorICAgIG9i
amVjdC0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7CiAKLSAgICByZW5kZXJQYXRoKGNvbnRleHQsIHBh
dGgsIHR5cGUpOwotICAgIHRlYXJkb3duKGNvbnRleHQsIHBhdGgsIHR5cGUpOwotfQotCi12b2lk
IFNWR1BhaW50U2VydmVyOjpyZW5kZXJQYXRoKEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIGNv
bnN0IFJlbmRlck9iamVjdCogcGF0aCwgU1ZHUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0Ci17
Ci0gICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN0eWxlID0gcGF0aCA/IHBhdGgtPnN0eWxlKCkt
PnN2Z1N0eWxlKCkgOiAwOwotCi0gICAgaWYgKCh0eXBlICYgQXBwbHlUb0ZpbGxUYXJnZXRUeXBl
KSAmJiAoIXN0eWxlIHx8IHN0eWxlLT5oYXNGaWxsKCkpKQotICAgICAgICBjb250ZXh0LT5maWxs
UGF0aCgpOworICAgIC8vIE5vdGlmeSBhbnkgcmVzb3VyY2VzIGluIHRoZSBhbmNlc3RvciBjaGFp
biwgdGhhdCB3ZSd2ZSBiZWVuIGludmFsaWRhdGVkCisgICAgU1ZHRWxlbWVudCogZWxlbWVudCA9
IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihvYmplY3QtPm5vZGUoKSk7CisgICAgaWYgKCFlbGVt
ZW50LT5pc1N0eWxlZCgpKQorICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoKHR5cGUgJiBBcHBs
eVRvU3Ryb2tlVGFyZ2V0VHlwZSkgJiYgKCFzdHlsZSB8fCBzdHlsZS0+aGFzU3Ryb2tlKCkpKQot
ICAgICAgICBjb250ZXh0LT5zdHJva2VQYXRoKCk7CisgICAgc3RhdGljX2Nhc3Q8U1ZHU3R5bGVk
RWxlbWVudCo+KGVsZW1lbnQpLT5pbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3RvckNoYWluKCk7
CiB9CiAKLSNpZiBQTEFURk9STShTS0lBKQotdm9pZCBTVkdQYWludFNlcnZlcjo6dGVhcmRvd24o
R3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRU
YXJnZXRUeXBlLCBib29sKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBNb3ZlIHRoaXMgaW50byB0
aGUgR3JhcGhpY3NDb250ZXh0Ci0gICAgLy8gV2ViS2l0IGltcGxpY2l0bHkgZXhwZWN0cyB1cyB0
byByZXNldCB0aGUgcGF0aC4KLSAgICAvLyBGb3IgZXhhbXBsZSBpbiBmaWxsQW5kU3Ryb2tlUGF0
aCgpIG9mIFJlbmRlclBhdGguY3BwIHRoZSBwYXRoIGlzIAotICAgIC8vIGFkZGVkIGJhY2sgdG8g
dGhlIGNvbnRleHQgYWZ0ZXIgZmlsbGluZy4gVGhpcyBpcyBiZWNhdXNlIGludGVybmFsbHkgaXQK
LSAgICAvLyBjYWxscyBDR0NvbnRleHRGaWxsUGF0aCgpIHdoaWNoIGNsb3NlcyB0aGUgcGF0aC4K
LSAgICBjb250ZXh0LT5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQo
KS0+c2V0RmlsbFNoYWRlcigwKTsKLSAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+c2V0
U3Ryb2tlU2hhZGVyKDApOwogfQotI2Vsc2UKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXI6OnRlYXJkb3du
KEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdldFR5
cGUsIGJvb2wpIGNvbnN0Ci17Ci19Ci0jZW5kaWYKLQotRGFzaEFycmF5IGRhc2hBcnJheUZyb21S
ZW5kZXJpbmdTdHlsZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290
U3R5bGUpCi17Ci0gICAgRGFzaEFycmF5IGFycmF5OwotICAgIAotICAgIENTU1ZhbHVlTGlzdCog
ZGFzaGVzID0gc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZURhc2hBcnJheSgpOwotICAgIGlmIChk
YXNoZXMpIHsKLSAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIGRhc2ggPSAwOwotICAgICAgICB1
bnNpZ25lZCBsb25nIGxlbiA9IGRhc2hlcy0+bGVuZ3RoKCk7Ci0gICAgICAgIGZvciAodW5zaWdu
ZWQgbG9uZyBpID0gMDsgaSA8IGxlbjsgaSsrKSB7Ci0gICAgICAgICAgICBkYXNoID0gc3RhdGlj
X2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihkYXNoZXMtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2so
aSkpOwotICAgICAgICAgICAgaWYgKCFkYXNoKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
Ci0gICAgICAgICAgICBhcnJheS5hcHBlbmQoKGZsb2F0KSBkYXNoLT5jb21wdXRlTGVuZ3RoRmxv
YXQoY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KHN0eWxlKSwgcm9vdFN0eWxlKSk7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICByZXR1cm4gYXJyYXk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlLmgJKHJl
dmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2UuaAko
d29ya2luZyBjb3B5KQpAQCAtMjIsNjQgKzIyLDQ3IEBACiAjZGVmaW5lIFJlbmRlclNWR1Jlc291
cmNlX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5jbHVk
ZSAiUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgiCisjaW5jbHVkZSAiU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZW5kZXJTVkdSZXNvdXJj
ZVR5cGUgewogICAgIE1hc2tlclJlc291cmNlVHlwZSwKICAgICBNYXJrZXJSZXNvdXJjZVR5cGUs
CisgICAgUGF0dGVyblJlc291cmNlVHlwZSwKKyAgICBMaW5lYXJHcmFkaWVudFJlc291cmNlVHlw
ZSwKKyAgICBSYWRpYWxHcmFkaWVudFJlc291cmNlVHlwZSwKKyAgICBTb2xpZENvbG9yUmVzb3Vy
Y2VUeXBlLAogICAgIEZpbHRlclJlc291cmNlVHlwZSwKICAgICBDbGlwcGVyUmVzb3VyY2VUeXBl
CiB9OwogCi1jbGFzcyBSZW5kZXJTVkdSZXNvdXJjZSA6IHB1YmxpYyBSZW5kZXJTVkdIaWRkZW5D
b250YWluZXIgeworZW51bSBSZW5kZXJTVkdSZXNvdXJjZU1vZGUgeworICAgIEFwcGx5VG9EZWZh
dWx0TW9kZSA9IDEgPDwgMCwgLy8gdXNlZCBmb3IgYWxsIHJlc291cmNlcyBleGNlcHQgZ3JhZGll
bnQvcGF0dGVybgorICAgIEFwcGx5VG9GaWxsTW9kZSAgICA9IDEgPDwgMSwKKyAgICBBcHBseVRv
U3Ryb2tlTW9kZSAgPSAxIDw8IDIsCisgICAgQXBwbHlUb1RleHRNb2RlICAgID0gMSA8PCAzICAv
LyB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggQXBwbHlUb3tGaWxsfFN0cm9rZX1Nb2RlCit9Owor
CitjbGFzcyBGbG9hdFJlY3Q7CitjbGFzcyBHcmFwaGljc0NvbnRleHQ7CitjbGFzcyBSZW5kZXJP
YmplY3Q7CitjbGFzcyBSZW5kZXJTdHlsZTsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlU29saWRD
b2xvcjsKKworY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2UgewogcHVibGljOgotICAgIFJlbmRlclNW
R1Jlc291cmNlKFNWR1N0eWxlZEVsZW1lbnQqIG5vZGUpCi0gICAgICAgIDogUmVuZGVyU1ZHSGlk
ZGVuQ29udGFpbmVyKG5vZGUpCi0gICAgICAgICwgbV9pZChub2RlLT5nZXRJREF0dHJpYnV0ZSgp
KQotICAgIHsKLSAgICAgICAgQVNTRVJUKG5vZGUtPmRvY3VtZW50KCkpOwotICAgICAgICBub2Rl
LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFJlc291cmNlKG1faWQsIHRo
aXMpOwotICAgIH0KKyAgICBSZW5kZXJTVkdSZXNvdXJjZSgpIHsgfQorICAgIHZpcnR1YWwgflJl
bmRlclNWR1Jlc291cmNlKCkgeyB9CiAKLSAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZSgp
Ci0gICAgewotICAgICAgICBBU1NFUlQobm9kZSgpKTsKLSAgICAgICAgQVNTRVJUKG5vZGUoKS0+
ZG9jdW1lbnQoKSk7Ci0gICAgICAgIG5vZGUoKS0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5z
aW9ucygpLT5yZW1vdmVSZXNvdXJjZShtX2lkKTsKLSAgICB9CisgICAgdmlydHVhbCB2b2lkIGlu
dmFsaWRhdGVDbGllbnRzKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50
KFJlbmRlck9iamVjdCopID0gMDsKIAotICAgIHZvaWQgaWRDaGFuZ2VkKCkKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVChub2RlKCkpOwotICAgICAgICBBU1NFUlQobm9kZSgpLT5kb2N1bWVudCgpKTsK
LSAgICAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKiBleHRlbnNpb25zID0gbm9kZSgpLT5kb2N1
bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCk7Ci0KLSAgICAgICAgLy8gUmVtb3ZlIG9sZCBp
ZCwgdGhhdCBpcyBndWFyYW50ZWVkIHRvIGJlIHByZXNlbnQgaW4gY2FjaGUKLSAgICAgICAgZXh0
ZW5zaW9ucy0+cmVtb3ZlUmVzb3VyY2UobV9pZCk7Ci0KLSAgICAgICAgbV9pZCA9IHN0YXRpY19j
YXN0PEVsZW1lbnQqPihub2RlKCkpLT5nZXRJREF0dHJpYnV0ZSgpOwotCi0gICAgICAgIC8vIEl0
J3MgcG9zc2libGUgdGhhdCBhbiBlbGVtZW50IGlzIHJlZmVyZW5jaW5nIHVzIHdpdGggdGhlIG5l
dyBpZCwgYW5kIGhhcyB0byBiZSBub3RpZmllZCB0aGF0IHdlJ3JlIGV4aXN0aW5nIG5vdwotICAg
ICAgICBpZiAoZXh0ZW5zaW9ucy0+aXNQZW5kaW5nUmVzb3VyY2UobV9pZCkpIHsKLSAgICAgICAg
ICAgIE93blB0cjxIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPiA+IGNsaWVudHMoZXh0ZW5zaW9u
cy0+cmVtb3ZlUGVuZGluZ1Jlc291cmNlKG1faWQpKTsKLSAgICAgICAgICAgIGlmIChjbGllbnRz
LT5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBIYXNo
U2V0PFNWR1N0eWxlZEVsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBjbGllbnRzLT5iZWdp
bigpOwotICAgICAgICAgICAgY29uc3QgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj46OmNvbnN0
X2l0ZXJhdG9yIGVuZCA9IGNsaWVudHMtPmVuZCgpOwotCi0gICAgICAgICAgICBmb3IgKDsgaXQg
IT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICAgICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVy
ZXIgPSAoKml0KS0+cmVuZGVyZXIoKSkKLSAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXItPnNl
dE5lZWRzTGF5b3V0KHRydWUpOwotICAgICAgICAgICAgfQotICAgICAgICB9CisgICAgdmlydHVh
bCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUqLCBHcmFwaGlj
c0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIHBvc3RBcHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dCom
LCB1bnNpZ25lZCBzaG9ydCkgeyB9CisgICAgdmlydHVhbCBGbG9hdFJlY3QgcmVzb3VyY2VCb3Vu
ZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCA9IDA7CiAKLSAgICAgICAgLy8gUmVjYWNo
ZSB1cyB3aXRoIHRoZSBuZXcgaWQKLSAgICAgICAgZXh0ZW5zaW9ucy0+YWRkUmVzb3VyY2UobV9p
ZCwgdGhpcyk7Ci0gICAgfQorICAgIHZpcnR1YWwgUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIHJlc291
cmNlVHlwZSgpIGNvbnN0ID0gMDsKIAogICAgIHRlbXBsYXRlPGNsYXNzIFJlbmRlcmVyPgogICAg
IFJlbmRlcmVyKiBjYXN0KCkKQEAgLTkwLDM1ICs3MywxNSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiAwOwogICAgIH0KIAotICAgIHZpcnR1YWwgUmVuZGVyU1ZHUmVzb3VyY2UqIHRvUmVuZGVy
U1ZHUmVzb3VyY2UoKSB7IHJldHVybiB0aGlzOyB9Ci0gICAgdmlydHVhbCBib29sIGlzU1ZHUmVz
b3VyY2UoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBib29sIGRyYXdzQ29u
dGVudHMoKSB7IHJldHVybiBmYWxzZTsgfQorICAgIC8vIEhlbHBlciB1dGlsaXRpZXMgdXNlZCBp
biB0aGUgcmVuZGVyIHRyZWUgdG8gYWNjZXNzIHJlc291cmNlcyB1c2VkIGZvciBwYWludGluZyBz
aGFwZXMvdGV4dCAoZ3JhZGllbnRzICYgcGF0dGVybnMgb25seSkKKyAgICBzdGF0aWMgUmVuZGVy
U1ZHUmVzb3VyY2UqIGZpbGxQYWludGluZ1Jlc291cmNlKGNvbnN0IFJlbmRlck9iamVjdCosIGNv
bnN0IFJlbmRlclN0eWxlKik7CisgICAgc3RhdGljIFJlbmRlclNWR1Jlc291cmNlKiBzdHJva2VQ
YWludGluZ1Jlc291cmNlKGNvbnN0IFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlclN0eWxlKik7
CisgICAgc3RhdGljIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciogc2hhcmVkU29saWRQYWlu
dGluZ1Jlc291cmNlKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudHMoKSA9
IDA7Ci0gICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnQoUmVuZGVyT2JqZWN0KikgPSAw
OwotCi0gICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhp
Y3NDb250ZXh0KiYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVu
ZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYpIHsgfQotICAgIHZpcnR1YWwgRmxvYXRSZWN0
IHJlc291cmNlQm91bmRpbmdCb3goY29uc3QgRmxvYXRSZWN0JikgY29uc3QgPSAwOwotCi0gICAg
dmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlKCkgY29uc3QgPSAwOwot
Ci1wcml2YXRlOgotICAgIEF0b21pY1N0cmluZyBtX2lkOworcHJvdGVjdGVkOgorICAgIHZvaWQg
bWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKFJlbmRlck9iamVjdCopOwogfTsK
IAotdGVtcGxhdGU8dHlwZW5hbWUgUmVuZGVyZXI+Ci1SZW5kZXJlciogZ2V0UmVuZGVyU1ZHUmVz
b3VyY2VCeUlkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBpZCkKLXsK
LSAgICBpZiAoaWQuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGlmIChSZW5k
ZXJTVkdSZXNvdXJjZSogcmVuZGVyUmVzb3VyY2UgPSBkb2N1bWVudC0+YWNjZXNzU1ZHRXh0ZW5z
aW9ucygpLT5yZXNvdXJjZUJ5SWQoaWQpKQotICAgICAgICByZXR1cm4gcmVuZGVyUmVzb3VyY2Ut
PmNhc3Q8UmVuZGVyZXI+KCk7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQogfQogCiAjZW5kaWYKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcAko
cmV2aXNpb24gNTgwOTIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw4ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6
c19yZXNvdXJjZVR5cGUgPSBDbGlwcGVyUmVzb3VyY2VUeXBlOwogCi1SZW5kZXJTVkdSZXNvdXJj
ZUNsaXBwZXI6OlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcihTVkdTdHlsZWRFbGVtZW50KiBub2Rl
KQotICAgIDogUmVuZGVyU1ZHUmVzb3VyY2Uobm9kZSkKK1JlbmRlclNWR1Jlc291cmNlQ2xpcHBl
cjo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyKFNWR0NsaXBQYXRoRWxlbWVudCogbm9kZSkKKyAg
ICA6IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKG5vZGUpCiB7CiB9CiAKQEAgLTc4LDEwICs3
OCwxNCBAQCB2b2lkIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6aW52YWxpZGF0CiAgICAgICAg
IHJldHVybjsKIAogICAgIGRlbGV0ZSBtX2NsaXBwZXIudGFrZShvYmplY3QpOworICAgIG1hcmtG
b3JMYXlvdXRBbmRSZXNvdXJjZUludmFsaWRhdGlvbihvYmplY3QpOwogfQogCi1ib29sIFJlbmRl
clNWR1Jlc291cmNlQ2xpcHBlcjo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwg
R3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCkKK2Jvb2wgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVy
OjphcHBseVJlc291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBSZW5kZXJTdHlsZSosIEdyYXBo
aWNzQ29udGV4dComIGNvbnRleHQsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkKIHsKKyAg
ICBBU1NFUlQob2JqZWN0KTsKKyAgICBBU1NFUlQoY29udGV4dCk7CisgICAgQVNTRVJUKHJlc291
cmNlTW9kZSA9PSBBcHBseVRvRGVmYXVsdE1vZGUpOwogICAgIGFwcGx5Q2xpcHBpbmdUb0NvbnRl
eHQob2JqZWN0LCBvYmplY3QtPm9iamVjdEJvdW5kaW5nQm94KCksIG9iamVjdC0+cmVwYWludFJl
Y3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSwgY29udGV4dCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBA
IC0xNDIsOSArMTQ2LDYgQEAgYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OnBhdGhPbmx5
QwogYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmFwcGx5Q2xpcHBpbmdUb0NvbnRleHQo
UmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbmdCb3gs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBGbG9hdFJlY3QmIHJlcGFpbnRSZWN0LCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQpCiB7
Ci0gICAgQVNTRVJUKG9iamVjdCk7Ci0gICAgQVNTRVJUKGNvbnRleHQpOwotCiAgICAgaWYgKCFt
X2NsaXBwZXIuY29udGFpbnMob2JqZWN0KSkKICAgICAgICAgbV9jbGlwcGVyLnNldChvYmplY3Qs
IG5ldyBDbGlwcGVyRGF0YSk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jl
c291cmNlQ2xpcHBlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlQ2xpcHBlci5oCShyZXZpc2lvbiA1ODA5MikKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3
IEBACiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5j
bHVkZSAiUGF0aC5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAi
UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdDbGlwUGF0aEVsZW1l
bnQuaCIKICNpbmNsdWRlICJTVkdVbml0VHlwZXMuaCIKIApAQCAtNDAsMTAgKzQwLDkgQEAgc3Ry
dWN0IENsaXBwZXJEYXRhIHsKICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGNsaXBNYXNrSW1hZ2U7
CiB9OwogCi1jbGFzcyBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIgOiBwdWJsaWMgUmVuZGVyU1ZH
UmVzb3VyY2UgewotCitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIgOiBwdWJsaWMgUmVu
ZGVyU1ZHUmVzb3VyY2VDb250YWluZXIgewogcHVibGljOgotICAgIFJlbmRlclNWR1Jlc291cmNl
Q2xpcHBlcihTVkdTdHlsZWRFbGVtZW50Kik7CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVy
KFNWR0NsaXBQYXRoRWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlQ2xp
cHBlcigpOwogCiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyBy
ZXR1cm4gIlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciI7IH0KQEAgLTUxLDcgKzUwLDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50cygpOwogICAgIHZpcnR1YWwg
dm9pZCBpbnZhbGlkYXRlQ2xpZW50KFJlbmRlck9iamVjdCopOwogCi0gICAgdmlydHVhbCBib29s
IGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYpOworICAgIHZp
cnR1YWwgYm9vbCBhcHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKiwgR3Jh
cGhpY3NDb250ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CiAgICAgdmlydHVh
bCBGbG9hdFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsK
IAogICAgIHZpcnR1YWwgUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0
IHsgcmV0dXJuIENsaXBwZXJSZXNvdXJjZVR5cGU7IH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAkocmV2aXNpb24gMCkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBSZW5kZXJTVkdS
ZXNvdXJjZUNvbnRhaW5lcl9oCisjZGVmaW5lIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyX2gK
KworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgi
CisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciA6IHB1YmxpYyBSZW5kZXJTVkdIaWRk
ZW5Db250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBS
ZW5kZXJTVkdSZXNvdXJjZSB7CitwdWJsaWM6CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXIoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKKyAgICAgICAgOiBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIobm9kZSkKKyAgICAgICAgLCBSZW5kZXJTVkdSZXNvdXJjZSgpCisgICAgICAgICwgbV9p
ZChub2RlLT5nZXRJREF0dHJpYnV0ZSgpKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG5vZGUtPmRv
Y3VtZW50KCkpOworICAgICAgICBub2RlLT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25z
KCktPmFkZFJlc291cmNlKG1faWQsIHRoaXMpOworICAgIH0KKworICAgIHZpcnR1YWwgflJlbmRl
clNWR1Jlc291cmNlQ29udGFpbmVyKCkKKyAgICB7CisgICAgICAgIEFTU0VSVChub2RlKCkpOwor
ICAgICAgICBBU1NFUlQobm9kZSgpLT5kb2N1bWVudCgpKTsKKyAgICAgICAgbm9kZSgpLT5kb2N1
bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPnJlbW92ZVJlc291cmNlKG1faWQpOworICAg
IH0KKworICAgIHZvaWQgaWRDaGFuZ2VkKCkKKyAgICB7CisgICAgICAgIEFTU0VSVChub2RlKCkp
OworICAgICAgICBBU1NFUlQobm9kZSgpLT5kb2N1bWVudCgpKTsKKyAgICAgICAgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zKiBleHRlbnNpb25zID0gbm9kZSgpLT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdF
eHRlbnNpb25zKCk7CisKKyAgICAgICAgLy8gUmVtb3ZlIG9sZCBpZCwgdGhhdCBpcyBndWFyYW50
ZWVkIHRvIGJlIHByZXNlbnQgaW4gY2FjaGUKKyAgICAgICAgZXh0ZW5zaW9ucy0+cmVtb3ZlUmVz
b3VyY2UobV9pZCk7CisKKyAgICAgICAgbV9pZCA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2Rl
KCkpLT5nZXRJREF0dHJpYnV0ZSgpOworCisgICAgICAgIC8vIEl0J3MgcG9zc2libGUgdGhhdCBh
biBlbGVtZW50IGlzIHJlZmVyZW5jaW5nIHVzIHdpdGggdGhlIG5ldyBpZCwgYW5kIGhhcyB0byBi
ZSBub3RpZmllZCB0aGF0IHdlJ3JlIGV4aXN0aW5nIG5vdworICAgICAgICBpZiAoZXh0ZW5zaW9u
cy0+aXNQZW5kaW5nUmVzb3VyY2UobV9pZCkpIHsKKyAgICAgICAgICAgIE93blB0cjxIYXNoU2V0
PFNWR1N0eWxlZEVsZW1lbnQqPiA+IGNsaWVudHMoZXh0ZW5zaW9ucy0+cmVtb3ZlUGVuZGluZ1Jl
c291cmNlKG1faWQpKTsKKyAgICAgICAgICAgIGlmIChjbGllbnRzLT5pc0VtcHR5KCkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBIYXNoU2V0PFNWR1N0eWxlZEVsZW1l
bnQqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBjbGllbnRzLT5iZWdpbigpOworICAgICAgICAgICAg
Y29uc3QgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGNs
aWVudHMtPmVuZCgpOworCisgICAgICAgICAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7Cisg
ICAgICAgICAgICAgICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSAoKml0KS0+cmVuZGVy
ZXIoKSkKKyAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXItPnNldE5lZWRzTGF5b3V0KHRydWUp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gUmVjYWNoZSB1cyB3aXRo
IHRoZSBuZXcgaWQKKyAgICAgICAgZXh0ZW5zaW9ucy0+YWRkUmVzb3VyY2UobV9pZCwgdGhpcyk7
CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGlzU1ZHUmVzb3VyY2VDb250YWluZXIoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGRyYXdzQ29udGVudHMoKSB7IHJl
dHVybiBmYWxzZTsgfQorCisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciog
dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpIHsgcmV0dXJuIHRoaXM7IH0KKworcHJpdmF0
ZToKKyAgICBBdG9taWNTdHJpbmcgbV9pZDsKK307CisKK2lubGluZSBSZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lciogZ2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXJCeUlkKERvY3VtZW50KiBk
b2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBpZCkKK3sKKyAgICBpZiAoaWQuaXNFbXB0eSgp
KQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5l
ciogcmVuZGVyUmVzb3VyY2UgPSBkb2N1bWVudC0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5yZXNv
dXJjZUJ5SWQoaWQpKQorICAgICAgICByZXR1cm4gcmVuZGVyUmVzb3VyY2U7CisKKyAgICByZXR1
cm4gMDsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgUmVuZGVyZXI+CitSZW5kZXJlciogZ2V0UmVu
ZGVyU1ZHUmVzb3VyY2VCeUlkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5n
JiBpZCkKK3sKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIGNvbnRhaW5lciA9
IGdldFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyQnlJZChkb2N1bWVudCwgaWQpKQorICAgICAg
ICByZXR1cm4gY29udGFpbmVyLT5jYXN0PFJlbmRlcmVyPigpOworCisgICAgcmV0dXJuIDA7Cit9
CisKK30KKworI2VuZGlmCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlRmlsdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAJKHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw4
ICs1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIFJl
bmRlclNWR1Jlc291cmNlRmlsdGVyOjpzX3Jlc291cmNlVHlwZSA9IEZpbHRlclJlc291cmNlVHlw
ZTsKIAotUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyKFNW
R1N0eWxlZEVsZW1lbnQqIG5vZGUpCi0gICAgOiBSZW5kZXJTVkdSZXNvdXJjZShub2RlKQorUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyKFNWR0ZpbHRlckVs
ZW1lbnQqIG5vZGUpCisgICAgOiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihub2RlKQogICAg
ICwgbV9zYXZlZENvbnRleHQoMCkKICAgICAsIG1fc291cmNlR3JhcGhpY0J1ZmZlcigwKQogewpA
QCAtODgsNyArODgsOCBAQCB2b2lkIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjppbnZhbGlkYXRl
CiAgICAgaWYgKCFtX2ZpbHRlci5jb250YWlucyhvYmplY3QpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBkZWxldGUgbV9maWx0ZXIudGFrZShvYmplY3QpOyAKKyAgICBkZWxldGUgbV9maWx0ZXIu
dGFrZShvYmplY3QpOworICAgIG1hcmtGb3JMYXlvdXRBbmRSZXNvdXJjZUludmFsaWRhdGlvbihv
YmplY3QpOwogfQogCiBQYXNzT3duUHRyPFNWR0ZpbHRlckJ1aWxkZXI+IFJlbmRlclNWR1Jlc291
cmNlRmlsdGVyOjpidWlsZFByaW1pdGl2ZXMoKQpAQCAtMTM0LDEwICsxMzUsMTEgQEAgYm9vbCBS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6Zml0c0luTWF4aQogICAgIHJldHVybiBtYXRjaGVzRmls
dGVyU2l6ZTsKIH0KIAotYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdXJj
ZShSZW5kZXJPYmplY3QqIG9iamVjdCwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCkKK2Jvb2wg
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmpl
Y3QsIFJlbmRlclN0eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hv
cnQgcmVzb3VyY2VNb2RlKQogewogICAgIEFTU0VSVChvYmplY3QpOwogICAgIEFTU0VSVChjb250
ZXh0KTsKKyAgICBBU1NFUlQocmVzb3VyY2VNb2RlID09IEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAK
ICAgICAvLyBSZXR1cm5pbmcgZmFsc2UgaGVyZSwgdG8gYXZvaWQgZHJhd2luZ3Mgb250byB0aGUg
Y29udGV4dC4gV2UganVzdCB3YW50IHRvCiAgICAgLy8gZHJhdyB0aGUgc3RvcmVkIGZpbHRlciBv
dXRwdXQsIG5vdCB0aGUgdW5maWx0ZXJlZCBvYmplY3QgYXMgd2VsbC4KQEAgLTIyOCwxMCArMjMw
LDExIEBAIGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3UKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotdm9pZCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6cG9zdEFwcGx5UmVz
b3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQpCit2
b2lkIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpwb3N0QXBwbHlSZXNvdXJjZShSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVz
b3VyY2VNb2RlKQogewogICAgIEFTU0VSVChvYmplY3QpOwogICAgIEFTU0VSVChjb250ZXh0KTsK
KyAgICBBU1NFUlQocmVzb3VyY2VNb2RlID09IEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAKICAgICBp
ZiAoIW1fZmlsdGVyLmNvbnRhaW5zKG9iamVjdCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaAkocmV2aXNpb24gNTgw
OTIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaWYgRU5BQkxFKFNWRykgJiYgRU5BQkxFKEZJ
TFRFUlMpCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIK
LSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyLmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyLmgiCiAjaW5jbHVkZSAiU1ZHRmls
dGVyQnVpbGRlci5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlckVsZW1lbnQuaCIKQEAgLTU1LDkgKzU1
LDkgQEAgc3RydWN0IEZpbHRlckRhdGEgewogCiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAKLWNs
YXNzIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlIHsK
K2NsYXNzIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcihTVkdTdHls
ZWRFbGVtZW50Kik7CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIoU1ZHRmlsdGVyRWxlbWVu
dCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlRmlsdGVyKCk7CiAKICAgICB2aXJ0
dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXIiOyB9CkBAIC02NSw4ICs2NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgaW52YWxpZGF0ZUNsaWVudHMoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVu
dChSZW5kZXJPYmplY3QqKTsKIAotICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291cmNlKFJlbmRl
ck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComKTsKLSAgICB2aXJ0dWFsIHZvaWQgcG9zdEFwcGx5
UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYpOworICAgIHZpcnR1YWwg
Ym9vbCBhcHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKiwgR3JhcGhpY3ND
b250ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCB2b2lk
IHBvc3RBcHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComLCB1bnNp
Z25lZCBzaG9ydCByZXNvdXJjZU1vZGUpOwogCiAgICAgdmlydHVhbCBGbG9hdFJlY3QgcmVzb3Vy
Y2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKIApJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHAJKHJldmlzaW9uIDU4
MDkzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIsMjcgKzIsMjMgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiBO
aWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqICAgICAgICAgICAgICAg
MjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICogICAgICAgICAgICAgICAyMDA4
IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJj
aCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCkBAIC0zMCw5MCArMjYsNTAgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlJl
bmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCIKIAotI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5o
IgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgi
Ci0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudC5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGll
bnQuaCIKLSNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCi0jaW5jbHVkZSAiU1ZHR3JhZGllbnRFbGVt
ZW50LmgiCisjaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAiU1ZHUmVu
ZGVyU3VwcG9ydC5oIgotI2luY2x1ZGUgIlNWR1JlbmRlclRyZWVBc1RleHQuaCIKLQotdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0
cywgR3JhZGllbnRTcHJlYWRNZXRob2QgbSkKLXsKLSAgICBzd2l0Y2ggKG0pIHsKLSAgICAgICAg
Y2FzZSBTcHJlYWRNZXRob2RQYWQ6Ci0gICAgICAgICAgICB0cyA8PCAiUEFEIjsgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgU3ByZWFkTWV0aG9kUmVwZWF0OgotICAgICAgICAgICAgdHMgPDwgIlJFUEVB
VCI7IGJyZWFrOwotICAgICAgICBjYXNlIFNwcmVhZE1ldGhvZFJlZmxlY3Q6Ci0gICAgICAgICAg
ICB0cyA8PCAiUkVGTEVDVCI7IGJyZWFrOwotICAgIH0KLQotICAgIHJldHVybiB0czsKLX0KLQot
c3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFZlY3Rv
cjxTVkdHcmFkaWVudFN0b3A+JiBsKQotewotICAgIHRzIDw8ICJbIjsKLSAgICBmb3IgKFZlY3Rv
cjxTVkdHcmFkaWVudFN0b3A+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGwuYmVnaW4oKTsgaXQgIT0g
bC5lbmQoKTsgKytpdCkgewotICAgICAgICB0cyA8PCAiKCIgPDwgaXQtPmZpcnN0IDw8ICIsIiA8
PCBpdC0+c2Vjb25kIDw8ICIpIjsKLSAgICAgICAgaWYgKGl0ICsgMSAhPSBsLmVuZCgpKQotICAg
ICAgICAgICAgdHMgPDwgIiwgIjsKLSAgICB9Ci0gICAgdHMgPDwgIl0iOwotICAgIHJldHVybiB0
czsKLX0KLQotU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudChj
b25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKQotICAgIDogbV9ib3VuZGluZ0JveE1vZGUo
dHJ1ZSkKLSAgICAsIG1fb3duZXJFbGVtZW50KG93bmVyKQorUmVuZGVyU1ZHUmVzb3VyY2VHcmFk
aWVudDo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudChTVkdHcmFkaWVudEVsZW1lbnQqIG5vZGUp
CisgICAgOiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihub2RlKQogI2lmIFBMQVRGT1JNKENH
KQogICAgICwgbV9zYXZlZENvbnRleHQoMCkKLSAgICAsIG1faW1hZ2VCdWZmZXIoMCkKICNlbmRp
ZgogewotICAgIEFTU0VSVChvd25lcik7Ci19Ci0KLVNWR1BhaW50U2VydmVyR3JhZGllbnQ6On5T
VkdQYWludFNlcnZlckdyYWRpZW50KCkKLXsKIH0KIAotR3JhZGllbnQqIFNWR1BhaW50U2VydmVy
R3JhZGllbnQ6OmdyYWRpZW50KCkgY29uc3QKK1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6On5S
ZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50KCkKIHsKLSAgICByZXR1cm4gbV9ncmFkaWVudC5nZXQo
KTsKKyAgICBkZWxldGVBbGxWYWx1ZXMobV9ncmFkaWVudCk7CisgICAgbV9ncmFkaWVudC5jbGVh
cigpOwogfQogCi12b2lkIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldEdyYWRpZW50KFBhc3NS
ZWZQdHI8R3JhZGllbnQ+IGdyYWRpZW50KQordm9pZCBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50
OjppbnZhbGlkYXRlQ2xpZW50cygpCiB7Ci0gICAgbV9ncmFkaWVudCA9IGdyYWRpZW50OwotfQor
ICAgIGNvbnN0IEhhc2hNYXA8UmVuZGVyT2JqZWN0KiwgR3JhZGllbnREYXRhKj46OmNvbnN0X2l0
ZXJhdG9yIGVuZCA9IG1fZ3JhZGllbnQuZW5kKCk7CisgICAgZm9yIChIYXNoTWFwPFJlbmRlck9i
amVjdCosIEdyYWRpZW50RGF0YSo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fZ3JhZGllbnQuYmVn
aW4oKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJ
bnZhbGlkYXRpb24oaXQtPmZpcnN0KTsKIAotYm9vbCBTVkdQYWludFNlcnZlckdyYWRpZW50Ojpi
b3VuZGluZ0JveE1vZGUoKSBjb25zdAotewotICAgIHJldHVybiBtX2JvdW5kaW5nQm94TW9kZTsK
KyAgICBkZWxldGVBbGxWYWx1ZXMobV9ncmFkaWVudCk7CisgICAgbV9ncmFkaWVudC5jbGVhcigp
OwogfQogCi12b2lkIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldEJvdW5kaW5nQm94TW9kZShi
b29sIG1vZGUpCit2b2lkIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OmludmFsaWRhdGVDbGll
bnQoUmVuZGVyT2JqZWN0KiBvYmplY3QpCiB7Ci0gICAgbV9ib3VuZGluZ0JveE1vZGUgPSBtb2Rl
OwotfQorICAgIEFTU0VSVChvYmplY3QpOwogCi1BZmZpbmVUcmFuc2Zvcm0gU1ZHUGFpbnRTZXJ2
ZXJHcmFkaWVudDo6Z3JhZGllbnRUcmFuc2Zvcm0oKSBjb25zdAotewotICAgIHJldHVybiBtX2dy
YWRpZW50VHJhbnNmb3JtOwotfQorICAgIC8vIEZJWE1FOiBUaGUgSGFzaE1hcCBzaG91bGQgYWx3
YXlzIGNvbnRhaW4gdGhlIG9iamVjdCBvbiBjYWxsaW5nIGludmFsaWRhdGVDbGllbnQuIEEgcmFj
ZSBjb25kaXRpb24KKyAgICAvLyBkdXJpbmcgdGhlIHBhcnNpbmcgY2FuIGNhdXNlcyBhIGNhbGwg
b2YgaW52YWxpZGF0ZUNsaWVudCByaWdodCBiZWZvcmUgdGhlIGNhbGwgb2YgYXBwbHlSZXNvdXJj
ZS4KKyAgICAvLyBXZSByZXR1cm4gZWFybGllciBmb3IgdGhlIG1vbWVudC4gVGhpcyBidWcgc2hv
dWxkIGJlIGZpeGVkIGluOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNTE4MQorICAgIGlmICghbV9ncmFkaWVudC5jb250YWlucyhvYmplY3QpKQorICAg
ICAgICByZXR1cm47CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0R3JhZGllbnRU
cmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCi17Ci0gICAgbV9ncmFk
aWVudFRyYW5zZm9ybSA9IHRyYW5zZm9ybTsKKyAgICBkZWxldGUgbV9ncmFkaWVudC50YWtlKG9i
amVjdCk7CisgICAgbWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKG9iamVjdCk7
CiB9CiAKICNpZiBQTEFURk9STShDRykKQEAgLTEzMCw5ICs4NiwxMCBAQCBzdGF0aWMgaW5saW5l
IEFmZmluZVRyYW5zZm9ybSBhYnNvbHV0ZVRyCiAgICAgcmV0dXJuIGFic29sdXRlVHJhbnNmb3Jt
OwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgY3JlYXRlTWFza0FuZFN3YXBDb250ZXh0Rm9yVGV4
dEdyYWRpZW50KAotICAgIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIEdyYXBoaWNzQ29udGV4
dComIHNhdmVkQ29udGV4dCwKLSAgICBPd25QdHI8SW1hZ2VCdWZmZXI+JiBpbWFnZUJ1ZmZlciwg
Y29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCitzdGF0aWMgaW5saW5lIGJvb2wgY3JlYXRlTWFz
a0FuZFN3YXBDb250ZXh0Rm9yVGV4dEdyYWRpZW50KEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdyYXBoaWNzQ29udGV4dComIHNhdmVkQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3duUHRyPEltYWdlQnVmZmVy
PiYgaW1hZ2VCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQogewogICAgIGNv
bnN0IFJlbmRlck9iamVjdCogdGV4dFJvb3RCbG9jayA9IGZpbmRUZXh0Um9vdE9iamVjdChvYmpl
Y3QpOwogCkBAIC0xNjIsMzUgKzExOSw1NyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY3JlYXRlTWFz
a0FuZFN3YXBDb250CiB9CiAKIHN0YXRpYyBpbmxpbmUgQWZmaW5lVHJhbnNmb3JtIGNsaXBUb1Rl
eHRNYXNrKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwKLSAgICBPd25QdHI8SW1hZ2VCdWZmZXI+
JiBpbWFnZUJ1ZmZlciwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsCi0gICAgY29uc3QgU1ZH
UGFpbnRTZXJ2ZXJHcmFkaWVudCogZ3JhZGllbnRTZXJ2ZXIpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+JiBpbWFnZUJ1ZmZl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFJl
bmRlck9iamVjdCogb2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR3JhZGllbnREYXRhKiBncmFkaWVudERhdGEpCiB7CiAgICAgY29uc3QgUmVuZGVy
T2JqZWN0KiB0ZXh0Um9vdEJsb2NrID0gZmluZFRleHRSb290T2JqZWN0KG9iamVjdCk7CiAgICAg
Y29udGV4dC0+Y2xpcFRvSW1hZ2VCdWZmZXIodGV4dFJvb3RCbG9jay0+cmVwYWludFJlY3RJbkxv
Y2FsQ29vcmRpbmF0ZXMoKSwgaW1hZ2VCdWZmZXIuZ2V0KCkpOwogCiAgICAgQWZmaW5lVHJhbnNm
b3JtIG1hdHJpeDsKLSAgICBpZiAoZ3JhZGllbnRTZXJ2ZXItPmJvdW5kaW5nQm94TW9kZSgpKSB7
CisgICAgaWYgKGdyYWRpZW50RGF0YS0+Ym91bmRpbmdCb3hNb2RlKSB7CiAgICAgICAgIEZsb2F0
UmVjdCBtYXNrQm91bmRpbmdCb3ggPSB0ZXh0Um9vdEJsb2NrLT5vYmplY3RCb3VuZGluZ0JveCgp
OwogICAgICAgICBtYXRyaXgudHJhbnNsYXRlKG1hc2tCb3VuZGluZ0JveC54KCksIG1hc2tCb3Vu
ZGluZ0JveC55KCkpOwogICAgICAgICBtYXRyaXguc2NhbGVOb25Vbmlmb3JtKG1hc2tCb3VuZGlu
Z0JveC53aWR0aCgpLCBtYXNrQm91bmRpbmdCb3guaGVpZ2h0KCkpOwogICAgIH0KLSAgICBtYXRy
aXgubXVsdGlwbHkoZ3JhZGllbnRTZXJ2ZXItPmdyYWRpZW50VHJhbnNmb3JtKCkpOworICAgIG1h
dHJpeC5tdWx0aXBseShncmFkaWVudERhdGEtPnRyYW5zZm9ybSk7CiAgICAgcmV0dXJuIG1hdHJp
eDsKIH0KICNlbmRpZgogCi1ib29sIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldHVwKEdyYXBo
aWNzQ29udGV4dComIGNvbnRleHQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBS
ZW5kZXJTdHlsZSpzdHlsZSwgU1ZHUGFpbnRUYXJnZXRUeXBlIHR5cGUsIGJvb2wgaXNQYWludGlu
Z1RleHQpIGNvbnN0Citib29sIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OmFwcGx5UmVzb3Vy
Y2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRlclN0eWxlKiBzdHlsZSwgR3JhcGhpY3NDb250
ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKQogewotICAgIG1fb3du
ZXJFbGVtZW50LT5idWlsZEdyYWRpZW50KCk7CisgICAgQVNTRVJUKG9iamVjdCk7CisgICAgQVNT
RVJUKHN0eWxlKTsKKyAgICBBU1NFUlQoY29udGV4dCk7CisgICAgQVNTRVJUKHJlc291cmNlTW9k
ZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOworCisgICAgLy8gQmUgc3VyZSB0byBzeW5jaHJvbml6
ZSBhbGwgU1ZHIHByb3BlcnRpZXMgb24gdGhlIGdyYWRpZW50RWxlbWVudCBfYmVmb3JlXyBwcm9j
ZXNzaW5nIGFueSBmdXJ0aGVyLgorICAgIC8vIE90aGVyd2hpc2UgdGhlIGNhbGwgdG8gY29sbGVj
dEdyYWRpZW50QXR0cmlidXRlcygpIGluIGNyZWF0ZVRpbGVJbWFnZSgpLCBtYXkgY2F1c2UgdGhl
IFNWRyBET00gcHJvcGVydHkKKyAgICAvLyBzeW5jaHJvbml6YXRpb24gdG8ga2ljayBpbiwgd2hp
Y2ggY2F1c2VzIGludmFsaWRhdGVDbGllbnRzKCkgdG8gYmUgY2FsbGVkLCB3aGljaCBpbiB0dXJu
IGRlbGV0ZXMgb3VyCisgICAgLy8gR3JhZGllbnREYXRhIG9iamVjdCEgTGVhdmluZyBvdXQgdGhl
IGxpbmUgYmVsb3cgd2lsbCBjYXVzZSBzdmcvZHluYW1pYy11cGRhdGVzL1NWRypHcmFkaWVudEVs
ZW1lbnQtc3ZnZG9tKiB0byBjcmFzaC4KKyAgICBTVkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50
RWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0dyYWRpZW50RWxlbWVudCo+KG5vZGUoKSk7CisgICAg
aWYgKCFncmFkaWVudEVsZW1lbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGNvbnN0
IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5zdmdTdHlsZSgpOwotICAgIGJvb2wg
aXNGaWxsZWQgPSAodHlwZSAmIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSkgJiYgc3ZnU3R5bGUtPmhh
c0ZpbGwoKTsKLSAgICBib29sIGlzU3Ryb2tlZCA9ICh0eXBlICYgQXBwbHlUb1N0cm9rZVRhcmdl
dFR5cGUpICYmIHN2Z1N0eWxlLT5oYXNTdHJva2UoKTsKKyAgICBncmFkaWVudEVsZW1lbnQtPnVw
ZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKGFueVFOYW1lKCkpOworCisgICAgaWYgKCFtX2dyYWRp
ZW50LmNvbnRhaW5zKG9iamVjdCkpCisgICAgICAgIG1fZ3JhZGllbnQuc2V0KG9iamVjdCwgbmV3
IEdyYWRpZW50RGF0YSk7CisKKyAgICBHcmFkaWVudERhdGEqIGdyYWRpZW50RGF0YSA9IG1fZ3Jh
ZGllbnQuZ2V0KG9iamVjdCk7CiAKLSAgICBBU1NFUlQoKGlzRmlsbGVkICYmICFpc1N0cm9rZWQp
IHx8ICghaXNGaWxsZWQgJiYgaXNTdHJva2VkKSk7CisgICAgLy8gQ3JlYXRlIGdyYWRpZW50IG9i
amVjdAorICAgIGlmICghZ3JhZGllbnREYXRhLT5ncmFkaWVudCkKKyAgICAgICAgYnVpbGRHcmFk
aWVudChncmFkaWVudERhdGEsIGdyYWRpZW50RWxlbWVudCk7CiAKKyAgICBpZiAoIWdyYWRpZW50
RGF0YS0+Z3JhZGllbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIERyYXcgZ3Jh
ZGllbnQKICAgICBjb250ZXh0LT5zYXZlKCk7CiAKKyAgICBib29sIGlzUGFpbnRpbmdUZXh0ID0g
cmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlOwogICAgIGlmIChpc1BhaW50aW5nVGV4dCkg
ewogI2lmIFBMQVRGT1JNKENHKQogICAgICAgICBpZiAoIWNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4
dEZvclRleHRHcmFkaWVudChjb250ZXh0LCBtX3NhdmVkQ29udGV4dCwgbV9pbWFnZUJ1ZmZlciwg
b2JqZWN0KSkgewpAQCAtMTk4LDc5ICsxNzcsODkgQEAgYm9vbCBTVkdQYWludFNlcnZlckdyYWRp
ZW50OjpzZXR1cChHcmFwaAogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAj
ZW5kaWYKLSAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKGlzRmlsbGVkID8gY1Rl
eHRGaWxsIDogY1RleHRTdHJva2UpOwotICAgIH0KIAotICAgIGlmIChpc0ZpbGxlZCkgewotICAg
ICAgICBjb250ZXh0LT5zZXRBbHBoYShzdmdTdHlsZS0+ZmlsbE9wYWNpdHkoKSk7Ci0gICAgICAg
IGNvbnRleHQtPnNldEZpbGxHcmFkaWVudChtX2dyYWRpZW50KTsKLSAgICAgICAgY29udGV4dC0+
c2V0RmlsbFJ1bGUoc3ZnU3R5bGUtPmZpbGxSdWxlKCkpOwotICAgIH0KLSAgICBpZiAoaXNTdHJv
a2VkKSB7Ci0gICAgICAgIGNvbnRleHQtPnNldEFscGhhKHN2Z1N0eWxlLT5zdHJva2VPcGFjaXR5
KCkpOwotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VHcmFkaWVudChtX2dyYWRpZW50KTsKLSAg
ICAgICAgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChjb250ZXh0LCBzdHlsZSwgb2JqZWN0KTsK
KyAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKHJlc291cmNlTW9kZSAmIEFwcGx5
VG9GaWxsTW9kZSA/IGNUZXh0RmlsbCA6IGNUZXh0U3Ryb2tlKTsKICAgICB9CiAKLSAgICBBZmZp
bmVUcmFuc2Zvcm0gbWF0cml4OwotICAgIC8vIENHIHBsYXRmb3JtcyB3aWxsIGhhbmRsZSB0aGUg
Z3JhZGllbnQgc3BhY2UgdHJhbnNmb3JtIGZvciB0ZXh0IGluCi0gICAgLy8gdGVhcmRvd24sIHNv
IHdlIGRvbid0IGFwcGx5IGl0IGhlcmUuICBGb3Igbm9uLUNHIHBsYXRmb3Jtcywgd2UKLSAgICAv
LyB3YW50IHRoZSB0ZXh0IGJvdW5kaW5nIGJveCBhcHBsaWVkIHRvIHRoZSBncmFkaWVudCBzcGFj
ZSB0cmFuc2Zvcm0gbm93LAotICAgIC8vIHNvIHRoZSBncmFkaWVudCBzaGFkZXIgY2FuIHVzZSBp
dC4KKyAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtOworCisgICAgLy8gQ0cgcGxhdGZvcm1z
IHdpbGwgaGFuZGxlIHRoZSBncmFkaWVudCBzcGFjZSB0cmFuc2Zvcm0gZm9yIHRleHQgYWZ0ZXIg
YXBwbHlpbmcgdGhlCisgICAgLy8gcmVzb3VyY2UsIHNvIGRvbid0IGFwcGx5IGl0IGhlcmUuIEZv
ciBub24tQ0cgcGxhdGZvcm1zLCB3ZSB3YW50IHRoZSB0ZXh0IGJvdW5kaW5nCisgICAgLy8gYm94
IGFwcGxpZWQgdG8gdGhlIGdyYWRpZW50IHNwYWNlIHRyYW5zZm9ybSBub3csIHNvIHRoZSBncmFk
aWVudCBzaGFkZXIgY2FuIHVzZSBpdC4KICNpZiBQTEFURk9STShDRykKLSAgICBpZiAoYm91bmRp
bmdCb3hNb2RlKCkgJiYgIWlzUGFpbnRpbmdUZXh0KSB7CisgICAgaWYgKGdyYWRpZW50RGF0YS0+
Ym91bmRpbmdCb3hNb2RlICYmICFpc1BhaW50aW5nVGV4dCkgewogI2Vsc2UKLSAgICBpZiAoYm91
bmRpbmdCb3hNb2RlKCkpIHsKKyAgICBpZiAoZ3JhZGllbnREYXRhLT5ib3VuZGluZ0JveE1vZGUp
IHsKICNlbmRpZgotICAgICAgICBGbG9hdFJlY3QgYmJveCA9IG9iamVjdC0+b2JqZWN0Qm91bmRp
bmdCb3goKTsKLSAgICAgICAgbWF0cml4LnRyYW5zbGF0ZShiYm94LngoKSwgYmJveC55KCkpOwot
ICAgICAgICBtYXRyaXguc2NhbGVOb25Vbmlmb3JtKGJib3gud2lkdGgoKSwgYmJveC5oZWlnaHQo
KSk7CisgICAgICAgIEZsb2F0UmVjdCBvYmplY3RCb3VuZGluZ0JveCA9IG9iamVjdC0+b2JqZWN0
Qm91bmRpbmdCb3goKTsKKyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZShvYmplY3RCb3VuZGlu
Z0JveC54KCksIG9iamVjdEJvdW5kaW5nQm94LnkoKSk7CisgICAgICAgIHRyYW5zZm9ybS5zY2Fs
ZU5vblVuaWZvcm0ob2JqZWN0Qm91bmRpbmdCb3gud2lkdGgoKSwgb2JqZWN0Qm91bmRpbmdCb3gu
aGVpZ2h0KCkpOworICAgIH0KKworICAgIHRyYW5zZm9ybS5tdWx0aXBseShncmFkaWVudERhdGEt
PnRyYW5zZm9ybSk7CisgICAgZ3JhZGllbnREYXRhLT5ncmFkaWVudC0+c2V0R3JhZGllbnRTcGFj
ZVRyYW5zZm9ybSh0cmFuc2Zvcm0pOworCisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0
eWxlID0gc3R5bGUtPnN2Z1N0eWxlKCk7CisgICAgQVNTRVJUKHN2Z1N0eWxlKTsKKworICAgIGlm
IChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKKyAgICAgICAgY29udGV4dC0+c2V0
QWxwaGEoc3ZnU3R5bGUtPmZpbGxPcGFjaXR5KCkpOworICAgICAgICBjb250ZXh0LT5zZXRGaWxs
R3JhZGllbnQoZ3JhZGllbnREYXRhLT5ncmFkaWVudCk7CisgICAgICAgIGNvbnRleHQtPnNldEZp
bGxSdWxlKHN2Z1N0eWxlLT5maWxsUnVsZSgpKTsKKyAgICB9IGVsc2UgaWYgKHJlc291cmNlTW9k
ZSAmIEFwcGx5VG9TdHJva2VNb2RlKSB7CisgICAgICAgIGNvbnRleHQtPnNldEFscGhhKHN2Z1N0
eWxlLT5zdHJva2VPcGFjaXR5KCkpOworICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VHcmFkaWVu
dChncmFkaWVudERhdGEtPmdyYWRpZW50KTsKKyAgICAgICAgYXBwbHlTdHJva2VTdHlsZVRvQ29u
dGV4dChjb250ZXh0LCBzdHlsZSwgb2JqZWN0KTsKICAgICB9Ci0gICAgbWF0cml4Lm11bHRpcGx5
KGdyYWRpZW50VHJhbnNmb3JtKCkpOwotICAgIG1fZ3JhZGllbnQtPnNldEdyYWRpZW50U3BhY2VU
cmFuc2Zvcm0obWF0cml4KTsKIAogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFNWR1BhaW50
U2VydmVyR3JhZGllbnQ6OnRlYXJkb3duKEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIGNvbnN0
IFJlbmRlck9iamVjdCogb2JqZWN0LCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGlu
Z1RleHQpIGNvbnN0Cit2b2lkIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OnBvc3RBcHBseVJl
c291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1
bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpCiB7CisgICAgQVNTRVJUKGNvbnRleHQpOworICAg
IEFTU0VSVChyZXNvdXJjZU1vZGUgIT0gQXBwbHlUb0RlZmF1bHRNb2RlKTsKKworICAgIGlmIChy
ZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1vZGUpIHsKICNpZiBQTEFURk9STShDRykKLSAgICAv
LyByZW5kZXJQYXRoKCkgaXMgbm90IHVzZWQgd2hlbiBwYWludGluZyB0ZXh0LCBzbyB3ZSBwYWlu
dCB0aGUgZ3JhZGllbnQgZHVyaW5nIHRlYXJkb3duKCkKLSAgICBpZiAoaXNQYWludGluZ1RleHQg
JiYgbV9zYXZlZENvbnRleHQpIHsKLSAgICAgICAgLy8gUmVzdG9yZSBvbi1zY3JlZW4gZHJhd2lu
ZyBjb250ZXh0Ci0gICAgICAgIGNvbnRleHQgPSBtX3NhdmVkQ29udGV4dDsKLSAgICAgICAgbV9z
YXZlZENvbnRleHQgPSAwOwotCi0gICAgICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXggPSBjbGlw
VG9UZXh0TWFzayhjb250ZXh0LCBtX2ltYWdlQnVmZmVyLCBvYmplY3QsIHRoaXMpOwotICAgICAg
ICBtX2dyYWRpZW50LT5zZXRHcmFkaWVudFNwYWNlVHJhbnNmb3JtKG1hdHJpeCk7Ci0gICAgICAg
IGNvbnRleHQtPnNldEZpbGxHcmFkaWVudChtX2dyYWRpZW50KTsKLSAgICAgICAgCi0gICAgICAg
IGNvbnN0IFJlbmRlck9iamVjdCogdGV4dFJvb3RCbG9jayA9IGZpbmRUZXh0Um9vdE9iamVjdChv
YmplY3QpOwotICAgICAgICBjb250ZXh0LT5maWxsUmVjdCh0ZXh0Um9vdEJsb2NrLT5yZXBhaW50
UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKyAgICAgICAgLy8gQ0cgcmVxdWlyZXMgc3BlY2lh
bCBoYW5kbGluZyBmb3IgZ3JhZGllbnQgb24gdGV4dAorICAgICAgICBpZiAobV9zYXZlZENvbnRl
eHQgJiYgbV9ncmFkaWVudC5jb250YWlucyhvYmplY3QpKSB7CisgICAgICAgICAgICBHcmFkaWVu
dERhdGEqIGdyYWRpZW50RGF0YSA9IG1fZ3JhZGllbnQuZ2V0KG9iamVjdCk7CiAKLSAgICAgICAg
bV9pbWFnZUJ1ZmZlci5jbGVhcigpOwotICAgIH0KKyAgICAgICAgICAgIC8vIFJlc3RvcmUgb24t
c2NyZWVuIGRyYXdpbmcgY29udGV4dAorICAgICAgICAgICAgY29udGV4dCA9IG1fc2F2ZWRDb250
ZXh0OworICAgICAgICAgICAgbV9zYXZlZENvbnRleHQgPSAwOworCisgICAgICAgICAgICBncmFk
aWVudERhdGEtPmdyYWRpZW50LT5zZXRHcmFkaWVudFNwYWNlVHJhbnNmb3JtKGNsaXBUb1RleHRN
YXNrKGNvbnRleHQsIG1faW1hZ2VCdWZmZXIsIG9iamVjdCwgZ3JhZGllbnREYXRhKSk7CisgICAg
ICAgICAgICBjb250ZXh0LT5zZXRGaWxsR3JhZGllbnQoZ3JhZGllbnREYXRhLT5ncmFkaWVudCk7
CisKKyAgICAgICAgICAgIGNvbnN0IFJlbmRlck9iamVjdCogdGV4dFJvb3RCbG9jayA9IGZpbmRU
ZXh0Um9vdE9iamVjdChvYmplY3QpOworICAgICAgICAgICAgY29udGV4dC0+ZmlsbFJlY3QodGV4
dFJvb3RCbG9jay0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisKKyAgICAgICAg
ICAgIG1faW1hZ2VCdWZmZXIuY2xlYXIoKTsKKyAgICAgICAgfQorI2Vsc2UKKyAgICAgICAgVU5V
U0VEX1BBUkFNKG9iamVjdCk7CiAjZW5kaWYKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAocmVz
b3VyY2VNb2RlICYgQXBwbHlUb0ZpbGxNb2RlKQorICAgICAgICAgICAgY29udGV4dC0+ZmlsbFBh
dGgoKTsKKyAgICAgICAgZWxzZSBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUp
CisgICAgICAgICAgICBjb250ZXh0LT5zdHJva2VQYXRoKCk7CisgICAgfQorCiAgICAgY29udGV4
dC0+cmVzdG9yZSgpOwogfQogCi1UZXh0U3RyZWFtJiBTVkdQYWludFNlcnZlckdyYWRpZW50Ojpl
eHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mIHRzKSBjb25zdAordm9pZCBSZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50OjphZGRTdG9wcyhHcmFkaWVudERhdGEqIGdyYWRpZW50RGF0YSwg
Y29uc3QgVmVjdG9yPEdyYWRpZW50OjpDb2xvclN0b3A+JiBzdG9wcykgY29uc3QKIHsKLSAgICAv
LyBHcmFkaWVudHMvcGF0dGVybnMgYXJlbid0IHNldHVwLCB1bnRpbCB0aGV5IGFyZSB1c2VkIGZv
ciBwYWludGluZy4gV29yayBhcm91bmQgdGhhdCBmYWN0LgotICAgIG1fb3duZXJFbGVtZW50LT5i
dWlsZEdyYWRpZW50KCk7Ci0KLSAgICAvLyBhYnN0cmFjdCwgZG9uJ3Qgc3RyZWFtIHR5cGUKLSAg
ICB0cyAgPDwgIltzdG9wcz0iIDw8IGdyYWRpZW50U3RvcHMoKSA8PCAiXSI7Ci0gICAgaWYgKG1f
Z3JhZGllbnQtPnNwcmVhZE1ldGhvZCgpICE9IFNwcmVhZE1ldGhvZFBhZCkKLSAgICAgICAgdHMg
PDwgIlttZXRob2Q9IiA8PCBtX2dyYWRpZW50LT5zcHJlYWRNZXRob2QoKSA8PCAiXSI7Ci0gICAg
aWYgKCFib3VuZGluZ0JveE1vZGUoKSkKLSAgICAgICAgdHMgPDwgIiBbYm91bmRpbmcgYm94IG1v
ZGU9IiA8PCBib3VuZGluZ0JveE1vZGUoKSA8PCAiXSI7Ci0gICAgaWYgKCFncmFkaWVudFRyYW5z
Zm9ybSgpLmlzSWRlbnRpdHkoKSkKLSAgICAgICAgdHMgPDwgIiBbdHJhbnNmb3JtPSIgPDwgZ3Jh
ZGllbnRUcmFuc2Zvcm0oKSA8PCAiXSI7CisgICAgQVNTRVJUKGdyYWRpZW50RGF0YS0+Z3JhZGll
bnQpOwogCi0gICAgcmV0dXJuIHRzOworICAgIGNvbnN0IFZlY3RvcjxHcmFkaWVudDo6Q29sb3JT
dG9wPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gc3RvcHMuZW5kKCk7CisgICAgZm9yIChWZWN0b3I8
R3JhZGllbnQ6OkNvbG9yU3RvcD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gc3RvcHMuYmVnaW4oKTsg
aXQgIT0gZW5kOyArK2l0KQorICAgICAgICBncmFkaWVudERhdGEtPmdyYWRpZW50LT5hZGRDb2xv
clN0b3AoKml0KTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfQogCiAjZW5kaWYKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgJKHJl
dmlzaW9uIDU4MDkzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFk
aWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDk4ICsxLDc1IEBACiAvKgogICogQ29weXJpZ2h0
IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICogICAg
ICAgICAgICAgICAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CisgKiBDb3B5cmln
aHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAK
ICNpZm5kZWYgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudF9oCiAjZGVmaW5lIFJlbmRlclNWR1Jl
c291cmNlR3JhZGllbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLQogI2luY2x1ZGUgIkFmZmluZVRy
YW5zZm9ybS5oIgotI2luY2x1ZGUgIkNvbG9yLmgiCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAj
aW5jbHVkZSAiR3JhZGllbnQuaCIKLSNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNs
dWRlICJTVkdQYWludFNlcnZlci5oIgorI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCisjaW5jbHVk
ZSAiUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaCIKKyNpbmNsdWRlICJTVkdHcmFkaWVudEVs
ZW1lbnQuaCIKIAotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgSW1hZ2VCdWZmZXI7Ci1jbGFzcyBTVkdHcmFkaWVudEVsZW1lbnQ7Ci0KLXR5cGVk
ZWYgc3RkOjpwYWlyPGZsb2F0LCBDb2xvcj4gU1ZHR3JhZGllbnRTdG9wOwotCi1jbGFzcyBTVkdQ
YWludFNlcnZlckdyYWRpZW50IDogcHVibGljIFNWR1BhaW50U2VydmVyIHsKLXB1YmxpYzoKLSAg
ICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlckdyYWRpZW50KCk7Ci0KLSAgICB2b2lkIHNldEdyYWRp
ZW50KFBhc3NSZWZQdHI8R3JhZGllbnQ+KTsKLSAgICBHcmFkaWVudCogZ3JhZGllbnQoKSBjb25z
dDsKK3N0cnVjdCBHcmFkaWVudERhdGEgeworICAgIFJlZlB0cjxHcmFkaWVudD4gZ3JhZGllbnQ7
CiAKLSAgICAvLyBHcmFkaWVudCBzdGFydCBhbmQgZW5kIHBvaW50cyBhcmUgcGVyY2VudGFnZXMg
d2hlbiB1c2VkIGluIGJvdW5kaW5nQm94IG1vZGUuCi0gICAgLy8gRm9yIGluc3RhbmNlIHN0YXJ0
IHBvaW50IHdpdGggdmFsdWUgKDAsMCkgaXMgdG9wLWxlZnQgYW5kIGVuZCBwb2ludCB3aXRoCi0g
ICAgLy8gdmFsdWUgKDEwMCwgMTAwKSBpcyBib3R0b20tcmlnaHQuIEJvdW5kaW5nQm94IG1vZGUg
aXMgZW5hYmxlZCBieSBkZWZhdWx0LgotICAgIGJvb2wgYm91bmRpbmdCb3hNb2RlKCkgY29uc3Q7
Ci0gICAgdm9pZCBzZXRCb3VuZGluZ0JveE1vZGUoYm9vbCBtb2RlID0gdHJ1ZSk7CisgICAgYm9v
bCBib3VuZGluZ0JveE1vZGU7CisgICAgQWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybTsKK307CiAK
LSAgICBBZmZpbmVUcmFuc2Zvcm0gZ3JhZGllbnRUcmFuc2Zvcm0oKSBjb25zdDsKLSAgICB2b2lk
IHNldEdyYWRpZW50VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOworY2xhc3MgR3Jh
cGhpY3NDb250ZXh0OwogCi0gICAgdm9pZCBzZXRHcmFkaWVudFN0b3BzKGNvbnN0IFZlY3RvcjxT
VkdHcmFkaWVudFN0b3A+JiBzdG9wcykgeyBtX3N0b3BzID0gc3RvcHM7IH0KLSAgICBjb25zdCBW
ZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYgZ3JhZGllbnRTdG9wcygpIGNvbnN0IHsgcmV0dXJuIG1f
c3RvcHM7IH0KK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQgOiBwdWJsaWMgUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIgeworcHVibGljOgorICAgIFJlbmRlclNWR1Jlc291cmNlR3Jh
ZGllbnQoU1ZHR3JhZGllbnRFbGVtZW50Kik7CisgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudCgpOwogCi0gICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2Vu
dGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNs
aWVudHMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmplY3Qq
KTsKIAotICAgIHZpcnR1YWwgYm9vbCBzZXR1cChHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVu
ZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyU3R5bGUqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wg
aXNQYWludGluZ1RleHQpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCB0ZWFyZG93bihHcmFwaGlj
c0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29s
IGlzUGFpbnRpbmdUZXh0KSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShS
ZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBz
aG9ydCByZXNvdXJjZU1vZGUpOworICAgIHZpcnR1YWwgdm9pZCBwb3N0QXBwbHlSZXNvdXJjZShS
ZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VN
b2RlKTsKKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXNvdXJjZUJvdW5kaW5nQm94KGNvbnN0IEZs
b2F0UmVjdCYpIGNvbnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9CiAKIHByb3RlY3RlZDoKLSAg
ICBTVkdQYWludFNlcnZlckdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIp
OwotICAgIAorICAgIHZvaWQgYWRkU3RvcHMoR3JhZGllbnREYXRhKiwgY29uc3QgVmVjdG9yPEdy
YWRpZW50OjpDb2xvclN0b3A+JikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGJ1aWxkR3JhZGll
bnQoR3JhZGllbnREYXRhKiwgU1ZHR3JhZGllbnRFbGVtZW50KikgY29uc3QgPSAwOworCiBwcml2
YXRlOgotICAgIFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+IG1fc3RvcHM7Ci0gICAgUmVmUHRyPEdy
YWRpZW50PiBtX2dyYWRpZW50OwotICAgIGJvb2wgbV9ib3VuZGluZ0JveE1vZGU7Ci0gICAgQWZm
aW5lVHJhbnNmb3JtIG1fZ3JhZGllbnRUcmFuc2Zvcm07Ci0gICAgY29uc3QgU1ZHR3JhZGllbnRF
bGVtZW50KiBtX293bmVyRWxlbWVudDsKKyAgICBIYXNoTWFwPFJlbmRlck9iamVjdCosIEdyYWRp
ZW50RGF0YSo+IG1fZ3JhZGllbnQ7CiAKICNpZiBQTEFURk9STShDRykKLXB1YmxpYzoKLSAgICBt
dXRhYmxlIEdyYXBoaWNzQ29udGV4dCogbV9zYXZlZENvbnRleHQ7Ci0gICAgbXV0YWJsZSBPd25Q
dHI8SW1hZ2VCdWZmZXI+IG1faW1hZ2VCdWZmZXI7CisgICAgR3JhcGhpY3NDb250ZXh0KiBtX3Nh
dmVkQ29udGV4dDsKKyAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IG1faW1hZ2VCdWZmZXI7CiAjZW5k
aWYKIH07CiAKLWlubGluZSBTVkdHcmFkaWVudFN0b3AgbWFrZUdyYWRpZW50U3RvcChmbG9hdCBv
ZmZzZXQsIGNvbnN0IENvbG9yJiBjb2xvcikKLXsKLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIo
b2Zmc2V0LCBjb2xvcik7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQogI2VuZGlmCi0K
LSNlbmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50X2gKKyNlbmRpZgpJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVu
dC5jcHAJKHJldmlzaW9uIDU4MDkzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VMaW5lYXJHcmFkaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMjYgKzEsMjIgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5u
QGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIw
MTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTI4LDQ4ICsyNCw0
MyBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJH
cmFkaWVudC5oIgogCi0jaW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgorI2luY2x1ZGUg
IkxpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIgorI2luY2x1ZGUgIlNWR0xpbmVhckdyYWRpZW50
RWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1BhaW50U2VydmVyTGluZWFy
R3JhZGllbnQ6OlNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQoY29uc3QgU1ZHR3JhZGllbnRF
bGVtZW50KiBvd25lcikKLSAgICA6IFNWR1BhaW50U2VydmVyR3JhZGllbnQob3duZXIpCi17IAot
fQorUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQ6
OnNfcmVzb3VyY2VUeXBlID0gTGluZWFyR3JhZGllbnRSZXNvdXJjZVR5cGU7CiAKLVNWR1BhaW50
U2VydmVyTGluZWFyR3JhZGllbnQ6On5TVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50KCkKK1Jl
bmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQ6OlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3Jh
ZGllbnQoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KiBub2RlKQorICAgIDogUmVuZGVyU1ZHUmVz
b3VyY2VHcmFkaWVudChub2RlKQogewogfQogCi1GbG9hdFBvaW50IFNWR1BhaW50U2VydmVyTGlu
ZWFyR3JhZGllbnQ6OmdyYWRpZW50U3RhcnQoKSBjb25zdAorUmVuZGVyU1ZHUmVzb3VyY2VMaW5l
YXJHcmFkaWVudDo6flJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQoKQogewotICAgIHJl
dHVybiBtX3N0YXJ0OwogfQogCi12b2lkIFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ6OnNl
dEdyYWRpZW50U3RhcnQoY29uc3QgRmxvYXRQb2ludCYgc3RhcnQpCit2b2lkIFJlbmRlclNWR1Jl
c291cmNlTGluZWFyR3JhZGllbnQ6OmJ1aWxkR3JhZGllbnQoR3JhZGllbnREYXRhKiBncmFkaWVu
dERhdGEsIFNWR0dyYWRpZW50RWxlbWVudCogZ3JhZGllbnRFbGVtZW50KSBjb25zdAogewotICAg
IG1fc3RhcnQgPSBzdGFydDsKLX0KKyAgICBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqIGxpbmVh
ckdyYWRpZW50RWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCo+
KGdyYWRpZW50RWxlbWVudCk7CisgICAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIGF0dHJpYnV0
ZXMgPSBsaW5lYXJHcmFkaWVudEVsZW1lbnQtPmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKTsK
IAotRmxvYXRQb2ludCBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50OjpncmFkaWVudEVuZCgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZW5kOwotfQorICAgIC8vIERldGVybWluZSBncmFkaWVu
dCBzdGFydC9lbmQgcG9pbnRzCisgICAgRmxvYXRQb2ludCBzdGFydFBvaW50OworICAgIEZsb2F0
UG9pbnQgZW5kUG9pbnQ7CisgICAgbGluZWFyR3JhZGllbnRFbGVtZW50LT5jYWxjdWxhdGVTdGFy
dEVuZFBvaW50cyhhdHRyaWJ1dGVzLCBzdGFydFBvaW50LCBlbmRQb2ludCk7CiAKLXZvaWQgU1ZH
UGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6c2V0R3JhZGllbnRFbmQoY29uc3QgRmxvYXRQb2lu
dCYgZW5kKQotewotICAgIG1fZW5kID0gZW5kOwotfQorICAgIGdyYWRpZW50RGF0YS0+Z3JhZGll
bnQgPSBHcmFkaWVudDo6Y3JlYXRlKHN0YXJ0UG9pbnQsIGVuZFBvaW50KTsKKyAgICBncmFkaWVu
dERhdGEtPmdyYWRpZW50LT5zZXRTcHJlYWRNZXRob2QoYXR0cmlidXRlcy5zcHJlYWRNZXRob2Qo
KSk7CiAKLVRleHRTdHJlYW0mIFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ6OmV4dGVybmFs
UmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Ci17Ci0gICAgdHMgPDwgIlt0eXBl
PUxJTkVBUi1HUkFESUVOVF0gIjsKLSAgICBTVkdQYWludFNlcnZlckdyYWRpZW50OjpleHRlcm5h
bFJlcHJlc2VudGF0aW9uKHRzKTsKLSAgICB0cyAgPDwgIiBbc3RhcnQ9IiA8PCBncmFkaWVudFN0
YXJ0KCkgPDwgIl0iCi0gICAgICAgIDw8ICIgW2VuZD0iIDw8IGdyYWRpZW50RW5kKCkgPDwgIl0i
OwotICAgIHJldHVybiB0czsKKyAgICAvLyBSZWNvcmQgY3VycmVudCBncmFkaWVudCB0cmFuc2Zv
cm0KKyAgICBncmFkaWVudERhdGEtPnRyYW5zZm9ybSA9IGF0dHJpYnV0ZXMuZ3JhZGllbnRUcmFu
c2Zvcm0oKTsKKyAgICBncmFkaWVudERhdGEtPmJvdW5kaW5nQm94TW9kZSA9IGF0dHJpYnV0ZXMu
Ym91bmRpbmdCb3hNb2RlKCk7CisKKyAgICAvLyBBZGQgc3RvcHMKKyAgICBhZGRTdG9wcyhncmFk
aWVudERhdGEsIGF0dHJpYnV0ZXMuc3RvcHMoKSk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKK30KIAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oCShyZXZpc2lvbiA1ODA5MykKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMSw2MiArMSw0OCBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFpp
bW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2gg
SW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAogI2lmbmRlZiBSZW5kZXJT
VkdSZXNvdXJjZUxpbmVhckdyYWRpZW50X2gKICNkZWZpbmUgUmVuZGVyU1ZHUmVzb3VyY2VMaW5l
YXJHcmFkaWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotCi0jaW5jbHVkZSAiRmxvYXRQb2ludC5o
IgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50IDogcHVibGljIFNW
R1BhaW50U2VydmVyR3JhZGllbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNW
R1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ+IGNyZWF0ZShjb25zdCBTVkdHcmFkaWVudEVsZW1l
bnQqIG93bmVyKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFk
aWVudChvd25lcikpOyB9Ci0gICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVu
dCgpOwotCi0gICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0
dXJuIExpbmVhckdyYWRpZW50UGFpbnRTZXJ2ZXI7IH0KK2NsYXNzIFNWR0xpbmVhckdyYWRpZW50
RWxlbWVudDsKIAotICAgIEZsb2F0UG9pbnQgZ3JhZGllbnRTdGFydCgpIGNvbnN0OwotICAgIHZv
aWQgc2V0R3JhZGllbnRTdGFydChjb25zdCBGbG9hdFBvaW50Jik7Ci0KLSAgICBGbG9hdFBvaW50
IGdyYWRpZW50RW5kKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRHcmFkaWVudEVuZChjb25zdCBGbG9h
dFBvaW50Jik7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IDogcHVibGlj
IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQgeworcHVibGljOgorICAgIFJlbmRlclNWR1Jlc291
cmNlTGluZWFyR3JhZGllbnQoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Kik7CisgICAgdmlydHVh
bCB+UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCgpOwogCi0gICAgdmlydHVhbCBUZXh0
U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKKyAgICB2
aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyU1ZH
UmVzb3VyY2VMaW5lYXJHcmFkaWVudCI7IH0KIAotcHJpdmF0ZToKLSAgICBTVkdQYWludFNlcnZl
ckxpbmVhckdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpOworICAgIHZp
cnR1YWwgUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0IHsgcmV0dXJu
IHNfcmVzb3VyY2VUeXBlOyB9CisgICAgc3RhdGljIFJlbmRlclNWR1Jlc291cmNlVHlwZSBzX3Jl
c291cmNlVHlwZTsKIAotICAgIEZsb2F0UG9pbnQgbV9zdGFydDsKLSAgICBGbG9hdFBvaW50IG1f
ZW5kOworICAgIHZpcnR1YWwgdm9pZCBidWlsZEdyYWRpZW50KEdyYWRpZW50RGF0YSosIFNWR0dy
YWRpZW50RWxlbWVudCopIGNvbnN0OwogfTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfQog
CiAjZW5kaWYKLQotI2VuZGlmIC8vIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnRfaAor
I2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJr
ZXIuY3BwCShyZXZpc2lvbiA1ODA5MikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jl
c291cmNlTWFya2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsOCArMzUsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFJlbmRlclNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZU1h
cmtlcjo6c19yZXNvdXJjZVR5cGUgPSBNYXJrZXJSZXNvdXJjZVR5cGU7CiAKLVJlbmRlclNWR1Jl
c291cmNlTWFya2VyOjpSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcihTVkdTdHlsZWRFbGVtZW50KiBu
b2RlKQotICAgIDogUmVuZGVyU1ZHUmVzb3VyY2Uobm9kZSkKK1JlbmRlclNWR1Jlc291cmNlTWFy
a2VyOjpSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcihTVkdNYXJrZXJFbGVtZW50KiBub2RlKQorICAg
IDogUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKIHsKIH0KIApAQCAtODIsNiArODIs
NyBAQCB2b2lkIFJlbmRlclNWR1Jlc291cmNlTWFya2VyOjppbnZhbGlkYXRlCiAgICAgICAgIHJl
dHVybjsKIAogICAgIG1fbWFya2VyLnJlbW92ZShvYmplY3QpOworICAgIG1hcmtGb3JMYXlvdXRB
bmRSZXNvdXJjZUludmFsaWRhdGlvbihvYmplY3QpOwogfQogCiB2b2lkIFJlbmRlclNWR1Jlc291
cmNlTWFya2VyOjphcHBseVZpZXdwb3J0Q2xpcChQYWludEluZm8mIHBhaW50SW5mbykKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaAkocmV2aXNpb24g
NTgwOTIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRl
ICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKLSNpbmNsdWRlICJSZW5k
ZXJTVkdSZXNvdXJjZS5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgi
CiAjaW5jbHVkZSAiU1ZHTWFya2VyRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1l
bnQuaCIKIApAQCAtMzQsMTAgKzM0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBB
ZmZpbmVUcmFuc2Zvcm07CiAKLWNsYXNzIFJlbmRlclNWR1Jlc291cmNlTWFya2VyIDogcHVibGlj
IFJlbmRlclNWR1Jlc291cmNlIHsKLQorY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIgOiBw
dWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIgewogcHVibGljOgotICAgIFJlbmRlclNW
R1Jlc291cmNlTWFya2VyKFNWR1N0eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJj
ZU1hcmtlcihTVkdNYXJrZXJFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3Vy
Y2VNYXJrZXIoKTsKIAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0
IHsgcmV0dXJuICJSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciI7IH0KQEAgLTU4LDcgKzU3LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBsb2NhbFRvUGFyZW50
VHJhbnNmb3JtKCkgY29uc3Q7CiAgICAgQWZmaW5lVHJhbnNmb3JtIG1hcmtlclRyYW5zZm9ybWF0
aW9uKGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdpbiwgZmxvYXQgYW5nbGUsIGZsb2F0IHN0cm9rZVdp
ZHRoKSBjb25zdDsKIAotICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291cmNlKFJlbmRlck9iamVj
dCosIEdyYXBoaWNzQ29udGV4dComKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9v
bCBhcHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKiwgR3JhcGhpY3NDb250
ZXh0KiYsIHVuc2lnbmVkIHNob3J0KSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgRmxv
YXRSZWN0IHJlc291cmNlQm91bmRpbmdCb3goY29uc3QgRmxvYXRSZWN0JikgY29uc3QgeyByZXR1
cm4gRmxvYXRSZWN0KCk7IH0KIAogICAgIEZsb2F0UG9pbnQgcmVmZXJlbmNlUG9pbnQoKSBjb25z
dDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5j
cHAJKHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0Miw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIFJlbmRlclNWR1Jlc291cmNlTWFza2Vy
OjpzX3Jlc291cmNlVHlwZSA9IE1hc2tlclJlc291cmNlVHlwZTsKIAotUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXNrZXI6OlJlbmRlclNWR1Jlc291cmNlTWFza2VyKFNWR1N0eWxlZEVsZW1lbnQqIG5vZGUp
Ci0gICAgOiBSZW5kZXJTVkdSZXNvdXJjZShub2RlKQorUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6
OlJlbmRlclNWR1Jlc291cmNlTWFza2VyKFNWR01hc2tFbGVtZW50KiBub2RlKQorICAgIDogUmVu
ZGVyU1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKIHsKIH0KIApAQCAtNzcsMTMgKzc3LDE1IEBA
IHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OmludmFsaWRhdGUKICAgICBpZiAoIW1fbWFz
a2VyLmNvbnRhaW5zKG9iamVjdCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRlbGV0ZSBtX21h
c2tlci50YWtlKG9iamVjdCk7IAorICAgIGRlbGV0ZSBtX21hc2tlci50YWtlKG9iamVjdCk7Cisg
ICAgbWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKG9iamVjdCk7CiB9CiAKLWJv
b2wgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBv
YmplY3QsIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQpCitib29sIFJlbmRlclNWR1Jlc291cmNl
TWFza2VyOjphcHBseVJlc291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBSZW5kZXJTdHlsZSos
IEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkK
IHsKICAgICBBU1NFUlQob2JqZWN0KTsKICAgICBBU1NFUlQoY29udGV4dCk7CisgICAgQVNTRVJU
KHJlc291cmNlTW9kZSA9PSBBcHBseVRvRGVmYXVsdE1vZGUpOwogCiAgICAgaWYgKCFtX21hc2tl
ci5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX21hc2tlci5zZXQob2JqZWN0LCBuZXcgTWFz
a2VyRGF0YSk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFz
a2VyLmgJKHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VNYXNrZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUg
IkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAi
SW50U2l6ZS5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiUmVu
ZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdNYXNrRWxlbWVudC5oIgog
I2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgogCkBAIC0zNiw5ICszNiw4IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHN0cnVjdCBNYXNrZXJEYXRhIHsKLSAgICBNYXNrZXJEYXRhKEZsb2F0UmVj
dCByZWN0ID0gRmxvYXRSZWN0KCksIGJvb2wgZW1wdHlPYmplY3QgPSBmYWxzZSkKLSAgICAgICAg
OiBtYXNrUmVjdChyZWN0KQotICAgICAgICAsIGVtcHR5TWFzayhlbXB0eU9iamVjdCkKKyAgICBN
YXNrZXJEYXRhKCkKKyAgICAgICAgOiBlbXB0eU1hc2soZmFsc2UpCiAgICAgewogICAgIH0KIApA
QCAtNDcsMTAgKzQ2LDkgQEAgc3RydWN0IE1hc2tlckRhdGEgewogICAgIGJvb2wgZW1wdHlNYXNr
OwogfTsKIAotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIgOiBwdWJsaWMgUmVuZGVyU1ZH
UmVzb3VyY2UgewotCitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlciA6IHB1YmxpYyBSZW5k
ZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CiBwdWJsaWM6Ci0gICAgUmVuZGVyU1ZHUmVzb3VyY2VN
YXNrZXIoU1ZHU3R5bGVkRWxlbWVudCopOworICAgIFJlbmRlclNWR1Jlc291cmNlTWFza2VyKFNW
R01hc2tFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIoKTsK
IAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJS
ZW5kZXJTVkdSZXNvdXJjZU1hc2tlciI7IH0KQEAgLTU4LDcgKzU2LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50cygpOwogICAgIHZpcnR1YWwgdm9pZCBpbnZh
bGlkYXRlQ2xpZW50KFJlbmRlck9iamVjdCopOwogCi0gICAgdmlydHVhbCBib29sIGFwcGx5UmVz
b3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYpOworICAgIHZpcnR1YWwgYm9v
bCBhcHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKiwgR3JhcGhpY3NDb250
ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CiAgICAgdmlydHVhbCBGbG9hdFJl
Y3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKIAogICAgIFNW
R1VuaXRUeXBlczo6U1ZHVW5pdFR5cGUgbWFza1VuaXRzKCkgY29uc3QgeyByZXR1cm4gdG9Vbml0
VHlwZShzdGF0aWNfY2FzdDxTVkdNYXNrRWxlbWVudCo+KG5vZGUoKSktPm1hc2tVbml0cygpKTsg
fQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4u
Y3BwCShyZXZpc2lvbiA1ODA5MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlUGF0dGVybi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMjcgKzEsMjIgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+
Ci0gKiAgICAgICAgICAgICAgIDIwMDggRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+Cisg
KiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBV
VEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTI5LDE1NSArMjQsMjk2IEBACiAjaWYg
RU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uaCIKIAotI2lu
Y2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgot
I2luY2x1ZGUgIkltYWdlLmgiCi0jaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJQ
YXR0ZXJuLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiU1ZHUGF0dGVy
bkVsZW1lbnQuaCIKLSNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCi0KLXVzaW5nIG5h
bWVzcGFjZSBzdGQ7CisjaW5jbHVkZSAiUGF0dGVybkF0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlICJT
VkdSZW5kZXJTdXBwb3J0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU1ZHUGFpbnRTZXJ2
ZXJQYXR0ZXJuOjpTVkdQYWludFNlcnZlclBhdHRlcm4oY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQq
IG93bmVyKQotICAgIDogbV9vd25lckVsZW1lbnQob3duZXIpCi0gICAgLCBtX3BhdHRlcm4oMCkK
LXsKLSAgICBBU1NFUlQob3duZXIpOwotfQorUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIFJlbmRlclNW
R1Jlc291cmNlUGF0dGVybjo6c19yZXNvdXJjZVR5cGUgPSBQYXR0ZXJuUmVzb3VyY2VUeXBlOwog
Ci1TVkdQYWludFNlcnZlclBhdHRlcm46On5TVkdQYWludFNlcnZlclBhdHRlcm4oKQorUmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4oU1ZHUGF0dGVybkVs
ZW1lbnQqIG5vZGUpCisgICAgOiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihub2RlKQogewog
fQogCi1GbG9hdFJlY3QgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpwYXR0ZXJuQm91bmRhcmllcygp
IGNvbnN0CitSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46On5SZW5kZXJTVkdSZXNvdXJjZVBhdHRl
cm4oKQogewotICAgIHJldHVybiBtX3BhdHRlcm5Cb3VuZGFyaWVzOworICAgIGRlbGV0ZUFsbFZh
bHVlcyhtX3BhdHRlcm4pOworICAgIG1fcGF0dGVybi5jbGVhcigpOwogfQogCi12b2lkIFNWR1Bh
aW50U2VydmVyUGF0dGVybjo6c2V0UGF0dGVybkJvdW5kYXJpZXMoY29uc3QgRmxvYXRSZWN0JiBy
ZWN0KQordm9pZCBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmludmFsaWRhdGVDbGllbnRzKCkK
IHsKLSAgICBtX3BhdHRlcm5Cb3VuZGFyaWVzID0gcmVjdDsKLX0KKyAgICBjb25zdCBIYXNoTWFw
PFJlbmRlck9iamVjdCosIFBhdHRlcm5EYXRhKj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fcGF0
dGVybi5lbmQoKTsKKyAgICBmb3IgKEhhc2hNYXA8UmVuZGVyT2JqZWN0KiwgUGF0dGVybkRhdGEq
Pjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX3BhdHRlcm4uYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KQorICAgICAgICBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24oaXQtPmZpcnN0
KTsKIAotSW1hZ2VCdWZmZXIqIFNWR1BhaW50U2VydmVyUGF0dGVybjo6dGlsZSgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG1fdGlsZS5nZXQoKTsKKyAgICBkZWxldGVBbGxWYWx1ZXMobV9wYXR0ZXJu
KTsKKyAgICBtX3BhdHRlcm4uY2xlYXIoKTsKIH0KIAotdm9pZCBTVkdQYWludFNlcnZlclBhdHRl
cm46OnNldFRpbGUoUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gdGlsZSkKK3ZvaWQgUmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuOjppbnZhbGlkYXRlQ2xpZW50KFJlbmRlck9iamVjdCogb2JqZWN0KQog
ewotICAgIG1fdGlsZSA9IHRpbGU7Ci19CisgICAgQVNTRVJUKG9iamVjdCk7CiAKLUFmZmluZVRy
YW5zZm9ybSBTVkdQYWludFNlcnZlclBhdHRlcm46OnBhdHRlcm5UcmFuc2Zvcm0oKSBjb25zdAot
ewotICAgIHJldHVybiBtX3BhdHRlcm5UcmFuc2Zvcm07Ci19CisgICAgLy8gRklYTUU6IFRoZSBI
YXNoTWFwIHNob3VsZCBhbHdheXMgY29udGFpbiB0aGUgb2JqZWN0IG9uIGNhbGxpbmcgaW52YWxp
ZGF0ZUNsaWVudC4gQSByYWNlIGNvbmRpdGlvbgorICAgIC8vIGR1cmluZyB0aGUgcGFyc2luZyBj
YW4gY2F1c2VzIGEgY2FsbCBvZiBpbnZhbGlkYXRlQ2xpZW50IHJpZ2h0IGJlZm9yZSB0aGUgY2Fs
bCBvZiBhcHBseVJlc291cmNlLgorICAgIC8vIFdlIHJldHVybiBlYXJsaWVyIGZvciB0aGUgbW9t
ZW50LiBUaGlzIGJ1ZyBzaG91bGQgYmUgZml4ZWQgaW46CisgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MTgxCisgICAgaWYgKCFtX3BhdHRlcm4uY29udGFp
bnMob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuOwogCi12b2lkIFNWR1BhaW50U2VydmVyUGF0dGVy
bjo6c2V0UGF0dGVyblRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSkK
LXsKLSAgICBtX3BhdHRlcm5UcmFuc2Zvcm0gPSB0cmFuc2Zvcm07CisgICAgZGVsZXRlIG1fcGF0
dGVybi50YWtlKG9iamVjdCk7CisgICAgbWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0
aW9uKG9iamVjdCk7CiB9CiAKLVRleHRTdHJlYW0mIFNWR1BhaW50U2VydmVyUGF0dGVybjo6ZXh0
ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKK2Jvb2wgUmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuOjphcHBseVJlc291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBSZW5k
ZXJTdHlsZSogc3R5bGUsIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVuc2lnbmVkIHNob3J0
IHJlc291cmNlTW9kZSkKIHsKLSAgICAvLyBHcmFkaWVudHMvcGF0dGVybnMgYXJlbid0IHNldHVw
LCB1bnRpbCB0aGV5IGFyZSB1c2VkIGZvciBwYWludGluZy4gV29yayBhcm91bmQgdGhhdCBmYWN0
LgotICAgIG1fb3duZXJFbGVtZW50LT5idWlsZFBhdHRlcm4oRmxvYXRSZWN0KDAuMGYsIDAuMGYs
IDEuMGYsIDEuMGYpKTsKKyAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBBU1NFUlQoc3R5bGUpOwor
ICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBBU1NFUlQocmVzb3VyY2VNb2RlICE9IEFwcGx5VG9E
ZWZhdWx0TW9kZSk7CiAKLSAgICB0cyA8PCAiW3R5cGU9UEFUVEVSTl0iCi0gICAgICAgIDw8ICIg
W2Jib3g9IiA8PCBwYXR0ZXJuQm91bmRhcmllcygpIDw8ICJdIjsKLSAgICBpZiAoIXBhdHRlcm5U
cmFuc2Zvcm0oKS5pc0lkZW50aXR5KCkpCi0gICAgICAgIHRzIDw8ICIgW3BhdHRlcm4gdHJhbnNm
b3JtPSIgPDwgcGF0dGVyblRyYW5zZm9ybSgpIDw8ICJdIjsKLSAgICByZXR1cm4gdHM7Ci19Ci0K
LWJvb2wgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpzZXR1cChHcmFwaGljc0NvbnRleHQqJiBjb250
ZXh0LCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxl
LCBTVkdQYWludFRhcmdldFR5cGUgdHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3QKLXsK
LSAgICBGbG9hdFJlY3QgdGFyZ2V0UmVjdCA9IG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKTsK
KyAgICAvLyBCZSBzdXJlIHRvIHN5bmNocm9uaXplIGFsbCBTVkcgcHJvcGVydGllcyBvbiB0aGUg
cGF0dGVybkVsZW1lbnQgX2JlZm9yZV8gcHJvY2Vzc2luZyBhbnkgZnVydGhlci4KKyAgICAvLyBP
dGhlcndoaXNlIHRoZSBjYWxsIHRvIGNvbGxlY3RQYXR0ZXJuQXR0cmlidXRlcygpIGluIGNyZWF0
ZVRpbGVJbWFnZSgpLCBtYXkgY2F1c2UgdGhlIFNWRyBET00gcHJvcGVydHkKKyAgICAvLyBzeW5j
aHJvbml6YXRpb24gdG8ga2ljayBpbiwgd2hpY2ggY2F1c2VzIGludmFsaWRhdGVDbGllbnRzKCkg
dG8gYmUgY2FsbGVkLCB3aGljaCBpbiB0dXJuIGRlbGV0ZXMgb3VyCisgICAgLy8gUGF0dGVybkRh
dGEgb2JqZWN0ISBMZWF2aW5nIG91dCB0aGUgbGluZSBiZWxvdyB3aWxsIGNhdXNlIHN2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHUGF0dGVybkVsZW1lbnQtc3ZnZG9tKiB0byBjcmFzaC4KKyAgICBTVkdQ
YXR0ZXJuRWxlbWVudCogcGF0dGVybkVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdQYXR0ZXJuRWxl
bWVudCo+KG5vZGUoKSk7CisgICAgaWYgKCFwYXR0ZXJuRWxlbWVudCkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2
Z1N0eWxlKCk7Ci0gICAgYm9vbCBpc0ZpbGxlZCA9ICh0eXBlICYgQXBwbHlUb0ZpbGxUYXJnZXRU
eXBlKSAmJiBzdmdTdHlsZS0+aGFzRmlsbCgpOwotICAgIGJvb2wgaXNTdHJva2VkID0gKHR5cGUg
JiBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSkgJiYgc3ZnU3R5bGUtPmhhc1N0cm9rZSgpOworICAg
IHBhdHRlcm5FbGVtZW50LT51cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZShhbnlRTmFtZSgpKTsK
IAotICAgIEFTU0VSVCgoaXNGaWxsZWQgJiYgIWlzU3Ryb2tlZCkgfHwgKCFpc0ZpbGxlZCAmJiBp
c1N0cm9rZWQpKTsKKyAgICBpZiAoIW1fcGF0dGVybi5jb250YWlucyhvYmplY3QpKQorICAgICAg
ICBtX3BhdHRlcm4uc2V0KG9iamVjdCwgbmV3IFBhdHRlcm5EYXRhKTsKIAotICAgIG1fb3duZXJF
bGVtZW50LT5idWlsZFBhdHRlcm4odGFyZ2V0UmVjdCk7Ci0gICAgaWYgKCF0aWxlKCkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBQYXR0ZXJuRGF0YSogcGF0dGVybkRhdGEgPSBtX3BhdHRl
cm4uZ2V0KG9iamVjdCk7CisgICAgaWYgKCFwYXR0ZXJuRGF0YS0+cGF0dGVybikgeworICAgICAg
ICBGbG9hdFJlY3QgcGF0dGVybkJvdW5kYXJpZXM7CisgICAgICAgIEFmZmluZVRyYW5zZm9ybSBw
YXR0ZXJuVHJhbnNmb3JtOworCisgICAgICAgIC8vIENyZWF0ZSB0aWxlIGltYWdlCisgICAgICAg
IE93blB0cjxJbWFnZUJ1ZmZlcj4gdGlsZUltYWdlID0gY3JlYXRlVGlsZUltYWdlKHBhdHRlcm5C
b3VuZGFyaWVzLCBwYXR0ZXJuVHJhbnNmb3JtLCBwYXR0ZXJuRWxlbWVudCwgb2JqZWN0KTsKKyAg
ICAgICAgaWYgKCF0aWxlSW1hZ2UpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgLy8gQ3JlYXRlIHBhdHRlcm4gb2JqZWN0CisgICAgICAgIGJ1aWxkUGF0dGVybihwYXR0ZXJu
RGF0YSwgcGF0dGVybkJvdW5kYXJpZXMsIHRpbGVJbWFnZS5yZWxlYXNlKCkpOworCisgICAgICAg
IGlmICghcGF0dGVybkRhdGEtPnBhdHRlcm4pCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgLy8gQ29tcHV0ZSBwYXR0ZXJuIHRyYW5zZm9ybWF0aW9uCisgICAgICAgIEFmZmlu
ZVRyYW5zZm9ybSB0cmFuc2Zvcm07CisgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUocGF0dGVy
bkJvdW5kYXJpZXMueCgpLCBwYXR0ZXJuQm91bmRhcmllcy55KCkpOworICAgICAgICB0cmFuc2Zv
cm0ubXVsdGlwbHkocGF0dGVyblRyYW5zZm9ybSk7CisgICAgICAgIHBhdHRlcm5EYXRhLT5wYXR0
ZXJuLT5zZXRQYXR0ZXJuU3BhY2VUcmFuc2Zvcm0odHJhbnNmb3JtKTsKKyAgICB9CiAKKyAgICAv
LyBEcmF3IHBhdHRlcm4KICAgICBjb250ZXh0LT5zYXZlKCk7CiAKLSAgICBBU1NFUlQoIW1fcGF0
dGVybik7Ci0KLSAgICBJbnRSZWN0IHRpbGVSZWN0ID0gdGlsZSgpLT5pbWFnZSgpLT5yZWN0KCk7
Ci0gICAgaWYgKHRpbGVSZWN0LndpZHRoKCkgPiBwYXR0ZXJuQm91bmRhcmllcygpLndpZHRoKCkg
fHwgdGlsZVJlY3QuaGVpZ2h0KCkgPiBwYXR0ZXJuQm91bmRhcmllcygpLmhlaWdodCgpKSB7Ci0g
ICAgICAgIC8vIERyYXcgdGhlIGZpcnN0IGNlbGwgb2YgdGhlIHBhdHRlcm4gbWFudWFsbHkgdG8g
c3VwcG9ydCBvdmVyZmxvdz0idmlzaWJsZSIgb24gYWxsIHBsYXRmb3Jtcy4KLSAgICAgICAgaW50
IHRpbGVXaWR0aCA9IHN0YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgp
ICsgMC41Zik7Ci0gICAgICAgIGludCB0aWxlSGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50PihwYXR0
ZXJuQm91bmRhcmllcygpLmhlaWdodCgpICsgMC41Zik7Ci0gICAgICAgIE93blB0cjxJbWFnZUJ1
ZmZlcj4gdGlsZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShJbnRTaXplKHRpbGVXaWR0aCwg
dGlsZUhlaWdodCkpOwotICAKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiB0aWxlSW1hZ2VDb250
ZXh0ID0gdGlsZUltYWdlLT5jb250ZXh0KCk7Ci0KLSAgICAgICAgaW50IG51bVkgPSBzdGF0aWNf
Y2FzdDxpbnQ+KGNlaWxmKHRpbGVSZWN0LmhlaWdodCgpIC8gdGlsZUhlaWdodCkpICsgMTsKLSAg
ICAgICAgaW50IG51bVggPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHRpbGVSZWN0LndpZHRoKCkg
LyB0aWxlV2lkdGgpKSArIDE7Ci0KLSAgICAgICAgdGlsZUltYWdlQ29udGV4dC0+c2F2ZSgpOwot
ICAgICAgICB0aWxlSW1hZ2VDb250ZXh0LT50cmFuc2xhdGUoLXBhdHRlcm5Cb3VuZGFyaWVzKCku
d2lkdGgoKSAqIG51bVgsIC1wYXR0ZXJuQm91bmRhcmllcygpLmhlaWdodCgpICogbnVtWSk7Ci0g
ICAgICAgIGZvciAoaW50IGkgPSBudW1ZOyBpID4gMDsgaS0tKSB7Ci0gICAgICAgICAgICB0aWxl
SW1hZ2VDb250ZXh0LT50cmFuc2xhdGUoMCwgcGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSk7
Ci0gICAgICAgICAgICBmb3IgKGludCBqID0gbnVtWDsgaiA+IDA7IGotLSkgewotICAgICAgICAg
ICAgICAgIHRpbGVJbWFnZUNvbnRleHQtPnRyYW5zbGF0ZShwYXR0ZXJuQm91bmRhcmllcygpLndp
ZHRoKCksIDApOwotICAgICAgICAgICAgICAgIHRpbGVJbWFnZUNvbnRleHQtPmRyYXdJbWFnZSh0
aWxlKCktPmltYWdlKCksIHN0eWxlLT5jb2xvclNwYWNlKCksIHRpbGVSZWN0LCB0aWxlUmVjdCk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aWxlSW1hZ2VDb250ZXh0LT50cmFuc2xhdGUo
LXBhdHRlcm5Cb3VuZGFyaWVzKCkud2lkdGgoKSAqIG51bVgsIDApOwotICAgICAgICB9Ci0gICAg
ICAgIHRpbGVJbWFnZUNvbnRleHQtPnJlc3RvcmUoKTsKLQotICAgICAgICBtX3BhdHRlcm4gPSBQ
YXR0ZXJuOjpjcmVhdGUodGlsZUltYWdlLT5pbWFnZSgpLCB0cnVlLCB0cnVlKTsKLSAgICB9Ci0g
ICAgZWxzZQotICAgICAgICBtX3BhdHRlcm4gPSBQYXR0ZXJuOjpjcmVhdGUodGlsZSgpLT5pbWFn
ZSgpLCB0cnVlLCB0cnVlKTsKKyAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBz
dHlsZS0+c3ZnU3R5bGUoKTsKKyAgICBBU1NFUlQoc3ZnU3R5bGUpOwogCi0gICAgaWYgKGlzRmls
bGVkKSB7CisgICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9GaWxsTW9kZSkgewogICAgICAg
ICBjb250ZXh0LT5zZXRBbHBoYShzdmdTdHlsZS0+ZmlsbE9wYWNpdHkoKSk7Ci0gICAgICAgIGNv
bnRleHQtPnNldEZpbGxQYXR0ZXJuKG1fcGF0dGVybik7CisgICAgICAgIGNvbnRleHQtPnNldEZp
bGxQYXR0ZXJuKHBhdHRlcm5EYXRhLT5wYXR0ZXJuKTsKICAgICAgICAgY29udGV4dC0+c2V0Rmls
bFJ1bGUoc3ZnU3R5bGUtPmZpbGxSdWxlKCkpOwotICAgIH0KLSAgICBpZiAoaXNTdHJva2VkKSB7
CisgICAgfSBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvU3Ryb2tlTW9kZSkgewogICAg
ICAgICBjb250ZXh0LT5zZXRBbHBoYShzdmdTdHlsZS0+c3Ryb2tlT3BhY2l0eSgpKTsKLSAgICAg
ICAgY29udGV4dC0+c2V0U3Ryb2tlUGF0dGVybihtX3BhdHRlcm4pOworICAgICAgICBjb250ZXh0
LT5zZXRTdHJva2VQYXR0ZXJuKHBhdHRlcm5EYXRhLT5wYXR0ZXJuKTsKICAgICAgICAgYXBwbHlT
dHJva2VTdHlsZVRvQ29udGV4dChjb250ZXh0LCBzdHlsZSwgb2JqZWN0KTsKICAgICB9CiAKLSAg
ICBBZmZpbmVUcmFuc2Zvcm0gbWF0cml4OwotICAgIG1hdHJpeC50cmFuc2xhdGUocGF0dGVybkJv
dW5kYXJpZXMoKS54KCksIHBhdHRlcm5Cb3VuZGFyaWVzKCkueSgpKTsKLSAgICBtYXRyaXgubXVs
dGlwbHkocGF0dGVyblRyYW5zZm9ybSgpKTsKLSAgICBtX3BhdHRlcm4tPnNldFBhdHRlcm5TcGFj
ZVRyYW5zZm9ybShtYXRyaXgpOworICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1v
ZGUpIHsKKyAgICAgICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9GaWxsTW9kZSkgeworICAg
ICAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKGNUZXh0RmlsbCk7CiAKLSAgICBp
ZiAoaXNQYWludGluZ1RleHQpIHsKLSAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2Rl
KGlzRmlsbGVkID8gY1RleHRGaWxsIDogY1RleHRTdHJva2UpOwogI2lmIFBMQVRGT1JNKENHKQot
ICAgICAgICBpZiAoaXNGaWxsZWQpCiAgICAgICAgICAgICBjb250ZXh0LT5hcHBseUZpbGxQYXR0
ZXJuKCk7Ci0gICAgICAgIGVsc2UKKyNlbmRpZgorICAgICAgICB9IGVsc2UgaWYgKHJlc291cmNl
TW9kZSAmIEFwcGx5VG9TdHJva2VNb2RlKSB7CisgICAgICAgICAgICBjb250ZXh0LT5zZXRUZXh0
RHJhd2luZ01vZGUoY1RleHRTdHJva2UpOworCisjaWYgUExBVEZPUk0oQ0cpCiAgICAgICAgICAg
ICBjb250ZXh0LT5hcHBseVN0cm9rZVBhdHRlcm4oKTsKICNlbmRpZgorICAgICAgICB9CiAgICAg
fQogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjp0
ZWFyZG93bihHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBjb25zdCBSZW5kZXJPYmplY3QqLCBT
VkdQYWludFRhcmdldFR5cGUsIGJvb2wpIGNvbnN0Cit2b2lkIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybjo6cG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYg
Y29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKQogewotICAgIG1fcGF0dGVybiA9
IDA7CisgICAgQVNTRVJUKGNvbnRleHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUgIT0gQXBw
bHlUb0RlZmF1bHRNb2RlKTsKKworICAgIGlmICghKHJlc291cmNlTW9kZSAmIEFwcGx5VG9UZXh0
TW9kZSkpIHsKKyAgICAgICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9GaWxsTW9kZSkKKyAg
ICAgICAgICAgIGNvbnRleHQtPmZpbGxQYXRoKCk7CisgICAgICAgIGVsc2UgaWYgKHJlc291cmNl
TW9kZSAmIEFwcGx5VG9TdHJva2VNb2RlKQorICAgICAgICAgICAgY29udGV4dC0+c3Ryb2tlUGF0
aCgpOworICAgIH0KIAogICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKIH0KIAotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorc3RhdGljIGlubGluZSBGbG9hdFJlY3QgY2FsY3VsYXRlUGF0dGVybkJvdW5k
YXJpZXMoUGF0dGVybkF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGbG9hdFJlY3QmIG9iamVjdEJv
dW5kaW5nQm94LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIHBhdHRlcm5FbGVtZW50KQoreworICAgIGlm
IChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKQorICAgICAgICByZXR1cm4gRmxvYXRSZWN0
KGF0dHJpYnV0ZXMueCgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiBvYmplY3RCb3VuZGluZ0JveC53
aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMueSgpLnZhbHVlQXNQ
ZXJjZW50YWdlKCkgKiBvYmplY3RCb3VuZGluZ0JveC5oZWlnaHQoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGVzLndpZHRoKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSAqIG9iamVj
dEJvdW5kaW5nQm94LndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRl
cy5oZWlnaHQoKS52YWx1ZUFzUGVyY2VudGFnZSgpICogb2JqZWN0Qm91bmRpbmdCb3guaGVpZ2h0
KCkpOworCisgICAgcmV0dXJuIEZsb2F0UmVjdChhdHRyaWJ1dGVzLngoKS52YWx1ZShwYXR0ZXJu
RWxlbWVudCksCisgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLnkoKS52YWx1ZShwYXR0
ZXJuRWxlbWVudCksCisgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLndpZHRoKCkudmFs
dWUocGF0dGVybkVsZW1lbnQpLAorICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy5oZWln
aHQoKS52YWx1ZShwYXR0ZXJuRWxlbWVudCkpOworfQorCitGbG9hdFJlY3QgUmVuZGVyU1ZHUmVz
b3VyY2VQYXR0ZXJuOjpjYWxjdWxhdGVQYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93
KFBhdHRlcm5BdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBGbG9hdFJlY3QmIG9iamVjdEJvdW5kaW5nQm94LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHZpZXdCb3hDVE0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IEZsb2F0UmVjdCYgcGF0dGVybkJvdW5kYXJpZXMpIGNvbnN0Cit7CisgICAgLy8g
RXZlbnR1YWxseSBjYWxjdWxhdGUgdGhlIHBhdHRlcm4gY29udGVudCBib3VuZGFyaWVzIChvbmx5
IG5lZWRlZCB3aXRoIG92ZXJmbG93PSJ2aXNpYmxlIikuCisgICAgRmxvYXRSZWN0IHBhdHRlcm5D
b250ZW50Qm91bmRhcmllczsKKworICAgIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSA9IHRoaXMt
PnN0eWxlKCk7CisgICAgaWYgKHN0eWxlLT5vdmVyZmxvd1goKSA9PSBPVklTSUJMRSAmJiBzdHls
ZS0+b3ZlcmZsb3dZKCkgPT0gT1ZJU0lCTEUpIHsKKyAgICAgICAgZm9yIChOb2RlKiBub2RlID0g
YXR0cmlidXRlcy5wYXR0ZXJuQ29udGVudEVsZW1lbnQoKS0+Zmlyc3RDaGlsZCgpOyBub2RlOyBu
b2RlID0gbm9kZS0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICAgICAgaWYgKCFub2RlLT5pc1NW
R0VsZW1lbnQoKSB8fCAhc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG5vZGUpLT5pc1N0eWxlZFRy
YW5zZm9ybWFibGUoKSB8fCAhbm9kZS0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgICAgICBjb250
aW51ZTsKKyAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy51bml0ZShub2RlLT5y
ZW5kZXJlcigpLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGlmIChwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gcGF0dGVybkJvdW5kYXJpZXM7CisKKyAgICBGbG9hdFJlY3QgcGF0dGVybkJv
dW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdyA9IHBhdHRlcm5Cb3VuZGFyaWVzOworCisgICAgLy8g
UmVzcGVjdCBvYmplY3RCb3VuZGluZ0JveE1vZGUgZm9yIHBhdHRlcm5Db250ZW50VW5pdHMsIGlm
IHZpZXdCb3ggaXMgbm90IHNldC4KKyAgICBpZiAoIXZpZXdCb3hDVE0uaXNJZGVudGl0eSgpKQor
ICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMgPSB2aWV3Qm94Q1RNLm1hcFJlY3QocGF0
dGVybkNvbnRlbnRCb3VuZGFyaWVzKTsKKyAgICBlbHNlIGlmIChhdHRyaWJ1dGVzLmJvdW5kaW5n
Qm94TW9kZUNvbnRlbnQoKSkKKyAgICAgICAgcGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzID0gRmxv
YXRSZWN0KHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy54KCkgKiBvYmplY3RCb3VuZGluZ0JveC53
aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0
dGVybkNvbnRlbnRCb3VuZGFyaWVzLnkoKSAqIG9iamVjdEJvdW5kaW5nQm94LmhlaWdodCgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybkNvbnRl
bnRCb3VuZGFyaWVzLndpZHRoKCkgKiBvYmplY3RCb3VuZGluZ0JveC53aWR0aCgpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybkNvbnRlbnRCb3Vu
ZGFyaWVzLmhlaWdodCgpICogb2JqZWN0Qm91bmRpbmdCb3guaGVpZ2h0KCkpOworCisgICAgcGF0
dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy51bml0ZShwYXR0ZXJuQ29udGVudEJvdW5k
YXJpZXMpOworICAgIHJldHVybiBwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93Owor
fQorCitQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmNy
ZWF0ZVRpbGVJbWFnZShGbG9hdFJlY3QmIHBhdHRlcm5Cb3VuZGFyaWVzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWZm
aW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU1ZHUGF0dGVy
bkVsZW1lbnQqIHBhdHRlcm5FbGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyT2JqZWN0KiBvYmplY3Qp
IGNvbnN0Cit7CisgICAgUGF0dGVybkF0dHJpYnV0ZXMgYXR0cmlidXRlcyA9IHBhdHRlcm5FbGVt
ZW50LT5jb2xsZWN0UGF0dGVyblByb3BlcnRpZXMoKTsKKworICAgIC8vIElmIHdlIGNvdWxkbid0
IGRldGVybWluZSB0aGUgcGF0dGVybiBjb250ZW50IGVsZW1lbnQgcm9vdCwgc3RvcCBoZXJlLgor
ICAgIGlmICghYXR0cmlidXRlcy5wYXR0ZXJuQ29udGVudEVsZW1lbnQoKSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICBGbG9hdFJlY3Qgb2JqZWN0Qm91bmRpbmdCb3ggPSBvYmplY3QtPm9iamVj
dEJvdW5kaW5nQm94KCk7ICAgIAorICAgIHBhdHRlcm5Cb3VuZGFyaWVzID0gY2FsY3VsYXRlUGF0
dGVybkJvdW5kYXJpZXMoYXR0cmlidXRlcywgb2JqZWN0Qm91bmRpbmdCb3gsIHBhdHRlcm5FbGVt
ZW50KTsgCisgICAgcGF0dGVyblRyYW5zZm9ybSA9IGF0dHJpYnV0ZXMucGF0dGVyblRyYW5zZm9y
bSgpOworCisgICAgQWZmaW5lVHJhbnNmb3JtIHZpZXdCb3hDVE0gPSBwYXR0ZXJuRWxlbWVudC0+
dmlld0JveFRvVmlld1RyYW5zZm9ybShwYXR0ZXJuRWxlbWVudC0+dmlld0JveCgpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGF0dGVybkVsZW1lbnQtPnByZXNlcnZlQXNwZWN0UmF0aW8oKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhdHRlcm5Cb3VuZGFyaWVzLndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJu
Qm91bmRhcmllcy5oZWlnaHQoKSk7CisKKyAgICBGbG9hdFJlY3QgcGF0dGVybkJvdW5kYXJpZXNJ
bmNsdWRpbmdPdmVyZmxvdyA9IGNhbGN1bGF0ZVBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3Zl
cmZsb3coYXR0cmlidXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b2JqZWN0Qm91bmRpbmdCb3gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZpZXdCb3hDVE0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRl
cm5Cb3VuZGFyaWVzKTsKKworICAgIEludFNpemUgaW1hZ2VTaXplKGxyb3VuZGYocGF0dGVybkJv
dW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy53aWR0aCgpKSwgbHJvdW5kZihwYXR0ZXJuQm91bmRh
cmllc0luY2x1ZGluZ092ZXJmbG93LmhlaWdodCgpKSk7CisKKyAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIGJlIGFibGUgdG8gY2xpcCB0aGlzIG1vcmUsIG5lZWRzIGludmVzdGlnYXRpb24KKyAgICBj
bGFtcEltYWdlQnVmZmVyU2l6ZVRvVmlld3BvcnQob2JqZWN0LT5kb2N1bWVudCgpLT52aWV3KCks
IGltYWdlU2l6ZSk7CisKKyAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGVJbWFnZSA9IEltYWdl
QnVmZmVyOjpjcmVhdGUoaW1hZ2VTaXplKTsKKworICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCA9IHRpbGVJbWFnZS0+Y29udGV4dCgpOworICAgIEFTU0VSVChjb250ZXh0KTsKKworICAgIGNv
bnRleHQtPnNhdmUoKTsKKworICAgIC8vIFRyYW5zbGF0ZSB0byBwYXR0ZXJuIHN0YXJ0IG9yaWdp
bgorICAgIGlmIChwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LmxvY2F0aW9uKCkg
IT0gcGF0dGVybkJvdW5kYXJpZXMubG9jYXRpb24oKSkgeworICAgICAgICBjb250ZXh0LT50cmFu
c2xhdGUocGF0dGVybkJvdW5kYXJpZXMueCgpIC0gcGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdP
dmVyZmxvdy54KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQm91bmRhcmll
cy55KCkgLSBwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LnkoKSk7CisKKyAgICAg
ICAgcGF0dGVybkJvdW5kYXJpZXMuc2V0TG9jYXRpb24ocGF0dGVybkJvdW5kYXJpZXNJbmNsdWRp
bmdPdmVyZmxvdy5sb2NhdGlvbigpKTsKKyAgICB9CisKKyAgICAvLyBQcm9jZXNzIHZpZXdCb3gg
b3IgYm91bmRpbmdCb3hNb2RlQ29udGVudCBjb3JyZWN0aW9uCisgICAgaWYgKCF2aWV3Qm94Q1RN
LmlzSWRlbnRpdHkoKSkKKyAgICAgICAgY29udGV4dC0+Y29uY2F0Q1RNKHZpZXdCb3hDVE0pOwor
ICAgIGVsc2UgaWYgKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlQ29udGVudCgpKSB7CisgICAg
ICAgIGNvbnRleHQtPnRyYW5zbGF0ZShvYmplY3RCb3VuZGluZ0JveC54KCksIG9iamVjdEJvdW5k
aW5nQm94LnkoKSk7CisgICAgICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShvYmplY3RCb3Vu
ZGluZ0JveC53aWR0aCgpLCBvYmplY3RCb3VuZGluZ0JveC5oZWlnaHQoKSkpOworICAgIH0KKwor
ICAgIC8vIFJlbmRlciBzdWJ0cmVlIGludG8gSW1hZ2VCdWZmZXIKKyAgICBmb3IgKE5vZGUqIG5v
ZGUgPSBhdHRyaWJ1dGVzLnBhdHRlcm5Db250ZW50RWxlbWVudCgpLT5maXJzdENoaWxkKCk7IG5v
ZGU7IG5vZGUgPSBub2RlLT5uZXh0U2libGluZygpKSB7CisgICAgICAgIGlmICghbm9kZS0+aXNT
VkdFbGVtZW50KCkgfHwgIXN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihub2RlKS0+aXNTdHlsZWQo
KSB8fCAhbm9kZS0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBy
ZW5kZXJTdWJ0cmVlVG9JbWFnZSh0aWxlSW1hZ2UuZ2V0KCksIG5vZGUtPnJlbmRlcmVyKCkpOwor
ICAgIH0KKworICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKKyAgICByZXR1cm4gdGlsZUltYWdlLnJl
bGVhc2UoKTsKK30KKwordm9pZCBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmJ1aWxkUGF0dGVy
bihQYXR0ZXJuRGF0YSogcGF0dGVybkRhdGEsIGNvbnN0IEZsb2F0UmVjdCYgcGF0dGVybkJvdW5k
YXJpZXMsIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGVJbWFnZSkgY29uc3QKK3sKKyAgICBp
ZiAoIXRpbGVJbWFnZS0+aW1hZ2UoKSkgeworICAgICAgICBwYXR0ZXJuRGF0YS0+cGF0dGVybiA9
IDA7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBJbnRSZWN0IHRpbGVSZWN0ID0gdGls
ZUltYWdlLT5pbWFnZSgpLT5yZWN0KCk7CisgICAgaWYgKHRpbGVSZWN0LndpZHRoKCkgPD0gcGF0
dGVybkJvdW5kYXJpZXMud2lkdGgoKSAmJiB0aWxlUmVjdC5oZWlnaHQoKSA8PSBwYXR0ZXJuQm91
bmRhcmllcy5oZWlnaHQoKSkgeworICAgICAgICBwYXR0ZXJuRGF0YS0+cGF0dGVybiA9IFBhdHRl
cm46OmNyZWF0ZSh0aWxlSW1hZ2UtPmltYWdlKCksIHRydWUsIHRydWUpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgLy8gRHJhdyB0aGUgZmlyc3QgY2VsbCBvZiB0aGUgcGF0dGVybiBt
YW51YWxseSB0byBzdXBwb3J0IG92ZXJmbG93PSJ2aXNpYmxlIiBvbiBhbGwgcGxhdGZvcm1zLgor
ICAgIGludCB0aWxlV2lkdGggPSBzdGF0aWNfY2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVzLndp
ZHRoKCkgKyAwLjVmKTsKKyAgICBpbnQgdGlsZUhlaWdodCA9IHN0YXRpY19jYXN0PGludD4ocGF0
dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkgKyAwLjVmKTsKKyAgICBPd25QdHI8SW1hZ2VCdWZmZXI+
IG5ld1RpbGVJbWFnZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUoSW50U2l6ZSh0aWxlV2lkdGgsIHRp
bGVIZWlnaHQpKTsKKworICAgIEdyYXBoaWNzQ29udGV4dCogbmV3VGlsZUltYWdlQ29udGV4dCA9
IG5ld1RpbGVJbWFnZS0+Y29udGV4dCgpOworCisgICAgaW50IG51bVkgPSBzdGF0aWNfY2FzdDxp
bnQ+KGNlaWxmKHRpbGVSZWN0LmhlaWdodCgpIC8gdGlsZUhlaWdodCkpICsgMTsKKyAgICBpbnQg
bnVtWCA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYodGlsZVJlY3Qud2lkdGgoKSAvIHRpbGVXaWR0
aCkpICsgMTsKKworICAgIG5ld1RpbGVJbWFnZUNvbnRleHQtPnNhdmUoKTsKKyAgICBuZXdUaWxl
SW1hZ2VDb250ZXh0LT50cmFuc2xhdGUoLXBhdHRlcm5Cb3VuZGFyaWVzLndpZHRoKCkgKiBudW1Y
LCAtcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkgKiBudW1ZKTsKKyAgICBmb3IgKGludCBpID0g
bnVtWTsgaSA+IDA7IC0taSkgeworICAgICAgICBuZXdUaWxlSW1hZ2VDb250ZXh0LT50cmFuc2xh
dGUoMCwgcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkpOworICAgICAgICBmb3IgKGludCBqID0g
bnVtWDsgaiA+IDA7IC0taikgeworICAgICAgICAgICAgbmV3VGlsZUltYWdlQ29udGV4dC0+dHJh
bnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzLndpZHRoKCksIDApOworICAgICAgICAgICAgbmV3VGls
ZUltYWdlQ29udGV4dC0+ZHJhd0ltYWdlKHRpbGVJbWFnZS0+aW1hZ2UoKSwgc3R5bGUoKS0+Y29s
b3JTcGFjZSgpLCB0aWxlUmVjdCwgdGlsZVJlY3QpOworICAgICAgICB9CisgICAgICAgIG5ld1Rp
bGVJbWFnZUNvbnRleHQtPnRyYW5zbGF0ZSgtcGF0dGVybkJvdW5kYXJpZXMud2lkdGgoKSAqIG51
bVgsIDApOworICAgIH0KKyAgICBuZXdUaWxlSW1hZ2VDb250ZXh0LT5yZXN0b3JlKCk7CisKKyAg
ICBwYXR0ZXJuRGF0YS0+cGF0dGVybiA9IFBhdHRlcm46OmNyZWF0ZShuZXdUaWxlSW1hZ2UtPmlt
YWdlKCksIHRydWUsIHRydWUpOworfQorCit9CiAKICNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgJKHJldmlzaW9uIDU4MDkzKQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsODUgKzEsNzQgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBa
aW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNo
IEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKICNpZm5kZWYgUmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuX2gKICNkZWZpbmUgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuX2gK
IAogI2lmIEVOQUJMRShTVkcpCi0KICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKICNpbmNs
dWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIlBh
dHRlcm4uaCIKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlci5oIgotCi0jaW5jbHVkZSA8bWVtb3J5
PgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgiCisjaW5jbHVkZSAiU1ZH
UGF0dGVybkVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdVbml0VHlwZXMuaCIKIAorI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgR3JhcGhpY3NDb250
ZXh0OwotY2xhc3MgSW1hZ2VCdWZmZXI7Ci1jbGFzcyBTVkdQYXR0ZXJuRWxlbWVudDsKLQotY2xh
c3MgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuIDogcHVibGljIFNWR1BhaW50U2VydmVyIHsKLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWludFNlcnZlclBhdHRlcm4+IGNyZWF0ZShj
b25zdCBTVkdQYXR0ZXJuRWxlbWVudCogb3duZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQ
YWludFNlcnZlclBhdHRlcm4ob3duZXIpKTsgfQotCi0gICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2
ZXJQYXR0ZXJuKCk7CitzdHJ1Y3QgUGF0dGVybkRhdGEgeworICAgIFJlZlB0cjxQYXR0ZXJuPiBw
YXR0ZXJuOworfTsKIAotICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25z
dCB7IHJldHVybiBQYXR0ZXJuUGFpbnRTZXJ2ZXI7IH0KK3N0cnVjdCBQYXR0ZXJuQXR0cmlidXRl
czsKIAotICAgIC8vIFBhdHRlcm4gYm91bmRhcmllcwotICAgIHZvaWQgc2V0UGF0dGVybkJvdW5k
YXJpZXMoY29uc3QgRmxvYXRSZWN0Jik7Ci0gICAgRmxvYXRSZWN0IHBhdHRlcm5Cb3VuZGFyaWVz
KCkgY29uc3Q7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4gOiBwdWJsaWMgUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIgeworcHVibGljOgorICAgIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybihTVkdQYXR0ZXJuRWxlbWVudCopOworICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNl
UGF0dGVybigpOwogCi0gICAgSW1hZ2VCdWZmZXIqIHRpbGUoKSBjb25zdDsKLSAgICB2b2lkIHNl
dFRpbGUoUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4pOworICAgIHZpcnR1YWwgY29uc3QgY2hhciog
cmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4iOyB9
CiAKLSAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5zZm9ybSgpIGNvbnN0OwotICAgIHZv
aWQgc2V0UGF0dGVyblRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKKyAgICB2aXJ0
dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudHMoKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0
ZUNsaWVudChSZW5kZXJPYmplY3QqKTsKIAotICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGFw
cGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUqLCBHcmFwaGljc0NvbnRleHQq
JiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKKyAgICB2aXJ0dWFsIHZvaWQgcG9zdEFw
cGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYsIHVuc2lnbmVkIHNo
b3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCBGbG9hdFJlY3QgcmVzb3VyY2VCb3VuZGlu
Z0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQogCi0g
ICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmpl
Y3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50
aW5nVGV4dCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHRlYXJkb3duKEdyYXBoaWNzQ29udGV4
dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWlu
dGluZ1RleHQpIGNvbnN0OworICAgIHZpcnR1YWwgUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIHJlc291
cmNlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHNfcmVzb3VyY2VUeXBlOyB9CisgICAgc3RhdGljIFJl
bmRlclNWR1Jlc291cmNlVHlwZSBzX3Jlc291cmNlVHlwZTsKIAogcHJpdmF0ZToKLSAgICBTVkdQ
YWludFNlcnZlclBhdHRlcm4oY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqKTsKLSAgICAKLSAgICBP
d25QdHI8SW1hZ2VCdWZmZXI+IG1fdGlsZTsKLSAgICBjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCog
bV9vd25lckVsZW1lbnQ7Ci0gICAgQWZmaW5lVHJhbnNmb3JtIG1fcGF0dGVyblRyYW5zZm9ybTsK
LSAgICBGbG9hdFJlY3QgbV9wYXR0ZXJuQm91bmRhcmllczsKKyAgICBQYXNzT3duUHRyPEltYWdl
QnVmZmVyPiBjcmVhdGVUaWxlSW1hZ2UoRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcywgQWZm
aW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCos
IFJlbmRlck9iamVjdCopIGNvbnN0OworICAgIHZvaWQgYnVpbGRQYXR0ZXJuKFBhdHRlcm5EYXRh
KiwgY29uc3QgRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcywgUGFzc093blB0cjxJbWFnZUJ1
ZmZlcj4gdGlsZUltYWdlKSBjb25zdDsKKyAgICBGbG9hdFJlY3QgY2FsY3VsYXRlUGF0dGVybkJv
dW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdyhQYXR0ZXJuQXR0cmlidXRlcyYsIGNvbnN0IEZsb2F0
UmVjdCYgb2JqZWN0Qm91bmRpbmdCb3gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB2aWV3Qm94
Q1RNLCBjb25zdCBGbG9hdFJlY3QmIHBhdHRlcm5Cb3VuZGFyaWVzKSBjb25zdDsKIAotICAgIG11
dGFibGUgUmVmUHRyPFBhdHRlcm4+IG1fcGF0dGVybjsKKyAgICBIYXNoTWFwPFJlbmRlck9iamVj
dCosIFBhdHRlcm5EYXRhKj4gbV9wYXR0ZXJuOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorfQogCiAjZW5kaWYKLQotI2VuZGlmIC8vIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybl9oCisj
ZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3Jh
ZGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlUmFkaWFsR3JhZGllbnQuY3BwCShyZXZpc2lvbiA1ODA5MykKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDI2ICsxLDIyIEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVy
bWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CkBAIC0yOCw2MSArMjQsNDggQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlJlbmRlclNW
R1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaCIKIAotI2luY2x1ZGUgIlNWR1JlbmRlclRyZWVBc1Rl
eHQuaCIKKyNpbmNsdWRlICJSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlICJT
VkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdQ
YWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50KGNv
bnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpCi0gICAgOiBTVkdQYWludFNlcnZlckdyYWRp
ZW50KG93bmVyKQotICAgICwgbV9yYWRpdXMoMC4wZikKLXsKLX0KK1JlbmRlclNWR1Jlc291cmNl
VHlwZSBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50OjpzX3Jlc291cmNlVHlwZSA9IFJh
ZGlhbEdyYWRpZW50UmVzb3VyY2VUeXBlOwogCi1TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50
Ojp+U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCgpCitSZW5kZXJTVkdSZXNvdXJjZVJhZGlh
bEdyYWRpZW50OjpSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50KFNWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQobm9kZSkK
IHsKIH0KIAotCi1GbG9hdFBvaW50IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OmdyYWRp
ZW50Q2VudGVyKCkgY29uc3QKK1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6On5SZW5k
ZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50KCkKIHsKLSAgICByZXR1cm4gbV9jZW50ZXI7CiB9
CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6c2V0R3JhZGllbnRDZW50ZXIo
Y29uc3QgRmxvYXRQb2ludCYgY2VudGVyKQordm9pZCBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdy
YWRpZW50OjpidWlsZEdyYWRpZW50KEdyYWRpZW50RGF0YSogZ3JhZGllbnREYXRhLCBTVkdHcmFk
aWVudEVsZW1lbnQqIGdyYWRpZW50RWxlbWVudCkgY29uc3QKIHsKLSAgICBtX2NlbnRlciA9IGNl
bnRlcjsKLX0KKyAgICBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQqIHJhZGlhbEdyYWRpZW50RWxl
bWVudCA9IHN0YXRpY19jYXN0PFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCo+KGdyYWRpZW50RWxl
bWVudCk7CisgICAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSByYWRpYWxH
cmFkaWVudEVsZW1lbnQtPmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKTsKIAotRmxvYXRQb2lu
dCBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpncmFkaWVudEZvY2FsKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9mb2NhbDsKLX0KKyAgICAvLyBEZXRlcm1pbmUgZ3JhZGllbnQgZm9jYWwv
Y2VudGVyIHBvaW50cyBhbmQgcmFkaXVzCisgICAgRmxvYXRQb2ludCBmb2NhbFBvaW50OworICAg
IEZsb2F0UG9pbnQgY2VudGVyUG9pbnQ7CisgICAgZmxvYXQgcmFkaXVzOworICAgIHJhZGlhbEdy
YWRpZW50RWxlbWVudC0+Y2FsY3VsYXRlRm9jYWxDZW50ZXJQb2ludHNBbmRSYWRpdXMoYXR0cmli
dXRlcywgZm9jYWxQb2ludCwgY2VudGVyUG9pbnQsIHJhZGl1cyk7CiAKLXZvaWQgU1ZHUGFpbnRT
ZXJ2ZXJSYWRpYWxHcmFkaWVudDo6c2V0R3JhZGllbnRGb2NhbChjb25zdCBGbG9hdFBvaW50JiBm
b2NhbCkKLXsKLSAgICBtX2ZvY2FsID0gZm9jYWw7Ci19CisgICAgZ3JhZGllbnREYXRhLT5ncmFk
aWVudCA9IEdyYWRpZW50OjpjcmVhdGUoZm9jYWxQb2ludCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAwLjBmLCAvLyBTVkcgZG9lcyBub3Qgc3VwcG9ydCBh
ICJmb2N1cyByYWRpdXMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2VudGVyUG9pbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmFkaXVzKTsKIAotZmxvYXQgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6
Z3JhZGllbnRSYWRpdXMoKSBjb25zdAotewotICAgIHJldHVybiBtX3JhZGl1czsKLX0KKyAgICBn
cmFkaWVudERhdGEtPmdyYWRpZW50LT5zZXRTcHJlYWRNZXRob2QoYXR0cmlidXRlcy5zcHJlYWRN
ZXRob2QoKSk7CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6c2V0R3JhZGll
bnRSYWRpdXMoZmxvYXQgcmFkaXVzKQotewotICAgIG1fcmFkaXVzID0gcmFkaXVzOwotfQorICAg
IC8vIFJlY29yZCBjdXJyZW50IGdyYWRpZW50IHRyYW5zZm9ybQorICAgIGdyYWRpZW50RGF0YS0+
dHJhbnNmb3JtID0gYXR0cmlidXRlcy5ncmFkaWVudFRyYW5zZm9ybSgpOworICAgIGdyYWRpZW50
RGF0YS0+Ym91bmRpbmdCb3hNb2RlID0gYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKTsKIAot
VGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6ZXh0ZXJuYWxSZXByZXNl
bnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKLXsKLSAgICB0cyA8PCAiW3R5cGU9UkFESUFM
LUdSQURJRU5UXSAiOwotICAgIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OmV4dGVybmFsUmVwcmVz
ZW50YXRpb24odHMpOwotICAgIHRzIDw8ICIgW2NlbnRlcj0iIDw8IGdyYWRpZW50Q2VudGVyKCkg
PDwgIl0iCi0gICAgICAgIDw8ICIgW2ZvY2FsPSIgPDwgZ3JhZGllbnRGb2NhbCgpIDw8ICJdIgot
ICAgICAgICA8PCAiIFtyYWRpdXM9IiA8PCBncmFkaWVudFJhZGl1cygpIDw8ICJdIjsKLSAgICBy
ZXR1cm4gdHM7CisgICAgLy8gQWRkIHN0b3BzCisgICAgYWRkU3RvcHMoZ3JhZGllbnREYXRhLCBh
dHRyaWJ1dGVzLnN0b3BzKCkpOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9CiAKICNl
bmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFk
aWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
UmFkaWFsR3JhZGllbnQuaAkocmV2aXNpb24gNTgwOTMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNjYg
KzEsNDggQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6
aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBM
aW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKICNpZm5kZWYgUmVuZGVyU1ZHUmVzb3VyY2VS
YWRpYWxHcmFkaWVudF9oCiAjZGVmaW5lIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnRf
aAogCiAjaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRl
ICJSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCA6IHB1YmxpYyBTVkdQYWludFNlcnZl
ckdyYWRpZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWludFNlcnZl
clJhZGlhbEdyYWRpZW50PiBjcmVhdGUoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBvd25lcikg
eyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQob3duZXIp
KTsgfQotICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQoKTsKLQotICAg
IHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBSYWRpYWxH
cmFkaWVudFBhaW50U2VydmVyOyB9CitjbGFzcyBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ7CiAK
LSAgICBGbG9hdFBvaW50IGdyYWRpZW50Q2VudGVyKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRHcmFk
aWVudENlbnRlcihjb25zdCBGbG9hdFBvaW50Jik7Ci0KLSAgICBGbG9hdFBvaW50IGdyYWRpZW50
Rm9jYWwoKSBjb25zdDsKLSAgICB2b2lkIHNldEdyYWRpZW50Rm9jYWwoY29uc3QgRmxvYXRQb2lu
dCYpOwotCi0gICAgZmxvYXQgZ3JhZGllbnRSYWRpdXMoKSBjb25zdDsKLSAgICB2b2lkIHNldEdy
YWRpZW50UmFkaXVzKGZsb2F0KTsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGll
bnQgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCB7CitwdWJsaWM6CisgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudChTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQqKTsK
KyAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50KCk7CiAKLSAgICB2
aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNv
bnN0OworICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJu
ICJSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IjsgfQogCi1wcml2YXRlOgotICAgIFNW
R1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBvd25l
cik7CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlKCkgY29u
c3QgeyByZXR1cm4gc19yZXNvdXJjZVR5cGU7IH0KKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3Vy
Y2VUeXBlIHNfcmVzb3VyY2VUeXBlOwogCi0gICAgZmxvYXQgbV9yYWRpdXM7Ci0gICAgRmxvYXRQ
b2ludCBtX2NlbnRlcjsKLSAgICBGbG9hdFBvaW50IG1fZm9jYWw7CisgICAgdmlydHVhbCB2b2lk
IGJ1aWxkR3JhZGllbnQoR3JhZGllbnREYXRhKiwgU1ZHR3JhZGllbnRFbGVtZW50KikgY29uc3Q7
CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9CiAKICNlbmRpZgotCi0jZW5kaWYgLy8g
UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudF9oCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmNwcAkocmV2aXNp
b24gNTgwOTMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29s
b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI3ICsxLDIxIEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICogQ29w
eXJpZ2h0IChDKSAyMDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICogQ29weXJp
Z2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0zMCw2NCArMjQsNzYgQEAKICNpbmNsdWRlICJSZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCIKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5o
IgotI2luY2x1ZGUgIlJlbmRlclBhdGguaCIKLSNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0
LmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9ydC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVNWR1BhaW50U2VydmVyU29saWQ6OlNWR1BhaW50U2VydmVyU29saWQoKQotewotfQotCi1T
VkdQYWludFNlcnZlclNvbGlkOjp+U1ZHUGFpbnRTZXJ2ZXJTb2xpZCgpCi17Ci19CitSZW5kZXJT
VkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpzX3Jlc291cmNlVHlw
ZSA9IFNvbGlkQ29sb3JSZXNvdXJjZVR5cGU7CiAKLUNvbG9yIFNWR1BhaW50U2VydmVyU29saWQ6
OmNvbG9yKCkgY29uc3QKK1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcjo6UmVuZGVyU1ZHUmVz
b3VyY2VTb2xpZENvbG9yKCkKIHsKLSAgICByZXR1cm4gbV9jb2xvcjsKIH0KIAotdm9pZCBTVkdQ
YWludFNlcnZlclNvbGlkOjpzZXRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpCitSZW5kZXJTVkdS
ZXNvdXJjZVNvbGlkQ29sb3I6On5SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IoKQogewotICAg
IG1fY29sb3IgPSBjb2xvcjsKIH0KIAotVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJTb2xpZDo6
ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKK2Jvb2wgUmVuZGVy
U1ZHUmVzb3VyY2VTb2xpZENvbG9yOjphcHBseVJlc291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0
LCBSZW5kZXJTdHlsZSogc3R5bGUsIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVuc2lnbmVk
IHNob3J0IHJlc291cmNlTW9kZSkKIHsKLSAgICB0cyA8PCAiW3R5cGU9U09MSURdIgotICAgICAg
ICA8PCAiIFtjb2xvcj0iPDwgY29sb3IoKSA8PCAiXSI7Ci0gICAgcmV0dXJuIHRzOwotfQorICAg
IC8vIFdlIGFyZSBOT1QgYWxsb3dlZCB0byBBU1NFUlQob2JqZWN0KSBoZXJlLCB1bmxpa2UgYWxs
IG90aGVyIHJlc291cmNlcy4KKyAgICAvLyBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IgaXMg
dGhlIG9ubHkgcmVzb3VyY2Ugd2hpY2ggbWF5IGJlIHVzZWQgZnJvbSBIVE1MLCB3aGVuIHJlbmRl
cmluZworICAgIC8vIFNWRyBGb250cyBmb3IgYSBIVE1MIGRvY3VtZW50LiBUaGlzIHdpbGwgYmUg
aW5kaWNhdGVkIGJ5IGEgbnVsbCBSZW5kZXJPYmplY3QgcG9pbnRlci4KKyAgICBBU1NFUlQoY29u
dGV4dCk7CisgICAgQVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOwog
Ci1ib29sIFNWR1BhaW50U2VydmVyU29saWQ6OnNldHVwKEdyYXBoaWNzQ29udGV4dComIGNvbnRl
eHQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUs
IFNWR1BhaW50VGFyZ2V0VHlwZSB0eXBlLCBib29sIGlzUGFpbnRpbmdUZXh0KSBjb25zdAotewog
ICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IHN0eWxlID8gc3R5bGUtPnN2Z1N0
eWxlKCkgOiAwOwogICAgIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9IHN0eWxlID8gc3R5bGUtPmNv
bG9yU3BhY2UoKSA6IERldmljZUNvbG9yU3BhY2U7CiAKLSAgICBpZiAoKHR5cGUgJiBBcHBseVRv
RmlsbFRhcmdldFR5cGUpICYmICghc3R5bGUgfHwgc3ZnU3R5bGUtPmhhc0ZpbGwoKSkpIHsKLSAg
ICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3R5bGUgPyBzdmdTdHlsZS0+ZmlsbE9wYWNpdHkoKSA6
IDEpOwotICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoY29sb3IoKS5yZ2IoKSwgY29sb3JT
cGFjZSk7Ci0gICAgICAgIGNvbnRleHQtPnNldEZpbGxSdWxlKHN0eWxlID8gc3ZnU3R5bGUtPmZp
bGxSdWxlKCkgOiBSVUxFX05PTlpFUk8pOworICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRv
RmlsbE1vZGUpIHsKKyAgICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3ZnU3R5bGUgPyBzdmdTdHls
ZS0+ZmlsbE9wYWNpdHkoKSA6IDEuMGYpOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3Io
bV9jb2xvciwgY29sb3JTcGFjZSk7CisgICAgICAgIGNvbnRleHQtPnNldEZpbGxSdWxlKHN2Z1N0
eWxlID8gc3ZnU3R5bGUtPmZpbGxSdWxlKCkgOiBSVUxFX05PTlpFUk8pOwogCi0gICAgICAgIGlm
IChpc1BhaW50aW5nVGV4dCkKKyAgICAgICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9UZXh0
TW9kZSkKICAgICAgICAgICAgIGNvbnRleHQtPnNldFRleHREcmF3aW5nTW9kZShjVGV4dEZpbGwp
OwotICAgIH0KLQotICAgIGlmICgodHlwZSAmIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlKSAmJiAo
IXN0eWxlIHx8IHN2Z1N0eWxlLT5oYXNTdHJva2UoKSkpIHsKLSAgICAgICAgY29udGV4dC0+c2V0
QWxwaGEoc3R5bGUgPyBzdmdTdHlsZS0+c3Ryb2tlT3BhY2l0eSgpIDogMSk7Ci0gICAgICAgIGNv
bnRleHQtPnNldFN0cm9rZUNvbG9yKGNvbG9yKCkucmdiKCksIGNvbG9yU3BhY2UpOworICAgIH0g
ZWxzZSBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpIHsKKyAgICAgICAgY29u
dGV4dC0+c2V0QWxwaGEoc3ZnU3R5bGUgPyBzdmdTdHlsZS0+c3Ryb2tlT3BhY2l0eSgpIDogMS4w
Zik7CisgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKG1fY29sb3IsIGNvbG9yU3BhY2Up
OwogCiAgICAgICAgIGlmIChzdHlsZSkKICAgICAgICAgICAgIGFwcGx5U3Ryb2tlU3R5bGVUb0Nv
bnRleHQoY29udGV4dCwgc3R5bGUsIG9iamVjdCk7CiAKLSAgICAgICAgaWYgKGlzUGFpbnRpbmdU
ZXh0KQorICAgICAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlKQogICAgICAg
ICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKGNUZXh0U3Ryb2tlKTsKICAgICB9CiAK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQordm9pZCBSZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnBvc3RBcHBseVJlc291cmNlKFJlbmRlck9iamVjdCos
IEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkK
K3sKKyAgICBBU1NFUlQoY29udGV4dCk7CisgICAgQVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBs
eVRvRGVmYXVsdE1vZGUpOworCisgICAgaWYgKCEocmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRN
b2RlKSkgeworICAgICAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb0ZpbGxNb2RlKQorICAg
ICAgICAgICAgY29udGV4dC0+ZmlsbFBhdGgoKTsKKyAgICAgICAgZWxzZSBpZiAocmVzb3VyY2VN
b2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpCisgICAgICAgICAgICBjb250ZXh0LT5zdHJva2VQYXRo
KCk7CisgICAgfQorCisjaWYgUExBVEZPUk0oU0tJQSkKKyAgICAvLyBGSVhNRTogTW92ZSB0aGlz
IGludG8gdGhlIEdyYXBoaWNzQ29udGV4dAorICAgIC8vIFdlYktpdCBpbXBsaWNpdGx5IGV4cGVj
dHMgdXMgdG8gcmVzZXQgdGhlIHBhdGguCisgICAgLy8gRm9yIGV4YW1wbGUgaW4gZmlsbEFuZFN0
cm9rZVBhdGgoKSBvZiBSZW5kZXJQYXRoLmNwcCB0aGUgcGF0aCBpcyAKKyAgICAvLyBhZGRlZCBi
YWNrIHRvIHRoZSBjb250ZXh0IGFmdGVyIGZpbGxpbmcuIFRoaXMgaXMgYmVjYXVzZSBpbnRlcm5h
bGx5IGl0CisgICAgLy8gY2FsbHMgQ0dDb250ZXh0RmlsbFBhdGgoKSB3aGljaCBjbG9zZXMgdGhl
IHBhdGguCisgICAgY29udGV4dC0+YmVnaW5QYXRoKCk7CisgICAgY29udGV4dC0+cGxhdGZvcm1D
b250ZXh0KCktPnNldEZpbGxTaGFkZXIoMCk7CisgICAgY29udGV4dC0+cGxhdGZvcm1Db250ZXh0
KCktPnNldFN0cm9rZVNoYWRlcigwKTsKKyNlbmRpZgorfQorCit9CiAKICNlbmRpZgpJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmgJKHJl
dmlzaW9uIDU4MDkzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNjAgKzEsNTYgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAog
ICovCiAKICNpZm5kZWYgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yX2gKICNkZWZpbmUgUmVu
ZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yX2gKIAogI2lmIEVOQUJMRShTVkcpCi0KICNpbmNsdWRl
ICJDb2xvci5oIgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCisjaW5jbHVkZSAiRmxvYXRS
ZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTVkdQYWludFNlcnZlclNvbGlkIDogcHVibGljIFNWR1BhaW50U2VydmVy
IHsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciA6IHB1YmxpYyBSZW5kZXJTVkdS
ZXNvdXJjZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJT
b2xpZD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhaW50U2VydmVyU29saWQp
OyB9Ci0gICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJTb2xpZCgpOworICAgIFJlbmRlclNWR1Jl
c291cmNlU29saWRDb2xvcigpOworICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlU29saWRD
b2xvcigpOwogCi0gICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIFNvbGlkUGFpbnRTZXJ2ZXI7IH0KKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNs
aWVudHMoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmpl
Y3QqKSB7IH0KIAotICAgIENvbG9yIGNvbG9yKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRDb2xvcihj
b25zdCBDb2xvciYpOworICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291cmNlKFJlbmRlck9iamVj
dCosIFJlbmRlclN0eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291
cmNlTW9kZSk7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBcHBseVJlc291cmNlKFJlbmRlck9iamVj
dCosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpOworICAg
IHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91bmRpbmdCb3goY29uc3QgRmxvYXRSZWN0Jikg
Y29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KIAotICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYg
ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7CisgICAgdmlydHVhbCBS
ZW5kZXJTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlKCkgY29uc3QgeyByZXR1cm4gc19yZXNv
dXJjZVR5cGU7IH0KKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIHNfcmVzb3VyY2VU
eXBlOwogCi0gICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBS
ZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9v
bCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7CisgICAgY29uc3QgQ29sb3ImIGNvbG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9jb2xvcjsgfQorICAgIHZvaWQgc2V0Q29sb3IoY29uc3QgQ29sb3ImIGNvbG9y
KSB7IG1fY29sb3IgPSBjb2xvcjsgfQogCiBwcml2YXRlOgotICAgIFNWR1BhaW50U2VydmVyU29s
aWQoKTsKLQogICAgIENvbG9yIG1fY29sb3I7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Cit9CiAKICNlbmRpZgotCi0jZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yX2gK
KyNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHAJKHJldmlzaW9uIDU4
MDkyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE2MCw3ICsxNjAsMTAgQEAgdm9pZCBSZW5kZXJTVkdUZXh0OjphYnNvbHV0ZVF1YWRz
KFZlY3RvcgogfQogCiB2b2lkIFJlbmRlclNWR1RleHQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBpbnQsIGludCkKLXsgICAKK3sKKyAgICBpZiAocGFpbnRJbmZvLmNvbnRleHQtPnBhaW50
aW5nRGlzYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgUGFpbnRJbmZvIHBpKHBhaW50
SW5mbyk7CiAgICAgcGkuY29udGV4dC0+c2F2ZSgpOwogICAgIGFwcGx5VHJhbnNmb3JtVG9QYWlu
dEluZm8ocGksIGxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKSk7CkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUcmVlQXNUZXh0LmNwcAkocmV2aXNpb24gNTgwOTIpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBA
QAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyUGF0aC5oIgogI2luY2x1ZGUgIlJl
bmRlclNWR0NvbnRhaW5lci5oIgorI2luY2x1ZGUgIlJlbmRlclNWR0dyYWRpZW50U3RvcC5oIgog
I2luY2x1ZGUgIlJlbmRlclNWR0ltYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHSW5saW5lVGV4
dC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jvb3QuaCIKQEAgLTM5Niw4ICszOTcsMTIgQEAgdm9p
ZCB3cml0ZShUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyTwogICAgICAgICB3cml0ZSh0cywg
KnRvUmVuZGVyUGF0aCgmbyksIGluZGVudCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAg
aWYgKG8uaXNTVkdSZXNvdXJjZSgpKSB7Ci0gICAgICAgIHdyaXRlU1ZHUmVzb3VyY2UodHMsIG8s
IGluZGVudCk7CisgICAgaWYgKG8uaXNTVkdHcmFkaWVudFN0b3AoKSkgeworICAgICAgICB3cml0
ZVNWR0dyYWRpZW50U3RvcCh0cywgKnRvUmVuZGVyU1ZHR3JhZGllbnRTdG9wKCZvKSwgaW5kZW50
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoby5pc1NWR1Jlc291cmNlQ29udGFp
bmVyKCkpIHsKKyAgICAgICAgd3JpdGVTVkdSZXNvdXJjZUNvbnRhaW5lcih0cywgbywgaW5kZW50
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoby5pc1NWR0NvbnRhaW5lcigpKSB7
CkBAIC02MTksOSArNjI0LDYgQEAgU3RyaW5nIGV4dGVybmFsUmVwcmVzZW50YXRpb24oRnJhbWUq
IGZyYQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAKICAgICBUZXh0U3RyZWFtIHRzOwotI2lm
IEVOQUJMRShTVkcpCi0gICAgd3JpdGVSZW5kZXJSZXNvdXJjZXModHMsIG8tPmRvY3VtZW50KCkp
OwotI2VuZGlmCiAgICAgaWYgKG8tPmhhc0xheWVyKCkpIHsKICAgICAgICAgUmVuZGVyTGF5ZXIq
IGwgPSB0b1JlbmRlckJveChvKS0+bGF5ZXIoKTsKICAgICAgICAgd3JpdGVMYXllcnModHMsIGws
IGwsIEludFJlY3QobC0+eCgpLCBsLT55KCksIGwtPndpZHRoKCksIGwtPmhlaWdodCgpKSwgMCwg
YmVoYXZpb3IpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHJl
dmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKICNpbmNsdWRlICJJbmxpbmVGbG93Qm94LmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKLSNp
bmNsdWRlICJTVkdQYWludFNlcnZlci5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgi
CiAjaW5jbHVkZSAiU1ZHUm9vdElubGluZUJveC5oIgogI2luY2x1ZGUgIlRleHQuaCIKIApAQCAt
NDE4LDEwICs0MTgsOSBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6OnBhaW50Q2hhcmFjdGVycyhS
CiAgICAgICAgIFRleHRSdW4gcnVuID0gc3ZnVGV4dFJ1bkZvcklubGluZVRleHRCb3goY2hhcnMs
IGxlbmd0aCwgc3R5bGVUb1VzZSwgdGhpcywgc3ZnQ2hhci54KTsKIAogI2lmIEVOQUJMRShTVkdf
Rk9OVFMpCi0gICAgICAgIC8vIFNWRyBGb250cyBuZWVkIGFjY2VzcyB0byB0aGUgcGFpbnQgc2Vy
dmVyIHVzZWQgdG8gZHJhdyB0aGUgY3VycmVudCB0ZXh0IGNodW5rLgotICAgICAgICAvLyBUaGV5
IG5lZWQgdG8gYmUgYWJsZSB0byBjYWxsIHJlbmRlclBhdGgoKSBvbiBhIFNWR1BhaW50U2VydmVy
IG9iamVjdC4KLSAgICAgICAgQVNTRVJUKHRleHRQYWludEluZm8uYWN0aXZlUGFpbnRTZXJ2ZXIp
OwotICAgICAgICBydW4uc2V0QWN0aXZlUGFpbnRTZXJ2ZXIodGV4dFBhaW50SW5mby5hY3RpdmVQ
YWludFNlcnZlcik7CisgICAgICAgIC8vIFNWRyBGb250cyBuZWVkIGFjY2VzcyB0byB0aGUgcGFp
bnRpbmcgcmVzb3VyY2UgdXNlZCB0byBkcmF3IHRoZSBjdXJyZW50IHRleHQgY2h1bmsuCisgICAg
ICAgIEFTU0VSVCh0ZXh0UGFpbnRJbmZvLmFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOworICAgICAg
ICBydW4uc2V0QWN0aXZlUGFpbnRpbmdSZXNvdXJjZSh0ZXh0UGFpbnRJbmZvLmFjdGl2ZVBhaW50
aW5nUmVzb3VyY2UpOwogI2VuZGlmCiAKICAgICAgICAgaW50IHNlbGVjdGlvblN0YXJ0ID0gMDsK
QEAgLTU2OSwxOCArNTY4LDIwIEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0
aW9uKEUKIAogICAgIGlmIChpc0ZpbGxlZCkgewogICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiBm
aWxsT2JqZWN0ID0gaW5mby5maWxsU2VydmVyTWFwLmdldChkZWNvcmF0aW9uKSkgewotICAgICAg
ICAgICAgaWYgKFNWR1BhaW50U2VydmVyKiBmaWxsUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZl
cjo6ZmlsbFBhaW50U2VydmVyKGZpbGxPYmplY3QtPnN0eWxlKCksIGZpbGxPYmplY3QpKSB7Cisg
ICAgICAgICAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2UqIGZpbGxQYWludGluZ1Jlc291cmNlID0g
UmVuZGVyU1ZHUmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291cmNlKGZpbGxPYmplY3QsIGZpbGxP
YmplY3QtPnN0eWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgY29udGV4dC0+YWRkUGF0aChwYXRo
Rm9yRGVjb3JhdGlvbihkZWNvcmF0aW9uLCBmaWxsT2JqZWN0LCB0eCwgdHksIHdpZHRoKSk7Ci0g
ICAgICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyLT5kcmF3KGNvbnRleHQsIGZpbGxPYmplY3Qs
IEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSk7CisgICAgICAgICAgICAgICAgaWYgKGZpbGxQYWludGlu
Z1Jlc291cmNlLT5hcHBseVJlc291cmNlKGZpbGxPYmplY3QsIGZpbGxPYmplY3QtPnN0eWxlKCks
IGNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSkpCisgICAgICAgICAgICAgICAgICAgIGZpbGxQYWlu
dGluZ1Jlc291cmNlLT5wb3N0QXBwbHlSZXNvdXJjZShmaWxsT2JqZWN0LCBjb250ZXh0LCBBcHBs
eVRvRmlsbE1vZGUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYg
KGlzU3Ryb2tlZCkgewogICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiBzdHJva2VPYmplY3QgPSBp
bmZvLnN0cm9rZVNlcnZlck1hcC5nZXQoZGVjb3JhdGlvbikpIHsKLSAgICAgICAgICAgIGlmIChT
VkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlcjo6c3Ryb2tl
UGFpbnRTZXJ2ZXIoc3Ryb2tlT2JqZWN0LT5zdHlsZSgpLCBzdHJva2VPYmplY3QpKSB7CisgICAg
ICAgICAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2UqIHN0cm9rZVBhaW50aW5nUmVzb3VyY2UgPSBS
ZW5kZXJTVkdSZXNvdXJjZTo6c3Ryb2tlUGFpbnRpbmdSZXNvdXJjZShzdHJva2VPYmplY3QsIHN0
cm9rZU9iamVjdC0+c3R5bGUoKSkpIHsKICAgICAgICAgICAgICAgICBjb250ZXh0LT5hZGRQYXRo
KHBhdGhGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIHN0cm9rZU9iamVjdCwgdHgsIHR5LCB3aWR0
aCkpOwotICAgICAgICAgICAgICAgIHN0cm9rZVBhaW50U2VydmVyLT5kcmF3KGNvbnRleHQsIHN0
cm9rZU9iamVjdCwgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUpOworICAgICAgICAgICAgICAgIGlm
IChzdHJva2VQYWludGluZ1Jlc291cmNlLT5hcHBseVJlc291cmNlKHN0cm9rZU9iamVjdCwgc3Ry
b2tlT2JqZWN0LT5zdHlsZSgpLCBjb250ZXh0LCBBcHBseVRvU3Ryb2tlTW9kZSkpCisgICAgICAg
ICAgICAgICAgICAgIHN0cm9rZVBhaW50aW5nUmVzb3VyY2UtPnBvc3RBcHBseVJlc291cmNlKHN0
cm9rZU9iamVjdCwgY29udGV4dCwgQXBwbHlUb1N0cm9rZU1vZGUpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJv
eC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guaAko
cmV2aXNpb24gNTgwOTIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5j
bHVkZSAiSW5saW5lVGV4dEJveC5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsOSArNDMsMTMgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIH07CiAKICAgICBzdHJ1Y3QgU1ZHVGV4dFBhaW50SW5mbyB7Ci0gICAgICAgIFNW
R1RleHRQYWludEluZm8oKSA6IGFjdGl2ZVBhaW50U2VydmVyKDApLCBzdWJwaGFzZShTVkdUZXh0
UGFpbnRTdWJwaGFzZUJhY2tncm91bmQpIHt9CisgICAgICAgIFNWR1RleHRQYWludEluZm8oKQor
ICAgICAgICAgICAgOiBhY3RpdmVQYWludGluZ1Jlc291cmNlKDApCisgICAgICAgICAgICAsIHN1
YnBoYXNlKFNWR1RleHRQYWludFN1YnBoYXNlQmFja2dyb3VuZCkKKyAgICAgICAgeworICAgICAg
ICB9CiAKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXIqIGFjdGl2ZVBhaW50U2VydmVyOworICAgICAg
ICBSZW5kZXJTVkdSZXNvdXJjZSogYWN0aXZlUGFpbnRpbmdSZXNvdXJjZTsKICAgICAgICAgU1ZH
VGV4dFBhaW50U3VicGhhc2Ugc3VicGhhc2U7CiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcgKzkyLDcg
QEAgYm9vbCBTVkdSZW5kZXJCYXNlOjpwcmVwYXJlVG9SZW5kZXJTVkdDbwogICAgIEFTU0VSVChz
dmdFbGVtZW50ICYmIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCkgJiYgc3ZnRWxlbWVudC0+aXNTdHls
ZWQoKSk7CiAKICAgICBTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWRFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpOwotICAgIGNvbnN0IFJlbmRlclN0eWxl
KiBzdHlsZSA9IG9iamVjdC0+c3R5bGUoKTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBvYmpl
Y3QtPnN0eWxlKCk7CiAgICAgQVNTRVJUKHN0eWxlKTsKIAogICAgIGNvbnN0IFNWR1JlbmRlclN0
eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5zdmdTdHlsZSgpOwpAQCAtMTMyLDE5ICsxMzIsMTkgQEAg
Ym9vbCBTVkdSZW5kZXJCYXNlOjpwcmVwYXJlVG9SZW5kZXJTVkdDbwogI2VuZGlmCiAKICAgICBp
ZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIqIG1hc2tlciA9IGdldFJlbmRlclNWR1Jlc291cmNl
QnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcj4oZG9jdW1lbnQsIG1hc2tlcklkKSkgewotICAg
ICAgICBpZiAoIW1hc2tlci0+YXBwbHlSZXNvdXJjZShvYmplY3QsIHBhaW50SW5mby5jb250ZXh0
KSkKKyAgICAgICAgaWYgKCFtYXNrZXItPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBzdHlsZSwgcGFp
bnRJbmZvLmNvbnRleHQsIEFwcGx5VG9EZWZhdWx0TW9kZSkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfSBlbHNlIGlmICghbWFza2VySWQuaXNFbXB0eSgpKQogICAgICAgICBzdmdF
bGVtZW50LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNv
dXJjZShtYXNrZXJJZCwgc3R5bGVkRWxlbWVudCk7CiAKICAgICBpZiAoUmVuZGVyU1ZHUmVzb3Vy
Y2VDbGlwcGVyKiBjbGlwcGVyID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jl
c291cmNlQ2xpcHBlcj4oZG9jdW1lbnQsIGNsaXBwZXJJZCkpCi0gICAgICAgIGNsaXBwZXItPmFw
cGx5UmVzb3VyY2Uob2JqZWN0LCBwYWludEluZm8uY29udGV4dCk7CisgICAgICAgIGNsaXBwZXIt
PmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBzdHlsZSwgcGFpbnRJbmZvLmNvbnRleHQsIEFwcGx5VG9E
ZWZhdWx0TW9kZSk7CiAgICAgZWxzZSBpZiAoIWNsaXBwZXJJZC5pc0VtcHR5KCkpCiAgICAgICAg
IHN2Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGlu
Z1Jlc291cmNlKGNsaXBwZXJJZCwgc3R5bGVkRWxlbWVudCk7CiAKICNpZiBFTkFCTEUoRklMVEVS
UykKICAgICBpZiAoZmlsdGVyKSB7Ci0gICAgICAgIGlmICghZmlsdGVyLT5hcHBseVJlc291cmNl
KG9iamVjdCwgcGFpbnRJbmZvLmNvbnRleHQpKQorICAgICAgICBpZiAoIWZpbHRlci0+YXBwbHlS
ZXNvdXJjZShvYmplY3QsIHN0eWxlLCBwYWludEluZm8uY29udGV4dCwgQXBwbHlUb0RlZmF1bHRN
b2RlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9IGVsc2UgaWYgKCFmaWx0ZXJJ
ZC5pc0VtcHR5KCkpCiAgICAgICAgIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4
dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKGZpbHRlcklkLCBzdHlsZWRFbGVtZW50KTsK
QEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lkIFNWR1JlbmRlckJhc2U6OmZpbmlzaFJlbmRlclNWR0Nv
bnRlCiAKICNpZiBFTkFCTEUoRklMVEVSUykKICAgICBpZiAoZmlsdGVyKSB7Ci0gICAgICAgIGZp
bHRlci0+cG9zdEFwcGx5UmVzb3VyY2Uob2JqZWN0LCBwYWludEluZm8uY29udGV4dCk7CisgICAg
ICAgIGZpbHRlci0+cG9zdEFwcGx5UmVzb3VyY2Uob2JqZWN0LCBwYWludEluZm8uY29udGV4dCwg
QXBwbHlUb0RlZmF1bHRNb2RlKTsKICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQgPSBzYXZlZENv
bnRleHQ7CiAgICAgfQogI2VuZGlmCkBAIC0zMDYsMjMgKzMwNiw1NyBAQCBGbG9hdFJlY3QgU1ZH
UmVuZGVyQmFzZTo6bWFza2VyQm91bmRpbmdCCiAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwogfQog
CitzdGF0aWMgaW5saW5lIHZvaWQgaW52YWxpZGF0ZVBhaW50aW5nUmVzb3VyY2UoU1ZHUGFpbnQq
IHBhaW50LCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sKKyAgICBBU1NFUlQocGFpbnQpOworCisg
ICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBwYWludC0+cGFpbnRUeXBlKCk7
CisgICAgaWYgKHBhaW50VHlwZSAhPSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUkkgJiYgcGFp
bnRUeXBlICE9IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSV9SR0JDT0xPUikKKyAgICAgICAg
cmV0dXJuOworCisgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0
KHBhaW50LT51cmkoKSkpOworICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogcGFp
bnRpbmdSZXNvdXJjZSA9IGdldFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyQnlJZChvYmplY3Qt
PmRvY3VtZW50KCksIGlkKSkKKyAgICAgICAgcGFpbnRpbmdSZXNvdXJjZS0+aW52YWxpZGF0ZUNs
aWVudChvYmplY3QpOworfQorCiB2b2lkIGRlcmVnaXN0ZXJGcm9tUmVzb3VyY2VzKFJlbmRlck9i
amVjdCogb2JqZWN0KQogewotICAgIC8vIFdlIG9ubHkgaGF2ZSB0aGUgcmVuZGVyZXIgZm9yIG1h
c2tlciBhbmQgY2xpcHBlciBhdCB0aGUgbW9tZW50LgotICAgIGlmIChSZW5kZXJTVkdSZXNvdXJj
ZU1hc2tlciogbWFza2VyID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291
cmNlTWFza2VyPihvYmplY3QtPmRvY3VtZW50KCksIG9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUo
KS0+bWFza2VyUmVzb3VyY2UoKSkpCisgICAgQVNTRVJUKG9iamVjdCk7CisgICAgQVNTRVJUKG9i
amVjdC0+c3R5bGUoKSk7CisKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBvYmplY3QtPmRvY3Vt
ZW50KCk7CisgICAgQVNTRVJUKGRvY3VtZW50KTsKKworICAgIGNvbnN0IFNWR1JlbmRlclN0eWxl
KiBzdmdTdHlsZSA9IG9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUoKTsKKyAgICBBU1NFUlQoc3Zn
U3R5bGUpOworCisgICAgLy8gTWFza2VyCisgICAgaWYgKFJlbmRlclNWR1Jlc291cmNlTWFza2Vy
KiBtYXNrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VNYXNr
ZXI+KGRvY3VtZW50LCBzdmdTdHlsZS0+bWFza2VyUmVzb3VyY2UoKSkpCiAgICAgICAgIG1hc2tl
ci0+aW52YWxpZGF0ZUNsaWVudChvYmplY3QpOwotICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXIqIGNsaXBwZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3Vy
Y2VDbGlwcGVyPihvYmplY3QtPmRvY3VtZW50KCksIG9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUo
KS0+Y2xpcHBlclJlc291cmNlKCkpKQorCisgICAgLy8gQ2xpcHBlcgorICAgIGlmIChSZW5kZXJT
VkdSZXNvdXJjZUNsaXBwZXIqIGNsaXBwZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyPihkb2N1bWVudCwgc3ZnU3R5bGUtPmNsaXBwZXJSZXNvdXJj
ZSgpKSkKICAgICAgICAgY2xpcHBlci0+aW52YWxpZGF0ZUNsaWVudChvYmplY3QpOworCisgICAg
Ly8gRmlsdGVyCiAjaWYgRU5BQkxFKEZJTFRFUlMpCi0gICAgaWYgKFJlbmRlclNWR1Jlc291cmNl
RmlsdGVyKiBmaWx0ZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3Vy
Y2VGaWx0ZXI+KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgp
LT5maWx0ZXJSZXNvdXJjZSgpKSkKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIqIGZp
bHRlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcj4o
ZG9jdW1lbnQsIHN2Z1N0eWxlLT5maWx0ZXJSZXNvdXJjZSgpKSkKICAgICAgICAgZmlsdGVyLT5p
bnZhbGlkYXRlQ2xpZW50KG9iamVjdCk7CiAjZW5kaWYKLSAgICBpZiAoUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXJrZXIqIHN0YXJ0TWFya2VyID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNW
R1Jlc291cmNlTWFya2VyPihvYmplY3QtPmRvY3VtZW50KCksIG9iamVjdC0+c3R5bGUoKS0+c3Zn
U3R5bGUoKS0+bWFya2VyU3RhcnRSZXNvdXJjZSgpKSkKKworICAgIC8vIE1hcmtlcnMKKyAgICBp
ZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIHN0YXJ0TWFya2VyID0gZ2V0UmVuZGVyU1ZHUmVz
b3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihkb2N1bWVudCwgc3ZnU3R5bGUtPm1h
cmtlclN0YXJ0UmVzb3VyY2UoKSkpCiAgICAgICAgIHN0YXJ0TWFya2VyLT5pbnZhbGlkYXRlQ2xp
ZW50KG9iamVjdCk7Ci0gICAgaWYgKFJlbmRlclNWR1Jlc291cmNlTWFya2VyKiBtaWRNYXJrZXIg
PSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI+KG9iamVj
dC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpLT5tYXJrZXJNaWRSZXNv
dXJjZSgpKSkKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIG1pZE1hcmtlciA9IGdl
dFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcj4oZG9jdW1lbnQs
IHN2Z1N0eWxlLT5tYXJrZXJNaWRSZXNvdXJjZSgpKSkKICAgICAgICAgbWlkTWFya2VyLT5pbnZh
bGlkYXRlQ2xpZW50KG9iamVjdCk7Ci0gICAgaWYgKFJlbmRlclNWR1Jlc291cmNlTWFya2VyKiBl
bmRNYXJrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VNYXJr
ZXI+KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpLT5tYXJr
ZXJFbmRSZXNvdXJjZSgpKSkKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIGVuZE1h
cmtlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcj4o
ZG9jdW1lbnQsIHN2Z1N0eWxlLT5tYXJrZXJFbmRSZXNvdXJjZSgpKSkKICAgICAgICAgZW5kTWFy
a2VyLT5pbnZhbGlkYXRlQ2xpZW50KG9iamVjdCk7CisKKyAgICAvLyBHcmFkaWVudHMvUGF0dGVy
bnMKKyAgICBpZiAoc3ZnU3R5bGUtPmhhc0ZpbGwoKSkKKyAgICAgICAgaW52YWxpZGF0ZVBhaW50
aW5nUmVzb3VyY2Uoc3ZnU3R5bGUtPmZpbGxQYWludCgpLCBvYmplY3QpOworICAgIGlmIChzdmdT
dHlsZS0+aGFzU3Ryb2tlKCkpCisgICAgICAgIGludmFsaWRhdGVQYWludGluZ1Jlc291cmNlKHN2
Z1N0eWxlLT5zdHJva2VQYWludCgpLCBvYmplY3QpOwogfQogCiB2b2lkIGFwcGx5VHJhbnNmb3Jt
VG9QYWludEluZm8oUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgQWZm
aW5lVHJhbnNmb3JtJiBsb2NhbFRvQW5jZXN0b3JUcmFuc2Zvcm0pCkBAIC0zMzQsNiArMzY4LDM5
IEBAIHZvaWQgYXBwbHlUcmFuc2Zvcm1Ub1BhaW50SW5mbyhSZW5kZXJPYmoKICAgICBwYWludElu
Zm8ucmVjdCA9IGxvY2FsVG9BbmNlc3RvclRyYW5zZm9ybS5pbnZlcnNlKCkubWFwUmVjdChwYWlu
dEluZm8ucmVjdCk7CiB9CiAKK0Rhc2hBcnJheSBkYXNoQXJyYXlGcm9tUmVuZGVyaW5nU3R5bGUo
Y29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKQoreworICAg
IERhc2hBcnJheSBhcnJheTsKKyAgICAKKyAgICBDU1NWYWx1ZUxpc3QqIGRhc2hlcyA9IHN0eWxl
LT5zdmdTdHlsZSgpLT5zdHJva2VEYXNoQXJyYXkoKTsKKyAgICBpZiAoZGFzaGVzKSB7CisgICAg
ICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBkYXNoID0gMDsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBs
ZW4gPSBkYXNoZXMtPmxlbmd0aCgpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGxvbmcgaSA9IDA7
IGkgPCBsZW47IGkrKykgeworICAgICAgICAgICAgZGFzaCA9IHN0YXRpY19jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlKj4oZGFzaGVzLT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKGkpKTsKKyAgICAgICAg
ICAgIGlmICghZGFzaCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
YXJyYXkuYXBwZW5kKChmbG9hdCkgZGFzaC0+Y29tcHV0ZUxlbmd0aEZsb2F0KGNvbnN0X2Nhc3Q8
UmVuZGVyU3R5bGUqPihzdHlsZSksIHJvb3RTdHlsZSkpOworICAgICAgICB9CisgICAgfQorCisg
ICAgcmV0dXJuIGFycmF5OworfQorCit2b2lkIGFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJl
bmRlck9iamVjdCogb2JqZWN0KQoreworICAgIGNvbnRleHQtPnNldFN0cm9rZVRoaWNrbmVzcyhT
VkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+c3ZnU3R5
bGUoKS0+c3Ryb2tlV2lkdGgoKSwgMS4wZikpOworICAgIGNvbnRleHQtPnNldExpbmVDYXAoc3R5
bGUtPnN2Z1N0eWxlKCktPmNhcFN0eWxlKCkpOworICAgIGNvbnRleHQtPnNldExpbmVKb2luKHN0
eWxlLT5zdmdTdHlsZSgpLT5qb2luU3R5bGUoKSk7CisgICAgaWYgKHN0eWxlLT5zdmdTdHlsZSgp
LT5qb2luU3R5bGUoKSA9PSBNaXRlckpvaW4pCisgICAgICAgIGNvbnRleHQtPnNldE1pdGVyTGlt
aXQoc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZU1pdGVyTGltaXQoKSk7CisKKyAgICBjb25zdCBE
YXNoQXJyYXkmIGRhc2hlcyA9IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShvYmplY3QtPnN0
eWxlKCksIG9iamVjdC0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxl
KCkpOworICAgIGZsb2F0IGRhc2hPZmZzZXQgPSBTVkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZl
VG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+c3ZnU3R5bGUoKS0+c3Ryb2tlRGFzaE9mZnNldCgpLCAw
LjBmKTsKKyAgICBjb250ZXh0LT5zZXRMaW5lRGFzaChkYXNoZXMsIGRhc2hPZmZzZXQpOworfQor
CiBjb25zdCBSZW5kZXJPYmplY3QqIGZpbmRUZXh0Um9vdE9iamVjdChjb25zdCBSZW5kZXJPYmpl
Y3QqIHN0YXJ0KQogewogICAgIHdoaWxlIChzdGFydCAmJiAhc3RhcnQtPmlzU1ZHVGV4dCgpKQpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaAkocmV2aXNpb24gNTgwOTIpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTI1LDYgKzI1LDcgQEAKICNkZWZpbmUgU1ZHUmVuZGVyQmFzZV9oCiAKICNpZiBFTkFCTEUoU1ZH
KQorI2luY2x1ZGUgIkRhc2hBcnJheS5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2lu
Y2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCkBAIC04
NSw3ICs4NiwxMSBAQCB2b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlKEltYWdlQnVmZmVyKiwgCiB2
b2lkIGRlcmVnaXN0ZXJGcm9tUmVzb3VyY2VzKFJlbmRlck9iamVjdCopOwogdm9pZCBjbGFtcElt
YWdlQnVmZmVyU2l6ZVRvVmlld3BvcnQoRnJhbWVWaWV3KiwgSW50U2l6ZSYgaW1hZ2VCdWZmZXJT
aXplKTsKIAordm9pZCBhcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVyT2JqZWN0Kik7CitEYXNoQXJyYXkgZGFz
aEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVy
U3R5bGUqIHJvb3RTdHlsZSk7CisKIGNvbnN0IFJlbmRlck9iamVjdCogZmluZFRleHRSb290T2Jq
ZWN0KGNvbnN0IFJlbmRlck9iamVjdCogc3RhcnQpOworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVu
ZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVu
ZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDU4MDkzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDI2ICszNCwzNyBA
QAogI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCisjaW5jbHVkZSAiTGluZWFyR3JhZGllbnRBdHRyaWJ1
dGVzLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiUGF0aC5oIgor
I2luY2x1ZGUgIlBhdHRlcm5BdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSAiUmFkaWFsR3JhZGllbnRB
dHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJQ
YXRoLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHQ29udGFpbmVyLmgiCisjaW5jbHVkZSAiUmVuZGVy
U1ZHR3JhZGllbnRTdG9wLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHSW5saW5lVGV4dC5oIgogI2lu
Y2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jl
c291cmNlRmlsdGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIgor
I2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuaCIKICNpbmNsdWRlICJS
ZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTWFz
a2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgiCisjaW5jbHVkZSAi
UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jl
c291cmNlU29saWRDb2xvci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jvb3QuaCIKICNpbmNsdWRl
ICJSZW5kZXJTVkdUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgogI2luY2x1
ZGUgIlNWR0NoYXJhY3RlckxheW91dEluZm8uaCIKICNpbmNsdWRlICJTVkdJbmxpbmVUZXh0Qm94
LmgiCisjaW5jbHVkZSAiU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZH
UGF0dGVybkVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJTVkdSb290SW5saW5lQm94LmgiCisjaW5jbHVkZSAiU1ZHU3RvcEVsZW1lbnQu
aCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCisKICNpbmNsdWRlIDxtYXRoLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMwNyw2ICszMTgsNDcgQEAgc3RhdGljIFRleHRTdHJl
YW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbQogICAgIHJldHVybiB0czsKIH0KIAorLy8gRklYTUU6
IE1heWJlIHRoaXMgc2hvdWxkIGJlIGluIEdyYWRpZW50LmNwcAorc3RhdGljIFRleHRTdHJlYW0m
IG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIEdyYWRpZW50U3ByZWFkTWV0aG9kIG1vZGUpCit7
CisgICAgc3dpdGNoIChtb2RlKSB7CisgICAgY2FzZSBTcHJlYWRNZXRob2RQYWQ6CisgICAgICAg
IHRzIDw8ICJQQUQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNwcmVhZE1ldGhvZFJlcGVh
dDoKKyAgICAgICAgdHMgPDwgIlJFUEVBVCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU3By
ZWFkTWV0aG9kUmVmbGVjdDoKKyAgICAgICAgdHMgPDwgIlJFRkxFQ1QiOworICAgICAgICBicmVh
azsKKyAgICB9CisKKyAgICByZXR1cm4gdHM7Cit9CisKK3N0YXRpYyB2b2lkIHdyaXRlU1ZHUGFp
bnRpbmdSZXNvdXJjZShUZXh0U3RyZWFtJiB0cywgUmVuZGVyU1ZHUmVzb3VyY2UqIHJlc291cmNl
KQoreworICAgIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gU29saWRDb2xvclJlc291
cmNlVHlwZSkgeworICAgICAgICB0cyA8PCAiW3R5cGU9U09MSURdIFtjb2xvcj0iIDw8IHN0YXRp
Y19jYXN0PFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcio+KHJlc291cmNlKS0+Y29sb3IoKSA8
PCAiXSI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBBbGwgb3RoZXIgcmVzb3Vy
Y2VzIGRlcml2ZSBmcm9tIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyCisgICAgUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXIqIGNvbnRhaW5lciA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyKj4ocmVzb3VyY2UpOworICAgIE5vZGUqIG5vZGUgPSBjb250YWluZXItPm5v
ZGUoKTsKKyAgICBBU1NFUlQobm9kZSk7CisgICAgQVNTRVJUKG5vZGUtPmlzU1ZHRWxlbWVudCgp
KTsKKworICAgIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gUGF0dGVyblJlc291cmNl
VHlwZSkKKyAgICAgICAgdHMgPDwgIlt0eXBlPVBBVFRFUk5dIjsKKyAgICBlbHNlIGlmIChyZXNv
dXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gTGluZWFyR3JhZGllbnRSZXNvdXJjZVR5cGUpCisgICAg
ICAgIHRzIDw8ICJbdHlwZT1MSU5FQVItR1JBRElFTlRdIjsKKyAgICBlbHNlIGlmIChyZXNvdXJj
ZS0+cmVzb3VyY2VUeXBlKCkgPT0gUmFkaWFsR3JhZGllbnRSZXNvdXJjZVR5cGUpCisgICAgICAg
IHRzIDw8ICJbdHlwZT1SQURJQUwtR1JBRElFTlRdIjsKKworICAgIHRzIDw8ICIgW2lkPVwiIiA8
PCBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4obm9kZSktPmdldElEQXR0cmlidXRlKCkgPDwgIlwi
XSI7Cit9CisKIHN0YXRpYyB2b2lkIHdyaXRlU3R5bGUoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJl
bmRlck9iamVjdCYgb2JqZWN0KQogewogICAgIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSA9IG9i
amVjdC5zdHlsZSgpOwpAQCAtMzE4LDEyICszNzAsMTEgQEAgc3RhdGljIHZvaWQgd3JpdGVTdHls
ZShUZXh0U3RyZWFtJiB0cywgYwogICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAib3BhY2l0eSIs
IHN0eWxlLT5vcGFjaXR5KCksIFJlbmRlclN0eWxlOjppbml0aWFsT3BhY2l0eSgpKTsKICAgICBp
ZiAob2JqZWN0LmlzUmVuZGVyUGF0aCgpKSB7CiAgICAgICAgIGNvbnN0IFJlbmRlclBhdGgmIHBh
dGggPSBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJQYXRoJj4ob2JqZWN0KTsKLSAgICAgICAgU1ZH
UGFpbnRTZXJ2ZXIqIHN0cm9rZVBhaW50U2VydmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OnN0cm9rZVBh
aW50U2VydmVyKHN0eWxlLCAmcGF0aCk7Ci0gICAgICAgIGlmIChzdHJva2VQYWludFNlcnZlcikg
eworCisgICAgICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZSogc3Ryb2tlUGFpbnRpbmdSZXNvdXJj
ZSA9IFJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGluZ1Jlc291cmNlKCZwYXRoLCBwYXRo
LnN0eWxlKCkpKSB7CiAgICAgICAgICAgICBUZXh0U3RyZWFtU2VwYXJhdG9yIHMoIiAiKTsKLSAg
ICAgICAgICAgIHRzIDw8ICIgW3N0cm9rZT17IjsKLSAgICAgICAgICAgIGlmIChzdHJva2VQYWlu
dFNlcnZlcikKLSAgICAgICAgICAgICAgICB0cyA8PCBzIDw8ICpzdHJva2VQYWludFNlcnZlcjsK
KyAgICAgICAgICAgIHRzIDw8ICIgW3N0cm9rZT17IiA8PCBzOworICAgICAgICAgICAgd3JpdGVT
VkdQYWludGluZ1Jlc291cmNlKHRzLCBzdHJva2VQYWludGluZ1Jlc291cmNlKTsKIAogICAgICAg
ICAgICAgZG91YmxlIGRhc2hPZmZzZXQgPSBTVkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZlVG9M
ZW5ndGgoJnBhdGgsIHN2Z1N0eWxlLT5zdHJva2VEYXNoT2Zmc2V0KCksIDAuMGYpOwogICAgICAg
ICAgICAgY29uc3QgRGFzaEFycmF5JiBkYXNoQXJyYXkgPSBkYXNoQXJyYXlGcm9tUmVuZGVyaW5n
U3R5bGUoc3R5bGUsIG9iamVjdC5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVy
U3R5bGUoKSk7CkBAIC0zNDAsMTIgKzM5MSwxMSBAQCBzdGF0aWMgdm9pZCB3cml0ZVN0eWxlKFRl
eHRTdHJlYW0mIHRzLCBjCiAKICAgICAgICAgICAgIHRzIDw8ICJ9XSI7CiAgICAgICAgIH0KLSAg
ICAgICAgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpm
aWxsUGFpbnRTZXJ2ZXIoc3R5bGUsICZwYXRoKTsKLSAgICAgICAgaWYgKGZpbGxQYWludFNlcnZl
cikgeworCisgICAgICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3Vy
Y2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6ZmlsbFBhaW50aW5nUmVzb3VyY2UoJnBhdGgsIHBhdGgu
c3R5bGUoKSkpIHsKICAgICAgICAgICAgIFRleHRTdHJlYW1TZXBhcmF0b3IgcygiICIpOwotICAg
ICAgICAgICAgdHMgPDwgIiBbZmlsbD17IjsKLSAgICAgICAgICAgIGlmIChmaWxsUGFpbnRTZXJ2
ZXIpCi0gICAgICAgICAgICAgICAgdHMgPDwgcyA8PCAqZmlsbFBhaW50U2VydmVyOworICAgICAg
ICAgICAgdHMgPDwgIiBbZmlsbD17IiA8PCBzOworICAgICAgICAgICAgd3JpdGVTVkdQYWludGlu
Z1Jlc291cmNlKHRzLCBmaWxsUGFpbnRpbmdSZXNvdXJjZSk7CiAKICAgICAgICAgICAgIHdyaXRl
SWZOb3REZWZhdWx0KHRzLCAib3BhY2l0eSIsIHN2Z1N0eWxlLT5maWxsT3BhY2l0eSgpLCAxLjBm
KTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAiZmlsbCBydWxlIiwgc3ZnU3R5
bGUtPmZpbGxSdWxlKCksIFJVTEVfTk9OWkVSTyk7CkBAIC01MTUsNyArNTY1LDIzIEBAIHN0YXRp
YyB2b2lkIHdyaXRlQ2hpbGRyZW4oVGV4dFN0cmVhbSYgdHMKICAgICAgICAgd3JpdGUodHMsICpj
aGlsZCwgaW5kZW50ICsgMSk7CiB9CiAKLXZvaWQgd3JpdGVTVkdSZXNvdXJjZShUZXh0U3RyZWFt
JiB0cywgY29uc3QgUmVuZGVyT2JqZWN0JiBvYmplY3QsIGludCBpbmRlbnQpCitzdGF0aWMgaW5s
aW5lIFN0cmluZyBib3VuZGluZ0JveE1vZGVTdHJpbmcoYm9vbCBib3VuZGluZ0JveE1vZGUpCit7
CisgICAgcmV0dXJuIGJvdW5kaW5nQm94TW9kZSA/ICJvYmplY3RCb3VuZGluZ0JveCIgOiAidXNl
clNwYWNlT25Vc2UiOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgd3JpdGVDb21tb25HcmFkaWVu
dFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIEdyYWRpZW50U3ByZWFkTWV0aG9kIHNwcmVhZE1l
dGhvZCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBncmFkaWVudFRyYW5zZm9ybSwgYm9vbCBib3Vu
ZGluZ0JveE1vZGUpCit7CisgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAiZ3JhZGllbnRVbml0
cyIsIGJvdW5kaW5nQm94TW9kZVN0cmluZyhib3VuZGluZ0JveE1vZGUpKTsKKworICAgIGlmIChz
cHJlYWRNZXRob2QgIT0gU3ByZWFkTWV0aG9kUGFkKQorICAgICAgICB0cyA8PCAiIFtzcHJlYWRN
ZXRob2Q9IiA8PCBzcHJlYWRNZXRob2QgPDwgIl0iOworCisgICAgaWYgKCFncmFkaWVudFRyYW5z
Zm9ybS5pc0lkZW50aXR5KCkpCisgICAgICAgIHRzIDw8ICIgW2dyYWRpZW50VHJhbnNmb3JtPSIg
PDwgZ3JhZGllbnRUcmFuc2Zvcm0gPDwgIl0iOworfQorCit2b2lkIHdyaXRlU1ZHUmVzb3VyY2VD
b250YWluZXIoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0LCBpbnQg
aW5kZW50KQogewogICAgIHdyaXRlU3RhbmRhcmRQcmVmaXgodHMsIG9iamVjdCwgaW5kZW50KTsK
IApAQCAtNTIzLDE2ICs1ODksMTYgQEAgdm9pZCB3cml0ZVNWR1Jlc291cmNlKFRleHRTdHJlYW0m
IHRzLCBjbwogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaWQgPSBlbGVtZW50LT5nZXRJREF0dHJp
YnV0ZSgpOwogICAgIHdyaXRlTmFtZUFuZFF1b3RlZFZhbHVlKHRzLCAiaWQiLCBpZCk7ICAgIAog
Ci0gICAgUmVuZGVyU1ZHUmVzb3VyY2UqIHJlc291cmNlID0gY29uc3RfY2FzdDxSZW5kZXJPYmpl
Y3QmPihvYmplY3QpLnRvUmVuZGVyU1ZHUmVzb3VyY2UoKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lciogcmVzb3VyY2UgPSBjb25zdF9jYXN0PFJlbmRlck9iamVjdCY+KG9iamVjdCku
dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpOworICAgIEFTU0VSVChyZXNvdXJjZSk7CisK
ICAgICBpZiAocmVzb3VyY2UtPnJlc291cmNlVHlwZSgpID09IE1hc2tlclJlc291cmNlVHlwZSkg
ewogICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlciogbWFza2VyID0gc3RhdGljX2Nhc3Q8
UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIqPihyZXNvdXJjZSk7Ci0gICAgICAgIEFTU0VSVChtYXNr
ZXIpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJtYXNrVW5pdHMiLCBtYXNrZXIt
Pm1hc2tVbml0cygpKTsKICAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAibWFza0NvbnRl
bnRVbml0cyIsIG1hc2tlci0+bWFza0NvbnRlbnRVbml0cygpKTsKICNpZiBFTkFCTEUoRklMVEVS
UykKICAgICB9IGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBGaWx0ZXJSZXNv
dXJjZVR5cGUpIHsKICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIqIGZpbHRlciA9IHN0
YXRpY19jYXN0PFJlbmRlclNWR1Jlc291cmNlRmlsdGVyKj4ocmVzb3VyY2UpOwotICAgICAgICBB
U1NFUlQoZmlsdGVyKTsKICAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAiZmlsdGVyVW5p
dHMiLCBmaWx0ZXItPmZpbHRlclVuaXRzKCkpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIo
dHMsICJwcmltaXRpdmVVbml0cyIsIGZpbHRlci0+cHJpbWl0aXZlVW5pdHMoKSk7CiAgICAgICAg
IGlmIChPd25QdHI8U1ZHRmlsdGVyQnVpbGRlcj4gYnVpbGRlciA9IGZpbHRlci0+YnVpbGRQcmlt
aXRpdmVzKCkpIHsKQEAgLTU1OCwxMSArNjI0LDkgQEAgdm9pZCB3cml0ZVNWR1Jlc291cmNlKFRl
eHRTdHJlYW0mIHRzLCBjbwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChyZXNvdXJjZS0+cmVzb3Vy
Y2VUeXBlKCkgPT0gQ2xpcHBlclJlc291cmNlVHlwZSkgewogICAgICAgICBSZW5kZXJTVkdSZXNv
dXJjZUNsaXBwZXIqIGNsaXBwZXIgPSBzdGF0aWNfY2FzdDxSZW5kZXJTVkdSZXNvdXJjZUNsaXBw
ZXIqPihyZXNvdXJjZSk7Ci0gICAgICAgIEFTU0VSVChjbGlwcGVyKTsKICAgICAgICAgd3JpdGVO
YW1lVmFsdWVQYWlyKHRzLCAiY2xpcFBhdGhVbml0cyIsIGNsaXBwZXItPmNsaXBQYXRoVW5pdHMo
KSk7CiAgICAgfSBlbHNlIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gTWFya2VyUmVz
b3VyY2VUeXBlKSB7CiAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTWFya2VyKiBtYXJrZXIgPSBz
dGF0aWNfY2FzdDxSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcio+KHJlc291cmNlKTsKLSAgICAgICAg
QVNTRVJUKG1hcmtlcik7CiAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgIm1hcmtlclVu
aXRzIiwgbWFya2VyLT5tYXJrZXJVbml0cygpKTsKICAgICAgICAgdHMgPDwgIiBbcmVmIGF0ICIg
PDwgbWFya2VyLT5yZWZlcmVuY2VQb2ludCgpIDw8ICJdIjsKICAgICAgICAgdHMgPDwgIiBbYW5n
bGU9IjsKQEAgLTU3MCw2ICs2MzQsNDkgQEAgdm9pZCB3cml0ZVNWR1Jlc291cmNlKFRleHRTdHJl
YW0mIHRzLCBjbwogICAgICAgICAgICAgdHMgPDwgImF1dG8iIDw8ICJdIjsKICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgdHMgPDwgbWFya2VyLT5hbmdsZSgpIDw8ICJdIjsKKyAgICB9IGVsc2Ug
aWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBQYXR0ZXJuUmVzb3VyY2VUeXBlKSB7Cisg
ICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiogcGF0dGVybiA9IHN0YXRpY19jYXN0PFJl
bmRlclNWR1Jlc291cmNlUGF0dGVybio+KHJlc291cmNlKTsKKworICAgICAgICAvLyBEdW1wIGZp
bmFsIHJlc3VsdHMgdGhhdCBhcmUgdXNlZCBmb3IgcmVuZGVyaW5nLiBObyB1c2UgaW4gYXNraW5n
IFNWR1BhdHRlcm5FbGVtZW50IGZvciBpdHMgcGF0dGVyblVuaXRzKCksIGFzIGl0IG1heQorICAg
ICAgICAvLyBsaW5rIHRvIG90aGVyIHBhdHRlcm5zIHVzaW5nIHhsaW5rOmhyZWYsIHdlIG5lZWQg
dG8gYnVpbGQgdGhlIGZ1bGwgaW5oZXJpdGFuY2UgY2hhaW4sIGFrYS4gY29sbGVjdFBhdHRlcm5Q
cm9wZXJ0aWVzKCkKKyAgICAgICAgUGF0dGVybkF0dHJpYnV0ZXMgYXR0cmlidXRlcyA9IHN0YXRp
Y19jYXN0PFNWR1BhdHRlcm5FbGVtZW50Kj4ocGF0dGVybi0+bm9kZSgpKS0+Y29sbGVjdFBhdHRl
cm5Qcm9wZXJ0aWVzKCk7CisgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgInBhdHRlcm5V
bml0cyIsIGJvdW5kaW5nQm94TW9kZVN0cmluZyhhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgp
KSk7CisgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgInBhdHRlcm5Db250ZW50VW5pdHMi
LCBib3VuZGluZ0JveE1vZGVTdHJpbmcoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGVDb250ZW50
KCkpKTsKKworICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtID0gYXR0cmlidXRlcy5w
YXR0ZXJuVHJhbnNmb3JtKCk7CisgICAgICAgIGlmICghdHJhbnNmb3JtLmlzSWRlbnRpdHkoKSkK
KyAgICAgICAgICAgIHRzIDw8ICIgW3BhdHRlcm5UcmFuc2Zvcm09IiA8PCB0cmFuc2Zvcm0gPDwg
Il0iOworICAgIH0gZWxzZSBpZiAocmVzb3VyY2UtPnJlc291cmNlVHlwZSgpID09IExpbmVhckdy
YWRpZW50UmVzb3VyY2VUeXBlKSB7CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3Jh
ZGllbnQqIGdyYWRpZW50ID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFk
aWVudCo+KHJlc291cmNlKTsKKworICAgICAgICAvLyBEdW1wIGZpbmFsIHJlc3VsdHMgdGhhdCBh
cmUgdXNlZCBmb3IgcmVuZGVyaW5nLiBObyB1c2UgaW4gYXNraW5nIFNWR0dyYWRpZW50RWxlbWVu
dCBmb3IgaXRzIGdyYWRpZW50VW5pdHMoKSwgYXMgaXQgbWF5CisgICAgICAgIC8vIGxpbmsgdG8g
b3RoZXIgZ3JhZGllbnRzIHVzaW5nIHhsaW5rOmhyZWYsIHdlIG5lZWQgdG8gYnVpbGQgdGhlIGZ1
bGwgaW5oZXJpdGFuY2UgY2hhaW4sIGFrYS4gY29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpCisg
ICAgICAgIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCogbGluZWFyR3JhZGllbnRFbGVtZW50ID0g
c3RhdGljX2Nhc3Q8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Kj4oZ3JhZGllbnQtPm5vZGUoKSk7
CisKKyAgICAgICAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSBsaW5lYXJH
cmFkaWVudEVsZW1lbnQtPmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKTsKKyAgICAgICAgd3Jp
dGVDb21tb25HcmFkaWVudFByb3BlcnRpZXModHMsIGF0dHJpYnV0ZXMuc3ByZWFkTWV0aG9kKCks
IGF0dHJpYnV0ZXMuZ3JhZGllbnRUcmFuc2Zvcm0oKSwgYXR0cmlidXRlcy5ib3VuZGluZ0JveE1v
ZGUoKSk7CisKKyAgICAgICAgRmxvYXRQb2ludCBzdGFydFBvaW50OworICAgICAgICBGbG9hdFBv
aW50IGVuZFBvaW50OworICAgICAgICBsaW5lYXJHcmFkaWVudEVsZW1lbnQtPmNhbGN1bGF0ZVN0
YXJ0RW5kUG9pbnRzKGF0dHJpYnV0ZXMsIHN0YXJ0UG9pbnQsIGVuZFBvaW50KTsKKworICAgICAg
ICB0cyA8PCAiIFtzdGFydD0iIDw8IHN0YXJ0UG9pbnQgPDwgIl0gW2VuZD0iIDw8IGVuZFBvaW50
IDw8ICJdIjsKKyAgICB9ICBlbHNlIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gUmFk
aWFsR3JhZGllbnRSZXNvdXJjZVR5cGUpIHsKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRp
YWxHcmFkaWVudCogZ3JhZGllbnQgPSBzdGF0aWNfY2FzdDxSZW5kZXJTVkdSZXNvdXJjZVJhZGlh
bEdyYWRpZW50Kj4ocmVzb3VyY2UpOworCisgICAgICAgIC8vIER1bXAgZmluYWwgcmVzdWx0cyB0
aGF0IGFyZSB1c2VkIGZvciByZW5kZXJpbmcuIE5vIHVzZSBpbiBhc2tpbmcgU1ZHR3JhZGllbnRF
bGVtZW50IGZvciBpdHMgZ3JhZGllbnRVbml0cygpLCBhcyBpdCBtYXkKKyAgICAgICAgLy8gbGlu
ayB0byBvdGhlciBncmFkaWVudHMgdXNpbmcgeGxpbms6aHJlZiwgd2UgbmVlZCB0byBidWlsZCB0
aGUgZnVsbCBpbmhlcml0YW5jZSBjaGFpbiwgYWthLiBjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVz
KCkKKyAgICAgICAgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KiByYWRpYWxHcmFkaWVudEVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQqPihncmFkaWVudC0+bm9k
ZSgpKTsKKworICAgICAgICBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMgYXR0cmlidXRlcyA9IHJh
ZGlhbEdyYWRpZW50RWxlbWVudC0+Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpOworICAgICAg
ICB3cml0ZUNvbW1vbkdyYWRpZW50UHJvcGVydGllcyh0cywgYXR0cmlidXRlcy5zcHJlYWRNZXRo
b2QoKSwgYXR0cmlidXRlcy5ncmFkaWVudFRyYW5zZm9ybSgpLCBhdHRyaWJ1dGVzLmJvdW5kaW5n
Qm94TW9kZSgpKTsKKworICAgICAgICBGbG9hdFBvaW50IGZvY2FsUG9pbnQ7CisgICAgICAgIEZs
b2F0UG9pbnQgY2VudGVyUG9pbnQ7CisgICAgICAgIGZsb2F0IHJhZGl1czsKKyAgICAgICAgcmFk
aWFsR3JhZGllbnRFbGVtZW50LT5jYWxjdWxhdGVGb2NhbENlbnRlclBvaW50c0FuZFJhZGl1cyhh
dHRyaWJ1dGVzLCBmb2NhbFBvaW50LCBjZW50ZXJQb2ludCwgcmFkaXVzKTsKKworICAgICAgICB0
cyA8PCAiIFtjZW50ZXI9IiA8PCBjZW50ZXJQb2ludCA8PCAiXSBbZm9jYWw9IiA8PCBmb2NhbFBv
aW50IDw8ICJdIFtyYWRpdXM9IiA8PCByYWRpdXMgPDwgIl0iOwogICAgIH0KIAogICAgIHRzIDw8
ICJcbiI7CkBAIC02MjYsNiArNzMzLDIwIEBAIHZvaWQgd3JpdGUoVGV4dFN0cmVhbSYgdHMsIGNv
bnN0IFJlbmRlclAKICAgICB3cml0ZVJlc291cmNlcyh0cywgcGF0aCwgaW5kZW50KTsKIH0KIAor
dm9pZCB3cml0ZVNWR0dyYWRpZW50U3RvcChUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyU1ZH
R3JhZGllbnRTdG9wJiBzdG9wLCBpbnQgaW5kZW50KQoreworICAgIHdyaXRlU3RhbmRhcmRQcmVm
aXgodHMsIHN0b3AsIGluZGVudCk7CisKKyAgICBTVkdTdG9wRWxlbWVudCogc3RvcEVsZW1lbnQg
PSBzdGF0aWNfY2FzdDxTVkdTdG9wRWxlbWVudCo+KHN0b3Aubm9kZSgpKTsKKyAgICBBU1NFUlQo
c3RvcEVsZW1lbnQpOworCisgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gc3RvcC5zdHlsZSgpOwor
ICAgIGlmICghc3R5bGUpCisgICAgICAgIHJldHVybjsKKworICAgIHRzIDw8ICIgW29mZnNldD0i
IDw8IHN0b3BFbGVtZW50LT5vZmZzZXQoKSA8PCAiXSBbY29sb3I9IiA8PCBzdG9wRWxlbWVudC0+
c3RvcENvbG9ySW5jbHVkaW5nT3BhY2l0eSgpIDw8ICJdXG4iOworfQorCiB2b2lkIHdyaXRlUmVz
b3VyY2VzKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCwgaW50IGlu
ZGVudCkKIHsKICAgICBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUgPSBvYmplY3Quc3R5bGUoKTsK
QEAgLTY2NSwzMSArNzg2LDYgQEAgdm9pZCB3cml0ZVJlc291cmNlcyhUZXh0U3RyZWFtJiB0cywg
Y29ucwogI2VuZGlmCiB9CiAKLXZvaWQgd3JpdGVSZW5kZXJSZXNvdXJjZXMoVGV4dFN0cmVhbSYg
dHMsIE5vZGUqIHBhcmVudCkKLXsKLSAgICBBU1NFUlQocGFyZW50KTsKLSAgICBOb2RlKiBub2Rl
ID0gcGFyZW50OwotICAgIGRvIHsKLSAgICAgICAgaWYgKCFub2RlLT5pc1NWR0VsZW1lbnQoKSkK
LSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBTVkdFbGVtZW50KiBzdmdFbGVtZW50ID0g
c3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG5vZGUpOwotICAgICAgICBpZiAoIXN2Z0VsZW1lbnQt
PmlzU3R5bGVkKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBTVkdTdHlsZWRF
bGVtZW50KiBzdHlsZWQgPSBzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVu
dCk7Ci0gICAgICAgIFJlZlB0cjxTVkdSZXNvdXJjZT4gcmVzb3VyY2Uoc3R5bGVkLT5jYW52YXNS
ZXNvdXJjZShub2RlLT5yZW5kZXJlcigpKSk7Ci0gICAgICAgIGlmICghcmVzb3VyY2UpCi0gICAg
ICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBTdHJpbmcgZWxlbWVudElkID0gc3ZnRWxlbWVu
dC0+Z2V0QXR0cmlidXRlKHN2Z0VsZW1lbnQtPmlkQXR0cmlidXRlTmFtZSgpKTsKLSAgICAgICAg
Ly8gRklYTUU6IFRoZXNlIG5hbWVzIGFyZSBsaWVzIQotICAgICAgICBpZiAocmVzb3VyY2UtPmlz
UGFpbnRTZXJ2ZXIoKSkgewotICAgICAgICAgICAgUmVmUHRyPFNWR1BhaW50U2VydmVyPiBwYWlu
dFNlcnZlciA9IFdURjo6c3RhdGljX3BvaW50ZXJfY2FzdDxTVkdQYWludFNlcnZlcj4ocmVzb3Vy
Y2UpOwotICAgICAgICAgICAgdHMgPDwgIktSZW5kZXJpbmdQYWludFNlcnZlciB7aWQ9XCIiIDw8
IGVsZW1lbnRJZCA8PCAiXCIgIiA8PCAqcGFpbnRTZXJ2ZXIgPDwgIn0iIDw8ICJcbiI7Ci0gICAg
ICAgIH0KLSAgICB9IHdoaWxlICgobm9kZSA9IG5vZGUtPnRyYXZlcnNlTmV4dE5vZGUocGFyZW50
KSkpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZH
KQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuaAkocmV2aXNpb24g
NTgwOTIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJUcmVlQXNUZXh0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFJlbmRlckltYWdlOwogICAgIGNsYXNzIFJlbmRlck9iamVjdDsKICAgICBjbGFzcyBSZW5kZXJQ
YXRoOworICAgIGNsYXNzIFJlbmRlclNWR0dyYWRpZW50U3RvcDsKICAgICBjbGFzcyBSZW5kZXJT
VkdSb290OwogICAgIGNsYXNzIFJlbmRlclRleHQ7CiAgICAgY2xhc3MgQWZmaW5lVHJhbnNmb3Jt
OwpAQCAtNTEsMTUgKzUyLDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIGZ1bmN0aW9ucyB1
c2VkIGJ5IHRoZSBtYWluIFJlbmRlclRyZWVBc1RleHQgY29kZQogdm9pZCB3cml0ZShUZXh0U3Ry
ZWFtJiwgY29uc3QgUmVuZGVyUGF0aCYsIGludCBpbmRlbnQpOwogdm9pZCB3cml0ZShUZXh0U3Ry
ZWFtJiwgY29uc3QgUmVuZGVyU1ZHUm9vdCYsIGludCBpbmRlbnQpOwotdm9pZCB3cml0ZVNWR1Jl
c291cmNlKFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJPYmplY3QmLCBpbnQgaW5kZW50KTsKK3Zv
aWQgd3JpdGVTVkdHcmFkaWVudFN0b3AoVGV4dFN0cmVhbSYsIGNvbnN0IFJlbmRlclNWR0dyYWRp
ZW50U3RvcCYsIGludCBpbmRlbnQpOwordm9pZCB3cml0ZVNWR1Jlc291cmNlQ29udGFpbmVyKFRl
eHRTdHJlYW0mLCBjb25zdCBSZW5kZXJPYmplY3QmLCBpbnQgaW5kZW50KTsKIHZvaWQgd3JpdGVT
VkdDb250YWluZXIoVGV4dFN0cmVhbSYsIGNvbnN0IFJlbmRlck9iamVjdCYsIGludCBpbmRlbnQp
Owogdm9pZCB3cml0ZVNWR0ltYWdlKFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJJbWFnZSYsIGlu
dCBpbmRlbnQpOwogdm9pZCB3cml0ZVNWR0lubGluZVRleHQoVGV4dFN0cmVhbSYsIGNvbnN0IFJl
bmRlclRleHQmLCBpbnQgaW5kZW50KTsKIHZvaWQgd3JpdGVTVkdUZXh0KFRleHRTdHJlYW0mLCBj
b25zdCBSZW5kZXJCbG9jayYsIGludCBpbmRlbnQpOwogdm9pZCB3cml0ZVJlc291cmNlcyhUZXh0
U3RyZWFtJiwgY29uc3QgUmVuZGVyT2JqZWN0JiwgaW50IGluZGVudCk7CiAKLXZvaWQgd3JpdGVS
ZW5kZXJSZXNvdXJjZXMoVGV4dFN0cmVhbSYsIE5vZGUqIHBhcmVudCk7Ci0KIC8vIGhlbHBlciBv
cGVyYXRvcnMgZGVmaW5lZCB1c2VkIGluIHZhcmlvdXMgY2xhc3NlcyB0byBkdW1wIHRoZSByZW5k
ZXIgdHJlZS4KIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYsIGNvbnN0IEFmZmlu
ZVRyYW5zZm9ybSYpOwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiwgY29uc3Qg
SW50UmVjdCYpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHAJKHJl
dmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQsNiArNCw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgT2xp
dmVyIEh1bnQgPG9qaDE2QHN0dWRlbnQuY2FudGVyYnVyeS5hYy5uej4KICAqICAgICAgICAgICAo
QykgMjAwNiBBcHBsZSBDb21wdXRlciBJbmMuCiAgKiAgICAgICAgICAgKEMpIDIwMDcgTmlrb2xh
cyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTMyLDEyICszMywxMiBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKKyNpbmNs
dWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlRmls
dGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgogI2luY2x1ZGUgIlNWR0lubGluZUZs
b3dCb3guaCIKICNpbmNsdWRlICJTVkdJbmxpbmVUZXh0Qm94LmgiCiAjaW5jbHVkZSAiU1ZHRm9u
dEVsZW1lbnQuaCIKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlci5oIgogI2luY2x1ZGUgIlNWR1Jl
bmRlclN0eWxlRGVmcy5oIgogI2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKICNpbmNsdWRl
ICJTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmgiCkBAIC0zNDUsMTAgKzM0NiwxMCBAQCBzdHJ1
Y3QgU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAgICAgICAgLCBtX2JvdW5kaW5nQm94
KHR4ICsgcm9vdEJveC0+eCgpLCB0eSArIHJvb3RCb3gtPnkoKSwgcm9vdEJveC0+d2lkdGgoKSwg
cm9vdEJveC0+aGVpZ2h0KCkpCiAgICAgICAgICwgbV9maWx0ZXIoMCkKICAgICAgICAgLCBtX3Jv
b3RGaWx0ZXIocm9vdEZpbHRlcikKLSAgICAgICAgLCBtX2ZpbGxQYWludFNlcnZlcigwKQotICAg
ICAgICAsIG1fc3Ryb2tlUGFpbnRTZXJ2ZXIoMCkKLSAgICAgICAgLCBtX2ZpbGxQYWludFNlcnZl
ck9iamVjdCgwKQotICAgICAgICAsIG1fc3Ryb2tlUGFpbnRTZXJ2ZXJPYmplY3QoMCkKKyAgICAg
ICAgLCBtX2ZpbGxQYWludGluZ1Jlc291cmNlKDApCisgICAgICAgICwgbV9zdHJva2VQYWludGlu
Z1Jlc291cmNlKDApCisgICAgICAgICwgbV9maWxsUGFpbnRpbmdSZXNvdXJjZU9iamVjdCgwKQor
ICAgICAgICAsIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZU9iamVjdCgwKQogICAgICAgICAsIG1f
dHgodHgpCiAgICAgICAgICwgbV90eSh0eSkKICAgICB7CkBAIC0zNTcsMTAgKzM1OCwxMCBAQCBz
dHJ1Y3QgU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAgICB+U1ZHUm9vdElubGluZUJv
eFBhaW50V2Fsa2VyKCkKICAgICB7CiAgICAgICAgIEFTU0VSVCghbV9maWx0ZXIpOwotICAgICAg
ICBBU1NFUlQoIW1fZmlsbFBhaW50U2VydmVyKTsKLSAgICAgICAgQVNTRVJUKCFtX2ZpbGxQYWlu
dFNlcnZlck9iamVjdCk7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJva2VQYWludFNlcnZlcik7Ci0g
ICAgICAgIEFTU0VSVCghbV9zdHJva2VQYWludFNlcnZlck9iamVjdCk7CisgICAgICAgIEFTU0VS
VCghbV9maWxsUGFpbnRpbmdSZXNvdXJjZSk7CisgICAgICAgIEFTU0VSVCghbV9maWxsUGFpbnRp
bmdSZXNvdXJjZU9iamVjdCk7CisgICAgICAgIEFTU0VSVCghbV9zdHJva2VQYWludGluZ1Jlc291
cmNlKTsKKyAgICAgICAgQVNTRVJUKCFtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2VPYmplY3QpOwog
ICAgICAgICBBU1NFUlQoIW1fY2h1bmtTdGFydGVkKTsKICAgICB9CiAKQEAgLTM3MywyNCArMzc0
LDIyIEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXIgewogCiAgICAgdm9pZCB0
ZWFyZG93bkZpbGxQYWludFNlcnZlcigpCiAgICAgewotICAgICAgICBpZiAoIW1fZmlsbFBhaW50
U2VydmVyKQorICAgICAgICBpZiAoIW1fZmlsbFBhaW50aW5nUmVzb3VyY2UpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXItPnRlYXJkb3duKG1fcGFpbnRJ
bmZvLmNvbnRleHQsIG1fZmlsbFBhaW50U2VydmVyT2JqZWN0LCBBcHBseVRvRmlsbFRhcmdldFR5
cGUsIHRydWUpOwotCi0gICAgICAgIG1fZmlsbFBhaW50U2VydmVyID0gMDsKLSAgICAgICAgbV9m
aWxsUGFpbnRTZXJ2ZXJPYmplY3QgPSAwOworICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNl
LT5wb3N0QXBwbHlSZXNvdXJjZShtX2ZpbGxQYWludGluZ1Jlc291cmNlT2JqZWN0LCBtX3BhaW50
SW5mby5jb250ZXh0LCBBcHBseVRvRmlsbE1vZGUgfCBBcHBseVRvVGV4dE1vZGUpOworICAgICAg
ICBtX2ZpbGxQYWludGluZ1Jlc291cmNlID0gMDsKKyAgICAgICAgbV9maWxsUGFpbnRpbmdSZXNv
dXJjZU9iamVjdCA9IDA7CiAgICAgfQogCiAgICAgdm9pZCB0ZWFyZG93blN0cm9rZVBhaW50U2Vy
dmVyKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9zdHJva2VQYWludFNlcnZlcikKKyAgICAgICAg
aWYgKCFtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAg
ICAgICAgbV9zdHJva2VQYWludFNlcnZlci0+dGVhcmRvd24obV9wYWludEluZm8uY29udGV4dCwg
bV9zdHJva2VQYWludFNlcnZlck9iamVjdCwgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUsIHRydWUp
OwotCi0gICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXIgPSAwOwotICAgICAgICBtX3N0cm9rZVBh
aW50U2VydmVyT2JqZWN0ID0gMDsKKyAgICAgICAgbV9zdHJva2VQYWludGluZ1Jlc291cmNlLT5w
b3N0QXBwbHlSZXNvdXJjZShtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2VPYmplY3QsIG1fcGFpbnRJ
bmZvLmNvbnRleHQsIEFwcGx5VG9TdHJva2VNb2RlIHwgQXBwbHlUb1RleHRNb2RlKTsKKyAgICAg
ICAgbV9zdHJva2VQYWludGluZ1Jlc291cmNlID0gMDsKKyAgICAgICAgbV9zdHJva2VQYWludGlu
Z1Jlc291cmNlT2JqZWN0ID0gMDsKICAgICB9CiAKICAgICB2b2lkIGNodW5rU3RhcnRDYWxsYmFj
ayhJbmxpbmVCb3gqIGJveCkKQEAgLTQzNyw3ICs0MzYsNyBAQCBzdHJ1Y3QgU1ZHUm9vdElubGlu
ZUJveFBhaW50V2Fsa2VyIHsKICAgICAgICAgbV9wYWludEluZm8ucmVjdCA9IG1fc2F2ZWRJbmZv
LnJlY3Q7CiAgICAgfQogCi0gICAgYm9vbCBzZXR1cEJhY2tncm91bmQoU1ZHSW5saW5lVGV4dEJv
eCogLypib3gqLykKKyAgICBib29sIHNldHVwQmFja2dyb3VuZChTVkdJbmxpbmVUZXh0Qm94KikK
ICAgICB7CiAgICAgICAgIG1fdGV4dFBhaW50SW5mby5zdWJwaGFzZSA9IFNWR1RleHRQYWludFN1
YnBoYXNlQmFja2dyb3VuZDsKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC00NTEsMTQgKzQ1MCwx
NCBAQCBzdHJ1Y3QgU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAgICAgICAgUmVuZGVy
T2JqZWN0KiBvYmplY3QgPSBmbG93Qm94LT5yZW5kZXJlcigpOwogICAgICAgICBBU1NFUlQob2Jq
ZWN0KTsKIAotICAgICAgICBBU1NFUlQoIW1fc3Ryb2tlUGFpbnRTZXJ2ZXIpOworICAgICAgICBB
U1NFUlQoIW1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSk7CiAgICAgICAgIHRlYXJkb3duRmlsbFBh
aW50U2VydmVyKCk7CiAKICAgICAgICAgbV90ZXh0UGFpbnRJbmZvLnN1YnBoYXNlID0gU1ZHVGV4
dFBhaW50U3VicGhhc2VHbHlwaEZpbGw7Ci0gICAgICAgIG1fZmlsbFBhaW50U2VydmVyID0gU1ZH
UGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZlcihvYmplY3QtPnN0eWxlKCksIG9iamVjdCk7Ci0g
ICAgICAgIGlmIChtX2ZpbGxQYWludFNlcnZlcikgewotICAgICAgICAgICAgbV9maWxsUGFpbnRT
ZXJ2ZXItPnNldHVwKG1fcGFpbnRJbmZvLmNvbnRleHQsIG9iamVjdCwgQXBwbHlUb0ZpbGxUYXJn
ZXRUeXBlLCB0cnVlKTsKLSAgICAgICAgICAgIG1fZmlsbFBhaW50U2VydmVyT2JqZWN0ID0gb2Jq
ZWN0OworICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlID0gUmVuZGVyU1ZHUmVzb3VyY2U6
OmZpbGxQYWludGluZ1Jlc291cmNlKG9iamVjdCwgb2JqZWN0LT5zdHlsZSgpKTsKKyAgICAgICAg
aWYgKG1fZmlsbFBhaW50aW5nUmVzb3VyY2UpIHsKKyAgICAgICAgICAgIG1fZmlsbFBhaW50aW5n
UmVzb3VyY2UtPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBvYmplY3QtPnN0eWxlKCksIG1fcGFpbnRJ
bmZvLmNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSB8IEFwcGx5VG9UZXh0TW9kZSk7CisgICAgICAg
ICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlT2JqZWN0ID0gb2JqZWN0OwogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIH0KIApAQCAtNDc2LDE3ICs0NzUsMTcgQEAgc3RydWN0IFNW
R1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAgICAgICAgIGlmICghc3R5bGUpCiAgICAgICAg
ICAgICBzdHlsZSA9IG9iamVjdC0+c3R5bGUoKTsKIAotICAgICAgICBBU1NFUlQoIW1fc3Ryb2tl
UGFpbnRTZXJ2ZXIpOworICAgICAgICBBU1NFUlQoIW1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSk7
CiAgICAgICAgIHRlYXJkb3duRmlsbFBhaW50U2VydmVyKCk7CiAKICAgICAgICAgaWYgKCFtYXlI
YXZlU2VsZWN0aW9uKGJveCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAg
bV90ZXh0UGFpbnRJbmZvLnN1YnBoYXNlID0gU1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaEZpbGxT
ZWxlY3Rpb247Ci0gICAgICAgIG1fZmlsbFBhaW50U2VydmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OmZp
bGxQYWludFNlcnZlcihzdHlsZSwgb2JqZWN0KTsKLSAgICAgICAgaWYgKG1fZmlsbFBhaW50U2Vy
dmVyKSB7Ci0gICAgICAgICAgICBtX2ZpbGxQYWludFNlcnZlci0+c2V0dXAobV9wYWludEluZm8u
Y29udGV4dCwgb2JqZWN0LCBzdHlsZSwgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlLCB0cnVlKTsKLSAg
ICAgICAgICAgIG1fZmlsbFBhaW50U2VydmVyT2JqZWN0ID0gb2JqZWN0OworICAgICAgICBtX2Zp
bGxQYWludGluZ1Jlc291cmNlID0gUmVuZGVyU1ZHUmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291
cmNlKG9iamVjdCwgc3R5bGUpOworICAgICAgICBpZiAobV9maWxsUGFpbnRpbmdSZXNvdXJjZSkg
eworICAgICAgICAgICAgbV9maWxsUGFpbnRpbmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmpl
Y3QsIHN0eWxlLCBtX3BhaW50SW5mby5jb250ZXh0LCBBcHBseVRvRmlsbE1vZGUgfCBBcHBseVRv
VGV4dE1vZGUpOworICAgICAgICAgICAgbV9maWxsUGFpbnRpbmdSZXNvdXJjZU9iamVjdCA9IG9i
amVjdDsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAKQEAgLTUwNiwxMSAr
NTA1LDEwIEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgICAgICB0
ZWFyZG93blN0cm9rZVBhaW50U2VydmVyKCk7CiAKICAgICAgICAgbV90ZXh0UGFpbnRJbmZvLnN1
YnBoYXNlID0gU1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaFN0cm9rZTsKLSAgICAgICAgbV9zdHJv
a2VQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpzdHJva2VQYWludFNlcnZlcihvYmplY3Qt
PnN0eWxlKCksIG9iamVjdCk7Ci0KLSAgICAgICAgaWYgKG1fc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsK
LSAgICAgICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXItPnNldHVwKG1fcGFpbnRJbmZvLmNvbnRl
eHQsIG9iamVjdCwgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUsIHRydWUpOwotICAgICAgICAgICAg
bV9zdHJva2VQYWludFNlcnZlck9iamVjdCA9IG9iamVjdDsKKyAgICAgICAgbV9zdHJva2VQYWlu
dGluZ1Jlc291cmNlID0gUmVuZGVyU1ZHUmVzb3VyY2U6OnN0cm9rZVBhaW50aW5nUmVzb3VyY2Uo
b2JqZWN0LCBvYmplY3QtPnN0eWxlKCkpOworICAgICAgICBpZiAobV9zdHJva2VQYWludGluZ1Jl
c291cmNlKSB7CisgICAgICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UtPmFwcGx5UmVz
b3VyY2Uob2JqZWN0LCBvYmplY3QtPnN0eWxlKCksIG1fcGFpbnRJbmZvLmNvbnRleHQsIEFwcGx5
VG9TdHJva2VNb2RlIHwgQXBwbHlUb1RleHRNb2RlKTsKKyAgICAgICAgICAgIG1fc3Ryb2tlUGFp
bnRpbmdSZXNvdXJjZU9iamVjdCA9IG9iamVjdDsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICB9CiAKQEAgLTUzNiwxNyArNTM0LDE3IEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94
UGFpbnRXYWxrZXIgewogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIG1fdGV4
dFBhaW50SW5mby5zdWJwaGFzZSA9IFNWR1RleHRQYWludFN1YnBoYXNlR2x5cGhTdHJva2VTZWxl
Y3Rpb247Ci0gICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlcjo6c3Ry
b2tlUGFpbnRTZXJ2ZXIoc3R5bGUsIG9iamVjdCk7Ci0gICAgICAgIGlmIChtX3N0cm9rZVBhaW50
U2VydmVyKSB7Ci0gICAgICAgICAgICBtX3N0cm9rZVBhaW50U2VydmVyLT5zZXR1cChtX3BhaW50
SW5mby5jb250ZXh0LCBvYmplY3QsIHN0eWxlLCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1
ZSk7Ci0gICAgICAgICAgICBtX3N0cm9rZVBhaW50U2VydmVyT2JqZWN0ID0gb2JqZWN0OworICAg
ICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6c3Ryb2tl
UGFpbnRpbmdSZXNvdXJjZShvYmplY3QsIHN0eWxlKTsKKyAgICAgICAgaWYgKG1fc3Ryb2tlUGFp
bnRpbmdSZXNvdXJjZSkgeworICAgICAgICAgICAgbV9zdHJva2VQYWludGluZ1Jlc291cmNlLT5h
cHBseVJlc291cmNlKG9iamVjdCwgc3R5bGUsIG1fcGFpbnRJbmZvLmNvbnRleHQsIEFwcGx5VG9T
dHJva2VNb2RlIHwgQXBwbHlUb1RleHRNb2RlKTsKKyAgICAgICAgICAgIG1fc3Ryb2tlUGFpbnRp
bmdSZXNvdXJjZU9iamVjdCA9IG9iamVjdDsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICB9CiAKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGJvb2wgc2V0dXBG
b3JlZ3JvdW5kKFNWR0lubGluZVRleHRCb3gqIC8qYm94Ki8pCisgICAgYm9vbCBzZXR1cEZvcmVn
cm91bmQoU1ZHSW5saW5lVGV4dEJveCopCiAgICAgewogICAgICAgICB0ZWFyZG93bkZpbGxQYWlu
dFNlcnZlcigpOwogICAgICAgICB0ZWFyZG93blN0cm9rZVBhaW50U2VydmVyKCk7CkBAIC01NTYs
MTcgKzU1NCwxNyBAQCBzdHJ1Y3QgU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgU1ZHUGFpbnRTZXJ2ZXIqIGFjdGl2ZVBhaW50
U2VydmVyKCkgY29uc3QKKyAgICBSZW5kZXJTVkdSZXNvdXJjZSogYWN0aXZlUGFpbnRpbmdSZXNv
dXJjZSgpIGNvbnN0CiAgICAgewogICAgICAgICBzd2l0Y2ggKG1fdGV4dFBhaW50SW5mby5zdWJw
aGFzZSkgewogICAgICAgICBjYXNlIFNWR1RleHRQYWludFN1YnBoYXNlR2x5cGhGaWxsOgogICAg
ICAgICBjYXNlIFNWR1RleHRQYWludFN1YnBoYXNlR2x5cGhGaWxsU2VsZWN0aW9uOgotICAgICAg
ICAgICAgQVNTRVJUKG1fZmlsbFBhaW50U2VydmVyKTsKLSAgICAgICAgICAgIHJldHVybiBtX2Zp
bGxQYWludFNlcnZlcjsKKyAgICAgICAgICAgIEFTU0VSVChtX2ZpbGxQYWludGluZ1Jlc291cmNl
KTsKKyAgICAgICAgICAgIHJldHVybiBtX2ZpbGxQYWludGluZ1Jlc291cmNlOwogICAgICAgICBj
YXNlIFNWR1RleHRQYWludFN1YnBoYXNlR2x5cGhTdHJva2U6CiAgICAgICAgIGNhc2UgU1ZHVGV4
dFBhaW50U3VicGhhc2VHbHlwaFN0cm9rZVNlbGVjdGlvbjoKLSAgICAgICAgICAgIEFTU0VSVCht
X3N0cm9rZVBhaW50U2VydmVyKTsKLSAgICAgICAgICAgIHJldHVybiBtX3N0cm9rZVBhaW50U2Vy
dmVyOworICAgICAgICAgICAgQVNTRVJUKG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSk7CisgICAg
ICAgICAgICByZXR1cm4gbV9zdHJva2VQYWludGluZ1Jlc291cmNlOwogICAgICAgICBjYXNlIFNW
R1RleHRQYWludFN1YnBoYXNlQmFja2dyb3VuZDoKICAgICAgICAgY2FzZSBTVkdUZXh0UGFpbnRT
dWJwaGFzZUZvcmVncm91bmQ6CiAgICAgICAgIGRlZmF1bHQ6CkBAIC02NDYsNyArNjQ0LDcgQEAg
c3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAgICAgICAgICAgICAgICAgdGV4
dEJveC0+cGFpbnREZWNvcmF0aW9uKE9WRVJMSU5FLCBtX3BhaW50SW5mby5jb250ZXh0LCBkZWNv
cmF0aW9uT3JpZ2luLngoKSwgZGVjb3JhdGlvbk9yaWdpbi55KCksIHRleHRXaWR0aCwgKml0LCBp
bmZvKTsKIAogICAgICAgICAgICAgLy8gUGFpbnQgdGV4dAotICAgICAgICAgICAgbV90ZXh0UGFp
bnRJbmZvLmFjdGl2ZVBhaW50U2VydmVyID0gYWN0aXZlUGFpbnRTZXJ2ZXIoKTsKKyAgICAgICAg
ICAgIG1fdGV4dFBhaW50SW5mby5hY3RpdmVQYWludGluZ1Jlc291cmNlID0gYWN0aXZlUGFpbnRp
bmdSZXNvdXJjZSgpOwogICAgICAgICAgICAgdGV4dEJveC0+cGFpbnRDaGFyYWN0ZXJzKG1fcGFp
bnRJbmZvLCBtX3R4LCBtX3R5LCAqaXQsIHN0cmluZ1N0YXJ0LCBzdHJpbmdMZW5ndGgsIG1fdGV4
dFBhaW50SW5mbyk7CiAKICAgICAgICAgICAgIC8vIFBhaW50IGRlY29yYXRpb25zLCB0aGF0IGhh
dmUgdG8gYmUgZHJhd24gYWZ0ZXJ3YXJkcwpAQCAtNjcyLDExICs2NzAsMTEgQEAgcHJpdmF0ZToK
ICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciogbV9maWx0ZXI7CiAgICAgUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXIqIG1fcm9vdEZpbHRlcjsKIAotICAgIFNWR1BhaW50U2VydmVyKiBtX2ZpbGxQ
YWludFNlcnZlcjsKLSAgICBTVkdQYWludFNlcnZlciogbV9zdHJva2VQYWludFNlcnZlcjsKKyAg
ICBSZW5kZXJTVkdSZXNvdXJjZSogbV9maWxsUGFpbnRpbmdSZXNvdXJjZTsKKyAgICBSZW5kZXJT
VkdSZXNvdXJjZSogbV9zdHJva2VQYWludGluZ1Jlc291cmNlOwogCi0gICAgUmVuZGVyT2JqZWN0
KiBtX2ZpbGxQYWludFNlcnZlck9iamVjdDsKLSAgICBSZW5kZXJPYmplY3QqIG1fc3Ryb2tlUGFp
bnRTZXJ2ZXJPYmplY3Q7CisgICAgUmVuZGVyT2JqZWN0KiBtX2ZpbGxQYWludGluZ1Jlc291cmNl
T2JqZWN0OworICAgIFJlbmRlck9iamVjdCogbV9zdHJva2VQYWludGluZ1Jlc291cmNlT2JqZWN0
OwogCiAgICAgaW50IG1fdHg7CiAgICAgaW50IG1fdHk7CkluZGV4OiBXZWJDb3JlL3N2Zy9HcmFk
aWVudEF0dHJpYnV0ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9HcmFkaWVudEF0dHJp
YnV0ZXMuaAkocmV2aXNpb24gNTgwOTIpCisrKyBXZWJDb3JlL3N2Zy9HcmFkaWVudEF0dHJpYnV0
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjEsOCArMjEsMTIgQEAKICNkZWZpbmUgR3JhZGllbnRB
dHRyaWJ1dGVzX2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNs
dWRlICJHcmFkaWVudC5oIgorI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CisKICAgICBzdHJ1Y3QgR3JhZGllbnRBdHRyaWJ1dGVzIHsKICAgICAgICAgR3JhZGll
bnRBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9zcHJlYWRNZXRob2QoU3ByZWFkTWV0aG9k
UGFkKQpAQCAtMzcsMTIgKzQxLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgR3Jh
ZGllbnRTcHJlYWRNZXRob2Qgc3ByZWFkTWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9zcHJlYWRN
ZXRob2Q7IH0KICAgICAgICAgYm9vbCBib3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBt
X2JvdW5kaW5nQm94TW9kZTsgfQogICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gZ3JhZGllbnRUcmFu
c2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX2dyYWRpZW50VHJhbnNmb3JtOyB9Ci0gICAgICAgIGNv
bnN0IFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+JiBzdG9wcygpIGNvbnN0IHsgcmV0dXJuIG1fc3Rv
cHM7IH0KKyAgICAgICAgY29uc3QgVmVjdG9yPEdyYWRpZW50OjpDb2xvclN0b3A+JiBzdG9wcygp
IGNvbnN0IHsgcmV0dXJuIG1fc3RvcHM7IH0KIAogICAgICAgICB2b2lkIHNldFNwcmVhZE1ldGhv
ZChHcmFkaWVudFNwcmVhZE1ldGhvZCB2YWx1ZSkgeyBtX3NwcmVhZE1ldGhvZCA9IHZhbHVlOyBt
X3NwcmVhZE1ldGhvZFNldCA9IHRydWU7IH0KICAgICAgICAgdm9pZCBzZXRCb3VuZGluZ0JveE1v
ZGUoYm9vbCB2YWx1ZSkgeyBtX2JvdW5kaW5nQm94TW9kZSA9IHZhbHVlOyBtX2JvdW5kaW5nQm94
TW9kZVNldCA9IHRydWU7IH0KICAgICAgICAgdm9pZCBzZXRHcmFkaWVudFRyYW5zZm9ybShjb25z
dCBBZmZpbmVUcmFuc2Zvcm0mIHZhbHVlKSB7IG1fZ3JhZGllbnRUcmFuc2Zvcm0gPSB2YWx1ZTsg
bV9ncmFkaWVudFRyYW5zZm9ybVNldCA9IHRydWU7IH0KLSAgICAgICAgdm9pZCBzZXRTdG9wcyhj
b25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYgdmFsdWUpIHsgbV9zdG9wcyA9IHZhbHVlOyBt
X3N0b3BzU2V0ID0gdHJ1ZTsgfSAKKyAgICAgICAgdm9pZCBzZXRTdG9wcyhjb25zdCBWZWN0b3I8
R3JhZGllbnQ6OkNvbG9yU3RvcD4mIHZhbHVlKSB7IG1fc3RvcHMgPSB2YWx1ZTsgbV9zdG9wc1Nl
dCA9IHRydWU7IH0gCiAKICAgICAgICAgYm9vbCBoYXNTcHJlYWRNZXRob2QoKSBjb25zdCB7IHJl
dHVybiBtX3NwcmVhZE1ldGhvZFNldDsgfQogICAgICAgICBib29sIGhhc0JvdW5kaW5nQm94TW9k
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRpbmdCb3hNb2RlU2V0OyB9CkBAIC01NCw3ICs1OCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgR3JhZGllbnRTcHJlYWRNZXRob2QgbV9z
cHJlYWRNZXRob2Q7CiAgICAgICAgIGJvb2wgbV9ib3VuZGluZ0JveE1vZGU7CiAgICAgICAgIEFm
ZmluZVRyYW5zZm9ybSBtX2dyYWRpZW50VHJhbnNmb3JtOwotICAgICAgICBWZWN0b3I8U1ZHR3Jh
ZGllbnRTdG9wPiBtX3N0b3BzOworICAgICAgICBWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4g
bV9zdG9wczsKIAogICAgICAgICAvLyBQcm9wZXJ0eSBzdGF0ZXMKICAgICAgICAgYm9vbCBtX3Nw
cmVhZE1ldGhvZFNldCA6IDE7CkBAIC02Nyw1ICs3MSwzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCiAjZW5kaWYKLQotLy8gdmltOnRzPTQ6bm9ldApJbmRl
eDogV2ViQ29yZS9zdmcvTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmgJKHJldmlzaW9uIDU4MDkyKQor
KysgV2ViQ29yZS9zdmcvTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTIwLDkgKzIwLDkgQEAKICNpZm5kZWYgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzX2gKICNk
ZWZpbmUgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzX2gKIAotI2luY2x1ZGUgIkdyYWRpZW50QXR0
cmlidXRlcy5oIgotCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJHcmFkaWVudEF0dHJpYnV0
ZXMuaCIKKyNpbmNsdWRlICJTVkdMZW5ndGguaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IHN0cnVjdCBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgOiBHcmFkaWVudEF0dHJpYnV0ZXMgewpJ
bmRleDogV2ViQ29yZS9zdmcvUGF0dGVybkF0dHJpYnV0ZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9QYXR0ZXJuQXR0cmlidXRlcy5oCShyZXZpc2lvbiA1ODA5MikKKysrIFdlYkNvcmUv
c3ZnL1BhdHRlcm5BdHRyaWJ1dGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDggKzIxLDEyIEBA
CiAjZGVmaW5lIFBhdHRlcm5BdHRyaWJ1dGVzX2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVk
ZSAiU1ZHTGVuZ3RoLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIGNsYXNzIFNWR1Bh
dHRlcm5FbGVtZW50OworCiAgICAgc3RydWN0IFBhdHRlcm5BdHRyaWJ1dGVzIHsKICAgICAgICAg
UGF0dGVybkF0dHJpYnV0ZXMoKQogICAgICAgICAgICAgOiBtX3goKQpAQCAtOTYsNSArMTAwLDMg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKICNlbmRpZgot
Ci0vLyB2aW06dHM9NDpub2V0CkluZGV4OiBXZWJDb3JlL3N2Zy9SYWRpYWxHcmFkaWVudEF0dHJp
YnV0ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9SYWRpYWxHcmFkaWVudEF0dHJpYnV0
ZXMuaAkocmV2aXNpb24gNTgwOTIpCisrKyBXZWJDb3JlL3N2Zy9SYWRpYWxHcmFkaWVudEF0dHJp
YnV0ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjAsOSArMjAsOSBAQAogI2lmbmRlZiBSYWRpYWxH
cmFkaWVudEF0dHJpYnV0ZXNfaAogI2RlZmluZSBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXNfaAog
Ci0jaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVzLmgiCi0KICNpZiBFTkFCTEUoU1ZHKQorI2lu
Y2x1ZGUgIkdyYWRpZW50QXR0cmlidXRlcy5oIgorI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyA6
IEdyYWRpZW50QXR0cmlidXRlcyB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzQsNyArNzQsNyBAQCB2b2lkIFNWR0NsaXBQYXRoRWxlbWVudDo6
c3ZnQXR0cmlidXRlQ2hhCiAgICAgICAgIFNWR0xhbmdTcGFjZTo6aXNLbm93bkF0dHJpYnV0ZShh
dHRyTmFtZSkgfHwKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6aXNLbm93
bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKICAgICAgICAgU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVs
ZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpKQotICAgICAgICBpbnZhbGlkYXRlQ2Fu
dmFzUmVzb3VyY2VzKCk7CisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0K
IAogdm9pZCBTVkdDbGlwUGF0aEVsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUpCkBAIC05Niw3ICs5Niw5IEBAIHZvaWQgU1ZHQ2xpcFBhdGhF
bGVtZW50OjpzeW5jaHJvbml6ZVByb3AKIHZvaWQgU1ZHQ2xpcFBhdGhFbGVtZW50OjpjaGlsZHJl
bkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSog
YWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCiB7CiAgICAgU1ZHU3R5bGVkVHJhbnNm
b3JtYWJsZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNo
YW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7Ci0gICAgaW52YWxpZGF0ZUNhbnZh
c1Jlc291cmNlcygpOworCisgICAgaWYgKCFjaGFuZ2VkQnlQYXJzZXIpCisgICAgICAgIGludmFs
aWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogUmVuZGVyT2JqZWN0KiBTVkdDbGlwUGF0aEVs
ZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgJKHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29y
ZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcg
QEAKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisKIGNsYXNz
IFNWR0NsaXBQYXRoRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVu
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdUZXN0cywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdMYW5nU3BhY2UsCkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAJKHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9zdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBA
QCB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVtb3ZlVGltZUNvCiAgICAgbV90aW1lQ29u
dGFpbmVycy5yZW1vdmUoZWxlbWVudCk7CiB9CiAKLXZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25z
OjphZGRSZXNvdXJjZShjb25zdCBTdHJpbmcmIGlkLCBSZW5kZXJTVkdSZXNvdXJjZSogcmVzb3Vy
Y2UpCit2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6YWRkUmVzb3VyY2UoY29uc3QgQXRvbWlj
U3RyaW5nJiBpZCwgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHJlc291cmNlKQogewogICAg
IEFTU0VSVChyZXNvdXJjZSk7CiAKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBTVkdEb2N1bWVudEV4
dGVuc2lvbnM6OmFkZFJlc291cmNlKAogICAgIG1fcmVzb3VyY2VzLnNldChpZCwgcmVzb3VyY2Up
OwogfQogCi12b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVtb3ZlUmVzb3VyY2UoY29uc3Qg
U3RyaW5nJiBpZCkKK3ZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZW1vdmVSZXNvdXJjZShj
b25zdCBBdG9taWNTdHJpbmcmIGlkKQogewogICAgIGlmIChpZC5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybjsKQEAgLTgyLDcgKzgyLDcgQEAgdm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJl
bW92ZVJlc291cgogICAgIG1fcmVzb3VyY2VzLnJlbW92ZShpZCk7CiB9CiAKLVJlbmRlclNWR1Jl
c291cmNlKiBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlc291cmNlQnlJZChjb25zdCBTdHJpbmcm
IGlkKSBjb25zdAorUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIFNWR0RvY3VtZW50RXh0ZW5z
aW9uczo6cmVzb3VyY2VCeUlkKGNvbnN0IEF0b21pY1N0cmluZyYgaWQpIGNvbnN0CiB7CiAgICAg
aWYgKGlkLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xNDgsNyArMTQ4LDcgQEAg
dm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmFkZFBlbmRpbmdSZQogICAgIGlmIChtX3BlbmRp
bmdSZXNvdXJjZXMuY29udGFpbnMoaWQpKQogICAgICAgICBtX3BlbmRpbmdSZXNvdXJjZXMuZ2V0
KGlkKS0+YWRkKG9iaik7CiAgICAgZWxzZSB7Ci0gICAgICAgIEhhc2hTZXQ8U1ZHU3R5bGVkRWxl
bWVudCo+KiBzZXQgPSBuZXcgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4oKTsKKyAgICAgICAg
SGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4qIHNldCA9IG5ldyBIYXNoU2V0PFNWR1N0eWxlZEVs
ZW1lbnQqPjsKICAgICAgICAgc2V0LT5hZGQob2JqKTsKIAogICAgICAgICBtX3BlbmRpbmdSZXNv
dXJjZXMuYWRkKGlkLCBzZXQpOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNp
b25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgJ
KHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDE4ICsyNCwxNyBAQAogI2RlZmluZSBTVkdEb2N1bWVudEV4
dGVuc2lvbnNfaAogCiAjaWYgRU5BQkxFKFNWRykKLQogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
Ci0jaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgorI2luY2x1ZGUgIkF0b21pY1N0cmluZ0hhc2guaCIK
ICNpbmNsdWRlICJTdHJpbmdJbXBsLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
RG9jdW1lbnQ7Ci1jbGFzcyBSZW5kZXJTVkdSZXNvdXJjZTsKK2NsYXNzIFJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyOwogY2xhc3MgU3RyaW5nOwogY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNs
YXNzIFNWR1NNSUxFbGVtZW50OwpAQCAtNDksOSArNDgsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBh
ZGRUaW1lQ29udGFpbmVyKFNWR1NWR0VsZW1lbnQqKTsKICAgICB2b2lkIHJlbW92ZVRpbWVDb250
YWluZXIoU1ZHU1ZHRWxlbWVudCopOwogCi0gICAgdm9pZCBhZGRSZXNvdXJjZShjb25zdCBTdHJp
bmcmIGlkLCBSZW5kZXJTVkdSZXNvdXJjZSopOwotICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2UoY29u
c3QgU3RyaW5nJiBpZCk7Ci0gICAgUmVuZGVyU1ZHUmVzb3VyY2UqIHJlc291cmNlQnlJZChjb25z
dCBTdHJpbmcmIGlkKSBjb25zdDsKKyAgICB2b2lkIGFkZFJlc291cmNlKGNvbnN0IEF0b21pY1N0
cmluZyYgaWQsIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKik7CisgICAgdm9pZCByZW1vdmVS
ZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lciogcmVzb3VyY2VCeUlkKGNvbnN0IEF0b21pY1N0cmluZyYgaWQpIGNvbnN0OwogCiAg
ICAgdm9pZCBzdGFydEFuaW1hdGlvbnMoKTsKICAgICB2b2lkIHBhdXNlQW5pbWF0aW9ucygpOwpA
QCAtNjQsOCArNjMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIERvY3VtZW50KiBtX2RvYzsg
Ly8gd2VhayByZWZlcmVuY2UKICAgICBIYXNoU2V0PFNWR1NWR0VsZW1lbnQqPiBtX3RpbWVDb250
YWluZXJzOyAvLyBGb3IgU1ZHIDEuMiBzdXBwb3J0IHRoaXMgd2lsbCBuZWVkIHRvIGJlIG1hZGUg
bW9yZSBnZW5lcmFsLgotICAgIEhhc2hNYXA8U3RyaW5nLCBSZW5kZXJTVkdSZXNvdXJjZSo+IG1f
cmVzb3VyY2VzOwotICAgIEhhc2hNYXA8U3RyaW5nLCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQq
Pio+IG1fcGVuZGluZ1Jlc291cmNlczsKKyAgICBIYXNoTWFwPEF0b21pY1N0cmluZywgUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIqPiBtX3Jlc291cmNlczsKKyAgICBIYXNoTWFwPEF0b21pY1N0
cmluZywgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4qPiBtX3BlbmRpbmdSZXNvdXJjZXM7CiAK
ICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7
CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJiBvcGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1lbnRF
eHRlbnNpb25zJik7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAkocmV2aXNpb24gNTgwOTIpCisrKyBXZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNiBAQAog
I2luY2x1ZGUgIlNWR0VsZW1lbnRJbnN0YW5jZS5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnRSYXJl
RGF0YS5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCi0jaW5jbHVkZSAiU1ZHUmVzb3VyY2UuaCIK
ICNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgi
CiAjaW5jbHVkZSAiU1ZHVXNlRWxlbWVudC5oIgpAQCAtMjkyLDggKzI5MSw2IEBAIHZvaWQgU1ZH
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQogCiAgICAgICAgIGZvciAoOyBpdCAhPSBl
bmQ7ICsraXQpCiAgICAgICAgICAgICAoKml0KS0+YnVpbGRQZW5kaW5nUmVzb3VyY2UoKTsKLQot
ICAgICAgICBTVkdSZXNvdXJjZTo6aW52YWxpZGF0ZUNsaWVudHMoKmNsaWVudHMpOwogICAgIH0K
IH0KIApAQCAtMzA5LDkgKzMwNiw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdl
ZChBdHRyaWIKIAogdm9pZCBTVkdFbGVtZW50Ojp1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKSBjb25zdAogewotICAgIEFTU0VSVCghbV9hcmVTVkdB
dHRyaWJ1dGVzVmFsaWQpOwotCi0gICAgaWYgKG1fc3luY2hyb25pemluZ1NWR0F0dHJpYnV0ZXMp
CisgICAgaWYgKG1fc3luY2hyb25pemluZ1NWR0F0dHJpYnV0ZXMgfHwgbV9hcmVTVkdBdHRyaWJ1
dGVzVmFsaWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fc3luY2hyb25pemluZ1NWR0F0dHJp
YnV0ZXMgPSB0cnVlOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAkocmV2aXNpb24gNTgwOTIpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDEzICs3OSwxNCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0Q3Vyc29yRWxlbWVudChTVkdDdXJzb3JF
bGVtZW50Kik7CiAgICAgICAgIHZvaWQgc2V0Q3Vyc29ySW1hZ2VWYWx1ZShDU1NDdXJzb3JJbWFn
ZVZhbHVlKik7CiAKKyAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKKwogICAgIHByb3RlY3RlZDoKICAgICAg
ICAgU1ZHRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0cmli
dXRlQ2hhbmdlZChBdHRyaWJ1dGUqLCBib29sIHByZXNlcnZlRGVjbHMgPSBmYWxzZSk7Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJikgY29uc3Q7CiAKICAgICAgICAgU1ZHRWxlbWVudFJhcmVEYXRhKiByYXJlU1ZHRGF0
YSgpIGNvbnN0OwogICAgICAgICBTVkdFbGVtZW50UmFyZURhdGEqIGVuc3VyZVJhcmVTVkdEYXRh
KCk7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGb250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdGb250LmNwcAkocmV2aXNpb24gNTgwOTMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGb250
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcwLDIwICs0NzAsMjAgQEAgdm9pZCBGb250OjpkcmF3
VGV4dFVzaW5nU1ZHRm9udChHcmFwaGljcwogICAgICAgICBGbG9hdFBvaW50IGN1cnJlbnRQb2lu
dCA9IHBvaW50OwogICAgICAgICBmbG9hdCBzY2FsZSA9IGNvbnZlcnRFbVVuaXRUb1BpeGVsKHNp
emUoKSwgZm9udEZhY2VFbGVtZW50LT51bml0c1BlckVtKCksIDEuMGYpOwogCi0gICAgICAgIFNW
R1BhaW50U2VydmVyKiBhY3RpdmVQYWludFNlcnZlciA9IHJ1bi5hY3RpdmVQYWludFNlcnZlcigp
OworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZSogYWN0aXZlUGFpbnRpbmdSZXNvdXJjZSA9IHJ1
bi5hY3RpdmVQYWludGluZ1Jlc291cmNlKCk7CiAKICAgICAgICAgLy8gSWYgcmVuZGVyT2JqZWN0
IGlzIG5vdCBzZXQsIHdlJ3JlIGRlYWxpbmcgZm9yIEhUTUwgdGV4dCByZW5kZXJlZCB1c2luZyBT
VkcgRm9udHMuCiAgICAgICAgIGlmICghcnVuLnJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KCkpIHsK
LSAgICAgICAgICAgIEFTU0VSVCghYWN0aXZlUGFpbnRTZXJ2ZXIpOworICAgICAgICAgICAgQVNT
RVJUKCFhY3RpdmVQYWludGluZ1Jlc291cmNlKTsKIAogICAgICAgICAgICAgLy8gVE9ETzogV2Un
cmUgb25seSBzdXBwb3J0aW5nIHNpbXBsZSBmaWxsZWQgSFRNTCB0ZXh0IHNvIGZhci4KLSAgICAg
ICAgICAgIFNWR1BhaW50U2VydmVyU29saWQqIHNvbGlkUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNl
cnZlcjo6c2hhcmVkU29saWRQYWludFNlcnZlcigpOwotICAgICAgICAgICAgc29saWRQYWludFNl
cnZlci0+c2V0Q29sb3IoY29udGV4dC0+ZmlsbENvbG9yKCkpOworICAgICAgICAgICAgUmVuZGVy
U1ZHUmVzb3VyY2VTb2xpZENvbG9yKiBzb2xpZFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdS
ZXNvdXJjZTo6c2hhcmVkU29saWRQYWludGluZ1Jlc291cmNlKCk7CisgICAgICAgICAgICBzb2xp
ZFBhaW50aW5nUmVzb3VyY2UtPnNldENvbG9yKGNvbnRleHQtPmZpbGxDb2xvcigpKTsKIAotICAg
ICAgICAgICAgYWN0aXZlUGFpbnRTZXJ2ZXIgPSBzb2xpZFBhaW50U2VydmVyOworICAgICAgICAg
ICAgYWN0aXZlUGFpbnRpbmdSZXNvdXJjZSA9IHNvbGlkUGFpbnRpbmdSZXNvdXJjZTsKICAgICAg
ICAgfQogCi0gICAgICAgIEFTU0VSVChhY3RpdmVQYWludFNlcnZlcik7CisgICAgICAgIEFTU0VS
VChhY3RpdmVQYWludGluZ1Jlc291cmNlKTsKIAogICAgICAgICBpbnQgY2hhcnNDb25zdW1lZDsK
ICAgICAgICAgU3RyaW5nIGdseXBoTmFtZTsKQEAgLTUxMiw3ICs1MTIsNyBAQCB2b2lkIEZvbnQ6
OmRyYXdUZXh0VXNpbmdTVkdGb250KEdyYXBoaWNzCiAgICAgICAgIFNWR1RleHRSdW5XYWxrZXI8
U1ZHVGV4dFJ1bldhbGtlckRyYXdUZXh0RGF0YT4gcnVuV2Fsa2VyKGZvbnREYXRhLCBmb250RWxl
bWVudCwgZGF0YSwgZHJhd1RleHRVc2luZ1NWR0ZvbnRDYWxsYmFjaywgZHJhd1RleHRNaXNzaW5n
R2x5cGhDYWxsYmFjayk7CiAgICAgICAgIHJ1bldhbGtlci53YWxrKHJ1biwgaXNWZXJ0aWNhbFRl
eHQsIGxhbmd1YWdlLCBmcm9tLCB0byk7CiAKLSAgICAgICAgU1ZHUGFpbnRUYXJnZXRUeXBlIHRh
cmdldFR5cGUgPSBjb250ZXh0LT50ZXh0RHJhd2luZ01vZGUoKSA9PSBjVGV4dFN0cm9rZSA/IEFw
cGx5VG9TdHJva2VUYXJnZXRUeXBlIDogQXBwbHlUb0ZpbGxUYXJnZXRUeXBlOworICAgICAgICBS
ZW5kZXJTVkdSZXNvdXJjZU1vZGUgcmVzb3VyY2VNb2RlID0gY29udGV4dC0+dGV4dERyYXdpbmdN
b2RlKCkgPT0gY1RleHRTdHJva2UgPyBBcHBseVRvU3Ryb2tlTW9kZSA6IEFwcGx5VG9GaWxsTW9k
ZTsKIAogICAgICAgICB1bnNpZ25lZCBudW1HbHlwaHMgPSBkYXRhLmdseXBoSWRlbnRpZmllcnMu
c2l6ZSgpOwogICAgICAgICB1bnNpZ25lZCBmYWxsYmFja0NoYXJhY3RlckluZGV4ID0gMDsKQEAg
LTUzNywxMCArNTM3LDEwIEBAIHZvaWQgRm9udDo6ZHJhd1RleHRVc2luZ1NWR0ZvbnQoR3JhcGhp
Y3MKIAogICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5iZWdpblBhdGgoKTsKICAgICAgICAg
ICAgICAgICAgICAgY29udGV4dC0+YWRkUGF0aChnbHlwaFBhdGgpOwotICAgICAgICAgICAgICAg
ICAgICBpZiAoYWN0aXZlUGFpbnRTZXJ2ZXItPnNldHVwKGNvbnRleHQsIHJ1bi5yZWZlcmVuY2lu
Z1JlbmRlck9iamVjdCgpLCB0YXJnZXRUeXBlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
YWN0aXZlUGFpbnRTZXJ2ZXItPnJlbmRlclBhdGgoY29udGV4dCwgcnVuLnJlZmVyZW5jaW5nUmVu
ZGVyT2JqZWN0KCksIHRhcmdldFR5cGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZl
UGFpbnRTZXJ2ZXItPnRlYXJkb3duKGNvbnRleHQsIHJ1bi5yZWZlcmVuY2luZ1JlbmRlck9iamVj
dCgpLCB0YXJnZXRUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHJ1bi5yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgp
ID8gcnVuLnJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KCktPnN0eWxlKCkgOiAwOworICAgICAgICAg
ICAgICAgICAgICBpZiAoYWN0aXZlUGFpbnRpbmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShydW4u
cmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoKSwgc3R5bGUsIGNvbnRleHQsIHJlc291cmNlTW9kZSkp
CisgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVQYWludGluZ1Jlc291cmNlLT5wb3N0QXBw
bHlSZXNvdXJjZShydW4ucmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoKSwgY29udGV4dCwgcmVzb3Vy
Y2VNb2RlKTsKIAogICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5yZXN0b3JlKCk7CiAgICAg
ICAgICAgICAgICAgfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcAkocmV2aXNpb24gNTgwOTIpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcg
QEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0dFbGVtZW50LmgiCiAKKyNpbmNsdWRl
ICJSZW5kZXJTVkdIaWRkZW5Db250YWluZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdUcmFuc2Zv
cm1hYmxlQ29udGFpbmVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTc5LDE2ICs4MCwx
NSBAQCB2b2lkIFNWR0dFbGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5KGNvCiAgICAgICAgIHN5
bmNocm9uaXplRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpOwogfQogCi12b2lkIFNWR0dFbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNo
YW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCitSZW5kZXJPYmpl
Y3QqIFNWR0dFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRl
clN0eWxlKiBzdHlsZSkKIHsKLSAgICBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDo6Y2hp
bGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwg
Y2hpbGRDb3VudERlbHRhKTsKKyAgICAvLyBTVkcgMS4xIHRlc3RzdWl0ZSBleHBsaWNpdGVseSB1
c2VzIGNvbnN0cnVjdHMgbGlrZSA8ZyBkaXNwbGF5PSJub25lIj48bGluZWFyR3JhZGllbnQ+Cisg
ICAgLy8gV2Ugc3RpbGwgaGF2ZSB0byBjcmVhdGUgcmVuZGVyZXJzIGZvciB0aGUgPGc+ICYgPGxp
bmVhckdyYWRpZW50PiBlbGVtZW50LCB0aG91Z2ggdGhlCisgICAgLy8gc3VidHJlZSBtYXkgYmUg
aGlkZGVuIC0gd2Ugb25seSB3YW50IHRoZSByZXNvdXJjZSByZW5kZXJlcnMgdG8gZXhpc3Qgc28g
dGhleSBjYW4gYmUKKyAgICAvLyByZWZlcmVuY2VkIGZyb20gc29tZXdoZXJlIGVsc2UuCisgICAg
aWYgKHN0eWxlLT5kaXNwbGF5KCkgPT0gTk9ORSkKKyAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEp
IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcih0aGlzKTsKIAotICAgIGlmIChyZW5kZXJlcigpKQot
ICAgICAgICByZW5kZXJlcigpLT5zZXROZWVkc0xheW91dCh0cnVlKTsKLX0KLQotUmVuZGVyT2Jq
ZWN0KiBTVkdHRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5k
ZXJTdHlsZSopCi17CiAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNWR1RyYW5zZm9ybWFi
bGVDb250YWluZXIodGhpcyk7CiB9CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuaAkocmV2aXNpb24gNTgwOTIp
CisrKyBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw4ICs0
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFw
cGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3Zn
QXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAgICAgICAg
dmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNl
LCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGls
ZENvdW50RGVsdGEgPSAwKTsKIAorICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRl
ZChSZW5kZXJTdHlsZSopIHsgcmV0dXJuIHRydWU7IH0KICAgICAgICAgdmlydHVhbCBSZW5kZXJP
YmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKIAogICAg
IHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDU4
MDkzKQorKysgV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICsxLDcgQEAKIC8qCiAgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2
LCAyMDA4IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAg
ICAgICAgICAgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgor
ICAgIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KIAogICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtODQsMTYgKzg1LDEzIEBAIHZv
aWQgU1ZHR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGEKIHsKICAgICBTVkdTdHlsZWRF
bGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKIAotICAgIGlmICghbV9yZXNv
dXJjZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpn
cmFkaWVudFVuaXRzQXR0ciB8fAotICAgICAgICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6Z3JhZGll
bnRUcmFuc2Zvcm1BdHRyIHx8Ci0gICAgICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjpzcHJlYWRN
ZXRob2RBdHRyIHx8Ci0gICAgICAgIFNWR1VSSVJlZmVyZW5jZTo6aXNLbm93bkF0dHJpYnV0ZShh
dHRyTmFtZSkgfHwKLSAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6aXNLbm93
bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6aXNLbm93
bkF0dHJpYnV0ZShhdHRyTmFtZSkpCi0gICAgICAgIG1fcmVzb3VyY2UtPmludmFsaWRhdGUoKTsK
KyAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmdyYWRpZW50VW5pdHNBdHRyCisgICAgICAg
IHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpncmFkaWVudFRyYW5zZm9ybUF0dHIKKyAgICAgICAg
fHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnNwcmVhZE1ldGhvZEF0dHIKKyAgICAgICAgfHwgU1ZH
VVJJUmVmZXJlbmNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKQorICAgICAgICB8fCBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKQorICAg
ICAgICB8fCBTVkdTdHlsZWRFbGVtZW50Ojppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkKKyAg
ICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR0dyYWRpZW50
RWxlbWVudDo6c3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFt
ZSkKQEAgLTEyNSw2MSArMTIzLDM0IEBAIHZvaWQgU1ZHR3JhZGllbnRFbGVtZW50OjpjaGlsZHJl
bkNoYW5nZWQKIHsKICAgICBTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdl
ZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwog
Ci0gICAgaWYgKG1fcmVzb3VyY2UpCi0gICAgICAgIG1fcmVzb3VyY2UtPmludmFsaWRhdGUoKTsK
LX0KLQotUmVuZGVyT2JqZWN0KiBTVkdHcmFkaWVudEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJl
bmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQotewotICAgIHJldHVybiBuZXcgKGFyZW5h
KSBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIodGhpcyk7Ci19Ci0KLVNWR1Jlc291cmNlKiBTVkdH
cmFkaWVudEVsZW1lbnQ6OmNhbnZhc1Jlc291cmNlKGNvbnN0IFJlbmRlck9iamVjdCopCi17Ci0g
ICAgaWYgKCFtX3Jlc291cmNlKSB7Ci0gICAgICAgIGlmIChncmFkaWVudFR5cGUoKSA9PSBMaW5l
YXJHcmFkaWVudFBhaW50U2VydmVyKQotICAgICAgICAgICAgbV9yZXNvdXJjZSA9IFNWR1BhaW50
U2VydmVyTGluZWFyR3JhZGllbnQ6OmNyZWF0ZSh0aGlzKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgbV9yZXNvdXJjZSA9IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OmNyZWF0ZSh0
aGlzKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gbV9yZXNvdXJjZS5nZXQoKTsKKyAgICBpZiAoIWNo
YW5nZWRCeVBhcnNlcikKKyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQog
Ci1WZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiBTVkdHcmFkaWVudEVsZW1lbnQ6OmJ1aWxkU3RvcHMo
KSBjb25zdAorVmVjdG9yPEdyYWRpZW50OjpDb2xvclN0b3A+IFNWR0dyYWRpZW50RWxlbWVudDo6
YnVpbGRTdG9wcygpCiB7Ci0gICAgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gc3RvcHM7Ci0gICAg
UmVmUHRyPFJlbmRlclN0eWxlPiBncmFkaWVudFN0eWxlOworICAgIFZlY3RvcjxHcmFkaWVudDo6
Q29sb3JTdG9wPiBzdG9wczsKIAorICAgIGZsb2F0IHByZXZpb3VzT2Zmc2V0ID0gMC4wZjsKICAg
ICBmb3IgKE5vZGUqIG4gPSBmaXJzdENoaWxkKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKSB7
CiAgICAgICAgIFNWR0VsZW1lbnQqIGVsZW1lbnQgPSBuLT5pc1NWR0VsZW1lbnQoKSA/IHN0YXRp
Y19jYXN0PFNWR0VsZW1lbnQqPihuKSA6IDA7CisgICAgICAgIGlmICghZWxlbWVudCB8fCAhZWxl
bWVudC0+aXNHcmFkaWVudFN0b3AoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAg
IGlmIChlbGVtZW50ICYmIGVsZW1lbnQtPmlzR3JhZGllbnRTdG9wKCkpIHsKLSAgICAgICAgICAg
IFNWR1N0b3BFbGVtZW50KiBzdG9wID0gc3RhdGljX2Nhc3Q8U1ZHU3RvcEVsZW1lbnQqPihlbGVt
ZW50KTsKLSAgICAgICAgICAgIGZsb2F0IHN0b3BPZmZzZXQgPSBzdG9wLT5vZmZzZXQoKTsKLQot
ICAgICAgICAgICAgQ29sb3IgY29sb3I7Ci0gICAgICAgICAgICBmbG9hdCBvcGFjaXR5OwotCi0g
ICAgICAgICAgICBpZiAoc3RvcC0+cmVuZGVyZXIoKSkgewotICAgICAgICAgICAgICAgIFJlbmRl
clN0eWxlKiBzdG9wU3R5bGUgPSBzdG9wLT5yZW5kZXJlcigpLT5zdHlsZSgpOwotICAgICAgICAg
ICAgICAgIGNvbG9yID0gc3RvcFN0eWxlLT5zdmdTdHlsZSgpLT5zdG9wQ29sb3IoKTsKLSAgICAg
ICAgICAgICAgICBvcGFjaXR5ID0gc3RvcFN0eWxlLT5zdmdTdHlsZSgpLT5zdG9wT3BhY2l0eSgp
OwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBu
byByZW5kZXJlciBmb3IgdGhpcyBzdG9wIGVsZW1lbnQsIHRoZW4gYSBwYXJlbnQgZWxlbWVudAot
ICAgICAgICAgICAgICAgIC8vIHNldCBkaXNwbGF5PSJub25lIiAtIGllLiA8ZyBkaXNwbGF5PSJu
b25lIj48bGluZWFyR3JhZGllbnQ+PHN0b3A+Li4KLSAgICAgICAgICAgICAgICAvLyBVbmZvcnR1
bmF0ZWx5IHdlIGhhdmUgdG8gbWFudWFsbHkgcmVidWlsZCB0aGUgc3RvcCBzdHlsZS4gU2VlIHBz
ZXJ2ZXJzLWdyYWQtMTktYi5zdmcKLSAgICAgICAgICAgICAgICBpZiAoIWdyYWRpZW50U3R5bGUp
Ci0gICAgICAgICAgICAgICAgICAgIGdyYWRpZW50U3R5bGUgPSBjb25zdF9jYXN0PFNWR0dyYWRp
ZW50RWxlbWVudCo+KHRoaXMpLT5zdHlsZUZvclJlbmRlcmVyKCk7Ci0KLSAgICAgICAgICAgICAg
ICBSZWZQdHI8UmVuZGVyU3R5bGU+IHN0b3BTdHlsZSA9IHN0b3AtPnJlc29sdmVTdHlsZShncmFk
aWVudFN0eWxlLmdldCgpKTsKLQotICAgICAgICAgICAgICAgIGNvbG9yID0gc3RvcFN0eWxlLT5z
dmdTdHlsZSgpLT5zdG9wQ29sb3IoKTsKLSAgICAgICAgICAgICAgICBvcGFjaXR5ID0gc3RvcFN0
eWxlLT5zdmdTdHlsZSgpLT5zdG9wT3BhY2l0eSgpOwotICAgICAgICAgICAgfQorICAgICAgICBT
VkdTdG9wRWxlbWVudCogc3RvcCA9IHN0YXRpY19jYXN0PFNWR1N0b3BFbGVtZW50Kj4oZWxlbWVu
dCk7CisgICAgICAgIENvbG9yIGNvbG9yID0gc3RvcC0+c3RvcENvbG9ySW5jbHVkaW5nT3BhY2l0
eSgpOwogCi0gICAgICAgICAgICBzdG9wcy5hcHBlbmQobWFrZUdyYWRpZW50U3RvcChzdG9wT2Zm
c2V0LCBtYWtlUkdCQShjb2xvci5yZWQoKSwgY29sb3IuZ3JlZW4oKSwgY29sb3IuYmx1ZSgpLCBp
bnQob3BhY2l0eSAqIDI1NS4pKSkpOwotICAgICAgICB9CisgICAgICAgIC8vIEZpZ3VyZSBvdXQg
cmlnaHQgbW9ub3RvbmljIG9mZnNldAorICAgICAgICBmbG9hdCBvZmZzZXQgPSBzdG9wLT5vZmZz
ZXQoKTsKKyAgICAgICAgb2Zmc2V0ID0gc3RkOjptaW4oc3RkOjptYXgocHJldmlvdXNPZmZzZXQs
IG9mZnNldCksIDEuMGYpOworICAgICAgICBwcmV2aW91c09mZnNldCA9IG9mZnNldDsKKworICAg
ICAgICAvLyBFeHRyYWN0IGluZGl2aWR1YWwgY2hhbm5lbCB2YWx1ZXMKKyAgICAgICAgLy8gRklY
TUU6IFdoeSBkb2Vzbid0IENvbG9yU3RvcCB0YWtlIGEgQ29sb3IgYW5kIGFuIG9mZnNldD8/Cisg
ICAgICAgIGZsb2F0IHIsIGcsIGIsIGE7CisgICAgICAgIGNvbG9yLmdldFJHQkEociwgZywgYiwg
YSk7CisKKyAgICAgICAgc3RvcHMuYXBwZW5kKEdyYWRpZW50OjpDb2xvclN0b3Aob2Zmc2V0LCBy
LCBnLCBiLCBhKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHN0b3BzOwpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHR3JhZGllbnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR3Jh
ZGllbnRFbGVtZW50LmgJKHJldmlzaW9uIDU4MDkzKQorKysgV2ViQ29yZS9zdmcvU1ZHR3JhZGll
bnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDcgQEAKICNkZWZpbmUgU1ZH
R3JhZGllbnRFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVuZGVyT2Jq
ZWN0LmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIgorI2luY2x1ZGUg
IkdyYWRpZW50LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgog
I2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0
LmgiCkBAIC00MywyMCArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAg
ICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0g
ZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50
IGNoaWxkQ291bnREZWx0YSA9IDApOwotICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3Jl
YXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogCi0gICAgICAgIHZpcnR1
YWwgU1ZHUmVzb3VyY2UqIGNhbnZhc1Jlc291cmNlKGNvbnN0IFJlbmRlck9iamVjdCopOwotCi0g
ICAgcHJvdGVjdGVkOgotICAgICAgICBmcmllbmQgY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVu
dDsKLSAgICAgICAgZnJpZW5kIGNsYXNzIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudDsKLSAgICAg
ICAgZnJpZW5kIGNsYXNzIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDsKLQotICAgICAgICB2aXJ0
dWFsIHZvaWQgYnVpbGRHcmFkaWVudCgpIGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCBTVkdQ
YWludFNlcnZlclR5cGUgZ3JhZGllbnRUeXBlKCkgY29uc3QgPSAwOwotCi0gICAgICAgIFZlY3Rv
cjxTVkdHcmFkaWVudFN0b3A+IGJ1aWxkU3RvcHMoKSBjb25zdDsKLSAgICAgICAgbXV0YWJsZSBS
ZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudD4gbV9yZXNvdXJjZTsKKyAgICAgICAgVmVjdG9y
PEdyYWRpZW50OjpDb2xvclN0b3A+IGJ1aWxkU3RvcHMoKTsKICAKICAgICBwcm90ZWN0ZWQ6CiAg
ICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdO
YW1lczo6c3ByZWFkTWV0aG9kQXR0ciwgaW50LCBTcHJlYWRNZXRob2QsIHNwcmVhZE1ldGhvZCkK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcAkocmV2aXNpb24g
NTgwOTMpCisrKyBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQAogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwg
MjAwNiwgMjAwNyBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAw
OCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICAgICAgICAgICAgICAgICAgMjAwOCBE
aXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNo
IEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKICAgICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTcwLDEyICs3MSwxMSBAQCB2b2lkIFNWR0xpbmVhckdyYWRpZW50RWxlbWVu
dDo6c3ZnQXR0cmliCiB7CiAgICAgU1ZHR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGF0dHJOYW1lKTsKIAotICAgIGlmICghbV9yZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjp4MUF0dHIgfHwgYXR0ck5hbWUgPT0gU1ZH
TmFtZXM6OnkxQXR0ciB8fAotICAgICAgICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eDJBdHRyIHx8
IGF0dHJOYW1lID09IFNWR05hbWVzOjp5MkF0dHIpCi0gICAgICAgIG1fcmVzb3VyY2UtPmludmFs
aWRhdGUoKTsKKyAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OngxQXR0cgorICAgICAgICB8
fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eTFBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNW
R05hbWVzOjp4MkF0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnkyQXR0cikK
KyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR0xpbmVh
ckdyYWRpZW50RWxlbWVudDo6c3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyTmFtZSkKQEAgLTEwMCw1NiArMTAwLDE4IEBAIHZvaWQgU1ZHTGluZWFyR3JhZGllbnRF
bGVtZW50OjpzeW5jaHJvbmkKICAgICAgICAgc3luY2hyb25pemVZMigpOwogfQogCi12b2lkIFNW
R0xpbmVhckdyYWRpZW50RWxlbWVudDo6YnVpbGRHcmFkaWVudCgpIGNvbnN0CitSZW5kZXJPYmpl
Y3QqIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEq
IGFyZW5hLCBSZW5kZXJTdHlsZSopCiB7Ci0gICAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIGF0
dHJpYnV0ZXMgPSBjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCk7Ci0KLSAgICBSZWZQdHI8U1ZH
UGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudD4gbGluZWFyR3JhZGllbnQgPSBXVEY6OnN0YXRpY19w
b2ludGVyX2Nhc3Q8U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudD4obV9yZXNvdXJjZSk7Ci0K
LSAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQ7Ci0gICAgRmxvYXRQb2ludCBlbmRQb2ludDsKLSAg
ICBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKSkgewotICAgICAgICBzdGFydFBvaW50
ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLngxKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwgYXR0cmli
dXRlcy55MSgpLnZhbHVlQXNQZXJjZW50YWdlKCkpOwotICAgICAgICBlbmRQb2ludCA9IEZsb2F0
UG9pbnQoYXR0cmlidXRlcy54MigpLnZhbHVlQXNQZXJjZW50YWdlKCksIGF0dHJpYnV0ZXMueTIo
KS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKLSAgICB9IGVsc2UgewotICAgICAgICBzdGFydFBvaW50
ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLngxKCkudmFsdWUodGhpcyksIGF0dHJpYnV0ZXMueTEo
KS52YWx1ZSh0aGlzKSk7Ci0gICAgICAgIGVuZFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVz
LngyKCkudmFsdWUodGhpcyksIGF0dHJpYnV0ZXMueTIoKS52YWx1ZSh0aGlzKSk7Ci0gICAgfQot
Ci0gICAgUmVmUHRyPEdyYWRpZW50PiBncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoc3RhcnRQ
b2ludCwgZW5kUG9pbnQpOwotICAgIGdyYWRpZW50LT5zZXRTcHJlYWRNZXRob2QoYXR0cmlidXRl
cy5zcHJlYWRNZXRob2QoKSk7Ci0KLSAgICBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiBtX3N0b3Bz
ID0gYXR0cmlidXRlcy5zdG9wcygpOwotICAgIGZsb2F0IHByZXZpb3VzT2Zmc2V0ID0gMC4wZjsK
LSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9zdG9wcy5zaXplKCk7ICsraSkgewotICAg
ICAgICBmbG9hdCBvZmZzZXQgPSBzdGQ6Om1pbihzdGQ6Om1heChwcmV2aW91c09mZnNldCwgbV9z
dG9wc1tpXS5maXJzdCksIDEuMGYpOwotICAgICAgICBwcmV2aW91c09mZnNldCA9IG9mZnNldDsK
LSAgICAgICAgZ3JhZGllbnQtPmFkZENvbG9yU3RvcChvZmZzZXQsIG1fc3RvcHNbaV0uc2Vjb25k
KTsKLSAgICB9Ci0KLSAgICBsaW5lYXJHcmFkaWVudC0+c2V0R3JhZGllbnQoZ3JhZGllbnQpOwot
Ci0gICAgaWYgKGF0dHJpYnV0ZXMuc3RvcHMoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsK
LQotICAgIC8vIFRoaXMgY29kZSBzaG91bGQgZ28gYXdheS4gIFBhaW50U2VydmVycyBzaG91bGQg
Z28gYXdheSB0b28uCi0gICAgLy8gT25seSB0aGlzIGNvZGUgc2hvdWxkIGNhcmUgYWJvdXQgYm91
bmRpbmcgYm94ZXMKLSAgICBsaW5lYXJHcmFkaWVudC0+c2V0Qm91bmRpbmdCb3hNb2RlKGF0dHJp
YnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpOwotICAgIGxpbmVhckdyYWRpZW50LT5zZXRHcmFkaWVu
dFN0b3BzKGF0dHJpYnV0ZXMuc3RvcHMoKSk7Ci0KLSAgICAvLyBUaGVzZSBzaG91bGQgcG9zc2li
bHkgYmUgc3VwcG9ydGVkIG9uIEdyYWRpZW50Ci0gICAgbGluZWFyR3JhZGllbnQtPnNldEdyYWRp
ZW50VHJhbnNmb3JtKGF0dHJpYnV0ZXMuZ3JhZGllbnRUcmFuc2Zvcm0oKSk7Ci0gICAgbGluZWFy
R3JhZGllbnQtPnNldEdyYWRpZW50U3RhcnQoc3RhcnRQb2ludCk7Ci0gICAgbGluZWFyR3JhZGll
bnQtPnNldEdyYWRpZW50RW5kKGVuZFBvaW50KTsKKyAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVu
ZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCh0aGlzKTsKIH0KIAotTGluZWFyR3JhZGllbnRB
dHRyaWJ1dGVzIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6Y29sbGVjdEdyYWRpZW50UHJvcGVy
dGllcygpIGNvbnN0CitMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgU1ZHTGluZWFyR3JhZGllbnRF
bGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCkKIHsKICAgICBMaW5lYXJHcmFkaWVu
dEF0dHJpYnV0ZXMgYXR0cmlidXRlczsKLSAgICBIYXNoU2V0PGNvbnN0IFNWR0dyYWRpZW50RWxl
bWVudCo+IHByb2Nlc3NlZEdyYWRpZW50czsKKyAgICBIYXNoU2V0PFNWR0dyYWRpZW50RWxlbWVu
dCo+IHByb2Nlc3NlZEdyYWRpZW50czsKIAogICAgIGJvb2wgaXNMaW5lYXIgPSB0cnVlOwotICAg
IGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogY3VycmVudCA9IHRoaXM7CisgICAgU1ZHR3JhZGll
bnRFbGVtZW50KiBjdXJyZW50ID0gdGhpczsKIAogICAgIHdoaWxlIChjdXJyZW50KSB7CiAgICAg
ICAgIGlmICghYXR0cmlidXRlcy5oYXNTcHJlYWRNZXRob2QoKSAmJiBjdXJyZW50LT5oYXNBdHRy
aWJ1dGUoU1ZHTmFtZXM6OnNwcmVhZE1ldGhvZEF0dHIpKQpAQCAtMTYyLDEzICsxMjQsMTMgQEAg
TGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIFNWR0xpbmVhckdyYWRpZQogICAgICAgICAgICAgYXR0
cmlidXRlcy5zZXRHcmFkaWVudFRyYW5zZm9ybShjdXJyZW50LT5ncmFkaWVudFRyYW5zZm9ybSgp
LT5jb25zb2xpZGF0ZSgpLm1hdHJpeCgpKTsKIAogICAgICAgICBpZiAoIWF0dHJpYnV0ZXMuaGFz
U3RvcHMoKSkgewotICAgICAgICAgICAgY29uc3QgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIHN0
b3BzKGN1cnJlbnQtPmJ1aWxkU3RvcHMoKSk7CisgICAgICAgICAgICBjb25zdCBWZWN0b3I8R3Jh
ZGllbnQ6OkNvbG9yU3RvcD4mIHN0b3BzKGN1cnJlbnQtPmJ1aWxkU3RvcHMoKSk7CiAgICAgICAg
ICAgICBpZiAoIXN0b3BzLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLnNl
dFN0b3BzKHN0b3BzKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChpc0xpbmVhcikgewotICAg
ICAgICAgICAgY29uc3QgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KiBsaW5lYXIgPSBzdGF0aWNf
Y2FzdDxjb25zdCBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqPihjdXJyZW50KTsKKyAgICAgICAg
ICAgIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCogbGluZWFyID0gc3RhdGljX2Nhc3Q8U1ZHTGlu
ZWFyR3JhZGllbnRFbGVtZW50Kj4oY3VycmVudCk7CiAKICAgICAgICAgICAgIGlmICghYXR0cmli
dXRlcy5oYXNYMSgpICYmIGN1cnJlbnQtPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6eDFBdHRyKSkK
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLnNldFgxKGxpbmVhci0+eDEoKSk7CkBAIC0xODgs
MTMgKzE1MCwxMyBAQCBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgU1ZHTGluZWFyR3JhZGllCiAg
ICAgICAgIC8vIFJlc3BlY3QgeGxpbms6aHJlZiwgdGFrZSBhdHRyaWJ1dGVzIGZyb20gcmVmZXJl
bmNlZCBlbGVtZW50CiAgICAgICAgIE5vZGUqIHJlZk5vZGUgPSBvd25lckRvY3VtZW50KCktPmdl
dEVsZW1lbnRCeUlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGN1cnJlbnQtPmhyZWYoKSkp
OwogICAgICAgICBpZiAocmVmTm9kZSAmJiAocmVmTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6
bGluZWFyR3JhZGllbnRUYWcpIHx8IHJlZk5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnJhZGlh
bEdyYWRpZW50VGFnKSkpIHsKLSAgICAgICAgICAgIGN1cnJlbnQgPSBzdGF0aWNfY2FzdDxjb25z
dCBTVkdHcmFkaWVudEVsZW1lbnQqPihjb25zdF9jYXN0PGNvbnN0IE5vZGUqPihyZWZOb2RlKSk7
CisgICAgICAgICAgICBjdXJyZW50ID0gc3RhdGljX2Nhc3Q8U1ZHR3JhZGllbnRFbGVtZW50Kj4o
cmVmTm9kZSk7CiAKICAgICAgICAgICAgIC8vIEN5Y2xlIGRldGVjdGlvbgogICAgICAgICAgICAg
aWYgKHByb2Nlc3NlZEdyYWRpZW50cy5jb250YWlucyhjdXJyZW50KSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzKCk7CiAKLSAgICAgICAgICAgIGlzTGlu
ZWFyID0gY3VycmVudC0+Z3JhZGllbnRUeXBlKCkgPT0gTGluZWFyR3JhZGllbnRQYWludFNlcnZl
cjsKKyAgICAgICAgICAgIGlzTGluZWFyID0gY3VycmVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6
bGluZWFyR3JhZGllbnRUYWcpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGN1cnJlbnQg
PSAwOwogICAgIH0KQEAgLTIwMiw2ICsxNjQsMTggQEAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVz
IFNWR0xpbmVhckdyYWRpZQogICAgIHJldHVybiBhdHRyaWJ1dGVzOwogfQogCit2b2lkIFNWR0xp
bmVhckdyYWRpZW50RWxlbWVudDo6Y2FsY3VsYXRlU3RhcnRFbmRQb2ludHMoY29uc3QgTGluZWFy
R3JhZGllbnRBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzLCBGbG9hdFBvaW50JiBzdGFydFBvaW50LCBG
bG9hdFBvaW50JiBlbmRQb2ludCkKK3sKKyAgICAvLyBEZXRlcm1pbmUgZ3JhZGllbnQgc3RhcnQv
ZW5kIHBvaW50cworICAgIGlmIChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKSB7CisgICAg
ICAgIHN0YXJ0UG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMueDEoKS52YWx1ZUFzUGVyY2Vu
dGFnZSgpLCBhdHRyaWJ1dGVzLnkxKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSk7CisgICAgICAgIGVu
ZFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLngyKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwg
YXR0cmlidXRlcy55MigpLnZhbHVlQXNQZXJjZW50YWdlKCkpOworICAgIH0gZWxzZSB7CisgICAg
ICAgIHN0YXJ0UG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMueDEoKS52YWx1ZSh0aGlzKSwg
YXR0cmlidXRlcy55MSgpLnZhbHVlKHRoaXMpKTsKKyAgICAgICAgZW5kUG9pbnQgPSBGbG9hdFBv
aW50KGF0dHJpYnV0ZXMueDIoKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRlcy55MigpLnZhbHVlKHRo
aXMpKTsKKyAgICB9Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaAkocmV2aXNpb24gNTgwOTIpCisrKyBXZWJD
b3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzgs
MTEgKzM4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHN2
Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgICAgICB2aXJ0dWFs
IHZvaWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKLSAgICBw
cm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBidWlsZEdyYWRpZW50KCkgY29uc3Q7Ci0g
ICAgICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIGdyYWRpZW50VHlwZSgpIGNvbnN0IHsg
cmV0dXJuIExpbmVhckdyYWRpZW50UGFpbnRTZXJ2ZXI7IH0KKyAgICAgICAgdmlydHVhbCBSZW5k
ZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKIAot
ICAgICAgICBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgY29sbGVjdEdyYWRpZW50UHJvcGVydGll
cygpIGNvbnN0OworICAgICAgICBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgY29sbGVjdEdyYWRp
ZW50UHJvcGVydGllcygpOworICAgICAgICB2b2lkIGNhbGN1bGF0ZVN0YXJ0RW5kUG9pbnRzKGNv
bnN0IExpbmVhckdyYWRpZW50QXR0cmlidXRlcyYsIEZsb2F0UG9pbnQmIHN0YXJ0UG9pbnQsIEZs
b2F0UG9pbnQmIGVuZFBvaW50KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIERFQ0xBUkVfQU5J
TUFURURfUFJPUEVSVFkoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6eDFBdHRy
LCBTVkdMZW5ndGgsIFgxLCB4MSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCShyZXZp
c2lvbiA1ODA5MikKKysrIFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTEsNyArMTExLDcgQEAgdm9pZCBTVkdNYXJrZXJFbGVtZW50OjpzdmdBdHRy
aWJ1dGVDaGFuZwogICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjppc0tub3du
QXR0cmlidXRlKGF0dHJOYW1lKSB8fAogICAgICAgICBTVkdGaXRUb1ZpZXdCb3g6OmlzS25vd25B
dHRyaWJ1dGUoYXR0ck5hbWUpIHx8CiAgICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmlzS25vd25B
dHRyaWJ1dGUoYXR0ck5hbWUpKQotICAgICAgICBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7
CisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9pZCBTVkdNYXJr
ZXJFbGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJO
YW1lKQpAQCAtMTU3LDcgKzE1Nyw4IEBAIHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6Y2hpbGRyZW5D
aGFuZ2VkKGIKIHsKICAgICBTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdl
ZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwog
Ci0gICAgaW52YWxpZGF0ZUNhbnZhc1Jlc291cmNlcygpOworICAgIGlmICghY2hhbmdlZEJ5UGFy
c2VyKQorICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZH
TWFya2VyRWxlbWVudDo6c2V0T3JpZW50VG9BdXRvKCkKQEAgLTE2NSw3ICsxNjYsNyBAQCB2b2lk
IFNWR01hcmtlckVsZW1lbnQ6OnNldE9yaWVudFRvQXV0bygpCiAgICAgc2V0T3JpZW50VHlwZUJh
c2VWYWx1ZShTVkdfTUFSS0VSX09SSUVOVF9BVVRPKTsKICAgICBzZXRPcmllbnRBbmdsZUJhc2VW
YWx1ZShTVkdBbmdsZSgpKTsKIAotICAgIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKTsKKyAg
ICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZHTWFya2VyRWxlbWVu
dDo6c2V0T3JpZW50VG9BbmdsZShjb25zdCBTVkdBbmdsZSYgYW5nbGUpCkBAIC0xNzMsNyArMTc0
LDcgQEAgdm9pZCBTVkdNYXJrZXJFbGVtZW50OjpzZXRPcmllbnRUb0FuZ2xlKAogICAgIHNldE9y
aWVudFR5cGVCYXNlVmFsdWUoU1ZHX01BUktFUl9PUklFTlRfQU5HTEUpOwogICAgIHNldE9yaWVu
dEFuZ2xlQmFzZVZhbHVlKGFuZ2xlKTsKIAotICAgIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMo
KTsKKyAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIFJlbmRlck9iamVjdCog
U1ZHTWFya2VyRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5k
ZXJTdHlsZSopCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODA5MikKKysr
IFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDcg
KzEwNCw3IEBAIHZvaWQgU1ZHTWFza0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQKICAgICAg
ICAgU1ZHTGFuZ1NwYWNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAogICAgICAgICBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8
fAogICAgICAgICBTVkdTdHlsZWRFbGVtZW50Ojppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkK
LSAgICAgICAgaW52YWxpZGF0ZUNhbnZhc1Jlc291cmNlcygpOworICAgICAgICBpbnZhbGlkYXRl
UmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZHTWFza0VsZW1lbnQ6OnN5bmNocm9uaXpl
UHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCkBAIC0xMzgsNyArMTM4LDkg
QEAgdm9pZCBTVkdNYXNrRWxlbWVudDo6c3luY2hyb25pemVQcm9wZXJ0eQogdm9pZCBTVkdNYXNr
RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZv
cmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQogewogICAg
IFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJlZm9y
ZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7Ci0gICAgaW52YWxpZGF0ZUNh
bnZhc1Jlc291cmNlcygpOworCisgICAgaWYgKCFjaGFuZ2VkQnlQYXJzZXIpCisgICAgICAgIGlu
dmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogRmxvYXRSZWN0IFNWR01hc2tFbGVtZW50
OjptYXNrQm91bmRpbmdCb3goY29uc3QgRmxvYXRSZWN0JiBvYmplY3RCb3VuZGluZ0JveCkgY29u
c3QKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MDkzKQorKysg
V2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNyBAQAogLyoKICAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIw
MDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAg
ICAgICAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgICAg
Q29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogCiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0xMTksMTkgKzEyMCwyMCBAQCB2b2lk
IFNWR1BhdHRlcm5FbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuCiB7CiAgICAgU1ZHU3R5bGVkRWxl
bWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CiAKLSAgICBpZiAoIW1fcmVzb3Vy
Y2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6cGF0
dGVyblVuaXRzQXR0ciB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6cGF0dGVybkNvbnRlbnRVbml0
c0F0dHIgfHwKLSAgICAgICAgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1B
dHRyIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp4QXR0ciB8fCBhdHRyTmFtZSA9PSBTVkdOYW1l
czo6eUF0dHIgfHwKLSAgICAgICAgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OndpZHRoQXR0ciB8fCBh
dHRyTmFtZSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0ciB8fAotICAgICAgICBTVkdVUklSZWZlcmVu
Y2U6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8Ci0gICAgICAgIFNWR1Rlc3RzOjppc0tu
b3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fCAKLSAgICAgICAgU1ZHTGFuZ1NwYWNlOjppc0tub3du
QXR0cmlidXRlKGF0dHJOYW1lKSB8fAotICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAotICAgICAgICBTVkdGaXRUb1ZpZXdC
b3g6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1l
bnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpKQotICAgICAgICBtX3Jlc291cmNlLT5pbnZh
bGlkYXRlKCk7CisgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpwYXR0ZXJuVW5pdHNBdHRy
CisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpwYXR0ZXJuQ29udGVudFVuaXRzQXR0
cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6cGF0dGVyblRyYW5zZm9ybUF0dHIK
KyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnhBdHRyCisgICAgICAgIHx8IGF0dHJO
YW1lID09IFNWR05hbWVzOjp5QXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6
d2lkdGhBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpoZWlnaHRBdHRyCisg
ICAgICAgIHx8IFNWR1VSSVJlZmVyZW5jZTo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkKKyAg
ICAgICAgfHwgU1ZHVGVzdHM6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpCisgICAgICAgIHx8
IFNWR0xhbmdTcGFjZTo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkKKyAgICAgICAgfHwgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkKKyAg
ICAgICAgfHwgU1ZHRml0VG9WaWV3Qm94Ojppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKQorICAg
ICAgICB8fCBTVkdTdHlsZWRFbGVtZW50Ojppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkKKyAg
ICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR1BhdHRlcm5F
bGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1l
KQpAQCAtMTgwLDEyNiArMTgyLDEzIEBAIHZvaWQgU1ZHUGF0dGVybkVsZW1lbnQ6OmNoaWxkcmVu
Q2hhbmdlZCgKIHsKICAgICBTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdl
ZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwog
Ci0gICAgaWYgKCFtX3Jlc291cmNlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX3Jlc291cmNl
LT5pbnZhbGlkYXRlKCk7Ci19Ci0KLXZvaWQgU1ZHUGF0dGVybkVsZW1lbnQ6OmJ1aWxkUGF0dGVy
bihjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QpIGNvbnN0Ci17Ci0gICAgUGF0dGVybkF0dHJp
YnV0ZXMgYXR0cmlidXRlcyA9IGNvbGxlY3RQYXR0ZXJuUHJvcGVydGllcygpOwotCi0gICAgLy8g
SWYgd2UgZGlkbid0IGZpbmQgYW55IHBhdHRlcm4gY29udGVudCwgaWdub3JlIHRoZSByZXF1ZXN0
LgotICAgIGlmICghYXR0cmlidXRlcy5wYXR0ZXJuQ29udGVudEVsZW1lbnQoKSB8fCAhcmVuZGVy
ZXIoKSB8fCAhcmVuZGVyZXIoKS0+c3R5bGUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRmxv
YXRSZWN0IHBhdHRlcm5Cb3VuZGFyaWVzOyAKLSAgICBGbG9hdFJlY3QgcGF0dGVybkNvbnRlbnRC
b3VuZGFyaWVzOwotCi0gICAgLy8gRGV0ZXJtaW5lIHNwZWNpZmllZCBwYXR0ZXJuIHNpemUKLSAg
ICBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKSkKLSAgICAgICAgcGF0dGVybkJvdW5k
YXJpZXMgPSBGbG9hdFJlY3QoYXR0cmlidXRlcy54KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSAqIHRh
cmdldFJlY3Qud2lkdGgoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YXR0cmlidXRlcy55KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSAqIHRhcmdldFJlY3QuaGVpZ2h0KCks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMud2lkdGgo
KS52YWx1ZUFzUGVyY2VudGFnZSgpICogdGFyZ2V0UmVjdC53aWR0aCgpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLmhlaWdodCgpLnZhbHVlQXNQZXJj
ZW50YWdlKCkgKiB0YXJnZXRSZWN0LmhlaWdodCgpKTsKLSAgICBlbHNlCi0gICAgICAgIHBhdHRl
cm5Cb3VuZGFyaWVzID0gRmxvYXRSZWN0KGF0dHJpYnV0ZXMueCgpLnZhbHVlKHRoaXMpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLnkoKS52YWx1ZSh0
aGlzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy53
aWR0aCgpLnZhbHVlKHRoaXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGVzLmhlaWdodCgpLnZhbHVlKHRoaXMpKTsKLQotICAgIEludFNpemUgcGF0dGVy
blNpemUocGF0dGVybkJvdW5kYXJpZXMud2lkdGgoKSwgcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0
KCkpOwotICAgIGNsYW1wSW1hZ2VCdWZmZXJTaXplVG9WaWV3cG9ydChkb2N1bWVudCgpLT52aWV3
KCksIHBhdHRlcm5TaXplKTsKLQotICAgIGlmIChwYXR0ZXJuU2l6ZS53aWR0aCgpIDwgc3RhdGlj
X2Nhc3Q8aW50PihwYXR0ZXJuQm91bmRhcmllcy53aWR0aCgpKSkKLSAgICAgICAgcGF0dGVybkJv
dW5kYXJpZXMuc2V0V2lkdGgocGF0dGVyblNpemUud2lkdGgoKSk7Ci0KLSAgICBpZiAocGF0dGVy
blNpemUuaGVpZ2h0KCkgPCBzdGF0aWNfY2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVzLmhlaWdo
dCgpKSkKLSAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMuc2V0SGVpZ2h0KHBhdHRlcm5TaXplLmhl
aWdodCgpKTsKLQotICAgIC8vIEV2ZW50dWFsbHkgY2FsY3VsYXRlIHRoZSBwYXR0ZXJuIGNvbnRl
bnQgYm91bmRhcmllcyAob25seSBuZWVkZWQgd2l0aCBvdmVyZmxvdz0idmlzaWJsZSIpLgotICAg
IFJlbmRlclN0eWxlKiBzdHlsZSA9IHJlbmRlcmVyKCktPnN0eWxlKCk7Ci0gICAgaWYgKHN0eWxl
LT5vdmVyZmxvd1goKSA9PSBPVklTSUJMRSAmJiBzdHlsZS0+b3ZlcmZsb3dZKCkgPT0gT1ZJU0lC
TEUpIHsKLSAgICAgICAgZm9yIChOb2RlKiBuID0gYXR0cmlidXRlcy5wYXR0ZXJuQ29udGVudEVs
ZW1lbnQoKS0+Zmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgewotICAgICAg
ICAgICAgaWYgKCFuLT5pc1NWR0VsZW1lbnQoKSB8fCAhc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+
KG4pLT5pc1N0eWxlZFRyYW5zZm9ybWFibGUoKSB8fCAhbi0+cmVuZGVyZXIoKSkKLSAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy51
bml0ZShuLT5yZW5kZXJlcigpLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKLSAg
ICAgICAgfQotICAgIH0KLQotICAgIEFmZmluZVRyYW5zZm9ybSB2aWV3Qm94Q1RNID0gdmlld0Jv
eFRvVmlld1RyYW5zZm9ybSh2aWV3Qm94KCksIHByZXNlcnZlQXNwZWN0UmF0aW8oKSwgcGF0dGVy
bkJvdW5kYXJpZXMud2lkdGgoKSwgcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkpOyAKLSAgICBG
bG9hdFJlY3QgcGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdyA9IHBhdHRlcm5Cb3Vu
ZGFyaWVzOwotCi0gICAgLy8gQXBwbHkgb2JqZWN0Qm91bmRpbmdCb3hNb2RlIGZpeHVwIGZvciBw
YXR0ZXJuQ29udGVudFVuaXRzLCBpZiB2aWV3Qm94IGlzIG5vdCBzZXQuCi0gICAgaWYgKCFwYXR0
ZXJuQ29udGVudEJvdW5kYXJpZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGlmICghdmlld0JveENU
TS5pc0lkZW50aXR5KCkpCi0gICAgICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMgPSB2
aWV3Qm94Q1RNLm1hcFJlY3QocGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzKTsKLSAgICAgICAgZWxz
ZSBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGVDb250ZW50KCkpCi0gICAgICAgICAgICBw
YXR0ZXJuQ29udGVudEJvdW5kYXJpZXMgPSBGbG9hdFJlY3QocGF0dGVybkNvbnRlbnRCb3VuZGFy
aWVzLngoKSAqIHRhcmdldFJlY3Qud2lkdGgoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMueSgpICogdGFy
Z2V0UmVjdC5oZWlnaHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMud2lkdGgoKSAqIHRhcmdldFJlY3Qu
d2lkdGgoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMuaGVpZ2h0KCkgKiB0YXJnZXRSZWN0LmhlaWdodCgp
KTsKLQotICAgICAgICBwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LnVuaXRlKHBh
dHRlcm5Db250ZW50Qm91bmRhcmllcyk7Ci0gICAgfQotCi0gICAgSW50U2l6ZSBpbWFnZVNpemUo
bHJvdW5kZihwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LndpZHRoKCkpLCBscm91
bmRmKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cuaGVpZ2h0KCkpKTsKLSAgICBj
bGFtcEltYWdlQnVmZmVyU2l6ZVRvVmlld3BvcnQoZG9jdW1lbnQoKS0+dmlldygpLCBpbWFnZVNp
emUpOwotCi0gICAgT3duUHRyPEltYWdlQnVmZmVyPiBwYXR0ZXJuSW1hZ2UgPSBJbWFnZUJ1ZmZl
cjo6Y3JlYXRlKGltYWdlU2l6ZSk7Ci0KLSAgICBpZiAoIXBhdHRlcm5JbWFnZSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0ID0gcGF0dGVybkltYWdlLT5j
b250ZXh0KCk7Ci0gICAgQVNTRVJUKGNvbnRleHQpOwotCi0gICAgY29udGV4dC0+c2F2ZSgpOwot
Ci0gICAgLy8gTW92ZSB0byBwYXR0ZXJuIHN0YXJ0IG9yaWdpbgotICAgIGlmIChwYXR0ZXJuQm91
bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LmxvY2F0aW9uKCkgIT0gcGF0dGVybkJvdW5kYXJpZXMu
bG9jYXRpb24oKSkgewotICAgICAgICBjb250ZXh0LT50cmFuc2xhdGUocGF0dGVybkJvdW5kYXJp
ZXMueCgpIC0gcGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy54KCksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQm91bmRhcmllcy55KCkgLSBwYXR0ZXJuQm91bmRh
cmllc0luY2x1ZGluZ092ZXJmbG93LnkoKSk7Ci0KLSAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMu
c2V0TG9jYXRpb24ocGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy5sb2NhdGlvbigp
KTsKLSAgICB9Ci0KLSAgICAvLyBQcm9jZXNzIHZpZXdCb3ggb3IgYm91bmRpbmdCb3hNb2RlQ29u
dGVudCBjb3JyZWN0aW9uCi0gICAgaWYgKCF2aWV3Qm94Q1RNLmlzSWRlbnRpdHkoKSkKLSAgICAg
ICAgY29udGV4dC0+Y29uY2F0Q1RNKHZpZXdCb3hDVE0pOwotICAgIGVsc2UgaWYgKGF0dHJpYnV0
ZXMuYm91bmRpbmdCb3hNb2RlQ29udGVudCgpKSB7Ci0gICAgICAgIGNvbnRleHQtPnRyYW5zbGF0
ZSh0YXJnZXRSZWN0LngoKSwgdGFyZ2V0UmVjdC55KCkpOwotICAgICAgICBjb250ZXh0LT5zY2Fs
ZShGbG9hdFNpemUodGFyZ2V0UmVjdC53aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpKSk7Ci0g
ICAgfQotCi0gICAgLy8gUmVuZGVyIHN1YnRyZWUgaW50byBJbWFnZUJ1ZmZlcgotICAgIGZvciAo
Tm9kZSogbiA9IGF0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRFbGVtZW50KCktPmZpcnN0Q2hpbGQo
KTsgbjsgbiA9IG4tPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgaWYgKCFuLT5pc1NWR0VsZW1l
bnQoKSB8fCAhc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG4pLT5pc1N0eWxlZCgpIHx8ICFuLT5y
ZW5kZXJlcigpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIHJlbmRlclN1YnRyZWVU
b0ltYWdlKHBhdHRlcm5JbWFnZS5nZXQoKSwgbi0+cmVuZGVyZXIoKSk7Ci0gICAgfQotCi0gICAg
Y29udGV4dC0+cmVzdG9yZSgpOwotCi0gICAgbV9yZXNvdXJjZS0+c2V0UGF0dGVyblRyYW5zZm9y
bShhdHRyaWJ1dGVzLnBhdHRlcm5UcmFuc2Zvcm0oKSk7Ci0gICAgbV9yZXNvdXJjZS0+c2V0UGF0
dGVybkJvdW5kYXJpZXMocGF0dGVybkJvdW5kYXJpZXMpOyAKLSAgICBtX3Jlc291cmNlLT5zZXRU
aWxlKHBhdHRlcm5JbWFnZS5yZWxlYXNlKCkpOworICAgIGlmICghY2hhbmdlZEJ5UGFyc2VyKQor
ICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIFJlbmRlck9iamVjdCog
U1ZHUGF0dGVybkVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVu
ZGVyU3R5bGUqKQogewotICAgIFJlbmRlclNWR0NvbnRhaW5lciogcGF0dGVybkNvbnRhaW5lciA9
IG5ldyAoYXJlbmEpIFJlbmRlclNWR0NvbnRhaW5lcih0aGlzKTsKLSAgICBwYXR0ZXJuQ29udGFp
bmVyLT5zZXREcmF3c0NvbnRlbnRzKGZhbHNlKTsKLSAgICByZXR1cm4gcGF0dGVybkNvbnRhaW5l
cjsKLX0KLQotU1ZHUmVzb3VyY2UqIFNWR1BhdHRlcm5FbGVtZW50OjpjYW52YXNSZXNvdXJjZShj
b25zdCBSZW5kZXJPYmplY3QqKQotewotICAgIGlmICghbV9yZXNvdXJjZSkKLSAgICAgICAgbV9y
ZXNvdXJjZSA9IFNWR1BhaW50U2VydmVyUGF0dGVybjo6Y3JlYXRlKHRoaXMpOwotCi0gICAgcmV0
dXJuIG1fcmVzb3VyY2UuZ2V0KCk7CisgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNWR1Jl
c291cmNlUGF0dGVybih0aGlzKTsKIH0KIAogUGF0dGVybkF0dHJpYnV0ZXMgU1ZHUGF0dGVybkVs
ZW1lbnQ6OmNvbGxlY3RQYXR0ZXJuUHJvcGVydGllcygpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdHRl
cm5FbGVtZW50LmgJKHJldmlzaW9uIDU4MDkzKQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsNiBAQAogI2RlZmluZSBTVkdQYXR0
ZXJuRWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5o
IgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlUGF0dGVybi5oIgogI2luY2x1ZGUgIlNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRUb1ZpZXdCb3guaCIK
ICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKQEAgLTU2LDcgKzU0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdl
ZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVyQ2hh
bmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwogCiAgICAgICAgIHZpcnR1YWwgUmVu
ZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7Ci0g
ICAgICAgIHZpcnR1YWwgU1ZHUmVzb3VyY2UqIGNhbnZhc1Jlc291cmNlKGNvbnN0IFJlbmRlck9i
amVjdCopOworCisgICAgICAgIFBhdHRlcm5BdHRyaWJ1dGVzIGNvbGxlY3RQYXR0ZXJuUHJvcGVy
dGllcygpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9Q
Uk9QRVJUWShTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnhBdHRyLCBTVkdMZW5ndGgsIFgs
IHgpCkBAIC03NSwxNSArNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8g
U1ZHUGF0dGVybkVsZW1lbnQKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdQ
YXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdCb3gs
IHZpZXdCb3gpCi0gICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHUGF0dGVybkVs
ZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKLSAKLSAg
ICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuPiBtX3Jlc291cmNlOwot
Ci0gICAgcHJpdmF0ZToKLSAgICAgICAgZnJpZW5kIGNsYXNzIFNWR1BhaW50U2VydmVyUGF0dGVy
bjsKLSAgICAgICAgdm9pZCBidWlsZFBhdHRlcm4oY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0
KSBjb25zdDsKLQotICAgICAgICBQYXR0ZXJuQXR0cmlidXRlcyBjb2xsZWN0UGF0dGVyblByb3Bl
cnRpZXMoKSBjb25zdDsKKyAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdQYXR0
ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKSAK
ICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQ
b2x5RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgJ
KHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAg
ICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFt
ZSYpOwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxl
KiBzdHlsZSkgeyByZXR1cm4gU3R5bGVkRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7
IH0KICAgICAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzTWFya2VycygpIGNvbnN0IHsgcmV0dXJu
IHRydWU7IH0KIAogICAgIHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MDkzKQorKysgV2ViQ29yZS9zdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAKICAgICAg
ICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9y
Zz4KICAgICAgICAgICAgICAgICAgIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4K
ICAgICAgICAgICAgICAgICAgIDIwMDggRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+Cisg
ICAgQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yOSw3ICszMCw2IEBACiAjaW5j
bHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIk1hcHBlZEF0dHJpYnV0ZS5oIgogI2luY2x1
ZGUgIlJhZGlhbEdyYWRpZW50QXR0cmlidXRlcy5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5o
IgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaCIKICNpbmNsdWRl
ICJTVkdMZW5ndGguaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgpAQCAtNzcsMTMgKzc3LDEyIEBA
IHZvaWQgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWIKIHsKICAgICBTVkdHcmFk
aWVudEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwogCi0gICAgaWYgKCFt
X3Jlc291cmNlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFt
ZXM6OmN4QXR0ciB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6Y3lBdHRyIHx8Ci0gICAgICAgIGF0
dHJOYW1lID09IFNWR05hbWVzOjpmeEF0dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmZ5QXR0
ciB8fAotICAgICAgICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6ckF0dHIpCi0gICAgICAgIG1fcmVz
b3VyY2UtPmludmFsaWRhdGUoKTsKKyAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmN4QXR0
cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6Y3lBdHRyCisgICAgICAgIHx8IGF0
dHJOYW1lID09IFNWR05hbWVzOjpmeEF0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFt
ZXM6OmZ5QXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6ckF0dHIpCisgICAg
ICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9pZCBTVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
ck5hbWUpCkBAIC0xMTEsNzcgKzExMCwxOCBAQCB2b2lkIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dDo6c3luY2hyb25pCiAgICAgICAgIHN5bmNocm9uaXplUigpOwogfQogCi12b2lkIFNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudDo6YnVpbGRHcmFkaWVudCgpIGNvbnN0CitSZW5kZXJPYmplY3QqIFNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5h
LCBSZW5kZXJTdHlsZSopCiB7Ci0gICAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIGF0dHJpYnV0
ZXMgPSBjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCk7Ci0KLSAgICBSZWZQdHI8U1ZHUGFpbnRT
ZXJ2ZXJSYWRpYWxHcmFkaWVudD4gcmFkaWFsR3JhZGllbnQgPSBXVEY6OnN0YXRpY19wb2ludGVy
X2Nhc3Q8U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudD4obV9yZXNvdXJjZSk7Ci0KLSAgICBG
bG9hdFBvaW50IGZvY2FsUG9pbnQ7Ci0gICAgRmxvYXRQb2ludCBjZW50ZXJQb2ludDsKLSAgICBm
bG9hdCByYWRpdXM7Ci0gICAgaWYgKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpIHsKLSAg
ICAgICAgZm9jYWxQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy5meCgpLnZhbHVlQXNQZXJj
ZW50YWdlKCksIGF0dHJpYnV0ZXMuZnkoKS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKLSAgICAgICAg
Y2VudGVyUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMuY3goKS52YWx1ZUFzUGVyY2VudGFn
ZSgpLCBhdHRyaWJ1dGVzLmN5KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSk7Ci0gICAgICAgIHJhZGl1
cyA9IGF0dHJpYnV0ZXMucigpLnZhbHVlQXNQZXJjZW50YWdlKCk7Ci0gICAgfSBlbHNlIHsKLSAg
ICAgICAgZm9jYWxQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy5meCgpLnZhbHVlKHRoaXMp
LCBhdHRyaWJ1dGVzLmZ5KCkudmFsdWUodGhpcykpOwotICAgICAgICBjZW50ZXJQb2ludCA9IEZs
b2F0UG9pbnQoYXR0cmlidXRlcy5jeCgpLnZhbHVlKHRoaXMpLCBhdHRyaWJ1dGVzLmN5KCkudmFs
dWUodGhpcykpOwotICAgICAgICByYWRpdXMgPSBhdHRyaWJ1dGVzLnIoKS52YWx1ZSh0aGlzKTsK
LSAgICB9Ci0KLSAgICBGbG9hdFBvaW50IGFkanVzdGVkRm9jYWxQb2ludCA9IGZvY2FsUG9pbnQ7
Ci0gICAgZmxvYXQgZGZ4ID0gZm9jYWxQb2ludC54KCkgLSBjZW50ZXJQb2ludC54KCk7Ci0gICAg
ZmxvYXQgZGZ5ID0gZm9jYWxQb2ludC55KCkgLSBjZW50ZXJQb2ludC55KCk7Ci0gICAgZmxvYXQg
ck1heCA9IDAuOTlmICogcmFkaXVzOwotCi0gICAgLy8gU3BlYzogSWYgKGZ4LCBmeSkgbGllcyBv
dXRzaWRlIHRoZSBjaXJjbGUgZGVmaW5lZCBieSAoY3gsIGN5KSBhbmQKLSAgICAvLyByLCBzZXQg
KGZ4LCBmeSkgdG8gdGhlIHBvaW50IG9mIGludGVyc2VjdGlvbiBvZiB0aGUgbGluZSB0aHJvdWdo
Ci0gICAgLy8gKGZ4LCBmeSkgYW5kIHRoZSBjaXJjbGUuCi0gICAgLy8gV2Ugc2NhbGUgdGhlIHJh
ZGl1cyBieSAwLjk5IHRvIG1hdGNoIHRoZSBiZWhhdmlvciBvZiBGaXJlRm94LgotICAgIGlmIChz
cXJ0KGRmeCAqIGRmeCArIGRmeSAqIGRmeSkgPiByTWF4KSB7Ci0gICAgICAgIGZsb2F0IGFuZ2xl
ID0gYXRhbjJmKGRmeSwgZGZ4KTsKLQotICAgICAgICBkZnggPSBjb3NmKGFuZ2xlKSAqIHJNYXg7
Ci0gICAgICAgIGRmeSA9IHNpbmYoYW5nbGUpICogck1heDsKLSAgICAgICAgYWRqdXN0ZWRGb2Nh
bFBvaW50ID0gRmxvYXRQb2ludChkZnggKyBjZW50ZXJQb2ludC54KCksIGRmeSArIGNlbnRlclBv
aW50LnkoKSk7Ci0gICAgfQotCi0gICAgUmVmUHRyPEdyYWRpZW50PiBncmFkaWVudCA9IEdyYWRp
ZW50OjpjcmVhdGUoCi0gICAgICAgIGFkanVzdGVkRm9jYWxQb2ludCwKLSAgICAgICAgMC5mLCAv
LyBTVkcgZG9lcyBub3Qgc3VwcG9ydCBhICJmb2N1cyByYWRpdXMiCi0gICAgICAgIGNlbnRlclBv
aW50LAotICAgICAgICByYWRpdXMpOwotICAgIGdyYWRpZW50LT5zZXRTcHJlYWRNZXRob2QoYXR0
cmlidXRlcy5zcHJlYWRNZXRob2QoKSk7Ci0KLSAgICBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiBz
dG9wcyA9IGF0dHJpYnV0ZXMuc3RvcHMoKTsKLSAgICBmbG9hdCBwcmV2aW91c09mZnNldCA9IDAu
MGY7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHN0b3BzLnNpemUoKTsgKytpKSB7Ci0g
ICAgICAgICBmbG9hdCBvZmZzZXQgPSBzdGQ6Om1pbihzdGQ6Om1heChwcmV2aW91c09mZnNldCwg
c3RvcHNbaV0uZmlyc3QpLCAxLjBmKTsKLSAgICAgICAgIHByZXZpb3VzT2Zmc2V0ID0gb2Zmc2V0
OwotICAgICAgICAgZ3JhZGllbnQtPmFkZENvbG9yU3RvcChvZmZzZXQsIHN0b3BzW2ldLnNlY29u
ZCk7Ci0gICAgfQotCi0gICAgcmFkaWFsR3JhZGllbnQtPnNldEdyYWRpZW50KGdyYWRpZW50KTsK
LQotICAgIGlmIChhdHRyaWJ1dGVzLnN0b3BzKCkuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICByYWRpYWxHcmFkaWVudC0+c2V0Qm91bmRpbmdCb3hNb2RlKGF0dHJpYnV0ZXMuYm91
bmRpbmdCb3hNb2RlKCkpOwotICAgIHJhZGlhbEdyYWRpZW50LT5zZXRHcmFkaWVudFRyYW5zZm9y
bShhdHRyaWJ1dGVzLmdyYWRpZW50VHJhbnNmb3JtKCkpOwotICAgIHJhZGlhbEdyYWRpZW50LT5z
ZXRHcmFkaWVudENlbnRlcihjZW50ZXJQb2ludCk7Ci0gICAgcmFkaWFsR3JhZGllbnQtPnNldEdy
YWRpZW50Rm9jYWwoZm9jYWxQb2ludCk7Ci0gICAgcmFkaWFsR3JhZGllbnQtPnNldEdyYWRpZW50
UmFkaXVzKHJhZGl1cyk7Ci0gICAgcmFkaWFsR3JhZGllbnQtPnNldEdyYWRpZW50U3RvcHMoYXR0
cmlidXRlcy5zdG9wcygpKTsKKyAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyU1ZHUmVzb3Vy
Y2VSYWRpYWxHcmFkaWVudCh0aGlzKTsKIH0KIAotUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIFNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudDo6Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpIGNvbnN0
CitSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Ojpjb2xs
ZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCkKIHsKICAgICBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMg
YXR0cmlidXRlczsKLSAgICBIYXNoU2V0PGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCo+IHByb2Nl
c3NlZEdyYWRpZW50czsKKyAgICBIYXNoU2V0PFNWR0dyYWRpZW50RWxlbWVudCo+IHByb2Nlc3Nl
ZEdyYWRpZW50czsKIAogICAgIGJvb2wgaXNSYWRpYWwgPSB0cnVlOwotICAgIGNvbnN0IFNWR0dy
YWRpZW50RWxlbWVudCogY3VycmVudCA9IHRoaXM7CisgICAgU1ZHR3JhZGllbnRFbGVtZW50KiBj
dXJyZW50ID0gdGhpczsKIAogICAgIHdoaWxlIChjdXJyZW50KSB7CiAgICAgICAgIGlmICghYXR0
cmlidXRlcy5oYXNTcHJlYWRNZXRob2QoKSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFt
ZXM6OnNwcmVhZE1ldGhvZEF0dHIpKQpAQCAtMTk0LDEzICsxMzQsMTMgQEAgUmFkaWFsR3JhZGll
bnRBdHRyaWJ1dGVzIFNWR1JhZGlhbEdyYWRpZQogICAgICAgICAgICAgYXR0cmlidXRlcy5zZXRH
cmFkaWVudFRyYW5zZm9ybShjdXJyZW50LT5ncmFkaWVudFRyYW5zZm9ybSgpLT5jb25zb2xpZGF0
ZSgpLm1hdHJpeCgpKTsKIAogICAgICAgICBpZiAoIWF0dHJpYnV0ZXMuaGFzU3RvcHMoKSkgewot
ICAgICAgICAgICAgY29uc3QgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIHN0b3BzKGN1cnJlbnQt
PmJ1aWxkU3RvcHMoKSk7CisgICAgICAgICAgICBjb25zdCBWZWN0b3I8R3JhZGllbnQ6OkNvbG9y
U3RvcD4mIHN0b3BzKGN1cnJlbnQtPmJ1aWxkU3RvcHMoKSk7CiAgICAgICAgICAgICBpZiAoIXN0
b3BzLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLnNldFN0b3BzKHN0b3Bz
KTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChpc1JhZGlhbCkgewotICAgICAgICAgICAgY29u
c3QgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KiByYWRpYWwgPSBzdGF0aWNfY2FzdDxjb25zdCBT
VkdSYWRpYWxHcmFkaWVudEVsZW1lbnQqPihjdXJyZW50KTsKKyAgICAgICAgICAgIFNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudCogcmFkaWFsID0gc3RhdGljX2Nhc3Q8U1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50Kj4oY3VycmVudCk7CiAKICAgICAgICAgICAgIGlmICghYXR0cmlidXRlcy5oYXNDeCgp
ICYmIGN1cnJlbnQtPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6Y3hBdHRyKSkKICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGVzLnNldEN4KHJhZGlhbC0+Y3goKSk7CkBAIC0yMjMsMTMgKzE2MywxMyBA
QCBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMgU1ZHUmFkaWFsR3JhZGllCiAgICAgICAgIC8vIFJl
c3BlY3QgeGxpbms6aHJlZiwgdGFrZSBhdHRyaWJ1dGVzIGZyb20gcmVmZXJlbmNlZCBlbGVtZW50
CiAgICAgICAgIE5vZGUqIHJlZk5vZGUgPSBvd25lckRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlk
KFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGN1cnJlbnQtPmhyZWYoKSkpOwogICAgICAgICBp
ZiAocmVmTm9kZSAmJiAocmVmTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6cmFkaWFsR3JhZGll
bnRUYWcpIHx8IHJlZk5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmxpbmVhckdyYWRpZW50VGFn
KSkpIHsKLSAgICAgICAgICAgIGN1cnJlbnQgPSBzdGF0aWNfY2FzdDxjb25zdCBTVkdHcmFkaWVu
dEVsZW1lbnQqPihjb25zdF9jYXN0PGNvbnN0IE5vZGUqPihyZWZOb2RlKSk7CisgICAgICAgICAg
ICBjdXJyZW50ID0gc3RhdGljX2Nhc3Q8U1ZHR3JhZGllbnRFbGVtZW50Kj4ocmVmTm9kZSk7CiAK
ICAgICAgICAgICAgIC8vIEN5Y2xlIGRldGVjdGlvbgogICAgICAgICAgICAgaWYgKHByb2Nlc3Nl
ZEdyYWRpZW50cy5jb250YWlucyhjdXJyZW50KSkKICAgICAgICAgICAgICAgICByZXR1cm4gUmFk
aWFsR3JhZGllbnRBdHRyaWJ1dGVzKCk7CiAKLSAgICAgICAgICAgIGlzUmFkaWFsID0gY3VycmVu
dC0+Z3JhZGllbnRUeXBlKCkgPT0gUmFkaWFsR3JhZGllbnRQYWludFNlcnZlcjsKKyAgICAgICAg
ICAgIGlzUmFkaWFsID0gY3VycmVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6cmFkaWFsR3JhZGll
bnRUYWcpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGN1cnJlbnQgPSAwOwogICAgIH0K
QEAgLTI0Myw2ICsxODMsMzcgQEAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIFNWR1JhZGlhbEdy
YWRpZQogCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXM7CiB9CisKK3ZvaWQgU1ZHUmFkaWFsR3JhZGll
bnRFbGVtZW50OjpjYWxjdWxhdGVGb2NhbENlbnRlclBvaW50c0FuZFJhZGl1cyhjb25zdCBSYWRp
YWxHcmFkaWVudEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIEZsb2F0UG9pbnQmIGZvY2FsUG9pbnQs
IEZsb2F0UG9pbnQmIGNlbnRlclBvaW50LCBmbG9hdCYgcmFkaXVzKQoreworICAgIC8vIERldGVy
bWluZSBncmFkaWVudCBmb2NhbC9jZW50ZXIgcG9pbnRzIGFuZCByYWRpdXMKKyAgICBpZiAoYXR0
cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKSkgeworICAgICAgICBmb2NhbFBvaW50ID0gRmxvYXRQ
b2ludChhdHRyaWJ1dGVzLmZ4KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwgYXR0cmlidXRlcy5meSgp
LnZhbHVlQXNQZXJjZW50YWdlKCkpOworICAgICAgICBjZW50ZXJQb2ludCA9IEZsb2F0UG9pbnQo
YXR0cmlidXRlcy5jeCgpLnZhbHVlQXNQZXJjZW50YWdlKCksIGF0dHJpYnV0ZXMuY3koKS52YWx1
ZUFzUGVyY2VudGFnZSgpKTsKKyAgICAgICAgcmFkaXVzID0gYXR0cmlidXRlcy5yKCkudmFsdWVB
c1BlcmNlbnRhZ2UoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBmb2NhbFBvaW50ID0gRmxvYXRQ
b2ludChhdHRyaWJ1dGVzLmZ4KCkudmFsdWUodGhpcyksIGF0dHJpYnV0ZXMuZnkoKS52YWx1ZSh0
aGlzKSk7CisgICAgICAgIGNlbnRlclBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmN4KCku
dmFsdWUodGhpcyksIGF0dHJpYnV0ZXMuY3koKS52YWx1ZSh0aGlzKSk7CisgICAgICAgIHJhZGl1
cyA9IGF0dHJpYnV0ZXMucigpLnZhbHVlKHRoaXMpOworICAgIH0KKworICAgIC8vIEV2ZW50dWFs
bHkgYWRqdXN0IGZvY2FsIHBvaW50cywgYXMgZGVzY3JpYmVkIGJlbG93CisgICAgZmxvYXQgZGVs
dGFYID0gZm9jYWxQb2ludC54KCkgLSBjZW50ZXJQb2ludC54KCk7CisgICAgZmxvYXQgZGVsdGFZ
ID0gZm9jYWxQb2ludC55KCkgLSBjZW50ZXJQb2ludC55KCk7CisgICAgZmxvYXQgcmFkaXVzTWF4
ID0gMC45OWYgKiByYWRpdXM7CisKKyAgICAvLyBTcGVjOiBJZiAoZngsIGZ5KSBsaWVzIG91dHNp
ZGUgdGhlIGNpcmNsZSBkZWZpbmVkIGJ5IChjeCwgY3kpIGFuZCByLCBzZXQKKyAgICAvLyAoZngs
IGZ5KSB0byB0aGUgcG9pbnQgb2YgaW50ZXJzZWN0aW9uIG9mIHRoZSBsaW5lIHRocm91Z2ggKGZ4
LCBmeSkgYW5kIHRoZSBjaXJjbGUuCisgICAgLy8gV2Ugc2NhbGUgdGhlIHJhZGl1cyBieSAwLjk5
IHRvIG1hdGNoIHRoZSBiZWhhdmlvciBvZiBGaXJlRm94LgorICAgIGlmIChzcXJ0KGRlbHRhWCAq
IGRlbHRhWCArIGRlbHRhWSAqIGRlbHRhWSkgPiByYWRpdXNNYXgpIHsKKyAgICAgICAgZmxvYXQg
YW5nbGUgPSBhdGFuMmYoZGVsdGFZLCBkZWx0YVgpOworCisgICAgICAgIGRlbHRhWCA9IGNvc2Yo
YW5nbGUpICogcmFkaXVzTWF4OworICAgICAgICBkZWx0YVkgPSBzaW5mKGFuZ2xlKSAqIHJhZGl1
c01heDsKKyAgICAgICAgZm9jYWxQb2ludCA9IEZsb2F0UG9pbnQoZGVsdGFYICsgY2VudGVyUG9p
bnQueCgpLCBkZWx0YVkgKyBjZW50ZXJQb2ludC55KCkpOworICAgIH0KK30KKwogfQogCiAjZW5k
aWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dC5oCShyZXZpc2lvbiA1ODA5MikKKysrIFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxMSArMzgsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNv
bnN0IFF1YWxpZmllZE5hbWUmKTsKIAotICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCB2
b2lkIGJ1aWxkR3JhZGllbnQoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBTVkdQYWludFNlcnZl
clR5cGUgZ3JhZGllbnRUeXBlKCkgY29uc3QgeyByZXR1cm4gUmFkaWFsR3JhZGllbnRQYWludFNl
cnZlcjsgfQorICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVu
ZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogCi0gICAgICAgIFJhZGlhbEdyYWRpZW50QXR0cmli
dXRlcyBjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCkgY29uc3Q7CisgICAgICAgIFJhZGlhbEdy
YWRpZW50QXR0cmlidXRlcyBjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCk7CisgICAgICAgIHZv
aWQgY2FsY3VsYXRlRm9jYWxDZW50ZXJQb2ludHNBbmRSYWRpdXMoY29uc3QgUmFkaWFsR3JhZGll
bnRBdHRyaWJ1dGVzJiwgRmxvYXRQb2ludCYgZm9jYWxQb2ludCwgRmxvYXRQb2ludCYgY2VudGVy
UG9pbnQsIGZsb2F0JiByYWRpdXMpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgREVDTEFSRV9B
TklNQVRFRF9QUk9QRVJUWShTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR05hbWVzOjpjeEF0
dHIsIFNWR0xlbmd0aCwgQ3gsIGN4KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAkocmV2aXNp
b24gNTgwOTIpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ5LDggKzQ5LDYgQEAgdm9pZCBTVkdTdG9wRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWJ1dAogICAgICAgICAgICAgc2V0T2Zmc2V0QmFzZVZhbHVlKHZhbHVlLmxlZnQodmFsdWUubGVu
Z3RoKCkgLSAxKS50b0Zsb2F0KCkgLyAxMDAuMGYpOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBzZXRPZmZzZXRCYXNlVmFsdWUodmFsdWUudG9GbG9hdCgpKTsKLQotICAgICAgICBzZXROZWVk
c1N0eWxlUmVjYWxjKCk7CiAgICAgfSBlbHNlCiAgICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwogfQpAQCAtNjgsNiArNjYsMTUgQEAgUmVuZGVyT2Jq
ZWN0KiBTVkdTdG9wRWxlbWVudDo6Y3JlYXRlUmVuZAogICAgIHJldHVybiBuZXcgKGFyZW5hKSBS
ZW5kZXJTVkdHcmFkaWVudFN0b3AodGhpcyk7CiB9CiAKK0NvbG9yIFNWR1N0b3BFbGVtZW50Ojpz
dG9wQ29sb3JJbmNsdWRpbmdPcGFjaXR5KCkgY29uc3QKK3sKKyAgICBBU1NFUlQocmVuZGVyZXIo
KSk7CisgICAgQVNTRVJUKHJlbmRlcmVyKCktPnN0eWxlKCkpOworCisgICAgY29uc3QgU1ZHUmVu
ZGVyU3R5bGUqIHN2Z1N0eWxlID0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+c3ZnU3R5bGUoKTsKKyAg
ICByZXR1cm4gY29sb3JXaXRoT3ZlcnJpZGVBbHBoYShzdmdTdHlsZS0+c3RvcENvbG9yKCkucmdi
KCksIHN2Z1N0eWxlLT5zdG9wT3BhY2l0eSgpKTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxF
KFNWRykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaAkocmV2aXNpb24gNTgwOTIpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdTdG9wRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMyArMzIsMTQgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTVkdTdG9wRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICAgICAgdmlydHVhbCB+U1ZHU3RvcEVsZW1lbnQoKTsK
IAorICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmli
dXRlKik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1
YWxpZmllZE5hbWUmKTsKIAorICAgICAgICBDb2xvciBzdG9wQ29sb3JJbmNsdWRpbmdPcGFjaXR5
KCkgY29uc3Q7CisKICAgICBwcml2YXRlOgogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNHcmFkaWVu
dFN0b3AoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIHBh
cnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOwotCiAgICAgICAgIHZpcnR1YWwg
UmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7
CiAKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdTdG9wRWxlbWVudCwgU1ZH
TmFtZXM6Om9mZnNldEF0dHIsIGZsb2F0LCBPZmZzZXQsIG9mZnNldCkKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0
eWxlZEVsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODA5MikKKysrIFdlYkNvcmUvc3ZnL1NWR1N0eWxl
ZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw2IEBACiAjaW5jbHVkZSAi
U1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlNWR1Jl
bmRlclN1cHBvcnQuaCIKLSNpbmNsdWRlICJTVkdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNWR1NW
R0VsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCkBAIC02Myw3ICs2Miw2
IEBAIFNWR1N0eWxlZEVsZW1lbnQ6OlNWR1N0eWxlZEVsZW1lbnQoY29uc3QKIAogU1ZHU3R5bGVk
RWxlbWVudDo6flNWR1N0eWxlZEVsZW1lbnQoKQogewotICAgIFNWR1Jlc291cmNlOjpyZW1vdmVD
bGllbnQodGhpcyk7CiB9CiAKIGJvb2wgU1ZHU3R5bGVkRWxlbWVudDo6cmVuZGVyZXJJc05lZWRl
ZChSZW5kZXJTdHlsZSogc3R5bGUpCkBAIC0yMDAsMTkgKzE5OCwyMSBAQCB2b2lkIFNWR1N0eWxl
ZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nCiAgICAgaWYgKGF0dHJOYW1lLm1hdGNoZXMoSFRN
TE5hbWVzOjpjbGFzc0F0dHIpKQogICAgICAgICBjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY2xhc3NO
YW1lKCkpOwogCisgICAgUmVuZGVyT2JqZWN0KiBvYmplY3QgPSByZW5kZXJlcigpOworCiAgICAg
aWYgKGF0dHJOYW1lID09IGlkQXR0cmlidXRlTmFtZSgpKSB7CiAgICAgICAgIC8vIE5vdGlmeSBy
ZXNvdXJjZXMgYWJvdXQgaWQgY2hhbmdlcywgdGhpcyBpcyBpbXBvcnRhbnQgYXMgd2UgY2FjaGUg
cmVzb3VyY2VzIGJ5IGlkIGluIFNWR0RvY3VtZW50RXh0ZW5zaW9ucwotICAgICAgICBpZiAocmVu
ZGVyZXIoKSAmJiByZW5kZXJlcigpLT5pc1NWR1Jlc291cmNlKCkpIHsKLSAgICAgICAgICAgIFJl
bmRlclNWR1Jlc291cmNlKiByZXNvdXJjZSA9IHJlbmRlcmVyKCktPnRvUmVuZGVyU1ZHUmVzb3Vy
Y2UoKTsKLSAgICAgICAgICAgIHJlc291cmNlLT5pZENoYW5nZWQoKTsKLSAgICAgICAgfQorICAg
ICAgICBpZiAob2JqZWN0ICYmIG9iamVjdC0+aXNTVkdSZXNvdXJjZUNvbnRhaW5lcigpKQorICAg
ICAgICAgICAgb2JqZWN0LT50b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCktPmlkQ2hhbmdl
ZCgpOwogICAgIH0KIAotICAgIC8vIElmIHdlJ3JlIHRoZSBjaGlsZCBvZiBhIHJlc291cmNlIGVs
ZW1lbnQsIGJlIHN1cmUgdG8gaW52YWxpZGF0ZSBpdC4KLSAgICBpbnZhbGlkYXRlUmVzb3VyY2Vz
SW5BbmNlc3RvckNoYWluKCk7CisgICAgaWYgKCFkb2N1bWVudCgpLT5wYXJzaW5nKCkgJiYgb2Jq
ZWN0KSB7CisgICAgICAgIC8vIElmIHdlJ3JlIHRoZSBjaGlsZCBvZiBhIHJlc291cmNlIGVsZW1l
bnQsIHRlbGwgdGhlIHJlc291cmNlIChhbmQgZXZlbnR1YWxseSBpdHMgcmVzb3VyY2VzKSB0aGF0
IHdlJ3ZlIGNoYW5nZWQuCisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hh
aW4oKTsKIAotICAgIC8vIElmIHRoZSBlbGVtZW50IGlzIHVzaW5nIHJlc291cmNlcywgaW52YWxp
ZGF0ZSB0aGVtLgotICAgIGludmFsaWRhdGVSZXNvdXJjZXMoKTsKKyAgICAgICAgLy8gSWYgd2Un
cmUgcmVmZXJlbmNpbmcgcmVzb3VyY2VzLCB0ZWxsIHRoZW0gd2UndmUgY2hhbmdlZC4KKyAgICAg
ICAgZGVyZWdpc3RlckZyb21SZXNvdXJjZXMob2JqZWN0KTsKKyAgICB9CiAKICAgICAvLyBJbnZh
bGlkYXRlIGFsbCBTVkdFbGVtZW50SW5zdGFuY2VzIGFzc29jaWF0ZWQgd2l0aCB1cwogICAgIFNW
R0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudCh0aGlzKTsK
QEAgLTIyNiwyMCArMjI2LDYgQEAgdm9pZCBTVkdTdHlsZWRFbGVtZW50OjpzeW5jaHJvbml6ZVBy
b3BlcgogICAgICAgICBzeW5jaHJvbml6ZUNsYXNzTmFtZSgpOwogfQogCi12b2lkIFNWR1N0eWxl
ZEVsZW1lbnQ6OmludmFsaWRhdGVSZXNvdXJjZXMoKQotewotICAgIFJlbmRlck9iamVjdCogb2Jq
ZWN0ID0gcmVuZGVyZXIoKTsKLSAgICBpZiAoIW9iamVjdCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKLQotICAgIGlmIChkb2N1
bWVudC0+cGFyc2luZygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBkZXJlZ2lzdGVyRnJvbVJl
c291cmNlcyhvYmplY3QpOwotfQotCiB2b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVS
ZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4oKSBjb25zdAogewogICAgIE5vZGUqIG5vZGUgPSBwYXJl
bnROb2RlKCk7CkBAIC0yNDgsMjUgKzIzNCwyNSBAQCB2b2lkIFNWR1N0eWxlZEVsZW1lbnQ6Omlu
dmFsaWRhdGVSZXNvdXJjCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBTVkdFbGVtZW50
KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG5vZGUpOwotICAgICAgICBpZiAo
U1ZHU3R5bGVkRWxlbWVudCogc3R5bGVkRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1N0eWxlZEVs
ZW1lbnQqPihlbGVtZW50LT5pc1N0eWxlZCgpID8gZWxlbWVudCA6IDApKQotICAgICAgICAgICAg
c3R5bGVkRWxlbWVudC0+aW52YWxpZGF0ZUNhbnZhc1Jlc291cmNlcygpOworICAgICAgICBpZiAo
U1ZHU3R5bGVkRWxlbWVudCogc3R5bGVkRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1N0eWxlZEVs
ZW1lbnQqPihlbGVtZW50LT5pc1N0eWxlZCgpID8gZWxlbWVudCA6IDApKSB7CisgICAgICAgICAg
ICBzdHlsZWRFbGVtZW50LT5pbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CisKKyAgICAgICAg
ICAgIC8vIElmIHdlIGZvdW5kIHRoZSBmaXJzdCByZXNvdXJjZSBpbiB0aGUgYW5jZXN0b3IgY2hh
aW4sIGltbWVkaWF0ZWx5IHN0b3AuCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogCiAg
ICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CiAgICAgfQogfQogCi12b2lkIFNWR1N0
eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKQordm9pZCBTVkdTdHlsZWRF
bGVtZW50OjppbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCkKIHsKICAgICBSZW5kZXJPYmplY3Qq
IG9iamVjdCA9IHJlbmRlcmVyKCk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGlmIChvYmplY3QtPmlzU1ZHUmVzb3VyY2UoKSkKLSAgICAgICAgb2JqZWN0LT50b1Jl
bmRlclNWR1Jlc291cmNlKCktPmludmFsaWRhdGVDbGllbnRzKCk7Ci0KLSAgICAvLyBUaGUgZm9s
bG93aW5nIGxpbmVzIHdpbGwgYmUgcmVtb3ZlZCBzb29uLCBvbmNlIGFsbCByZXNvdXJjZXMgYXJl
IGhhbmRsZWQgYnkgcmVuZGVyZXJzLgotICAgIGlmIChTVkdSZXNvdXJjZSogcmVzb3VyY2UgPSBj
YW52YXNSZXNvdXJjZShvYmplY3QpKQotICAgICAgICByZXNvdXJjZS0+aW52YWxpZGF0ZSgpOwor
ICAgIGlmIChvYmplY3QtPmlzU1ZHUmVzb3VyY2VDb250YWluZXIoKSkKKyAgICAgICAgb2JqZWN0
LT50b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCktPmludmFsaWRhdGVDbGllbnRzKCk7CiB9
CiAKIHZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5
UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRD
b3VudERlbHRhKQpAQCAtMjc0LDcgKzI2MCw4IEBAIHZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6Y2hp
bGRyZW5DaGFuZ2VkKGIKICAgICBTVkdFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5
UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwogCiAg
ICAgLy8gSW52YWxpZGF0ZSBhbGwgU1ZHRWxlbWVudEluc3RhbmNlcyBhc3NvY2lhdGVkIHdpdGgg
dXMKLSAgICBTVkdFbGVtZW50SW5zdGFuY2U6OmludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1l
bnQodGhpcyk7CisgICAgaWYgKCFjaGFuZ2VkQnlQYXJzZXIpCisgICAgICAgIFNWR0VsZW1lbnRJ
bnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudCh0aGlzKTsKIH0KIAogUGFz
c1JlZlB0cjxSZW5kZXJTdHlsZT4gU1ZHU3R5bGVkRWxlbWVudDo6cmVzb2x2ZVN0eWxlKFJlbmRl
clN0eWxlKiBwYXJlbnRTdHlsZSkKQEAgLTMwOSwxMiArMjk2LDYgQEAgUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gU1ZHU3R5bGVkRWxlbWVudDo6ZwogICAgIHJldHVybiBjc3NTVkdBdHRyLT5zdHlsZSgp
LT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKG5hbWUpOwogfQogCi12b2lkIFNWR1N0eWxlZEVsZW1lbnQ6
OmRldGFjaCgpCi17Ci0gICAgU1ZHUmVzb3VyY2U6OnJlbW92ZUNsaWVudCh0aGlzKTsKLSAgICBT
VkdFbGVtZW50OjpkZXRhY2goKTsKLX0KLQogYm9vbCBTVkdTdHlsZWRFbGVtZW50OjppbnN0YW5j
ZVVwZGF0ZXNCbG9ja2VkKCkgY29uc3QKIHsKICAgICByZXR1cm4gaGFzUmFyZVNWR0RhdGEoKSAm
JiByYXJlU1ZHRGF0YSgpLT5pbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKCk7CkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3R5
bGVkRWxlbWVudC5oCShyZXZpc2lvbiA1ODA5MikKKysrIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjksOCArMjksNiBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBTVkdSZXNvdXJjZTsKLQogICAgIHZvaWQgbWFwQXR0cmlidXRl
VG9DU1NQcm9wZXJ0eShIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBpbnQ+KiBwcm9wZXJ0eU5h
bWVUb0lkTWFwLCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSk7CiAKICAgICBjbGFzcyBT
VkdTdHlsZWRFbGVtZW50IDogcHVibGljIFNWR0VsZW1lbnQsCkBAIC00OSw3ICs0Nyw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmKTsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChS
ZW5kZXJTdHlsZSopOwotICAgICAgICB2aXJ0dWFsIFNWR1Jlc291cmNlKiBjYW52YXNSZXNvdXJj
ZShjb25zdCBSZW5kZXJPYmplY3QqKSB7IHJldHVybiAwOyB9CiAKICAgICAgICAgdmlydHVhbCBi
b29sIG1hcFRvRW50cnkoY29uc3QgUXVhbGlmaWVkTmFtZSYsIE1hcHBlZEF0dHJpYnV0ZUVudHJ5
JikgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBw
ZWRBdHRyaWJ1dGUqKTsKQEAgLTYxLDEwICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgLy8gQ2VudHJhbGl6ZWQgcGxhY2UgdG8gZm9yY2UgYSBtYW51YWwgc3R5bGUgcmVzb2x1
dGlvbi4gSGFja3kgYnV0IG5lZWRlZCBmb3Igbm93LgogICAgICAgICBQYXNzUmVmUHRyPFJlbmRl
clN0eWxlPiByZXNvbHZlU3R5bGUoUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKTsKIAorICAgICAg
ICB2b2lkIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKICAgICAgICAgdm9pZCBpbnZhbGlk
YXRlUmVzb3VyY2VzSW5BbmNlc3RvckNoYWluKCkgY29uc3Q7Ci0gICAgICAgIHZvaWQgaW52YWxp
ZGF0ZVJlc291cmNlcygpOwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKIAogICAg
ICAgICBib29sIGluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSBjb25zdDsKICAgICAgICAgdm9pZCBz
ZXRJbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKGJvb2wpOwpAQCAtNzQsOCArNjksNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgcHJvdGVjdGVkOiAKICAgICAgICAgc3RhdGljIGludCBjc3NQcm9w
ZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFtZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKLSAgICAg
ICAgdm9pZCBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7Ci0KICAgICBwcml2YXRlOgogICAg
ICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1N0eWxlZEVsZW1lbnQsIEhUTUxOYW1l
czo6Y2xhc3NBdHRyLCBTdHJpbmcsIENsYXNzTmFtZSwgY2xhc3NOYW1lKQogICAgIH07CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAkocmV2aXNpb24gNTgwOTIpCisrKyBXZWJDb3JlL3N2
Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0
cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25p
emVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBy
ZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKiBzdHlsZSkgeyByZXR1cm4gU3R5bGVkRWxlbWVu
dDo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7IH0KICAgICAgICAgdmlydHVhbCBSZW5kZXJPYmpl
Y3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKIAogICAgICAg
ICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoTm9kZSopIGNvbnN0OwpJbmRleDogV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlci5oCShyZXZpc2lvbiA1ODA5MikKKysrIFdlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsOTYg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHpp
bW1lcm1hbm5Aa2RlLm9yZz4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBTVkdQYWludFNlcnZlcl9oCi0jZGVm
aW5lIFNWR1BhaW50U2VydmVyX2gKLQotI2lmIEVOQUJMRShTVkcpCi0KLSNpbmNsdWRlICJEYXNo
QXJyYXkuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKLSNpbmNsdWRlICJTVkdSZXNvdXJj
ZS5oIgotCi0jaWYgUExBVEZPUk0oQ0cpCi0jaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9B
cHBsaWNhdGlvblNlcnZpY2VzLmg+Ci0jZW5kaWYKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0g
ICAgZW51bSBTVkdQYWludFNlcnZlclR5cGUgewotICAgICAgICAvLyBQYWludGluZyBtb2RlCi0g
ICAgICAgIFNvbGlkUGFpbnRTZXJ2ZXIgPSAwLAotICAgICAgICBQYXR0ZXJuUGFpbnRTZXJ2ZXIg
PSAxLAotICAgICAgICBMaW5lYXJHcmFkaWVudFBhaW50U2VydmVyID0gMiwKLSAgICAgICAgUmFk
aWFsR3JhZGllbnRQYWludFNlcnZlciA9IDMKLSAgICB9OwotCi0gICAgZW51bSBTVkdQYWludFRh
cmdldFR5cGUgewotICAgICAgICAvLyBUYXJnZXQgbW9kZQotICAgICAgICBBcHBseVRvRmlsbFRh
cmdldFR5cGUgPSAxLAotICAgICAgICBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSA9IDIKLSAgICB9
OwotCi0gICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0OwotICAgIGNsYXNzIFJlbmRlck9iamVjdDsK
LSAgICBjbGFzcyBSZW5kZXJTdHlsZTsKLSAgICBjbGFzcyBTVkdQYWludFNlcnZlclNvbGlkOwot
Ci0gICAgY2xhc3MgU1ZHUGFpbnRTZXJ2ZXIgOiBwdWJsaWMgU1ZHUmVzb3VyY2UgewotICAgIHB1
YmxpYzoKLSAgICAgICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXIoKTsKLQotICAgICAgICB2aXJ0
dWFsIFNWR1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25zdCB7IHJldHVybiBQYWludFNl
cnZlclJlc291cmNlVHlwZTsgfQotCi0gICAgICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBl
IHR5cGUoKSBjb25zdCA9IDA7Ci0gICAgICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxS
ZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3QgPSAwOwotCi0gICAgICAgIC8vIFRvIGJl
IGltcGxlbWVudGVkIGluIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUuCi0gICAgICAgIHZpcnR1YWwg
dm9pZCBkcmF3KEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWlu
dFRhcmdldFR5cGUpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIHZvaWQgdGVhcmRvd24oR3JhcGhp
Y3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9v
bCBpc1BhaW50aW5nVGV4dCA9IGZhbHNlKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHJl
bmRlclBhdGgoR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIFNWR1BhaW50
VGFyZ2V0VHlwZSkgY29uc3Q7Ci0KLSAgICAgICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNz
Q29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1Bh
aW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCA9IGZhbHNlKSBjb25zdCA9IDA7Ci0K
LSAgICAgICAgYm9vbCBzZXR1cChHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0
KiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sIGlzUGFpbnRpbmdUZXh0ID0gZmFsc2UpIGNvbnN0
OwotCi0gICAgICAgIHN0YXRpYyBTVkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2ZXIoY29u
c3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJPYmplY3QqKTsKLSAgICAgICAgc3RhdGljIFNW
R1BhaW50U2VydmVyKiBmaWxsUGFpbnRTZXJ2ZXIoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBS
ZW5kZXJPYmplY3QqKTsKLSAgICAgICAgc3RhdGljIFNWR1BhaW50U2VydmVyU29saWQqIHNoYXJl
ZFNvbGlkUGFpbnRTZXJ2ZXIoKTsKLQotICAgIHByb3RlY3RlZDoKLSAgICAgICAgU1ZHUGFpbnRT
ZXJ2ZXIoKTsgICAgICAgIAotICAgIH07Ci0KLSAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRl
eHRTdHJlYW0mLCBjb25zdCBTVkdQYWludFNlcnZlciYpOwotCi0gICAgU1ZHUGFpbnRTZXJ2ZXIq
IGdldFBhaW50U2VydmVyQnlJZChEb2N1bWVudCosIGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0
IFJlbmRlck9iamVjdCopOwotCi0gICAgdm9pZCBhcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KEdy
YXBoaWNzQ29udGV4dCosIGNvbnN0IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVyT2JqZWN0Kik7
Ci0gICAgRGFzaEFycmF5IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShjb25zdCBSZW5kZXJT
dHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUpOwotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYKLQotI2VuZGlmIC8vIFNWR1BhaW50U2VydmVyX2gKSW5kZXg6IFdlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDU4MDkyKQorKysgV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzOCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4IE5pa29sYXMgWmltbWVybWFubiA8
emltbWVybWFubkBrZGUub3JnPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBF
TkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR1Jlc291cmNlLmgiCi0KLSNpbmNsdWRlICJSZW5kZXJQ
YXRoLmgiCi0jaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1l
bnQuaCIKLSNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi10eXBlZGVmIEhhc2hTZXQ8U1ZHUmVzb3Vy
Y2UqPiBSZXNvdXJjZVNldDsKLQotc3RhdGljIFJlc291cmNlU2V0JiByZXNvdXJjZVNldCgpCi17
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChSZXNvdXJjZVNldCwgc2V0LCAoKSk7Ci0gICAgcmV0
dXJuIHNldDsKLX0KLQotU1ZHUmVzb3VyY2U6OlNWR1Jlc291cmNlKCkKLXsKLSAgICBBU1NFUlQo
IXJlc291cmNlU2V0KCkuY29udGFpbnModGhpcykpOwotICAgIHJlc291cmNlU2V0KCkuYWRkKHRo
aXMpOwotfQotCi1TVkdSZXNvdXJjZTo6flNWR1Jlc291cmNlKCkKLXsKLSAgICBBU1NFUlQocmVz
b3VyY2VTZXQoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgcmVzb3VyY2VTZXQoKS5yZW1vdmUodGhp
cyk7Ci19Ci0KLXZvaWQgU1ZHUmVzb3VyY2U6OmludmFsaWRhdGUoKQotewotICAgIEhhc2hTZXQ8
U1ZHU3R5bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fY2xpZW50cy5iZWdpbigp
OwotICAgIGNvbnN0IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBl
bmQgPSBtX2NsaWVudHMuZW5kKCk7Ci0KLSAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7Ci0g
ICAgICAgIFNWR1N0eWxlZEVsZW1lbnQqIGN1ciA9ICppdDsKLQotICAgICAgICBpZiAoY3VyLT5y
ZW5kZXJlcigpKQotICAgICAgICAgICAgY3VyLT5yZW5kZXJlcigpLT5zZXROZWVkc0xheW91dCh0
cnVlKTsKLQotICAgICAgICBjdXItPmludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4o
KTsKLSAgICB9Ci19Ci0KLXZvaWQgU1ZHUmVzb3VyY2U6OmludmFsaWRhdGVDbGllbnRzKEhhc2hT
ZXQ8U1ZHU3R5bGVkRWxlbWVudCo+IGNsaWVudHMpCi17Ci0gICAgSGFzaFNldDxTVkdTdHlsZWRF
bGVtZW50Kj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gY2xpZW50cy5iZWdpbigpOwotICAgIGNvbnN0
IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBjbGllbnRz
LmVuZCgpOwotCi0gICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBTVkdTdHls
ZWRFbGVtZW50KiBjdXIgPSAqaXQ7Ci0KLSAgICAgICAgaWYgKGN1ci0+cmVuZGVyZXIoKSkKLSAg
ICAgICAgICAgIGN1ci0+cmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7Ci0KLSAgICAg
ICAgY3VyLT5pbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3RvckNoYWluKCk7Ci0gICAgfQotfQot
Ci12b2lkIFNWR1Jlc291cmNlOjpyZW1vdmVDbGllbnQoU1ZHU3R5bGVkRWxlbWVudCogaXRlbSkg
Ci17Ci0gICAgUmVzb3VyY2VTZXQ6Oml0ZXJhdG9yIGl0ID0gcmVzb3VyY2VTZXQoKS5iZWdpbigp
OwotICAgIFJlc291cmNlU2V0OjppdGVyYXRvciBlbmQgPSByZXNvdXJjZVNldCgpLmVuZCgpOwot
Ci0gICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBTVkdSZXNvdXJjZSogcmVz
b3VyY2UgPSAqaXQ7Ci0gICAgICAgIGlmICghcmVzb3VyY2UtPm1fY2xpZW50cy5jb250YWlucyhp
dGVtKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICByZXNvdXJjZS0+bV9jbGllbnRz
LnJlbW92ZShpdGVtKTsKLSAgICB9Ci19Ci0KLXZvaWQgU1ZHUmVzb3VyY2U6OmFkZENsaWVudChT
VkdTdHlsZWRFbGVtZW50KiBpdGVtKQotewotICAgIGlmIChtX2NsaWVudHMuY29udGFpbnMoaXRl
bSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fY2xpZW50cy5hZGQoaXRlbSk7Ci19Ci0KLVRl
eHRTdHJlYW0mIFNWR1Jlc291cmNlOjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0m
IHRzKSBjb25zdAotewotICAgIHJldHVybiB0czsKLX0KLQotU1ZHUmVzb3VyY2UqIGdldFJlc291
cmNlQnlJZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIGNvbnN0
IFJlbmRlck9iamVjdCogb2JqZWN0KQotewotICAgIGlmIChpZC5pc0VtcHR5KCkpCi0gICAgICAg
IHJldHVybiAwOwotCi0gICAgRWxlbWVudCogZWxlbWVudCA9IGRvY3VtZW50LT5nZXRFbGVtZW50
QnlJZChpZCk7Ci0gICAgU1ZHRWxlbWVudCogc3ZnRWxlbWVudCA9IDA7Ci0gICAgaWYgKGVsZW1l
bnQgJiYgZWxlbWVudC0+aXNTVkdFbGVtZW50KCkpCi0gICAgICAgIHN2Z0VsZW1lbnQgPSBzdGF0
aWNfY2FzdDxTVkdFbGVtZW50Kj4oZWxlbWVudCk7Ci0KLSAgICBpZiAoc3ZnRWxlbWVudCAmJiBz
dmdFbGVtZW50LT5pc1N0eWxlZCgpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U1ZHU3R5
bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpLT5jYW52YXNSZXNvdXJjZShvYmplY3QpOwotCi0gICAg
cmV0dXJuIDA7Ci19Ci0KLVRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNv
bnN0IFNWR1Jlc291cmNlJiByKQotewotICAgIHJldHVybiByLmV4dGVybmFsUmVwcmVzZW50YXRp
b24odHMpOwotfQotCi19Ci0KLSNlbmRpZgpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
UmVzb3VyY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJj
ZS5oCShyZXZpc2lvbiA1ODA5MikKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsOTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwNiwgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8K
LQotI2lmbmRlZiBTVkdSZXNvdXJjZV9oCi0jZGVmaW5lIFNWR1Jlc291cmNlX2gKLQotI2lmIEVO
QUJMRShTVkcpCi0jaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlICJSZW5kZXJP
YmplY3QuaCIKLSNpbmNsdWRlICJTdHJpbmdIYXNoLmgiCi0KLSNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBBdG9taWNTdHJpbmc7IAotY2xhc3Mg
RG9jdW1lbnQ7Ci1jbGFzcyBTVkdTdHlsZWRFbGVtZW50OwotY2xhc3MgVGV4dFN0cmVhbTsKLQot
ZW51bSBTVkdSZXNvdXJjZVR5cGUgewotICAgIC8vIFBhaW50aW5nIG1vZGUKLSAgICBJbWFnZVJl
c291cmNlVHlwZSwKLSAgICBQYWludFNlcnZlclJlc291cmNlVHlwZSwKLSAgICAKLSAgICAvLyBG
b3IgcmVzb3VyY2UgdHJhY2tpbmcgd2UgbmVlZCB0byBrbm93IGhvdyBtYW55IHR5cGVzIG9mIHJl
c291cmNlIHRoZXJlIGFyZQotICAgIF9SZXNvdXJjZVR5cGVDb3VudAotfTsKLQotLy8gVGhlIFNW
R1Jlc291cmNlIGZpbGUgcmVwcmVzZW50IHZhcmlvdXMgZ3JhcGhpY3MgcmVzb3VyY2VzOgotLy8g
LSBQYXR0ZXJuIHJlc291cmNlCi0vLyAtIExpbmVhci9SYWRpYWwgZ3JhZGllbnQgcmVzb3VyY2UK
LS8vCi0vLyBTVkcgY3JlYXRlcy91c2VzIHRoZXNlIHJlc291cmNlcy4KLQotY2xhc3MgU1ZHUmVz
b3VyY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxTVkdSZXNvdXJjZT4gewotcHVibGljOgotICAgIHZp
cnR1YWwgflNWR1Jlc291cmNlKCk7Ci0gIAotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCk7
Ci0KLSAgICB2b2lkIGFkZENsaWVudChTVkdTdHlsZWRFbGVtZW50Kik7Ci0gICAgdmlydHVhbCBT
VkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlKCkgY29uc3QgPSAwOwotICAgIAotICAgIGJvb2wg
aXNQYWludFNlcnZlcigpIGNvbnN0IHsgcmV0dXJuIHJlc291cmNlVHlwZSgpID09IFBhaW50U2Vy
dmVyUmVzb3VyY2VUeXBlOyB9Ci0KLSAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVw
cmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OwotCi0gICAgc3RhdGljIHZvaWQgaW52YWxp
ZGF0ZUNsaWVudHMoSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4pOwotICAgIHN0YXRpYyB2b2lk
IHJlbW92ZUNsaWVudChTVkdTdHlsZWRFbGVtZW50Kik7Ci0KLXByb3RlY3RlZDoKLSAgICBTVkdS
ZXNvdXJjZSgpOwotCi1wcml2YXRlOgotICAgIEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+IG1f
Y2xpZW50czsKLX07Ci0KLVNWR1Jlc291cmNlKiBnZXRSZXNvdXJjZUJ5SWQoRG9jdW1lbnQqLCBj
b25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBSZW5kZXJPYmplY3QqKTsKLQotVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChUZXh0U3RyZWFtJiwgY29uc3QgU1ZHUmVzb3VyY2UmKTsKLQotfQotCi0jZW5k
aWYKLSNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54145</attachid>
            <date>2010-04-23 03:38:10 -0700</date>
            <delta_ts>2010-04-23 04:08:43 -0700</delta_ts>
            <desc>WebCore changes - v2</desc>
            <filename>WebCore2.diff</filename>
            <type>text/plain</type>
            <size>263061</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYxIEBACisyMDEwLTA0LTIzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNWR1BhaW50U2VydmVyIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgbmV3IFJl
bmRlclNWR1Jlc291cmNlKiBzeXN0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM3OTg2CisKKyAgICAgICAgSHVnZSBzcGVlZHVwIGZvciBTVkcgcGFp
bnRpbmcgdXNpbmcgcGFpbnQgc2VydmVycyAoZ3JhZGllbnQvcGF0dGVybnMpLiBDYWNoZSB1bmRl
cmx5aW5nCisgICAgICAgIFdlYkNvcmU6OkdyYWRpZW50L1BhdHRlcm4gZGF0YXN0cnVjdHVyZXMs
IGRvIG5vdCByZWJ1aWxkIHRoZW0gb24gZXZlcnkgcGFpbnRpbmcuIFRoaXMgbWFya3MKKyAgICAg
ICAgdGhlIGZpbmlzaCBvZiB0aGUgU1ZHUmVzb3VyY2UgLT4gUmVuZGVyU1ZHUmVzb3VyY2UgdHJh
bnNpdGlvbi4KKworICAgICAgICBPdXRsaW5lIG9mIHNhbWUga2V5IGNoYW5nZXM6CisgICAgICAg
IC0gUmVuZGVyU1ZHUmVzb3VyY2UgaXMgYW4gYWJzdHJhY3QgYmFzZSBjbGFzcyBub3csIGFuZCB0
aGUgcHJldmlvdXMgY2xhc3MgaXMgbm93IG5hbWVkIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
CisgICAgICAgICAgQWxsIHJlc291cmNlcyBleGNlcHQgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yIG5vdyBpbmhlcml0IGZyb20gUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIsIGFzIHRoZXkg
YXJlIGFsbAorICAgICAgICAgIGFzc29jaWF0ZWQgd2l0aCBhIFNWRypFbGVtZW50IGNsYXNzLiBS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IgaW5oZXJpdHMgZnJvbSBSZW5kZXJTVkdSZXNvdXJj
ZSwgYW5kIGlzIG5vdAorICAgICAgICAgIGFzc29jaWF0ZWQgd2l0aCBhbnkgU1ZHKkVsZW1lbnQg
Y2xhc3MuIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciBpcyBub3QgYSByZW5kZXIgdHJlZSBv
YmplY3QsIGRlc3BpdGUgaXRzIG5hbWUuCisgICAgICAgICAgVGhlIHJlYXNvbiBmb3IgdGhhdCBp
cyBjb25zaXN0ZW5jeSB3aXRoIGFsbCBvdGhlciBwYWludGluZyByZXNvdXJjZXMuCisgICAgICAg
IC0gUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yIGRvZXMgbm90IGxpdmUgaW4gdGhlIHJlbmRl
ciB0cmVlLCBhbmQgZXhpc3RzIG9ubHkgYXMgc3RhdGljIG9iamVjdCwgd2hpY2ggaXMgc2hhcmVk
CisgICAgICAgICAgYW5kIGFsd2F5cyB1c2VkIHdoZW4gZmlsbGluZy9zdHJva2luZyB3aXRoIHNv
bGlkIGNvbG9ycyAtIGp1c3QgbGlrZSB0aGUgb2xkIFNWR1BhaW50U2VydmVyU29saWQuCisgICAg
ICAgIC0gUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4g
bm93IHN0b3JlIHRoZSB1bmRlcmx5aW5nIFdlYkNvcmU6OkdyYWRpZW50L1BhdHRlcm4gb2JqZWN0
CisgICAgICAgICAgaW5zdGVhZCBvZiByZWJ1aWxkaW5nIGl0IGV2ZXJ5dGltZSB3ZSdyZSBhc2tl
ZCB0byBwYWludCAtPiB0aGlzIGlzIHRoZSBtYWluIGRpZmZlcmVuY2Ugd2l0aCB0aGUgb2xkIGNv
bmNlcHQsIGxlYWRpbmcKKyAgICAgICAgICB0byBtdWNoIGZhc3RlciBzcGVlZC4KKyAgICAgICAg
LSBTVkdSZXNvdXJjZSBoYXMgdmFuaXNoZWQuIEFsbCByZXNvdXJjZXMgKGNsaXBwZXIvZmlsdGVy
L21hcmtlci9tYXNrZXIvZ3JhZGllbnQvcGF0dGVybikgbm93IHNoYXJlIHRoZSBzYW1lIGNvZGVw
YXRocworICAgICAgICAgIHRvIGhhbmRsZSB1cGRhdGVzIGFuZCBjbGllbnQgaW52YWxpZGF0aW9u
IC0gd2hpY2ggaXMgYSBodWdlIGJlbmVmaXQsIGFuZCBtYWtlcyB0aGUgY29kZSBlYXNpZXIgdG8g
dW5kZXJzdGFuZC4KKworICAgICAgICAqIEFuZHJvaWQubWs6IFJlbW92ZSBzdmcvZ3JhcGhpY3Mv
U1ZHUmVzb3VyY2UqLCBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaCBmcm9tIGJ1aWxkLgor
ICAgICAgICAqIFdlYkNvcmUuZ3lwaTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERp
dHRvLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcDogQWRkIGFkZENvbG9yU3RvcCgpIG1l
dGhvZCB0YWtpbmcgYSBDb2xvclN0b3AgY29uc3QtcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29y
ZTo6R3JhZGllbnQ6OmFkZENvbG9yU3RvcCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhZGllbnQuaDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5o
OiBSZW5hbWUgU1ZHUGFpbnRTZXJ2ZXIgdG8gUmVuZGVyU1ZHUmVzb3VyY2UKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRSdW46OlRleHRSdW4pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bjo6YWN0
aXZlUGFpbnRpbmdSZXNvdXJjZSk6IFJlbmFtZWQgZnJvbSBhY3RpdmVQYWludFNlcnZlci4KKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRSdW46OnNldEFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOiBSZW5h
bWVkIGZyb20gc2V0QWN0aXZlUGFpbnRTZXJ2ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHA6IFJlbW92ZSByZWZlcmVuY2VzIHRvIFNWR1Jl
c291cmNlSW1hZ2UsIHdoaWNoIHdhcyByZW1vdmVkIGEgbG9uZyB0aW1lIGFnby4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcik6IFJlbmFtZWQgZnJvbSB0b1JlbmRl
clNWR1Jlc291cmNlKCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc1NWR0dyYWRpZW50U3RvcCk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc1NWR1Jlc291cmNlQ29udGFpbmVyKTog
UmVuYW1lZCBmcm9tIGlzU1ZHUmVzb3VyY2UoKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UGF0aC5jcHA6IFV0aWxpemUgUmVuZGVyU1ZHUmVzb3VyY2U6OmZpbGwvc3Ryb2tlUGFpbnRpbmdS
ZXNvdXJjZSB0byByZXF1ZXN0IHBhaW50IHNlcnZlcnMsIGluc3RlYWQgb2YgU1ZHUGFpbnRTZXJ2
ZXIuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQYXRoOjpmaWxsQ29udGFpbnMpOiBBZGFwdCB0
byBuZXcgY29uY2VwdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBhdGg6OnN0cm9rZUNvbnRh
aW5zKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpmaWxsQW5kU3Ryb2tlUGF0aCk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUGF0aDo6cGFpbnQpOiBEaXR0by4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR0dyYWRpZW50U3RvcDo6c3R5bGVEaWRDaGFuZ2UpOiBEaXR0by4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmg6IEZpeGVkIGluZGVudGlvbi4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2UuY3BwOiBSZWZhY3RvcmVkIG9sZCBT
VkdQYWludFNlcnZlciBjb2RlIHRvIHJlcXVlc3QgZmlsbC9zdHJva2UgcGFpbnRpbmcgcmVzb3Vy
Y2VzLCBzcGxpdHRlZCB1cCBpbiBzZXZlcmFsIG1ldGhvZHMgdG8gYWlkIHJlYWRhYmlsaXR5LiAK
KyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdl
YkNvcmU6OmFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHUmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjpzaGFyZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2U6Om1hcmtGb3JMYXlvdXRBbmRSZXNv
dXJjZUludmFsaWRhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
Lmg6IE1ha2UgUmVuZGVyU1ZHUmVzb3VyY2UgYW4gYWJzdHJhY3QgYmFzZSBjbGFzcywgc2VlIGFi
b3ZlIGZvciB0aGUgcmVhc29uaW5nLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2U6OlJlbmRlclNWR1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291
cmNlOjp+UmVuZGVyU1ZHUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVz
b3VyY2U6OnBvc3RBcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmNwcDogSW5oZXJpdCBmcm9tIFJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyIGluc3RlYWQgb2YgUmVuZGVyU1ZHUmVzb3VyY2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTVkdSZXNvdXJjZUNsaXBwZXI6OlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmludmFsaWRhdGVDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjphcHBseVJlc291cmNl
KTogQWRhcHQgdG8gc2lnbmF0dXJlIGNoYW5nZXMgKGFkZCBSZW5kZXJTdHlsZSogYW5kIHJlc291
cmNlIG1vZGUgcGFyYW1ldGVycykKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
Q2xpcHBlcjo6YXBwbHlDbGlwcGluZ1RvQ29udGV4dCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclNWR1Jlc291cmNlQ2xpcHBlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdS
ZXNvdXJjZUNvbnRhaW5lci5oOiBBZGRlZC4gUmVuYW1lZCBmcm9tIFJlbmRlclNWR1Jlc291cmNl
LiBOb3cgaW5oZXJpdHMgZnJvbSBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIgYW5kIFJlbmRlclNW
R1Jlc291cmNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6
OlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyOjp+UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OmlkQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjo6aXNTVkdSZXNvdXJjZUNv
bnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjo6
ZHJhd3NDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRh
aW5lcjo6dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpn
ZXRSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0
UmVuZGVyU1ZHUmVzb3VyY2VCeUlkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXIuY3BwOiBJbmhlcml0IGZyb20gUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIg
aW5zdGVhZCBvZiBSZW5kZXJTVkdSZXNvdXJjZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jlc291cmNlRmlsdGVyOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdXJjZSk6IEFkYXB0
IHRvIHNpZ25hdHVyZSBjaGFuZ2VzIChhZGQgUmVuZGVyU3R5bGUqIGFuZCByZXNvdXJjZSBtb2Rl
IHBhcmFtZXRlcnMpCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6
cG9zdEFwcGx5UmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50
LmNwcDogTW92ZWQgZnJvbSBTVkdQYWludFNlcnZlckdyYWRpZW50LCBjbGVhbmVkIHVwIGFuZCBy
ZWZhY3RvcmVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6
UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdS
ZXNvdXJjZUdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50OjppbnZhbGlkYXRlQ2xpZW50cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50OjppbnZhbGlkYXRlQ2xp
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4dEZvclRleHRH
cmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjbGlwVG9UZXh0TWFzayk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50OjphcHBseVJlc291cmNlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6cmVzb3VyY2VCb3VuZGluZ0JveCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwOiBN
b3ZlZCBmcm9tIFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQsIGNsZWFuZWQgdXAgYW5kIHJl
ZmFjdG9yZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRp
ZW50OjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQ6On5SZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3Jh
ZGllbnQ6OmJ1aWxkR3JhZGllbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZUxpbmVhckdyYWRpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50OjpyZW5kZXJOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jlc291cmNlTGluZWFyR3JhZGllbnQ6OnJlc291cmNlVHlwZSk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcDogSW5oZXJpdCBmcm9tIFJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyIGluc3RlYWQgb2YgUmVuZGVyU1ZHUmVzb3VyY2UuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcjo6UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmludmFsaWRhdGVD
bGllbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmFwcGx5UmVzb3VyY2Up
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHA6IEluaGVy
aXQgZnJvbSBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciBpbnN0ZWFkIG9mIFJlbmRlclNWR1Jl
c291cmNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OlJlbmRl
clNWR1Jlc291cmNlTWFza2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
TWFza2VyOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jl
c291cmNlTWFza2VyOjphcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
U1ZHUmVzb3VyY2VNYXNrZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1hc2tlckRhdGE6Ok1hc2tl
ckRhdGEpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3Bw
OiBNb3ZlZCBmcm9tIFNWR1BhaW50U2VydmVyUGF0dGVybiwgY2xlYW5lZCB1cCBhbmQgcmVmYWN0
b3JlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6UmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
UGF0dGVybjo6flJlbmRlclNWR1Jlc291cmNlUGF0dGVybik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmludmFsaWRhdGVDbGllbnRzKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmFwcGx5UmVzb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpwb3N0QXBwbHlSZXNv
dXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVQYXR0ZXJuQm91bmRhcmllcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmNhbGN1bGF0ZVBhdHRl
cm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuOjpjcmVhdGVUaWxlSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpidWlsZFBhdHRlcm4pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jlc291cmNlUGF0dGVybjo6cmVuZGVyTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTVkdSZXNvdXJjZVBhdHRlcm46OnJlc291cmNlQm91bmRpbmdCb3gpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpyZXNvdXJjZVR5cGUpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcDogTW92ZWQgZnJv
bSBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50LCBjbGVhbmVkIHVwIGFuZCByZWZhY3RvcmVk
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6UmVu
ZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Ojpi
dWlsZEdyYWRpZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VSYWRp
YWxHcmFkaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxH
cmFkaWVudDo6cmVuZGVyTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZVJhZGlhbEdyYWRpZW50OjpyZXNvdXJjZVR5cGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwOiBNb3ZlZCBmcm9tIFNWR1BhaW50U2VydmVyU29s
aWQsIGNsZWFuZWQgdXAgYW5kIHJlZmFjdG9yZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3I6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6On5SZW5kZXJTVkdSZXNv
dXJjZVNvbGlkQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yOjphcHBseVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291
cmNlU29saWRDb2xvcjo6cG9zdEFwcGx5UmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jlc291cmNlU29saWRDb2xvcjo6aW52YWxpZGF0ZUNsaWVudHMpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcjo6cmVzb3VyY2VCb3VuZGlu
Z0JveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnJl
c291cmNlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29s
b3I6OmNvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xv
cjo6c2V0Q29sb3IpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1RleHQ6OnBhaW50KTogRWFybHkgZXhpdCBpZiBwYWlu
dGluZyBpcyBkaXNhYmxlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZSk6IEFkZCBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
ZHVtcGluZy4KKyAgICAgICAgKFdlYkNvcmU6OmV4dGVybmFsUmVwcmVzZW50YXRpb24pOiBSZW1v
dmUgU1ZHUmVzb3VyY2UgZHVtcGluZy4KKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHSW5saW5lVGV4
dEJveC5jcHA6IEFkYXB0IHRvIFNWR1BhaW50U2VydmVyIGNoYW5nZXMgKHBhaW50IHNlcnZlciBy
ZXF1ZXN0KS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50Q2hhcmFj
dGVycyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRp
b24pOgorICAgICAgICAqIHJlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94Lmg6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dFBhaW50SW5mbzo6U1ZHVGV4dFBhaW50SW5mbyk6CisgICAg
ICAgICogcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNWR1JlbmRlckJhc2U6OnByZXBhcmVUb1JlbmRlclNWR0NvbnRlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUmVuZGVyQmFzZTo6ZmluaXNoUmVuZGVyU1ZHQ29udGVudCk6CisgICAg
ICAgIChXZWJDb3JlOjppbnZhbGlkYXRlUGFpbnRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJD
b3JlOjpkZXJlZ2lzdGVyRnJvbVJlc291cmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpkYXNoQXJy
YXlGcm9tUmVuZGVyaW5nU3R5bGUpOiBNb3ZlZCBoZXJlIGZyb20gU1ZHUGFpbnRTZXJ2ZXIuCisg
ICAgICAgIChXZWJDb3JlOjphcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KTogRGl0dG8uCisgICAg
ICAgICogcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
U1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6IEFkZCBuZXcgZ3JhZGllbnQvcGF0dGVybiBkdW1waW5n
IGNvZGUuIFN0b3BzIGFyZSBub3cgcHJvcGVybHkgZHVtcGVkIGFzIHdlbGwhCisgICAgICAgIChX
ZWJDb3JlOjpvcGVyYXRvcjw8KToKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlU1ZHUGFpbnRpbmdS
ZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZVN0eWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OmJvdW5kaW5nQm94TW9kZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZUNvbW1v
bkdyYWRpZW50UHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZVNWR1Jlc291cmNl
Q29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlU1ZHR3JhZGllbnRTdG9wKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9TVkdSb290SW5saW5lQm94LmNwcDogQWRhcHQgdG8gU1ZHUGFpbnRTZXJ2ZXIgY2hhbmdl
cyAocGFpbnQgc2VydmVyIHJlcXVlc3QpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGlu
ZUJveFBhaW50V2Fsa2VyOjpTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXIpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjp+U1ZHUm9vdElubGluZUJveFBh
aW50V2Fsa2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtl
cjo6dGVhcmRvd25GaWxsUGFpbnRTZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElu
bGluZUJveFBhaW50V2Fsa2VyOjp0ZWFyZG93blN0cm9rZVBhaW50U2VydmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBCYWNrZ3JvdW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBGaWxs
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBG
aWxsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdh
bGtlcjo6c2V0dXBTdHJva2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBh
aW50V2Fsa2VyOjpzZXR1cFN0cm9rZVNlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdS
b290SW5saW5lQm94UGFpbnRXYWxrZXI6OnNldHVwRm9yZWdyb3VuZCk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OmFjdGl2ZVBhaW50aW5nUmVzb3VyY2Up
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjpwYWludENo
dW5rKToKKyAgICAgICAgKiBzdmcvR3JhZGllbnRBdHRyaWJ1dGVzLmg6IFJlbW92ZSBTVkdHcmFk
aWVudFN0b3AsIHVzZSBHcmFkaWVudDo6Q29sb3JTdG9wIHZlY3Rvci4gQ2xlYW51cC4KKyAgICAg
ICAgKFdlYkNvcmU6OkdyYWRpZW50QXR0cmlidXRlczo6c3RvcHMpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhZGllbnRBdHRyaWJ1dGVzOjpzZXRTdG9wcyk6CisgICAgICAgICogc3ZnL0xpbmVhckdy
YWRpZW50QXR0cmlidXRlcy5oOiBNb3ZlIEVOQUJMRShTVkcpIGd1YXJkIHRvIGNvcnJlY3QgbG9j
YXRpb24uCisgICAgICAgICogc3ZnL1BhdHRlcm5BdHRyaWJ1dGVzLmg6IEFkZCBtaXNzaW5nIGlu
Y2x1ZGVzIGFuZCBjbGFzcyBmb3J3YXJkcy4KKyAgICAgICAgKiBzdmcvUmFkaWFsR3JhZGllbnRB
dHRyaWJ1dGVzLmg6IE1vdmUgRU5BQkxFKFNWRykgZ3VhcmQgdG8gY29ycmVjdCBsb2NhdGlvbi4K
KyAgICAgICAgKiBzdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcDogUmVuYW1lIGludmFsaWRhdGVD
YW52YXNSZXNvdXJjZXMoKSB0byBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCkuCisgICAgICAg
IChXZWJDb3JlOjpTVkdDbGlwUGF0aEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQ2xpcFBhdGhFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOiBPbmx5
IGNhbGwgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpIHdoZW4gIWNoYW5nZWRCeVBhcnNlciBp
cyBzZXQuCisgICAgICAgICogc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2
Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwOiBDaGFuZ2UgSGFzaE1hcHMgdG8gaGFzaCBBdG9t
aWNTdHJpbmdzIGluc3RlYWQgb2YgU3RyaW5ncy4gUmVuYW1lIFJlbmRlclNWR1Jlc291cmNlIHRv
IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1l
bnRFeHRlbnNpb25zOjphZGRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVu
dEV4dGVuc2lvbnM6OnJlbW92ZVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0RvY3Vt
ZW50RXh0ZW5zaW9uczo6cmVzb3VyY2VCeUlkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0RvY3Vt
ZW50RXh0ZW5zaW9uczo6YWRkUGVuZGluZ1Jlc291cmNlKToKKyAgICAgICAgKiBzdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmg6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOiBSZW1vdmUgcmVm
ZXJlbmNlIHRvIFNWR1Jlc291cmNlOjppbnZhbGlkYXRlQ2xpZW50cygpLCBoYW5kbGVkIGRpZmZl
cmVudGx5IG5vdy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnVwZGF0ZUFuaW1hdGVk
U1ZHQXR0cmlidXRlKTogQ2hhbmdlIGFzc2VydGlvbiwgdGhhdCBpcyBpbmNvcnJlY3Qgbm93Lgor
ICAgICAgICAqIHN2Zy9TVkdFbGVtZW50Lmg6IE1ha2UgdXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1
dGUoKSBwdWJsaWMuCisgICAgICAgICogc3ZnL1NWR0ZvbnQuY3BwOiBBZGFwdCB0byBTVkdQYWlu
dFNlcnZlciBjaGFuZ2VzIChwYWludCBzZXJ2ZXIgcmVxdWVzdCkuCisgICAgICAgIChXZWJDb3Jl
OjpGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udCk6CisgICAgICAgICogc3ZnL1NWR0dFbGVtZW50
LmNwcDogSWYgc3R5bGUoKS0+ZGlzcGxheSgpIGlzIE5PTkUsIGNyZWF0ZSBhIFJlbmRlclNWR0hp
ZGRlbkNvbnRhaW5lciwgcmVtb3ZpbmcgaGFja3MgaW4gU1ZHU3RvcEVsZW1lbnQgZm9yIHBzZXJ2
ZXJzLWdyYWQtMTktYi5zdmcgKHllcywgU1ZHIGlzIGNyYXp5LikKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0dFbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICogc3ZnL1NWR0dFbGVtZW50
Lmg6IFJlbW92ZSBjaGlsZHJlbkNoYW5nZWQoKSBtZXRob2Qgd2hpY2ggX2Fsd2F5c18gY2FsbGVk
IHJlbmRlcmVyLT5zZXROZWVkc0xheW91dCh0cnVlKSwgd2hpY2ggaXMgY29tcGxldGx5IHdyb25n
IGFuZCB1bm5lY2Vzc2FyeS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0dFbGVtZW50OjpyZW5kZXJl
cklzTmVlZGVkKTogQWx3YXlzIHJldHVybiB0cnVlLgorICAgICAgICAqIHN2Zy9TVkdHcmFkaWVu
dEVsZW1lbnQuY3BwOiBBZGFwdCB0byBuZXcgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCBjb2Rl
LgorICAgICAgICAoV2ViQ29yZTo6U1ZHR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dyYWRpZW50RWxlbWVudDo6Y2hpbGRyZW5DaGFu
Z2VkKTogT25seSBjYWxsIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKSB3aGVuICFjaGFuZ2Vk
QnlQYXJzZXIgaXMgc2V0LgorICAgICAgICAoV2ViQ29yZTo6U1ZHR3JhZGllbnRFbGVtZW50Ojpi
dWlsZFN0b3BzKToKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHA6IEFkYXB0IHRvIG5ldyBSZW5kZXJT
VkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IGNvZGUuCisgICAgICAgIChXZWJDb3JlOjpTVkdMaW5l
YXJHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OmNvbGxlY3RHcmFkaWVudFByb3BlcnRp
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpjYWxjdWxh
dGVTdGFydEVuZFBvaW50cyk6CisgICAgICAgICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcDogUmVuYW1lIGludmFsaWRh
dGVDYW52YXNSZXNvdXJjZXMoKSB0byBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCkuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR01hcmtlckVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IE9ubHkg
Y2FsbCBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCkgd2hlbiAhY2hhbmdlZEJ5UGFyc2VyIGlz
IHNldC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR01hcmtlckVsZW1lbnQ6OnNldE9yaWVudFRvQXV0
byk6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpzZXRPcmllbnRUb0FuZ2xl
KToKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuY3BwOiBSZW5hbWUgaW52YWxpZGF0ZUNh
bnZhc1Jlc291cmNlcygpIHRvIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKS4KKyAgICAgICAg
KFdlYkNvcmU6OlNWR01hc2tFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR01hc2tFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOiBPbmx5IGNhbGwgaW52
YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpIHdoZW4gIWNoYW5nZWRCeVBhcnNlciBpcyBzZXQuCisg
ICAgICAgICogc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcDogUmVuYW1lIGludmFsaWRhdGVDYW52
YXNSZXNvdXJjZXMoKSB0byBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCkuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYXR0ZXJuRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQYXR0ZXJuRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKTogT25seSBjYWxs
IGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKSB3aGVuICFjaGFuZ2VkQnlQYXJzZXIgaXMgc2V0
LgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToK
KyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUG9s
eUVsZW1lbnQuaDogUmVtb3ZlIHVubmVkZWQgcmVuZGVyZXJJc05lZWRlZCgpIG92ZXJyaWRlLgor
ICAgICAgICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwOiBBZGFwdCB0byBuZXcg
UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCBjb2RlLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQ
cm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6
Y2FsY3VsYXRlRm9jYWxDZW50ZXJQb2ludHNBbmRSYWRpdXMpOgorICAgICAgICAqIHN2Zy9TVkdS
YWRpYWxHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuY3Bw
OiBDbGVhbiB1cCBjb2RlLCBtb3ZlZCBzdG9wIGNvbG9yIGNhbGN1bGF0aW9uIGZyb20gU1ZHR3Jh
ZGllbnRFbGVtZW50IHRvIGhlcmUsIHdoZXJlIGl0IGJlbG9uZ3MuCisgICAgICAgIChXZWJDb3Jl
OjpTVkdTdG9wRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHU3RvcEVsZW1lbnQ6OnN0b3BDb2xvckluY2x1ZGluZ09wYWNpdHkpOgorICAgICAgICAq
IHN2Zy9TVkdTdG9wRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1lbnQ6On5TVkdTdHlsZWRFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5n
ZWQpOiBPbmx5IGludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4oKS9kZXJlZ2lzdGVy
RnJvbVJlc291cmNlcygpIHdoZW4gd2UncmUgbm90IHBhcnNpbmcuCisgICAgICAgIChXZWJDb3Jl
OjpTVkdTdHlsZWRFbGVtZW50OjppbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3RvckNoYWluKTog
RWFybHkgZXhpdCBpZiB3ZSBmaW5kIGEgcGFyZW50IHJlc291cmNlcywgdGhlcmUgaXMgbm8gcmVz
b3VyY2UgbmVzdGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1lbnQ6OmludmFs
aWRhdGVSZXNvdXJjZUNsaWVudHMpOiBSZW5hbWVkIGZyb20gaW52YWxpZGF0ZUNhbnZhc1Jlc291
cmNlcygpCisgICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5n
ZWQpOiBPbmx5IGludmFsaWRhdGUgU1ZHRWxlbWVudEluc3RhbmNlcyB3aGVuICFjaGFuZ2VkQnlQ
YXJzZXIgaXMgc2V0LgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50Lmg6IFJlbW92ZSBj
YW52YXNSZXNvdXJjZSgpIGxvZ2ljLCByZW1vdmUgZGV0YWNoKCkgbWV0aG9kLgorICAgICAgICAq
IHN2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHUGFp
bnRTZXJ2ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2Uu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5oOiBSZW1v
dmVkLgorCiAyMDEwLTA0LTIzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAK
ICAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMzgwMzI+IE5vIG5lZWQgdG8gY29udGVudCBz
bmlmZiAzMDQgcmVzcG9uc2VzCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQubWsKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9BbmRyb2lkLm1rCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvQW5kcm9p
ZC5tawkod29ya2luZyBjb3B5KQpAQCAtODYxLDcgKzg2MSw2IEBAIExPQ0FMX1NSQ19GSUxFUyA6
PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCXN2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3Bw
IFwKIAlcCiAJc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBcCi0Jc3ZnL2dyYXBoaWNzL1NWR1Jl
c291cmNlLmNwcCBcCiAJXAogCXN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFQ29udm9sdmVNYXRy
aXguY3BwIFwKIAlzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRURpZmZ1c2VMaWdodGluZy5jcHAg
XApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJD
b3JlLmd5cGkJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtp
bmcgY29weSkKQEAgLTM0MDMsOSArMzQwMyw2IEBACiAgICAgICAgICAgICAnc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHU3BvdExpZ2h0U291cmNlLmgnLAogICAgICAgICAgICAgJ3N2Zy9ncmFwaGlj
cy9TVkdJbWFnZS5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5oJywK
LSAgICAgICAgICAgICdzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaCcsCi0gICAgICAgICAg
ICAnc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcCcsCi0gICAgICAgICAgICAnc3ZnL2dyYXBo
aWNzL1NWR1Jlc291cmNlLmgnLAogICAgICAgICAgICAgJ3N2Zy9Db2xvckRpc3RhbmNlLmNwcCcs
CiAgICAgICAgICAgICAnc3ZnL0NvbG9yRGlzdGFuY2UuaCcsCiAgICAgICAgICAgICAnc3ZnL0Vs
ZW1lbnRUaW1lQ29udHJvbC5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL1dl
YkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xODE5LDggKzE4MTksNiBAQCBIRUFERVJTICs9
IFwKICAgICBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaCBcCiAgICAgc3ZnL2dyYXBo
aWNzL2ZpbHRlcnMvU1ZHTGlnaHRTb3VyY2UuaCBcCiAgICAgc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmggXAotICAgIHN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlci5oIFwKLSAgICBzdmcvZ3JhcGhp
Y3MvU1ZHUmVzb3VyY2UuaCBcCiAgICAgc3ZnL1NWR0FFbGVtZW50LmggXAogICAgIHN2Zy9TVkdB
bHRHbHlwaEVsZW1lbnQuaCBcCiAgICAgc3ZnL1NWR0FuZ2xlLmggXApAQCAtMjY4NSw3ICsyNjgz
LDYgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7CiAgICAgICAgIHN2Zy9ncmFw
aGljcy9maWx0ZXJzL1NWR0ZpbHRlckJ1aWxkZXIuY3BwIFwKICAgICAgICAgc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHTGlnaHRTb3VyY2UuY3BwIFwKICAgICAgICAgc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmNwcCBcCi0gICAgICAgIHN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHAgXAogICAgICAg
ICByZW5kZXJpbmcvUmVuZGVyRm9yZWlnbk9iamVjdC5jcHAgXAogICAgICAgICByZW5kZXJpbmcv
UmVuZGVyUGF0aC5jcHAgXAogICAgICAgICByZW5kZXJpbmcvUmVuZGVyU1ZHQmxvY2suY3BwIFwK
SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNTgxNTkp
CisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC00MjM1MywxOCArNDIzNTMsNiBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xncmFw
aGljc1xTVkdJbWFnZS5oIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xncmFwaGljc1xTVkdQYWludFNlcnZlci5oIg0KLQkJCQkJ
Pg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xn
cmFwaGljc1xTVkdSZXNvdXJjZS5jcHAiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZp
bGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3ZnXGdyYXBoaWNzXFNWR1Jlc291cmNlLmgiDQot
CQkJCQk+DQotCQkJCTwvRmlsZT4NCiAJCQkJPEZpbHRlcg0KIAkJCQkJTmFtZT0iZmlsdGVycyIN
CiAJCQkJCT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTQzLDkgKzE0Myw2IEBACiAJCTA4QTQ4NDc3MEU1
MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QTQ4NDc1MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3Jp
cHRFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDhBNDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlw
dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA4QTQ4NDc2MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmggKi87IH07CiAJCTA4
QTQ4QTZFMEU4NkNGNkQwMEUyMjVERCAvKiBKU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEE0OEE2RDBF
ODZDRjZEMDBFMjI1REQgLyogSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwICovOyB9Owot
CQkwOEE3RTkyNzExODA1RURBMDBEMEI4NzAgLyogU1ZHUGFpbnRTZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QTdFOTI2MTE4MDVFREEwMEQw
Qjg3MCAvKiBTVkdQYWludFNlcnZlci5oICovOyB9OwotCQkwOEE3RTkyQjExODA1RUYxMDBEMEI4
NzAgLyogU1ZHUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA4QTdFOTJBMTE4MDVFRjEwMEQwQjg3MCAvKiBTVkdSZXNvdXJjZS5oICovOyB9
OwotCQkwOEE3RTkyRjExODA1RUZEMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhBN0U5MkUxMTgwNUVGRDAw
RDBCODcwIC8qIFNWR1Jlc291cmNlLmNwcCAqLzsgfTsKIAkJMDhDMzRBRjUxMTc5QzA1NzAwMkQ3
NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjExMTc5QzA1NjAwMkQ3NDU2IC8qIFJl
bmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwICovOyB9OwogCQkwOEMzNEFGNjExNzlDMDU3MDAy
RDc0NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjIxMTc5QzA1NzAwMkQ3NDU2IC8qIFJl
bmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCAqLzsgfTsKIAkJMDhDMzRBRjcxMTc5QzA1NzAwMkQ3
NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjMxMTc5QzA1NzAwMkQ3NDU2
IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwICovOyB9OwpAQCAtNTUxNCw5
ICs1NTExLDYgQEAKIAkJMDhBNDg0NzUwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0RWxlbWVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4QTQ4NDc2MEU1MjcyQzUwMEMzRkU3
NiAvKiBTY3JpcHRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNj
cmlwdEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhBNDhBNkQwRTg2
Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDhBN0U5MjYxMTgwNUVEQTAwRDBCODcw
IC8qIFNWR1BhaW50U2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R1BhaW50U2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4QTdFOTJBMTE4
MDVFRjEwMEQwQjg3MCAvKiBTVkdSZXNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOEE3
RTkyRTExODA1RUZEMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUmVzb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwOEMzNEFGMTExNzlDMDU2MDAyRDc0NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VH
cmFkaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhD
MzRBRjIxMTc5QzA1NzAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEMzNEFGMzExNzlDMDU3MDAyRDc0NTYg
LyogUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTEwLDkgKzE0NTA0LDYgQEAKIAkJCQlC
MjU1OTg5QzBEMDBEOEI4MDBCQjgyNUMgLyogZmlsdGVycyAqLywKIAkJCQlCMjU1OTkwQjBEMDBE
OEI5MDBCQjgyNUMgLyogU1ZHSW1hZ2UuY3BwICovLAogCQkJCUIyNTU5OTBDMEQwMEQ4QjkwMEJC
ODI1QyAvKiBTVkdJbWFnZS5oICovLAotCQkJCTA4QTdFOTI2MTE4MDVFREEwMEQwQjg3MCAvKiBT
VkdQYWludFNlcnZlci5oICovLAotCQkJCTA4QTdFOTJFMTE4MDVFRkQwMEQwQjg3MCAvKiBTVkdS
ZXNvdXJjZS5jcHAgKi8sCi0JCQkJMDhBN0U5MkExMTgwNUVGMTAwRDBCODcwIC8qIFNWR1Jlc291
cmNlLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGdyYXBoaWNzOwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKQEAgLTE4ODY3LDggKzE4ODU4LDYgQEAKIAkJCQkwRkQzMDgwRjExN0NGN0U3MDBB
NzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkQzMDhENjEx
N0QxNjg1MDBBNzkxRjcgLyogUmVuZGVySUZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEM2
QTdBQzExN0RGQkFCMDBGRUExQTIgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmggaW4g
SGVhZGVycyAqLywKLQkJCQkwOEE3RTkyNzExODA1RURBMDBEMEI4NzAgLyogU1ZHUGFpbnRTZXJ2
ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4QTdFOTJCMTE4MDVFRjEwMEQwQjg3MCAvKiBTVkdS
ZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMTEwNCw3ICsyMTA5Myw2IEBACiAJCQkJMEZE
MzA4RDUxMTdEMTY4NTAwQTc5MUY3IC8qIFJlbmRlcklGcmFtZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwOEM2QTdBQjExN0RGQkFCMDBGRUExQTIgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3Mzg4OUEwMTE2RUE5REMwMEFERjMxMyAvKiBE
b2N1bWVudFdyaXRlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwOEE3RTkyRjExODA1RUZEMDBE
MEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyArOTYs
MTQgQEAgdm9pZCBHcmFkaWVudDo6YWRkQ29sb3JTdG9wKGZsb2F0IHZhbHVlLAogICAgIG1fc3Rv
cHMuYXBwZW5kKENvbG9yU3RvcCh2YWx1ZSwgciwgZywgYiwgYSkpOwogCiAgICAgbV9zdG9wc1Nv
cnRlZCA9IGZhbHNlOworICAgIHBsYXRmb3JtRGVzdHJveSgpOworfQogCit2b2lkIEdyYWRpZW50
OjphZGRDb2xvclN0b3AoY29uc3QgR3JhZGllbnQ6OkNvbG9yU3RvcCYgc3RvcCkKK3sKKyAgICBt
X3N0b3BzLmFwcGVuZChzdG9wKTsKKworICAgIG1fc3RvcHNTb3J0ZWQgPSBmYWxzZTsKICAgICBw
bGF0Zm9ybURlc3Ryb3koKTsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFkaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGll
bnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRp
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB9CiAgICAgICAgIHZpcnR1YWwgfkdyYWRpZW50KCk7CiAKKyAgICAgICAgc3Ry
dWN0IENvbG9yU3RvcDsKKyAgICAgICAgdm9pZCBhZGRDb2xvclN0b3AoY29uc3QgQ29sb3JTdG9w
Jik7CiAgICAgICAgIHZvaWQgYWRkQ29sb3JTdG9wKGZsb2F0LCBjb25zdCBDb2xvciYpOwogCiAg
ICAgICAgIHZvaWQgZ2V0Q29sb3IoZmxvYXQgdmFsdWUsIGZsb2F0KiByLCBmbG9hdCogZywgZmxv
YXQqIGIsIGZsb2F0KiBhKSBjb25zdDsKQEAgLTkyLDcgKzk0LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBmbG9hdCByMCgpIGNvbnN0IHsgcmV0dXJuIG1fcjA7IH0KICAgICAgICAg
ZmxvYXQgcjEoKSBjb25zdCB7IHJldHVybiBtX3IxOyB9CiAgICAgICAgIGJvb2wgaXNSYWRpYWwo
KSBjb25zdCB7IHJldHVybiBtX3JhZGlhbDsgfQotICAgICAgICBzdHJ1Y3QgQ29sb3JTdG9wOwog
ICAgICAgICBjb25zdCBWZWN0b3I8Q29sb3JTdG9wPiYgZ2V0U3RvcHMoKSBjb25zdDsKICNlbHNl
CiAgICAgICAgIFBsYXRmb3JtR3JhZGllbnQgcGxhdGZvcm1HcmFkaWVudCgpOwpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0OwotY2xhc3MgU1ZH
UGFpbnRTZXJ2ZXI7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZTsKIAogY2xhc3MgVGV4dFJ1biB7
CiBwdWJsaWM6CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2Rpc2FibGVT
cGFjaW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVu
Y2luZ1JlbmRlck9iamVjdCgwKQotICAgICAgICAsIG1fYWN0aXZlUGFpbnRTZXJ2ZXIoMCkKKyAg
ICAgICAgLCBtX2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UoMCkKICNlbmRpZgogICAgIHsKICAgICB9
CkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZh
bHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRl
ck9iamVjdCgwKQotICAgICAgICAsIG1fYWN0aXZlUGFpbnRTZXJ2ZXIoMCkKKyAgICAgICAgLCBt
X2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UoMCkKICNlbmRpZgogICAgIHsKICAgICB9CkBAIC05OCw4
ICs5OCw4IEBAIHB1YmxpYzoKICAgICBSZW5kZXJPYmplY3QqIHJlZmVyZW5jaW5nUmVuZGVyT2Jq
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWZlcmVuY2luZ1JlbmRlck9iamVjdDsgfQogICAgIHZv
aWQgc2V0UmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoUmVuZGVyT2JqZWN0KiBvYmplY3QpIHsgbV9y
ZWZlcmVuY2luZ1JlbmRlck9iamVjdCA9IG9iamVjdDsgfQogCi0gICAgU1ZHUGFpbnRTZXJ2ZXIq
IGFjdGl2ZVBhaW50U2VydmVyKCkgY29uc3QgeyByZXR1cm4gbV9hY3RpdmVQYWludFNlcnZlcjsg
fQotICAgIHZvaWQgc2V0QWN0aXZlUGFpbnRTZXJ2ZXIoU1ZHUGFpbnRTZXJ2ZXIqIG9iamVjdCkg
eyBtX2FjdGl2ZVBhaW50U2VydmVyID0gb2JqZWN0OyB9CisgICAgUmVuZGVyU1ZHUmVzb3VyY2Uq
IGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX2FjdGl2ZVBhaW50aW5n
UmVzb3VyY2U7IH0KKyAgICB2b2lkIHNldEFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoUmVuZGVyU1ZH
UmVzb3VyY2UqIG9iamVjdCkgeyBtX2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UgPSBvYmplY3Q7IH0K
ICNlbmRpZgogCiBwcml2YXRlOgpAQCAtMTE3LDcgKzExNyw3IEBAIHByaXZhdGU6CiAKICNpZiBF
TkFCTEUoU1ZHX0ZPTlRTKQogICAgIFJlbmRlck9iamVjdCogbV9yZWZlcmVuY2luZ1JlbmRlck9i
amVjdDsKLSAgICBTVkdQYWludFNlcnZlciogbV9hY3RpdmVQYWludFNlcnZlcjsKKyAgICBSZW5k
ZXJTVkdSZXNvdXJjZSogbV9hY3RpdmVQYWludGluZ1Jlc291cmNlOwogI2VuZGlmCiB9OwogCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRXaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29u
dGV4dFdpbi5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsOCArNDMs
NiBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFNWR1Jlc291cmNlSW1hZ2U7Ci0KIHN0YXRpYyB2b2lkIGZpbGxXaXRoQ2xlYXJDb2xvcihIQklU
TUFQIGJpdG1hcCkKIHsKICAgICBCSVRNQVAgYm1wSW5mbzsKQEAgLTE5OSwxMyArMTk3LDQgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGU6OmNvbgogICAgIE1vZGlmeVdvcmxk
VHJhbnNmb3JtKG1faGRjLCAmeGZvcm0sIE1XVF9MRUZUTVVMVElQTFkpOwogfQogCi0jaWYgRU5B
QkxFKFNWRykKLUdyYXBoaWNzQ29udGV4dCogY29udGV4dEZvckltYWdlKFNWR1Jlc291cmNlSW1h
Z2UqKQotewotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBnbyBpbiBHcmFwaGljc0NvbnRleHRD
Ry5jcHAKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOwotfQotI2VuZGlmCi0K
IH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAkocmV2aXNpb24gNTgxNTkpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02
Niw3ICs2Niw3IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVuZGVy
U1ZHUmVzb3VyY2UuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgog
I2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKICNlbmRpZgogCkBAIC0yNDk3LDcgKzI0OTcs
NyBAQCBjb25zdCBTVkdSZW5kZXJCYXNlKiBSZW5kZXJPYmplY3Q6OnRvU1ZHCiAgICAgcmV0dXJu
IDA7CiB9CiAKLVJlbmRlclNWR1Jlc291cmNlKiBSZW5kZXJPYmplY3Q6OnRvUmVuZGVyU1ZHUmVz
b3VyY2UoKQorUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIFJlbmRlck9iamVjdDo6dG9SZW5k
ZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgcmV0dXJuIDA7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gNTgx
NTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBjb3B5KQpA
QCAtNTQsNyArNTQsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZTsKIGNsYXNzIFRyYW5zZm9ybVN0YXRl
OwogY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogI2lmIEVOQUJMRShTVkcpCi1jbGFzcyBSZW5kZXJT
VkdSZXNvdXJjZTsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZH
UmVuZGVyQmFzZTsKICNlbmRpZgogCkBAIC0zMzIsMTYgKzMzMiwxNyBAQCBwdWJsaWM6CiAgICAg
Ly8gdG8gYWRkIFNWRyByZW5kZXJlciBtZXRob2RzIHRvIFJlbmRlck9iamVjdCB3aXRoIGFuIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCiAgICAgdmlydHVhbCBi
b29sIGlzU1ZHUm9vdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzU1ZHQ29udGFpbmVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgaXNTVkdHcmFkaWVudFN0b3AoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgYm9vbCBpc1NWR0hpZGRlbkNvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCBib29sIGlzUmVuZGVyUGF0aCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCBib29sIGlzU1ZHVGV4dCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIGlzU1ZHSW1hZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCBpc1NWR0ZvcmVpZ25PYmplY3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQot
ICAgIHZpcnR1YWwgYm9vbCBpc1NWR1Jlc291cmNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdSZXNvdXJjZUNvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU1ZHU2hhZG93VHJlZVJvb3RDb250YWluZXIo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCBjb25zdCBTVkdSZW5kZXJC
YXNlKiB0b1NWR1JlbmRlckJhc2UoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291
cmNlKiB0b1JlbmRlclNWR1Jlc291cmNlKCk7CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lciogdG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpOwogCiAgICAgLy8gRklY
TUU6IFRob3NlIGJlbG9uZyBpbnRvIGEgU1ZHIHNwZWNpZmljIGJhc2UtY2xhc3MgZm9yIGFsbCBy
ZW5kZXJlcnMgKHNlZSBhYm92ZSkKICAgICAvLyBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhhdmUg
c3VjaCBhIGNsYXNzIHlldCwgYmVjYXVzZSBpdCdzIG5vdCBwb3NzaWJsZSBmb3IgYWxsIHJlbmRl
cmVycwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQsNiAr
NCw3IEBACiAgICAgICAgICAgICAgICAgICAyMDA1LCAyMDA3IEVyaWMgU2VpZGVsIDxlcmljQHdl
YmtpdC5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA5IEdvb2dsZSwgSW5jLgogICAgICAgICAg
ICAgICAgICAgMjAwOSBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KKyAgICBDb3B5cmln
aHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTM0LDcgKzM1LDYgQEAKICNpbmNsdWRlICJSZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTWFya2Vy
LmgiCiAjaW5jbHVkZSAiU3Ryb2tlU3R5bGVBcHBsaWVyLmgiCi0jaW5jbHVkZSAiU1ZHUGFpbnRT
ZXJ2ZXIuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCiAjaW5jbHVkZSAiU1ZHU3R5
bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0Lmgi
CkBAIC03Niw3ICs3Niw3IEBAIGJvb2wgUmVuZGVyUGF0aDo6ZmlsbENvbnRhaW5zKGNvbnN0IEZs
b2EKICAgICBpZiAobV9wYXRoLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgaWYgKHJlcXVpcmVzRmlsbCAmJiAhU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZlcihz
dHlsZSgpLCB0aGlzKSkKKyAgICBpZiAocmVxdWlyZXNGaWxsICYmICFSZW5kZXJTVkdSZXNvdXJj
ZTo6ZmlsbFBhaW50aW5nUmVzb3VyY2UodGhpcywgc3R5bGUoKSkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIHJldHVybiBtX3BhdGguY29udGFpbnMocG9pbnQsIHN0eWxlKCktPnN2Z1N0
eWxlKCktPmZpbGxSdWxlKCkpOwpAQCAtODcsNyArODcsNyBAQCBib29sIFJlbmRlclBhdGg6OnN0
cm9rZUNvbnRhaW5zKGNvbnN0IEZsCiAgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIGlmIChyZXF1aXJlc1N0cm9rZSAmJiAhU1ZHUGFpbnRTZXJ2
ZXI6OnN0cm9rZVBhaW50U2VydmVyKHN0eWxlKCksIHRoaXMpKQorICAgIGlmIChyZXF1aXJlc1N0
cm9rZSAmJiAhUmVuZGVyU1ZHUmVzb3VyY2U6OnN0cm9rZVBhaW50aW5nUmVzb3VyY2UodGhpcywg
c3R5bGUoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEJvdW5kaW5nUmVjdFN0cm9r
ZVN0eWxlQXBwbGllciBzdHJva2VTdHlsZSh0aGlzLCBzdHlsZSgpKTsKQEAgLTE5OCwyMCArMTk4
LDIwIEBAIHZvaWQgUmVuZGVyUGF0aDo6bGF5b3V0KCkKICAgICBzZXROZWVkc0xheW91dChmYWxz
ZSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBmaWxsQW5kU3Ryb2tlUGF0aChjb25zdCBQYXRo
JiBwYXRoLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVu
ZGVyUGF0aCogb2JqZWN0KQorc3RhdGljIGlubGluZSB2b2lkIGZpbGxBbmRTdHJva2VQYXRoKGNv
bnN0IFBhdGgmIHBhdGgsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgUmVuZGVyUGF0aCogb2Jq
ZWN0KQogewogICAgIGNvbnRleHQtPmJlZ2luUGF0aCgpOwogCi0gICAgU1ZHUGFpbnRTZXJ2ZXIq
IGZpbGxQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpmaWxsUGFpbnRTZXJ2ZXIoc3R5bGUs
IG9iamVjdCk7Ci0gICAgaWYgKGZpbGxQYWludFNlcnZlcikgeworICAgIGlmIChSZW5kZXJTVkdS
ZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6ZmlsbFBh
aW50aW5nUmVzb3VyY2Uob2JqZWN0LCBvYmplY3QtPnN0eWxlKCkpKSB7CiAgICAgICAgIGNvbnRl
eHQtPmFkZFBhdGgocGF0aCk7Ci0gICAgICAgIGZpbGxQYWludFNlcnZlci0+ZHJhdyhjb250ZXh0
LCBvYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSk7CisgICAgICAgIGlmIChmaWxsUGFpbnRp
bmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSwgY29udGV4
dCwgQXBwbHlUb0ZpbGxNb2RlKSkKKyAgICAgICAgICAgIGZpbGxQYWludGluZ1Jlc291cmNlLT5w
b3N0QXBwbHlSZXNvdXJjZShvYmplY3QsIGNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSk7CiAgICAg
fQotICAgIAotICAgIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZlciA9IFNWR1BhaW50
U2VydmVyOjpzdHJva2VQYWludFNlcnZlcihzdHlsZSwgb2JqZWN0KTsKLSAgICBpZiAoc3Ryb2tl
UGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgY29udGV4dC0+YWRkUGF0aChwYXRoKTsgLy8gcGF0aCBp
cyBjbGVhcmVkIHdoZW4gZmlsbGVkLgotICAgICAgICBzdHJva2VQYWludFNlcnZlci0+ZHJhdyhj
b250ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlKTsKKworICAgIGlmIChSZW5k
ZXJTVkdSZXNvdXJjZSogc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jlc291cmNl
OjpzdHJva2VQYWludGluZ1Jlc291cmNlKG9iamVjdCwgb2JqZWN0LT5zdHlsZSgpKSkgeworICAg
ICAgICBjb250ZXh0LT5hZGRQYXRoKHBhdGgpOworICAgICAgICBpZiAoc3Ryb2tlUGFpbnRpbmdS
ZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSwgY29udGV4dCwg
QXBwbHlUb1N0cm9rZU1vZGUpKQorICAgICAgICAgICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZS0+
cG9zdEFwcGx5UmVzb3VyY2Uob2JqZWN0LCBjb250ZXh0LCBBcHBseVRvU3Ryb2tlTW9kZSk7CiAg
ICAgfQogfQogCkBAIC0yNDEsNyArMjQxLDcgQEAgdm9pZCBSZW5kZXJQYXRoOjpwYWludChQYWlu
dEluZm8mIHBhaW50SQogICAgICAgICAgICAgaWYgKHByZXBhcmVUb1JlbmRlclNWR0NvbnRlbnQo
dGhpcywgY2hpbGRQYWludEluZm8sIGJvdW5kaW5nQm94LCBmaWx0ZXIpKSB7CiAgICAgICAgICAg
ICAgICAgaWYgKHN0eWxlKCktPnN2Z1N0eWxlKCktPnNoYXBlUmVuZGVyaW5nKCkgPT0gU1JfQ1JJ
U1BFREdFUykKICAgICAgICAgICAgICAgICAgICAgY2hpbGRQYWludEluZm8uY29udGV4dC0+c2V0
U2hvdWxkQW50aWFsaWFzKGZhbHNlKTsKLSAgICAgICAgICAgICAgICBmaWxsQW5kU3Ryb2tlUGF0
aChtX3BhdGgsIGNoaWxkUGFpbnRJbmZvLmNvbnRleHQsIHN0eWxlKCksIHRoaXMpOworICAgICAg
ICAgICAgICAgIGZpbGxBbmRTdHJva2VQYXRoKG1fcGF0aCwgY2hpbGRQYWludEluZm8uY29udGV4
dCwgdGhpcyk7CiAKICAgICAgICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxl
bWVudCo+KG5vZGUoKSktPnN1cHBvcnRzTWFya2VycygpKQogICAgICAgICAgICAgICAgICAgICBt
X21hcmtlckxheW91dEluZm8uZHJhd01hcmtlcnMoY2hpbGRQYWludEluZm8pOwpJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuY3BwCShyZXZpc2lvbiA1ODE1
OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRpZW50U3RvcC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ4LDEwICs0OCw4IEBAIHZvaWQgUmVuZGVyU1ZHR3JhZGllbnRTdG9wOjpz
dHlsZURpZENoYW4KIAogICAgIC8vIDxzdG9wPiBlbGVtZW50cyBzaG91bGQgb25seSBiZSBhbGxv
d2VkIHRvIG1ha2UgcmVuZGVyZXJzIHVuZGVyIGdyYWRpZW50IGVsZW1lbnRzCiAgICAgLy8gYnV0
IEkgY2FuIGltYWdpbmUgYSBmZXcgY2FzZXMgd2UgbWlnaHQgbm90IGJlIGNhdGNoaW5nLCBzbyBs
ZXQncyBub3QgY3Jhc2ggaWYgb3VyIHBhcmVudCBpc24ndCBhIGdyYWRpZW50LgotICAgIGlmIChT
VkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50ID0gZ3JhZGllbnRFbGVtZW50KCkpIHsKLSAgICAg
ICAgaWYgKFNWR1Jlc291cmNlKiByZXNvdXJjZSA9IGdyYWRpZW50LT5jYW52YXNSZXNvdXJjZSh0
aGlzKSkKLSAgICAgICAgICAgIHJlc291cmNlLT5pbnZhbGlkYXRlKCk7Ci0gICAgfQorICAgIGlm
IChTVkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50ID0gZ3JhZGllbnRFbGVtZW50KCkpCisgICAg
ICAgIGdyYWRpZW50LT5pbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wOjpsYXlvdXQoKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDMyICsyNyw0
MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgU1ZHR3JhZGllbnRF
bGVtZW50OwotICAgIGNsYXNzIFNWR1N0b3BFbGVtZW50OwotICAgIAotICAgIC8vIFRoaXMgY2xh
c3MgZXhpc3RzIG1vc3RseSBzbyB3ZSBjYW4gaGVhciBhYm91dCBncmFkaWVudCBzdG9wIHN0eWxl
IGNoYW5nZXMKLSAgICBjbGFzcyBSZW5kZXJTVkdHcmFkaWVudFN0b3AgOiBwdWJsaWMgUmVuZGVy
T2JqZWN0IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcChTVkdT
dG9wRWxlbWVudCopOwotICAgICAgICB2aXJ0dWFsIH5SZW5kZXJTVkdHcmFkaWVudFN0b3AoKTsK
LQotICAgICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVy
biAiUmVuZGVyU1ZHR3JhZGllbnRTdG9wIjsgfQotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBsYXlv
dXQoKTsKLQotICAgICAgICAvLyBUaGlzIG92ZXJyaWRlcyBhcmUgbmVlZGVkIHRvIHByZXZlbnQg
QVNTRVJUcyBvbiA8c3ZnPjxzdG9wIC8+PC9zdmc+Ci0gICAgICAgIC8vIFJlbmRlck9iamVjdCdz
IGRlZmF1bHQgaW1wbGVtZW50YXRpb25zIEFTU0VSVF9OT1RfUkVBQ0hFRCgpCi0gICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQwMAotICAgICAgICB2
aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqKSB7IHJldHVybiBJbnRSZWN0KCk7IH0KLSAgICAgICAgdmlydHVhbCBGbG9hdFJl
Y3Qgb2JqZWN0Qm91bmRpbmdCb3goKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQotICAg
ICAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpIGNv
bnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9Ci0KLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZp
cnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0
eWxlKiBvbGRTdHlsZSk7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTVkdHcmFkaWVudEVsZW1l
bnQqIGdyYWRpZW50RWxlbWVudCgpIGNvbnN0OwotICAgIH07CitjbGFzcyBTVkdHcmFkaWVudEVs
ZW1lbnQ7CitjbGFzcyBTVkdTdG9wRWxlbWVudDsKKworLy8gVGhpcyBjbGFzcyBleGlzdHMgbW9z
dGx5IHNvIHdlIGNhbiBoZWFyIGFib3V0IGdyYWRpZW50IHN0b3Agc3R5bGUgY2hhbmdlcworY2xh
c3MgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIDogcHVibGljIFJlbmRlck9iamVjdCB7CitwdWJsaWM6
CisgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wKFNWR1N0b3BFbGVtZW50Kik7CisgICAgdmlydHVh
bCB+UmVuZGVyU1ZHR3JhZGllbnRTdG9wKCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdHcmFk
aWVudFN0b3AoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBjb25zdCBjaGFy
KiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR0dyYWRpZW50U3RvcCI7IH0K
KworICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKKworICAgIC8vIFRoaXMgb3ZlcnJpZGVzIGFy
ZSBuZWVkZWQgdG8gcHJldmVudCBBU1NFUlRzIG9uIDxzdmc+PHN0b3AgLz48L3N2Zz4KKyAgICAv
LyBSZW5kZXJPYmplY3QncyBkZWZhdWx0IGltcGxlbWVudGF0aW9ucyBBU1NFUlRfTk9UX1JFQUNI
RUQoKQorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQw
MAorICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5k
ZXJCb3hNb2RlbE9iamVjdCopIHsgcmV0dXJuIEludFJlY3QoKTsgfQorICAgIHZpcnR1YWwgRmxv
YXRSZWN0IG9iamVjdEJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0K
KyAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpIGNv
bnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIHZv
aWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xk
U3R5bGUpOworCitwcml2YXRlOgorICAgIFNWR0dyYWRpZW50RWxlbWVudCogZ3JhZGllbnRFbGVt
ZW50KCkgY29uc3Q7Cit9OworCitpbmxpbmUgY29uc3QgUmVuZGVyU1ZHR3JhZGllbnRTdG9wKiB0
b1JlbmRlclNWR0dyYWRpZW50U3RvcChjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sKKyAg
ICBBU1NFUlQoIW9iamVjdCB8fCBvYmplY3QtPmlzU1ZHR3JhZGllbnRTdG9wKCkpOworICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJTVkdHcmFkaWVudFN0b3AqPihvYmplY3QpOwor
fQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNWR1Jlc291cmNlLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIsMjc2ICsyLDIwMSBA
QAogICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBr
ZGUub3JnPgogICogICAgICAgICAgICAgICAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAg
KiAgICAgICAgICAgICAgIDIwMDggRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+CisgKiBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAi
U1ZHUGFpbnRTZXJ2ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogCi0jaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCi0j
aW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCIKLSNpbmNs
dWRlICJSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNs
dWRlICJTVkdVUklSZWZlcmVuY2UuaCIKIAotI2lmIFBMQVRGT1JNKFNLSUEpCi0jaW5jbHVkZSAi
UGxhdGZvcm1Db250ZXh0U2tpYS5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
U1ZHUGFpbnRTZXJ2ZXI6OlNWR1BhaW50U2VydmVyKCkKK3N0YXRpYyBpbmxpbmUgdm9pZCByZWdp
c3RlclBlbmRpbmdSZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBjb25zdCBTVkdQYWlu
dDo6U1ZHUGFpbnRUeXBlJiBwYWludFR5cGUsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQog
ewotfQorICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJKQor
ICAgICAgICByZXR1cm47CiAKLVNWR1BhaW50U2VydmVyOjp+U1ZHUGFpbnRTZXJ2ZXIoKQotewot
fQorICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4o
b2JqZWN0LT5ub2RlKCkpOworICAgIEFTU0VSVChzdmdFbGVtZW50KTsKKyAgICBBU1NFUlQoc3Zn
RWxlbWVudC0+aXNTdHlsZWQoKSk7CiAKLVRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVh
bSYgdHMsIGNvbnN0IFNWR1BhaW50U2VydmVyJiBwYWludFNlcnZlcikKLXsKLSAgICByZXR1cm4g
cGFpbnRTZXJ2ZXIuZXh0ZXJuYWxSZXByZXNlbnRhdGlvbih0cyk7CisgICAgb2JqZWN0LT5kb2N1
bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNvdXJjZShpZCwgc3Rh
dGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsKIH0KIAotU1ZHUGFpbnRT
ZXJ2ZXIqIGdldFBhaW50U2VydmVyQnlJZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0b21p
Y1N0cmluZyYgaWQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGluZSB2
b2lkIGFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBi
b29sIHVzZUZpbGxQYWludCwgQ29sb3ImIGNvbG9yKQogewotICAgIFNWR1Jlc291cmNlKiByZXNv
dXJjZSA9IGdldFJlc291cmNlQnlJZChkb2N1bWVudCwgaWQsIG9iamVjdCk7Ci0gICAgaWYgKHJl
c291cmNlICYmIHJlc291cmNlLT5pc1BhaW50U2VydmVyKCkpCi0gICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxTVkdQYWludFNlcnZlcio+KHJlc291cmNlKTsKKyAgICBpZiAoc3R5bGUtPmluc2lk
ZUxpbmsoKSAhPSBJbnNpZGVWaXNpdGVkTGluaykKKyAgICAgICAgcmV0dXJuOwogCi0gICAgcmV0
dXJuIDA7Ci19CisgICAgUmVuZGVyU3R5bGUqIHZpc2l0ZWRTdHlsZSA9IHN0eWxlLT5nZXRDYWNo
ZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTkspOworICAgIFNWR1BhaW50KiB2aXNpdGVkUGFpbnQg
PSB1c2VGaWxsUGFpbnQgPyB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPmZpbGxQYWludCgpIDog
dmlzaXRlZFN0eWxlLT5zdmdTdHlsZSgpLT5zdHJva2VQYWludCgpOworICAgIGlmICh2aXNpdGVk
UGFpbnQtPnBhaW50VHlwZSgpID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSSkKKyAgICAg
ICAgcmV0dXJuOworICAgICAgICAKKyAgICBDb2xvciB2aXNpdGVkQ29sb3I7CisgICAgaWYgKHZp
c2l0ZWRQYWludC0+cGFpbnRUeXBlKCkgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfQ1VSUkVO
VENPTE9SKQorICAgICAgICB2aXNpdGVkQ29sb3IgPSB2aXNpdGVkU3R5bGUtPmNvbG9yKCk7Cisg
ICAgZWxzZQorICAgICAgICB2aXNpdGVkQ29sb3IgPSB2aXNpdGVkUGFpbnQtPmNvbG9yKCk7CiAK
LVNWR1BhaW50U2VydmVyU29saWQqIFNWR1BhaW50U2VydmVyOjpzaGFyZWRTb2xpZFBhaW50U2Vy
dmVyKCkKLXsKLSAgICBzdGF0aWMgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCogX3NoYXJlZFNvbGlkUGFp
bnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlclNvbGlkOjpjcmVhdGUoKS5yZWxlYXNlUmVmKCk7Ci0g
ICAgCi0gICAgcmV0dXJuIF9zaGFyZWRTb2xpZFBhaW50U2VydmVyOworICAgIGlmICh2aXNpdGVk
Q29sb3IuaXNWYWxpZCgpKQorICAgICAgICBjb2xvciA9IENvbG9yKHZpc2l0ZWRDb2xvci5yZWQo
KSwgdmlzaXRlZENvbG9yLmdyZWVuKCksIHZpc2l0ZWRDb2xvci5ibHVlKCksIGNvbG9yLmFscGhh
KCkpOwogfQogCi1TVkdQYWludFNlcnZlciogU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZl
cihjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlck9iamVjdCogaXRlbSkKKy8v
IEZJWE1FOiBUaGlzIG1ldGhvZCBhbmQgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSgpIHNob3VsZCBi
ZSByZWZhY3RvcmVkLCB0byBzaGFyZSBldmVuIG1vcmUgY29kZQorUmVuZGVyU1ZHUmVzb3VyY2Uq
IFJlbmRlclNWR1Jlc291cmNlOjpmaWxsUGFpbnRpbmdSZXNvdXJjZShjb25zdCBSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlKQogewotICAgIGlmICghc3R5bGUt
PnN2Z1N0eWxlKCktPmhhc0ZpbGwoKSkKKyAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBBU1NFUlQo
c3R5bGUpOworCisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2
Z1N0eWxlKCk7CisgICAgaWYgKCFzdmdTdHlsZSB8fCAhc3ZnU3R5bGUtPmhhc0ZpbGwoKSkKICAg
ICAgICAgcmV0dXJuIDA7CiAKLSAgICBTVkdQYWludCogZmlsbCA9IHN0eWxlLT5zdmdTdHlsZSgp
LT5maWxsUGFpbnQoKTsKLSAgICAgICAgCi0gICAgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNl
cnZlciA9IDA7Ci0gICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBmaWxsLT5w
YWludFR5cGUoKTsKLSAgICBpZiAocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBF
X1VSSSB8fAotICAgICAgICBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJ
X1JHQkNPTE9SKSB7Ci0gICAgICAgIEF0b21pY1N0cmluZyBpZChTVkdVUklSZWZlcmVuY2U6Omdl
dFRhcmdldChmaWxsLT51cmkoKSkpOwotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBnZXRQYWlu
dFNlcnZlckJ5SWQoaXRlbS0+ZG9jdW1lbnQoKSwgaWQsIGl0ZW0pOwotCi0gICAgICAgIFNWR0Vs
ZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaXRlbS0+bm9kZSgp
KTsKLSAgICAgICAgQVNTRVJUKHN2Z0VsZW1lbnQgJiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKSAm
JiBzdmdFbGVtZW50LT5pc1N0eWxlZCgpKTsKLQotICAgICAgICBpZiAoaXRlbS0+aXNSZW5kZXJQ
YXRoKCkgJiYgZmlsbFBhaW50U2VydmVyKQotICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyLT5h
ZGRDbGllbnQoc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsKLSAg
ICAgICAgZWxzZSBpZiAoIWZpbGxQYWludFNlcnZlciAmJiBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6
OlNWR19QQUlOVFRZUEVfVVJJKQotICAgICAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKS0+
YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2UoaWQsIHN0YXRpY19jYXN0
PFNWR1N0eWxlZEVsZW1lbnQqPihzdmdFbGVtZW50KSk7IAorICAgIFNWR1BhaW50KiBmaWxsUGFp
bnQgPSBzdmdTdHlsZS0+ZmlsbFBhaW50KCk7CisgICAgQVNTRVJUKGZpbGxQYWludCk7CisKKyAg
ICBSZW5kZXJTVkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UgPSAwOworCisgICAgU1ZH
UGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBmaWxsUGFpbnQtPnBhaW50VHlwZSgpOwor
ICAgIGlmIChwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJCisgICAgICAg
IHx8IHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUklfUkdCQ09MT1IpIHsK
KyAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGZpbGxQ
YWludC0+dXJpKCkpKTsKKyAgICAgICAgZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBnZXRSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBpZCk7CisKKyAgICAg
ICAgaWYgKCFmaWxsUGFpbnRpbmdSZXNvdXJjZSkKKyAgICAgICAgICAgIHJlZ2lzdGVyUGVuZGlu
Z1Jlc291cmNlKGlkLCBwYWludFR5cGUsIG9iamVjdCk7CiAgICAgfQotICAgIGlmIChwYWludFR5
cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmICFmaWxsUGFpbnRTZXJ2ZXIpIHsK
LSAgICAgICAgZmlsbFBhaW50U2VydmVyID0gc2hhcmVkU29saWRQYWludFNlcnZlcigpOwotICAg
ICAgICBTVkdQYWludFNlcnZlclNvbGlkKiBmaWxsUGFpbnRTZXJ2ZXJTb2xpZCA9IHN0YXRpY19j
YXN0PFNWR1BhaW50U2VydmVyU29saWQqPihmaWxsUGFpbnRTZXJ2ZXIpOwotICAgICAgICAKKwor
ICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmICFmaWxs
UGFpbnRpbmdSZXNvdXJjZSkgeworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3Iq
IHNvbGlkUmVzb3VyY2UgPSBzaGFyZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UoKTsKKyAgICAgICAg
ZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBzb2xpZFJlc291cmNlOworCiAgICAgICAgIENvbG9yIGZp
bGxDb2xvcjsKLSAgICAgICAgaWYgKHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQ
RV9DVVJSRU5UQ09MT1IpCisgICAgICAgIGlmIChmaWxsUGFpbnQtPnBhaW50VHlwZSgpID09IFNW
R1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKICAgICAgICAgICAgIGZpbGxDb2xv
ciA9IHN0eWxlLT5jb2xvcigpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBmaWxsQ29sb3Ig
PSBmaWxsLT5jb2xvcigpOworICAgICAgICAgICAgZmlsbENvbG9yID0gZmlsbFBhaW50LT5jb2xv
cigpOwogCi0gICAgICAgIGlmIChzdHlsZS0+aW5zaWRlTGluaygpID09IEluc2lkZVZpc2l0ZWRM
aW5rKSB7Ci0gICAgICAgICAgICBSZW5kZXJTdHlsZSogdmlzaXRlZFN0eWxlID0gc3R5bGUtPmdl
dENhY2hlZFBzZXVkb1N0eWxlKFZJU0lURURfTElOSyk7Ci0gICAgICAgICAgICBTVkdQYWludCog
dmlzaXRlZEZpbGwgPSB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPmZpbGxQYWludCgpOwotICAg
ICAgICAgICAgQ29sb3IgdmlzaXRlZEZpbGxDb2xvcjsKLSAgICAgICAgICAgIGlmICh2aXNpdGVk
RmlsbC0+cGFpbnRUeXBlKCkgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsLT5wYWludFR5cGUoKSA9PSBTVkdQYWludDo6U1ZH
X1BBSU5UVFlQRV9DVVJSRU5UQ09MT1IpCi0gICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRGaWxs
Q29sb3IgPSB2aXNpdGVkU3R5bGUtPmNvbG9yKCk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICB2aXNpdGVkRmlsbENvbG9yID0gdmlzaXRlZEZpbGwtPmNvbG9yKCk7
Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsQ29sb3IuaXNWYWxpZCgpKQotICAgICAg
ICAgICAgICAgICAgICBmaWxsQ29sb3IgPSBDb2xvcih2aXNpdGVkRmlsbENvbG9yLnJlZCgpLCB2
aXNpdGVkRmlsbENvbG9yLmdyZWVuKCksIHZpc2l0ZWRGaWxsQ29sb3IuYmx1ZSgpLCBmaWxsQ29s
b3IuYWxwaGEoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgYWRqdXN0Q29s
b3JGb3JQc2V1ZG9SdWxlcyhzdHlsZSwgdHJ1ZSAvKiB1c2VGaWxsUGFpbnQgKi8sIGZpbGxDb2xv
cik7CiAKLSAgICAgICAgZmlsbFBhaW50U2VydmVyU29saWQtPnNldENvbG9yKGZpbGxDb2xvcik7
Ci0gICAgICAgIAogICAgICAgICAvLyBGSVhNRTogSWRlYWxseSBpbnZhbGlkIGNvbG9ycyB3b3Vs
ZCBuZXZlciBnZXQgc2V0IG9uIHRoZSBSZW5kZXJTdHlsZSBhbmQgdGhpcyBjb3VsZCB0dXJuIGlu
dG8gYW4gQVNTRVJUCi0gICAgICAgIGlmICghZmlsbFBhaW50U2VydmVyU29saWQtPmNvbG9yKCku
aXNWYWxpZCgpKQotICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyID0gMDsKKyAgICAgICAgaWYg
KGZpbGxDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgICAgICBzb2xpZFJlc291cmNlLT5zZXRDb2xv
cihmaWxsQ29sb3IpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmaWxsUGFpbnRpbmdSZXNv
dXJjZSA9IDA7CiAgICAgfQotICAgIGlmICghZmlsbFBhaW50U2VydmVyKSB7CisKKyAgICBpZiAo
IWZpbGxQYWludGluZ1Jlc291cmNlKSB7CiAgICAgICAgIC8vIGRlZmF1bHQgdmFsdWUgKGJsYWNr
KSwgc2VlIGJ1ZyAxMTAxNwotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xpZFBh
aW50U2VydmVyKCk7Ci0gICAgICAgIHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihm
aWxsUGFpbnRTZXJ2ZXIpLT5zZXRDb2xvcihDb2xvcjo6YmxhY2spOworICAgICAgICBSZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNvbGlkUmVzb3VyY2UgPSBzaGFyZWRTb2xpZFBhaW50aW5n
UmVzb3VyY2UoKTsKKyAgICAgICAgc29saWRSZXNvdXJjZS0+c2V0Q29sb3IoQ29sb3I6OmJsYWNr
KTsKKyAgICAgICAgZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBzb2xpZFJlc291cmNlOwogICAgIH0K
LSAgICByZXR1cm4gZmlsbFBhaW50U2VydmVyOworCisgICAgcmV0dXJuIGZpbGxQYWludGluZ1Jl
c291cmNlOwogfQogCi1TVkdQYWludFNlcnZlciogU1ZHUGFpbnRTZXJ2ZXI6OnN0cm9rZVBhaW50
U2VydmVyKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2JqZWN0KiBpdGVt
KQorUmVuZGVyU1ZHUmVzb3VyY2UqIFJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGluZ1Jl
c291cmNlKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5
bGUpCiB7Ci0gICAgaWYgKCFzdHlsZS0+c3ZnU3R5bGUoKS0+aGFzU3Ryb2tlKCkpCisgICAgQVNT
RVJUKG9iamVjdCk7CisgICAgQVNTRVJUKHN0eWxlKTsKKworICAgIGNvbnN0IFNWR1JlbmRlclN0
eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5zdmdTdHlsZSgpOworICAgIGlmICghc3ZnU3R5bGUgfHwg
IXN2Z1N0eWxlLT5oYXNTdHJva2UoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBTVkdQYWlu
dCogc3Ryb2tlID0gc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVBhaW50KCk7CisgICAgU1ZHUGFp
bnQqIHN0cm9rZVBhaW50ID0gc3ZnU3R5bGUtPnN0cm9rZVBhaW50KCk7CisgICAgQVNTRVJUKHN0
cm9rZVBhaW50KTsKIAotICAgIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZlciA9IDA7
Ci0gICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBzdHJva2UtPnBhaW50VHlw
ZSgpOwotICAgIGlmICgocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSQot
ICAgICAgICB8fCBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJX1JHQkNP
TE9SKQotICAgICAgICAmJiBpdGVtLT5vYmplY3RCb3VuZGluZ0JveCgpLndpZHRoKCkgIT0gMAot
ICAgICAgICAmJiBpdGVtLT5vYmplY3RCb3VuZGluZ0JveCgpLmhlaWdodCgpICE9IDApIHsKLSAg
ICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHN0cm9rZS0+
dXJpKCkpKTsKLSAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBnZXRQYWludFNlcnZlckJ5SWQo
aXRlbS0+ZG9jdW1lbnQoKSwgaWQsIGl0ZW0pOwotCi0gICAgICAgIFNWR0VsZW1lbnQqIHN2Z0Vs
ZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaXRlbS0+bm9kZSgpKTsKLSAgICAgICAg
QVNTRVJUKHN2Z0VsZW1lbnQgJiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKSAmJiBzdmdFbGVtZW50
LT5pc1N0eWxlZCgpKTsKLSAKLSAgICAgICAgaWYgKGl0ZW0tPmlzUmVuZGVyUGF0aCgpICYmIHN0
cm9rZVBhaW50U2VydmVyKQotICAgICAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXItPmFkZENsaWVu
dChzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOwotICAgICAgICBl
bHNlIGlmICghc3Ryb2tlUGFpbnRTZXJ2ZXIgJiYgcGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdf
UEFJTlRUWVBFX1VSSSkKLSAgICAgICAgICAgIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFjY2Vz
c1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKGlkLCBzdGF0aWNfY2FzdDxTVkdT
dHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOyAKKyAgICBSZW5kZXJTVkdSZXNvdXJjZSogc3Ry
b2tlUGFpbnRpbmdSZXNvdXJjZSA9IDA7CisgICAgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94
ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpOworCisgICAgU1ZHUGFpbnQ6OlNWR1BhaW50
VHlwZSBwYWludFR5cGUgPSBzdHJva2VQYWludC0+cGFpbnRUeXBlKCk7CisgICAgaWYgKG9iamVj
dEJvdW5kaW5nQm94LndpZHRoKCkgIT0gMCAmJiBvYmplY3RCb3VuZGluZ0JveC5oZWlnaHQoKSAh
PSAwCisgICAgICAgICYmIChwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJ
IHx8IHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUklfUkdCQ09MT1IpKSB7
CisgICAgICAgIEF0b21pY1N0cmluZyBpZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChzdHJv
a2VQYWludC0+dXJpKCkpKTsKKyAgICAgICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IGdldFJl
bmRlclNWR1Jlc291cmNlQ29udGFpbmVyQnlJZChvYmplY3QtPmRvY3VtZW50KCksIGlkKTsKKwor
ICAgICAgICBpZiAoIXN0cm9rZVBhaW50aW5nUmVzb3VyY2UpCisgICAgICAgICAgICByZWdpc3Rl
clBlbmRpbmdSZXNvdXJjZShpZCwgcGFpbnRUeXBlLCBvYmplY3QpOwogICAgIH0KLSAgICBpZiAo
cGFpbnRUeXBlICE9IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSSAmJiAhc3Ryb2tlUGFpbnRT
ZXJ2ZXIpIHsKLSAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xpZFBhaW50U2Vy
dmVyKCk7Ci0gICAgICAgIFNWR1BhaW50U2VydmVyU29saWQqIHN0cm9rZVBhaW50U2VydmVyU29s
aWQgPSBzdGF0aWNfY2FzdDxTVkdQYWludFNlcnZlclNvbGlkKj4oc3Ryb2tlUGFpbnRTZXJ2ZXIp
OwotICAgICAgICAKKworICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZ
UEVfVVJJICYmICFzdHJva2VQYWludGluZ1Jlc291cmNlKSB7CisgICAgICAgIFJlbmRlclNWR1Jl
c291cmNlU29saWRDb2xvciogc29saWRSZXNvdXJjZSA9IHNoYXJlZFNvbGlkUGFpbnRpbmdSZXNv
dXJjZSgpOworICAgICAgICBzdHJva2VQYWludGluZ1Jlc291cmNlID0gc29saWRSZXNvdXJjZTsK
KwogICAgICAgICBDb2xvciBzdHJva2VDb2xvcjsKLSAgICAgICAgaWYgKHBhaW50VHlwZSA9PSBT
VkdQYWludDo6U1ZHX1BBSU5UVFlQRV9DVVJSRU5UQ09MT1IpCisgICAgICAgIGlmIChzdHJva2VQ
YWludC0+cGFpbnRUeXBlKCkgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfQ1VSUkVOVENPTE9S
KQogICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBzdHlsZS0+Y29sb3IoKTsKICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBzdHJva2UtPmNvbG9yKCk7Ci0KLSAgICAgICAg
aWYgKHN0eWxlLT5pbnNpZGVMaW5rKCkgPT0gSW5zaWRlVmlzaXRlZExpbmspIHsKLSAgICAgICAg
ICAgIFJlbmRlclN0eWxlKiB2aXNpdGVkU3R5bGUgPSBzdHlsZS0+Z2V0Q2FjaGVkUHNldWRvU3R5
bGUoVklTSVRFRF9MSU5LKTsKLSAgICAgICAgICAgIFNWR1BhaW50KiB2aXNpdGVkU3Ryb2tlID0g
dmlzaXRlZFN0eWxlLT5zdmdTdHlsZSgpLT5zdHJva2VQYWludCgpOwotICAgICAgICAgICAgQ29s
b3IgdmlzaXRlZFN0cm9rZUNvbG9yOwotICAgICAgICAgICAgaWYgKHZpc2l0ZWRTdHJva2UtPnBh
aW50VHlwZSgpICE9IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSSkgewotICAgICAgICAgICAg
ICAgIGlmICh2aXNpdGVkU3Ryb2tlLT5wYWludFR5cGUoKSA9PSBTVkdQYWludDo6U1ZHX1BBSU5U
VFlQRV9DVVJSRU5UQ09MT1IpCi0gICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRTdHJva2VDb2xv
ciA9IHZpc2l0ZWRTdHlsZS0+Y29sb3IoKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgICAgIHZpc2l0ZWRTdHJva2VDb2xvciA9IHZpc2l0ZWRTdHJva2UtPmNvbG9yKCk7
Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRTdHJva2VDb2xvci5pc1ZhbGlkKCkpCi0gICAg
ICAgICAgICAgICAgICAgIHN0cm9rZUNvbG9yID0gQ29sb3IodmlzaXRlZFN0cm9rZUNvbG9yLnJl
ZCgpLCB2aXNpdGVkU3Ryb2tlQ29sb3IuZ3JlZW4oKSwgdmlzaXRlZFN0cm9rZUNvbG9yLmJsdWUo
KSwgc3Ryb2tlQ29sb3IuYWxwaGEoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAg
ICAgICAgIHN0cm9rZUNvbG9yID0gc3Ryb2tlUGFpbnQtPmNvbG9yKCk7CiAKLSAgICAgICAgc3Ry
b2tlUGFpbnRTZXJ2ZXJTb2xpZC0+c2V0Q29sb3Ioc3Ryb2tlQ29sb3IpOworICAgICAgICBhZGp1
c3RDb2xvckZvclBzZXVkb1J1bGVzKHN0eWxlLCBmYWxzZSAvKiB1c2VGaWxsUGFpbnQgKi8sIHN0
cm9rZUNvbG9yKTsKIAogICAgICAgICAvLyBGSVhNRTogSWRlYWxseSBpbnZhbGlkIGNvbG9ycyB3
b3VsZCBuZXZlciBnZXQgc2V0IG9uIHRoZSBSZW5kZXJTdHlsZSBhbmQgdGhpcyBjb3VsZCB0dXJu
IGludG8gYW4gQVNTRVJUCi0gICAgICAgIGlmICghc3Ryb2tlUGFpbnRTZXJ2ZXJTb2xpZC0+Y29s
b3IoKS5pc1ZhbGlkKCkpCi0gICAgICAgICAgICBzdHJva2VQYWludFNlcnZlciA9IDA7CisgICAg
ICAgIGlmIChzdHJva2VDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgICAgICBzb2xpZFJlc291cmNl
LT5zZXRDb2xvcihzdHJva2VDb2xvcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHN0cm9r
ZVBhaW50aW5nUmVzb3VyY2UgPSAwOwogICAgIH0KLSAgICBpZiAoIXN0cm9rZVBhaW50U2VydmVy
KSB7CisKKyAgICBpZiAoIXN0cm9rZVBhaW50aW5nUmVzb3VyY2UpIHsKICAgICAgICAgLy8gZGVm
YXVsdCB2YWx1ZSAoYmxhY2spLCBzZWUgYnVnIDExMDE3Ci0gICAgICAgIHN0cm9rZVBhaW50U2Vy
dmVyID0gc2hhcmVkU29saWRQYWludFNlcnZlcigpOwotICAgICAgICBzdGF0aWNfY2FzdDxTVkdQ
YWludFNlcnZlclNvbGlkKj4oc3Ryb2tlUGFpbnRTZXJ2ZXIpLT5zZXRDb2xvcihDb2xvcjo6Ymxh
Y2spOworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNvbGlkUmVzb3VyY2Ug
PSBzaGFyZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UoKTsKKyAgICAgICAgc29saWRSZXNvdXJjZS0+
c2V0Q29sb3IoQ29sb3I6OmJsYWNrKTsKKyAgICAgICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9
IHNvbGlkUmVzb3VyY2U7CiAgICAgfQogCi0gICAgcmV0dXJuIHN0cm9rZVBhaW50U2VydmVyOwor
ICAgIHJldHVybiBzdHJva2VQYWludGluZ1Jlc291cmNlOwogfQogCi12b2lkIGFwcGx5U3Ryb2tl
U3R5bGVUb0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZW5kZXJTdHls
ZSogc3R5bGUsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQorUmVuZGVyU1ZHUmVzb3VyY2VT
b2xpZENvbG9yKiBSZW5kZXJTVkdSZXNvdXJjZTo6c2hhcmVkU29saWRQYWludGluZ1Jlc291cmNl
KCkKIHsKLSAgICBjb250ZXh0LT5zZXRTdHJva2VUaGlja25lc3MoU1ZHUmVuZGVyU3R5bGU6OmNz
c1ByaW1pdGl2ZVRvTGVuZ3RoKG9iamVjdCwgc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVdpZHRo
KCksIDEuMGYpKTsKLSAgICBjb250ZXh0LT5zZXRMaW5lQ2FwKHN0eWxlLT5zdmdTdHlsZSgpLT5j
YXBTdHlsZSgpKTsKLSAgICBjb250ZXh0LT5zZXRMaW5lSm9pbihzdHlsZS0+c3ZnU3R5bGUoKS0+
am9pblN0eWxlKCkpOwotICAgIGlmIChzdHlsZS0+c3ZnU3R5bGUoKS0+am9pblN0eWxlKCkgPT0g
TWl0ZXJKb2luKQotICAgICAgICBjb250ZXh0LT5zZXRNaXRlckxpbWl0KHN0eWxlLT5zdmdTdHls
ZSgpLT5zdHJva2VNaXRlckxpbWl0KCkpOwotCi0gICAgY29uc3QgRGFzaEFycmF5JiBkYXNoZXMg
PSBkYXNoQXJyYXlGcm9tUmVuZGVyaW5nU3R5bGUob2JqZWN0LT5zdHlsZSgpLCBvYmplY3QtPmRv
Y3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpKTsKLSAgICBmbG9hdCBk
YXNoT2Zmc2V0ID0gU1ZHUmVuZGVyU3R5bGU6OmNzc1ByaW1pdGl2ZVRvTGVuZ3RoKG9iamVjdCwg
c3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZURhc2hPZmZzZXQoKSwgMC4wZik7Ci0gICAgY29udGV4
dC0+c2V0TGluZURhc2goZGFzaGVzLCBkYXNoT2Zmc2V0KTsKKyAgICBzdGF0aWMgUmVuZGVyU1ZH
UmVzb3VyY2VTb2xpZENvbG9yKiBzX3NoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSA9IDA7Cisg
ICAgaWYgKCFzX3NoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSkKKyAgICAgICAgc19zaGFyZWRT
b2xpZFBhaW50aW5nUmVzb3VyY2UgPSBuZXcgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOwor
ICAgIHJldHVybiBzX3NoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZTsKIH0KIAotYm9vbCBTVkdQ
YWludFNlcnZlcjo6c2V0dXAoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVy
T2JqZWN0KiBvYmplY3QsIFNWR1BhaW50VGFyZ2V0VHlwZSB0eXBlLCBib29sIGlzUGFpbnRpbmdU
ZXh0KSBjb25zdAordm9pZCBSZW5kZXJTVkdSZXNvdXJjZTo6bWFya0ZvckxheW91dEFuZFJlc291
cmNlSW52YWxpZGF0aW9uKFJlbmRlck9iamVjdCogb2JqZWN0KQogewotICAgIHJldHVybiBzZXR1
cChjb250ZXh0LCBvYmplY3QsIG9iamVjdCA/IG9iamVjdC0+c3R5bGUoKSA6IDAsIHR5cGUsIGlz
UGFpbnRpbmdUZXh0KTsKLX0KKyAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBBU1NFUlQob2JqZWN0
LT5ub2RlKCkpOworICAgIEFTU0VSVChvYmplY3QtPm5vZGUoKS0+aXNTVkdFbGVtZW50KCkpOwog
Ci12b2lkIFNWR1BhaW50U2VydmVyOjpkcmF3KEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIGNv
bnN0IFJlbmRlck9iamVjdCogcGF0aCwgU1ZHUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0Ci17
Ci0gICAgaWYgKCFzZXR1cChjb250ZXh0LCBwYXRoLCB0eXBlKSkKLSAgICAgICAgcmV0dXJuOwor
ICAgIC8vIE1hcmsgdGhlIHJlbmRlcmVyIGZvciBsYXlvdXQKKyAgICBvYmplY3QtPnNldE5lZWRz
TGF5b3V0KHRydWUpOwogCi0gICAgcmVuZGVyUGF0aChjb250ZXh0LCBwYXRoLCB0eXBlKTsKLSAg
ICB0ZWFyZG93bihjb250ZXh0LCBwYXRoLCB0eXBlKTsKLX0KLQotdm9pZCBTVkdQYWludFNlcnZl
cjo6cmVuZGVyUGF0aChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBjb25zdCBSZW5kZXJPYmpl
Y3QqIHBhdGgsIFNWR1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdAotewotICAgIGNvbnN0IFNW
R1JlbmRlclN0eWxlKiBzdHlsZSA9IHBhdGggPyBwYXRoLT5zdHlsZSgpLT5zdmdTdHlsZSgpIDog
MDsKLQotICAgIGlmICgodHlwZSAmIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSkgJiYgKCFzdHlsZSB8
fCBzdHlsZS0+aGFzRmlsbCgpKSkKLSAgICAgICAgY29udGV4dC0+ZmlsbFBhdGgoKTsKKyAgICAv
LyBOb3RpZnkgYW55IHJlc291cmNlcyBpbiB0aGUgYW5jZXN0b3IgY2hhaW4sIHRoYXQgd2UndmUg
YmVlbiBpbnZhbGlkYXRlZAorICAgIFNWR0VsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxT
VkdFbGVtZW50Kj4ob2JqZWN0LT5ub2RlKCkpOworICAgIGlmICghZWxlbWVudC0+aXNTdHlsZWQo
KSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCh0eXBlICYgQXBwbHlUb1N0cm9rZVRhcmdl
dFR5cGUpICYmICghc3R5bGUgfHwgc3R5bGUtPmhhc1N0cm9rZSgpKSkKLSAgICAgICAgY29udGV4
dC0+c3Ryb2tlUGF0aCgpOworICAgIHN0YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihlbGVt
ZW50KS0+aW52YWxpZGF0ZVJlc291cmNlc0luQW5jZXN0b3JDaGFpbigpOwogfQogCi0jaWYgUExB
VEZPUk0oU0tJQSkKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXI6OnRlYXJkb3duKEdyYXBoaWNzQ29udGV4
dComIGNvbnRleHQsIGNvbnN0IFJlbmRlck9iamVjdCosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9v
bCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogTW92ZSB0aGlzIGludG8gdGhlIEdyYXBoaWNzQ29u
dGV4dAotICAgIC8vIFdlYktpdCBpbXBsaWNpdGx5IGV4cGVjdHMgdXMgdG8gcmVzZXQgdGhlIHBh
dGguCi0gICAgLy8gRm9yIGV4YW1wbGUgaW4gZmlsbEFuZFN0cm9rZVBhdGgoKSBvZiBSZW5kZXJQ
YXRoLmNwcCB0aGUgcGF0aCBpcyAKLSAgICAvLyBhZGRlZCBiYWNrIHRvIHRoZSBjb250ZXh0IGFm
dGVyIGZpbGxpbmcuIFRoaXMgaXMgYmVjYXVzZSBpbnRlcm5hbGx5IGl0Ci0gICAgLy8gY2FsbHMg
Q0dDb250ZXh0RmlsbFBhdGgoKSB3aGljaCBjbG9zZXMgdGhlIHBhdGguCi0gICAgY29udGV4dC0+
YmVnaW5QYXRoKCk7Ci0gICAgY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPnNldEZpbGxTaGFk
ZXIoMCk7Ci0gICAgY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPnNldFN0cm9rZVNoYWRlcigw
KTsKIH0KLSNlbHNlCi12b2lkIFNWR1BhaW50U2VydmVyOjp0ZWFyZG93bihHcmFwaGljc0NvbnRl
eHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sKSBjb25z
dAotewotfQotI2VuZGlmCi0KLURhc2hBcnJheSBkYXNoQXJyYXlGcm9tUmVuZGVyaW5nU3R5bGUo
Y29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKQotewotICAg
IERhc2hBcnJheSBhcnJheTsKLSAgICAKLSAgICBDU1NWYWx1ZUxpc3QqIGRhc2hlcyA9IHN0eWxl
LT5zdmdTdHlsZSgpLT5zdHJva2VEYXNoQXJyYXkoKTsKLSAgICBpZiAoZGFzaGVzKSB7Ci0gICAg
ICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBkYXNoID0gMDsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBs
ZW4gPSBkYXNoZXMtPmxlbmd0aCgpOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGxvbmcgaSA9IDA7
IGkgPCBsZW47IGkrKykgewotICAgICAgICAgICAgZGFzaCA9IHN0YXRpY19jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlKj4oZGFzaGVzLT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKGkpKTsKLSAgICAgICAg
ICAgIGlmICghZGFzaCkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAg
YXJyYXkuYXBwZW5kKChmbG9hdCkgZGFzaC0+Y29tcHV0ZUxlbmd0aEZsb2F0KGNvbnN0X2Nhc3Q8
UmVuZGVyU3R5bGUqPihzdHlsZSksIHJvb3RTdHlsZSkpOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgcmV0dXJuIGFycmF5OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZS5oCShyZXZpc2lvbiA1ODE1OSkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTIyLDY0ICsyMiw0NyBAQAogI2RlZmluZSBSZW5kZXJTVkdSZXNvdXJjZV9oCiAKICNpZiBF
TkFCTEUoU1ZHKQotI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgotI2luY2x1ZGUgIlJlbmRlclNWR0hp
ZGRlbkNvbnRhaW5lci5oIgorI2luY2x1ZGUgIlNWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIHsKICAgICBN
YXNrZXJSZXNvdXJjZVR5cGUsCiAgICAgTWFya2VyUmVzb3VyY2VUeXBlLAorICAgIFBhdHRlcm5S
ZXNvdXJjZVR5cGUsCisgICAgTGluZWFyR3JhZGllbnRSZXNvdXJjZVR5cGUsCisgICAgUmFkaWFs
R3JhZGllbnRSZXNvdXJjZVR5cGUsCisgICAgU29saWRDb2xvclJlc291cmNlVHlwZSwKICAgICBG
aWx0ZXJSZXNvdXJjZVR5cGUsCiAgICAgQ2xpcHBlclJlc291cmNlVHlwZQogfTsKIAotY2xhc3Mg
UmVuZGVyU1ZHUmVzb3VyY2UgOiBwdWJsaWMgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHsKK2Vu
dW0gUmVuZGVyU1ZHUmVzb3VyY2VNb2RlIHsKKyAgICBBcHBseVRvRGVmYXVsdE1vZGUgPSAxIDw8
IDAsIC8vIHVzZWQgZm9yIGFsbCByZXNvdXJjZXMgZXhjZXB0IGdyYWRpZW50L3BhdHRlcm4KKyAg
ICBBcHBseVRvRmlsbE1vZGUgICAgPSAxIDw8IDEsCisgICAgQXBwbHlUb1N0cm9rZU1vZGUgID0g
MSA8PCAyLAorICAgIEFwcGx5VG9UZXh0TW9kZSAgICA9IDEgPDwgMyAgLy8gdXNlZCBpbiBjb21i
aW5hdGlvbiB3aXRoIEFwcGx5VG97RmlsbHxTdHJva2V9TW9kZQorfTsKKworY2xhc3MgRmxvYXRS
ZWN0OworY2xhc3MgR3JhcGhpY3NDb250ZXh0OworY2xhc3MgUmVuZGVyT2JqZWN0OworY2xhc3Mg
UmVuZGVyU3R5bGU7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I7CisKK2NsYXNz
IFJlbmRlclNWR1Jlc291cmNlIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJTVkdSZXNvdXJjZShTVkdT
dHlsZWRFbGVtZW50KiBub2RlKQotICAgICAgICA6IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcihu
b2RlKQotICAgICAgICAsIG1faWQobm9kZS0+Z2V0SURBdHRyaWJ1dGUoKSkKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVChub2RlLT5kb2N1bWVudCgpKTsKLSAgICAgICAgbm9kZS0+ZG9jdW1lbnQoKS0+
YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRSZXNvdXJjZShtX2lkLCB0aGlzKTsKLSAgICB9Cisg
ICAgUmVuZGVyU1ZHUmVzb3VyY2UoKSB7IH0KKyAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJj
ZSgpIHsgfQogCi0gICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2UoKQotICAgIHsKLSAgICAg
ICAgQVNTRVJUKG5vZGUoKSk7Ci0gICAgICAgIEFTU0VSVChub2RlKCktPmRvY3VtZW50KCkpOwot
ICAgICAgICBub2RlKCktPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVtb3Zl
UmVzb3VyY2UobV9pZCk7Ci0gICAgfQorICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50
cygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmplY3Qq
KSA9IDA7CiAKLSAgICB2b2lkIGlkQ2hhbmdlZCgpCi0gICAgewotICAgICAgICBBU1NFUlQobm9k
ZSgpKTsKLSAgICAgICAgQVNTRVJUKG5vZGUoKS0+ZG9jdW1lbnQoKSk7Ci0gICAgICAgIFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IG5vZGUoKS0+ZG9jdW1lbnQoKS0+YWNjZXNz
U1ZHRXh0ZW5zaW9ucygpOwotCi0gICAgICAgIC8vIFJlbW92ZSBvbGQgaWQsIHRoYXQgaXMgZ3Vh
cmFudGVlZCB0byBiZSBwcmVzZW50IGluIGNhY2hlCi0gICAgICAgIGV4dGVuc2lvbnMtPnJlbW92
ZVJlc291cmNlKG1faWQpOwotCi0gICAgICAgIG1faWQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4o
bm9kZSgpKS0+Z2V0SURBdHRyaWJ1dGUoKTsKLQotICAgICAgICAvLyBJdCdzIHBvc3NpYmxlIHRo
YXQgYW4gZWxlbWVudCBpcyByZWZlcmVuY2luZyB1cyB3aXRoIHRoZSBuZXcgaWQsIGFuZCBoYXMg
dG8gYmUgbm90aWZpZWQgdGhhdCB3ZSdyZSBleGlzdGluZyBub3cKLSAgICAgICAgaWYgKGV4dGVu
c2lvbnMtPmlzUGVuZGluZ1Jlc291cmNlKG1faWQpKSB7Ci0gICAgICAgICAgICBPd25QdHI8SGFz
aFNldDxTVkdTdHlsZWRFbGVtZW50Kj4gPiBjbGllbnRzKGV4dGVuc2lvbnMtPnJlbW92ZVBlbmRp
bmdSZXNvdXJjZShtX2lkKSk7Ci0gICAgICAgICAgICBpZiAoY2xpZW50cy0+aXNFbXB0eSgpKQot
ICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgSGFzaFNldDxTVkdTdHlsZWRF
bGVtZW50Kj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gY2xpZW50cy0+YmVnaW4oKTsKLSAgICAgICAg
ICAgIGNvbnN0IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBlbmQg
PSBjbGllbnRzLT5lbmQoKTsKLQotICAgICAgICAgICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkg
ewotICAgICAgICAgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gKCppdCktPnJl
bmRlcmVyKCkpCi0gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLT5zZXROZWVkc0xheW91dCh0
cnVlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgIHZpcnR1YWwgYm9vbCBhcHBseVJl
c291cmNlKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYsIHVu
c2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwb3N0QXBw
bHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hv
cnQpIHsgfQorICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91bmRpbmdCb3goY29uc3Qg
RmxvYXRSZWN0JikgY29uc3QgPSAwOwogCi0gICAgICAgIC8vIFJlY2FjaGUgdXMgd2l0aCB0aGUg
bmV3IGlkCi0gICAgICAgIGV4dGVuc2lvbnMtPmFkZFJlc291cmNlKG1faWQsIHRoaXMpOwotICAg
IH0KKyAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25z
dCA9IDA7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBSZW5kZXJlcj4KICAgICBSZW5kZXJlciogY2Fz
dCgpCkBAIC05MCwzNSArNzMsMTUgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gMDsKICAgICB9
CiAKLSAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291cmNlKiB0b1JlbmRlclNWR1Jlc291cmNlKCkg
eyByZXR1cm4gdGhpczsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1NWR1Jlc291cmNlKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBkcmF3c0NvbnRlbnRzKCkgeyByZXR1
cm4gZmFsc2U7IH0KKyAgICAvLyBIZWxwZXIgdXRpbGl0aWVzIHVzZWQgaW4gdGhlIHJlbmRlciB0
cmVlIHRvIGFjY2VzcyByZXNvdXJjZXMgdXNlZCBmb3IgcGFpbnRpbmcgc2hhcGVzL3RleHQgKGdy
YWRpZW50cyAmIHBhdHRlcm5zIG9ubHkpCisgICAgc3RhdGljIFJlbmRlclNWR1Jlc291cmNlKiBm
aWxsUGFpbnRpbmdSZXNvdXJjZShjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHls
ZSopOworICAgIHN0YXRpYyBSZW5kZXJTVkdSZXNvdXJjZSogc3Ryb2tlUGFpbnRpbmdSZXNvdXJj
ZShjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSopOworICAgIHN0YXRpYyBS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSgp
OwogCi0gICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnRzKCkgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50KFJlbmRlck9iamVjdCopID0gMDsKLQotICAgIHZpcnR1
YWwgYm9vbCBhcHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComKSA9
IDA7Ci0gICAgdmlydHVhbCB2b2lkIHBvc3RBcHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIEdy
YXBoaWNzQ29udGV4dComKSB7IH0KLSAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXNvdXJjZUJvdW5k
aW5nQm94KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0ID0gMDsKLQotICAgIHZpcnR1YWwgUmVuZGVy
U1ZHUmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0ID0gMDsKLQotcHJpdmF0ZToKLSAg
ICBBdG9taWNTdHJpbmcgbV9pZDsKK3Byb3RlY3RlZDoKKyAgICB2b2lkIG1hcmtGb3JMYXlvdXRB
bmRSZXNvdXJjZUludmFsaWRhdGlvbihSZW5kZXJPYmplY3QqKTsKIH07CiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFJlbmRlcmVyPgotUmVuZGVyZXIqIGdldFJlbmRlclNWR1Jlc291cmNlQnlJZChEb2N1
bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQpCi17Ci0gICAgaWYgKGlkLmlz
RW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2Uq
IHJlbmRlclJlc291cmNlID0gZG9jdW1lbnQtPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVzb3Vy
Y2VCeUlkKGlkKSkKLSAgICAgICAgcmV0dXJuIHJlbmRlclJlc291cmNlLT5jYXN0PFJlbmRlcmVy
PigpOwotCi0gICAgcmV0dXJuIDA7Ci19Ci0KIH0KIAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHAJKHJldmlzaW9uIDU4MTU5
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDMsOCArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFJlbmRl
clNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OnNfcmVzb3VyY2VUeXBl
ID0gQ2xpcHBlclJlc291cmNlVHlwZTsKIAotUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjpSZW5k
ZXJTVkdSZXNvdXJjZUNsaXBwZXIoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKLSAgICA6IFJlbmRl
clNWR1Jlc291cmNlKG5vZGUpCitSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OlJlbmRlclNWR1Jl
c291cmNlQ2xpcHBlcihTVkdDbGlwUGF0aEVsZW1lbnQqIG5vZGUpCisgICAgOiBSZW5kZXJTVkdS
ZXNvdXJjZUNvbnRhaW5lcihub2RlKQogewogfQogCkBAIC03OCwxMCArNzgsMTQgQEAgdm9pZCBS
ZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmludmFsaWRhdAogICAgICAgICByZXR1cm47CiAKICAg
ICBkZWxldGUgbV9jbGlwcGVyLnRha2Uob2JqZWN0KTsKKyAgICBtYXJrRm9yTGF5b3V0QW5kUmVz
b3VyY2VJbnZhbGlkYXRpb24ob2JqZWN0KTsKIH0KIAotYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIEdyYXBoaWNzQ29udGV4
dComIGNvbnRleHQpCitib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6YXBwbHlSZXNvdXJj
ZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqLCBHcmFwaGljc0NvbnRleHQqJiBj
b250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpCiB7CisgICAgQVNTRVJUKG9iamVj
dCk7CisgICAgQVNTRVJUKGNvbnRleHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUgPT0gQXBw
bHlUb0RlZmF1bHRNb2RlKTsKICAgICBhcHBseUNsaXBwaW5nVG9Db250ZXh0KG9iamVjdCwgb2Jq
ZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpLCBvYmplY3QtPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzKCksIGNvbnRleHQpOwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQyLDkgKzE0Niw2
IEBAIGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjpwYXRoT25seUMKIGJvb2wgUmVuZGVy
U1ZHUmVzb3VyY2VDbGlwcGVyOjphcHBseUNsaXBwaW5nVG9Db250ZXh0KFJlbmRlck9iamVjdCog
b2JqZWN0LCBjb25zdCBGbG9hdFJlY3QmIG9iamVjdEJvdW5kaW5nQm94LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRSZWN0
JiByZXBhaW50UmVjdCwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KQogewotICAgIEFTU0VSVChv
YmplY3QpOwotICAgIEFTU0VSVChjb250ZXh0KTsKLQogICAgIGlmICghbV9jbGlwcGVyLmNvbnRh
aW5zKG9iamVjdCkpCiAgICAgICAgIG1fY2xpcHBlci5zZXQob2JqZWN0LCBuZXcgQ2xpcHBlckRh
dGEpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBw
ZXIuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZUNsaXBwZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUg
IkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIlBhdGguaCIK
LSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyLmgiCiAjaW5jbHVkZSAiU1ZHQ2xpcFBhdGhFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiU1ZHVW5pdFR5cGVzLmgiCiAKQEAgLTQwLDEwICs0MCw5IEBAIHN0cnVjdCBDbGlwcGVyRGF0
YSB7CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwogfTsKIAotY2xhc3Mg
UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlIHsKLQor
Y2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIoU1ZHU3R5
bGVkRWxlbWVudCopOworICAgIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcihTVkdDbGlwUGF0aEVs
ZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIoKTsKIAogICAg
IHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJT
VkdSZXNvdXJjZUNsaXBwZXIiOyB9CkBAIC01MSw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudHMoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0
ZUNsaWVudChSZW5kZXJPYmplY3QqKTsKIAotICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291cmNl
KFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComKTsKKyAgICB2aXJ0dWFsIGJvb2wgYXBw
bHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSosIEdyYXBoaWNzQ29udGV4dCom
LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpOwogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJl
c291cmNlQm91bmRpbmdCb3goY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKICAgICB2aXJ0dWFs
IFJlbmRlclNWR1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25zdCB7IHJldHVybiBDbGlw
cGVyUmVzb3VyY2VUeXBlOyB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZUNvbnRhaW5lci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyLmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExMSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXJfaAorI2RlZmluZSBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcl9oCisKKyNpZiBFTkFCTEUo
U1ZHKQorI2luY2x1ZGUgIlJlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oIgorI2luY2x1ZGUgIlJl
bmRlclNWR1Jlc291cmNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIgOiBwdWJsaWMgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVuZGVyU1ZHUmVzb3Vy
Y2UgeworcHVibGljOgorICAgIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKFNWR1N0eWxlZEVs
ZW1lbnQqIG5vZGUpCisgICAgICAgIDogUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyKG5vZGUpCisg
ICAgICAgICwgUmVuZGVyU1ZHUmVzb3VyY2UoKQorICAgICAgICAsIG1faWQobm9kZS0+Z2V0SURB
dHRyaWJ1dGUoKSkKKyAgICB7CisgICAgICAgIEFTU0VSVChub2RlLT5kb2N1bWVudCgpKTsKKyAg
ICAgICAgbm9kZS0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRSZXNvdXJj
ZShtX2lkLCB0aGlzKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lcigpCisgICAgeworICAgICAgICBBU1NFUlQobm9kZSgpKTsKKyAgICAgICAgQVNTRVJU
KG5vZGUoKS0+ZG9jdW1lbnQoKSk7CisgICAgICAgIG5vZGUoKS0+ZG9jdW1lbnQoKS0+YWNjZXNz
U1ZHRXh0ZW5zaW9ucygpLT5yZW1vdmVSZXNvdXJjZShtX2lkKTsKKyAgICB9CisKKyAgICB2b2lk
IGlkQ2hhbmdlZCgpCisgICAgeworICAgICAgICBBU1NFUlQobm9kZSgpKTsKKyAgICAgICAgQVNT
RVJUKG5vZGUoKS0+ZG9jdW1lbnQoKSk7CisgICAgICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyog
ZXh0ZW5zaW9ucyA9IG5vZGUoKS0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpOwor
CisgICAgICAgIC8vIFJlbW92ZSBvbGQgaWQsIHRoYXQgaXMgZ3VhcmFudGVlZCB0byBiZSBwcmVz
ZW50IGluIGNhY2hlCisgICAgICAgIGV4dGVuc2lvbnMtPnJlbW92ZVJlc291cmNlKG1faWQpOwor
CisgICAgICAgIG1faWQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSgpKS0+Z2V0SURBdHRy
aWJ1dGUoKTsKKworICAgICAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgYW4gZWxlbWVudCBpcyBy
ZWZlcmVuY2luZyB1cyB3aXRoIHRoZSBuZXcgaWQsIGFuZCBoYXMgdG8gYmUgbm90aWZpZWQgdGhh
dCB3ZSdyZSBleGlzdGluZyBub3cKKyAgICAgICAgaWYgKGV4dGVuc2lvbnMtPmlzUGVuZGluZ1Jl
c291cmNlKG1faWQpKSB7CisgICAgICAgICAgICBPd25QdHI8SGFzaFNldDxTVkdTdHlsZWRFbGVt
ZW50Kj4gPiBjbGllbnRzKGV4dGVuc2lvbnMtPnJlbW92ZVBlbmRpbmdSZXNvdXJjZShtX2lkKSk7
CisgICAgICAgICAgICBpZiAoY2xpZW50cy0+aXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICAgICAgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj46OmNvbnN0X2l0
ZXJhdG9yIGl0ID0gY2xpZW50cy0+YmVnaW4oKTsKKyAgICAgICAgICAgIGNvbnN0IEhhc2hTZXQ8
U1ZHU3R5bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBjbGllbnRzLT5lbmQoKTsK
KworICAgICAgICAgICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICAgICAgICAg
IGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gKCppdCktPnJlbmRlcmVyKCkpCisgICAgICAg
ICAgICAgICAgICAgIHJlbmRlcmVyLT5zZXROZWVkc0xheW91dCh0cnVlKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIFJlY2FjaGUgdXMgd2l0aCB0aGUgbmV3IGlkCisg
ICAgICAgIGV4dGVuc2lvbnMtPmFkZFJlc291cmNlKG1faWQsIHRoaXMpOworICAgIH0KKworICAg
IHZpcnR1YWwgYm9vbCBpc1NWR1Jlc291cmNlQ29udGFpbmVyKCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBkcmF3c0NvbnRlbnRzKCkgeyByZXR1cm4gZmFsc2U7IH0K
KworICAgIHZpcnR1YWwgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHRvUmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXIoKSB7IHJldHVybiB0aGlzOyB9CisKK3ByaXZhdGU6CisgICAgQXRvbWlj
U3RyaW5nIG1faWQ7Cit9OworCitpbmxpbmUgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIGdl
dFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyQnlJZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0
IEF0b21pY1N0cmluZyYgaWQpCit7CisgICAgaWYgKGlkLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHJlbmRlclJlc291
cmNlID0gZG9jdW1lbnQtPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVzb3VyY2VCeUlkKGlkKSkK
KyAgICAgICAgcmV0dXJuIHJlbmRlclJlc291cmNlOworCisgICAgcmV0dXJuIDA7Cit9CisKK3Rl
bXBsYXRlPHR5cGVuYW1lIFJlbmRlcmVyPgorUmVuZGVyZXIqIGdldFJlbmRlclNWR1Jlc291cmNl
QnlJZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQpCit7CisgICAg
aWYgKFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBjb250YWluZXIgPSBnZXRSZW5kZXJTVkdS
ZXNvdXJjZUNvbnRhaW5lckJ5SWQoZG9jdW1lbnQsIGlkKSkKKyAgICAgICAgcmV0dXJuIGNvbnRh
aW5lci0+Y2FzdDxSZW5kZXJlcj4oKTsKKworICAgIHJldHVybiAwOworfQorCit9CisKKyNlbmRp
ZgorI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXIuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlRmlsdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsOCArNTIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIFJlbmRlclNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlcjo6c19yZXNvdXJjZVR5cGUgPSBGaWx0ZXJSZXNvdXJjZVR5cGU7CiAKLVJlbmRlclNW
R1Jlc291cmNlRmlsdGVyOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcihTVkdTdHlsZWRFbGVtZW50
KiBub2RlKQotICAgIDogUmVuZGVyU1ZHUmVzb3VyY2Uobm9kZSkKK1JlbmRlclNWR1Jlc291cmNl
RmlsdGVyOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcihTVkdGaWx0ZXJFbGVtZW50KiBub2RlKQor
ICAgIDogUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKICAgICAsIG1fc2F2ZWRDb250
ZXh0KDApCiAgICAgLCBtX3NvdXJjZUdyYXBoaWNCdWZmZXIoMCkKIHsKQEAgLTg4LDcgKzg4LDgg
QEAgdm9pZCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6aW52YWxpZGF0ZQogICAgIGlmICghbV9m
aWx0ZXIuY29udGFpbnMob2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZGVsZXRlIG1f
ZmlsdGVyLnRha2Uob2JqZWN0KTsgCisgICAgZGVsZXRlIG1fZmlsdGVyLnRha2Uob2JqZWN0KTsK
KyAgICBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24ob2JqZWN0KTsKIH0KIAog
UGFzc093blB0cjxTVkdGaWx0ZXJCdWlsZGVyPiBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YnVp
bGRQcmltaXRpdmVzKCkKQEAgLTEzNCwxMCArMTM1LDExIEBAIGJvb2wgUmVuZGVyU1ZHUmVzb3Vy
Y2VGaWx0ZXI6OmZpdHNJbk1heGkKICAgICByZXR1cm4gbWF0Y2hlc0ZpbHRlclNpemU7CiB9CiAK
LWJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0
KiBvYmplY3QsIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQpCitib29sIFJlbmRlclNWR1Jlc291
cmNlRmlsdGVyOjphcHBseVJlc291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBSZW5kZXJTdHls
ZSosIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9k
ZSkKIHsKICAgICBBU1NFUlQob2JqZWN0KTsKICAgICBBU1NFUlQoY29udGV4dCk7CisgICAgQVNT
RVJUKHJlc291cmNlTW9kZSA9PSBBcHBseVRvRGVmYXVsdE1vZGUpOwogCiAgICAgLy8gUmV0dXJu
aW5nIGZhbHNlIGhlcmUsIHRvIGF2b2lkIGRyYXdpbmdzIG9udG8gdGhlIGNvbnRleHQuIFdlIGp1
c3Qgd2FudCB0bwogICAgIC8vIGRyYXcgdGhlIHN0b3JlZCBmaWx0ZXIgb3V0cHV0LCBub3QgdGhl
IHVuZmlsdGVyZWQgb2JqZWN0IGFzIHdlbGwuCkBAIC0yMjgsMTAgKzIzMCwxMSBAQCBib29sIFJl
bmRlclNWR1Jlc291cmNlRmlsdGVyOjphcHBseVJlc291CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LXZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKFJlbmRlck9i
amVjdCogb2JqZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0KQordm9pZCBSZW5kZXJTVkdS
ZXNvdXJjZUZpbHRlcjo6cG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIEdy
YXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkKIHsK
ICAgICBBU1NFUlQob2JqZWN0KTsKICAgICBBU1NFUlQoY29udGV4dCk7CisgICAgQVNTRVJUKHJl
c291cmNlTW9kZSA9PSBBcHBseVRvRGVmYXVsdE1vZGUpOwogCiAgICAgaWYgKCFtX2ZpbHRlci5j
b250YWlucyhvYmplY3QpKQogICAgICAgICByZXR1cm47CkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsNyBAQAogI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShGSUxURVJTKQogI2luY2x1
ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiUmVu
ZGVyU1ZHUmVzb3VyY2UuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5o
IgogI2luY2x1ZGUgIlNWR0ZpbHRlci5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlckJ1aWxkZXIuaCIK
ICNpbmNsdWRlICJTVkdGaWx0ZXJFbGVtZW50LmgiCkBAIC01NSw5ICs1NSw5IEBAIHN0cnVjdCBG
aWx0ZXJEYXRhIHsKIAogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogCi1jbGFzcyBSZW5kZXJTVkdS
ZXNvdXJjZUZpbHRlciA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZSB7CitjbGFzcyBSZW5kZXJT
VkdSZXNvdXJjZUZpbHRlciA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CiBw
dWJsaWM6Ci0gICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIoU1ZHU3R5bGVkRWxlbWVudCopOwor
ICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyKFNWR0ZpbHRlckVsZW1lbnQqKTsKICAgICB2aXJ0
dWFsIH5SZW5kZXJTVkdSZXNvdXJjZUZpbHRlcigpOwogCiAgICAgdmlydHVhbCBjb25zdCBjaGFy
KiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR1Jlc291cmNlRmlsdGVyIjsg
fQpAQCAtNjUsOCArNjUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVD
bGllbnRzKCk7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnQoUmVuZGVyT2JqZWN0
Kik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFw
aGljc0NvbnRleHQqJik7Ci0gICAgdmlydHVhbCB2b2lkIHBvc3RBcHBseVJlc291cmNlKFJlbmRl
ck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComKTsKKyAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNv
dXJjZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSosIEdyYXBoaWNzQ29udGV4dComLCB1bnNp
Z25lZCBzaG9ydCByZXNvdXJjZU1vZGUpOworICAgIHZpcnR1YWwgdm9pZCBwb3N0QXBwbHlSZXNv
dXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVz
b3VyY2VNb2RlKTsKIAogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91bmRpbmdCb3go
Y29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlR3JhZGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yLDI3ICsyLDIzIEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJt
YW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgKiAgICAgICAgICAgICAgIDIwMDggRXJpYyBTZWlk
ZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAqICAgICAgICAgICAgICAgMjAwOCBEaXJrIFNjaHVsemUg
PGtyaXRAd2Via2l0Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExp
bWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMzAs
OTAgKzI2LDUwIEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJj
ZUdyYWRpZW50LmgiCiAKLSNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24uaCIKICNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgotI2luY2x1ZGUgIlJl
bmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQu
aCIKLSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgiCi0jaW5jbHVk
ZSAiUmVuZGVyVmlldy5oIgotI2luY2x1ZGUgIlNWR0dyYWRpZW50RWxlbWVudC5oIgorI2luY2x1
ZGUgIkdyYWRpZW50QXR0cmlidXRlcy5oIgogI2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIK
LSNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBzdGQ7
CisjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIEdyYWRpZW50U3By
ZWFkTWV0aG9kIG0pCi17Ci0gICAgc3dpdGNoIChtKSB7Ci0gICAgICAgIGNhc2UgU3ByZWFkTWV0
aG9kUGFkOgotICAgICAgICAgICAgdHMgPDwgIlBBRCI7IGJyZWFrOwotICAgICAgICBjYXNlIFNw
cmVhZE1ldGhvZFJlcGVhdDoKLSAgICAgICAgICAgIHRzIDw8ICJSRVBFQVQiOyBicmVhazsKLSAg
ICAgICAgY2FzZSBTcHJlYWRNZXRob2RSZWZsZWN0OgotICAgICAgICAgICAgdHMgPDwgIlJFRkxF
Q1QiOyBicmVhazsKLSAgICB9Ci0KLSAgICByZXR1cm4gdHM7Ci19Ci0KLXN0YXRpYyBUZXh0U3Ry
ZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRT
dG9wPiYgbCkKLXsKLSAgICB0cyA8PCAiWyI7Ci0gICAgZm9yIChWZWN0b3I8U1ZHR3JhZGllbnRT
dG9wPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBsLmJlZ2luKCk7IGl0ICE9IGwuZW5kKCk7ICsraXQp
IHsKLSAgICAgICAgdHMgPDwgIigiIDw8IGl0LT5maXJzdCA8PCAiLCIgPDwgaXQtPnNlY29uZCA8
PCAiKSI7Ci0gICAgICAgIGlmIChpdCArIDEgIT0gbC5lbmQoKSkKLSAgICAgICAgICAgIHRzIDw8
ICIsICI7Ci0gICAgfQotICAgIHRzIDw8ICJdIjsKLSAgICByZXR1cm4gdHM7Ci19Ci0KLVNWR1Bh
aW50U2VydmVyR3JhZGllbnQ6OlNWR1BhaW50U2VydmVyR3JhZGllbnQoY29uc3QgU1ZHR3JhZGll
bnRFbGVtZW50KiBvd25lcikKLSAgICA6IG1fYm91bmRpbmdCb3hNb2RlKHRydWUpCi0gICAgLCBt
X293bmVyRWxlbWVudChvd25lcikKK1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OlJlbmRlclNW
R1Jlc291cmNlR3JhZGllbnQoU1ZHR3JhZGllbnRFbGVtZW50KiBub2RlKQorICAgIDogUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKICNpZiBQTEFURk9STShDRykKICAgICAsIG1fc2F2
ZWRDb250ZXh0KDApCi0gICAgLCBtX2ltYWdlQnVmZmVyKDApCiAjZW5kaWYKIHsKLSAgICBBU1NF
UlQob3duZXIpOwotfQotCi1TVkdQYWludFNlcnZlckdyYWRpZW50Ojp+U1ZHUGFpbnRTZXJ2ZXJH
cmFkaWVudCgpCi17CiB9CiAKLUdyYWRpZW50KiBTVkdQYWludFNlcnZlckdyYWRpZW50OjpncmFk
aWVudCgpIGNvbnN0CitSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudCgpCiB7Ci0gICAgcmV0dXJuIG1fZ3JhZGllbnQuZ2V0KCk7CisgICAgZGVsZXRl
QWxsVmFsdWVzKG1fZ3JhZGllbnQpOworICAgIG1fZ3JhZGllbnQuY2xlYXIoKTsKIH0KIAotdm9p
ZCBTVkdQYWludFNlcnZlckdyYWRpZW50OjpzZXRHcmFkaWVudChQYXNzUmVmUHRyPEdyYWRpZW50
PiBncmFkaWVudCkKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6aW52YWxpZGF0ZUNs
aWVudHMoKQogewotICAgIG1fZ3JhZGllbnQgPSBncmFkaWVudDsKLX0KKyAgICBjb25zdCBIYXNo
TWFwPFJlbmRlck9iamVjdCosIEdyYWRpZW50RGF0YSo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBt
X2dyYWRpZW50LmVuZCgpOworICAgIGZvciAoSGFzaE1hcDxSZW5kZXJPYmplY3QqLCBHcmFkaWVu
dERhdGEqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2dyYWRpZW50LmJlZ2luKCk7IGl0ICE9IGVu
ZDsgKytpdCkKKyAgICAgICAgbWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKGl0
LT5maXJzdCk7CiAKLWJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6Ym91bmRpbmdCb3hNb2Rl
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9ib3VuZGluZ0JveE1vZGU7CisgICAgZGVsZXRlQWxs
VmFsdWVzKG1fZ3JhZGllbnQpOworICAgIG1fZ3JhZGllbnQuY2xlYXIoKTsKIH0KIAotdm9pZCBT
VkdQYWludFNlcnZlckdyYWRpZW50OjpzZXRCb3VuZGluZ0JveE1vZGUoYm9vbCBtb2RlKQordm9p
ZCBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50OjppbnZhbGlkYXRlQ2xpZW50KFJlbmRlck9iamVj
dCogb2JqZWN0KQogewotICAgIG1fYm91bmRpbmdCb3hNb2RlID0gbW9kZTsKLX0KKyAgICBBU1NF
UlQob2JqZWN0KTsKIAotQWZmaW5lVHJhbnNmb3JtIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6Omdy
YWRpZW50VHJhbnNmb3JtKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9ncmFkaWVudFRyYW5zZm9y
bTsKLX0KKyAgICAvLyBGSVhNRTogVGhlIEhhc2hNYXAgc2hvdWxkIGFsd2F5cyBjb250YWluIHRo
ZSBvYmplY3Qgb24gY2FsbGluZyBpbnZhbGlkYXRlQ2xpZW50LiBBIHJhY2UgY29uZGl0aW9uCisg
ICAgLy8gZHVyaW5nIHRoZSBwYXJzaW5nIGNhbiBjYXVzZXMgYSBjYWxsIG9mIGludmFsaWRhdGVD
bGllbnQgcmlnaHQgYmVmb3JlIHRoZSBjYWxsIG9mIGFwcGx5UmVzb3VyY2UuCisgICAgLy8gV2Ug
cmV0dXJuIGVhcmxpZXIgZm9yIHRoZSBtb21lbnQuIFRoaXMgYnVnIHNob3VsZCBiZSBmaXhlZCBp
bjoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUxODEK
KyAgICBpZiAoIW1fZ3JhZGllbnQuY29udGFpbnMob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuOwog
Ci12b2lkIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldEdyYWRpZW50VHJhbnNmb3JtKGNvbnN0
IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQotewotICAgIG1fZ3JhZGllbnRUcmFuc2Zvcm0g
PSB0cmFuc2Zvcm07CisgICAgZGVsZXRlIG1fZ3JhZGllbnQudGFrZShvYmplY3QpOworICAgIG1h
cmtGb3JMYXlvdXRBbmRSZXNvdXJjZUludmFsaWRhdGlvbihvYmplY3QpOwogfQogCiAjaWYgUExB
VEZPUk0oQ0cpCkBAIC0xMzAsOSArODYsMTAgQEAgc3RhdGljIGlubGluZSBBZmZpbmVUcmFuc2Zv
cm0gYWJzb2x1dGVUcgogICAgIHJldHVybiBhYnNvbHV0ZVRyYW5zZm9ybTsKIH0KIAotc3RhdGlj
IGlubGluZSBib29sIGNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4dEZvclRleHRHcmFkaWVudCgKLSAg
ICBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBHcmFwaGljc0NvbnRleHQqJiBzYXZlZENvbnRl
eHQsCi0gICAgT3duUHRyPEltYWdlQnVmZmVyPiYgaW1hZ2VCdWZmZXIsIGNvbnN0IFJlbmRlck9i
amVjdCogb2JqZWN0KQorc3RhdGljIGlubGluZSBib29sIGNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4
dEZvclRleHRHcmFkaWVudChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0Nv
bnRleHQqJiBzYXZlZENvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4mIGltYWdlQnVmZmVy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKICAgICBjb25zdCBSZW5kZXJPYmpl
Y3QqIHRleHRSb290QmxvY2sgPSBmaW5kVGV4dFJvb3RPYmplY3Qob2JqZWN0KTsKIApAQCAtMTYy
LDM1ICsxMTksNTcgQEAgc3RhdGljIGlubGluZSBib29sIGNyZWF0ZU1hc2tBbmRTd2FwQ29udAog
fQogCiBzdGF0aWMgaW5saW5lIEFmZmluZVRyYW5zZm9ybSBjbGlwVG9UZXh0TWFzayhHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsCi0gICAgT3duUHRyPEltYWdlQnVmZmVyPiYgaW1hZ2VCdWZmZXIs
IGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LAotICAgIGNvbnN0IFNWR1BhaW50U2VydmVyR3Jh
ZGllbnQqIGdyYWRpZW50U2VydmVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgT3duUHRyPEltYWdlQnVmZmVyPiYgaW1hZ2VCdWZmZXIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBSZW5kZXJPYmplY3QqIG9i
amVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYWRp
ZW50RGF0YSogZ3JhZGllbnREYXRhKQogewogICAgIGNvbnN0IFJlbmRlck9iamVjdCogdGV4dFJv
b3RCbG9jayA9IGZpbmRUZXh0Um9vdE9iamVjdChvYmplY3QpOwogICAgIGNvbnRleHQtPmNsaXBU
b0ltYWdlQnVmZmVyKHRleHRSb290QmxvY2stPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVz
KCksIGltYWdlQnVmZmVyLmdldCgpKTsKIAogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7Ci0g
ICAgaWYgKGdyYWRpZW50U2VydmVyLT5ib3VuZGluZ0JveE1vZGUoKSkgeworICAgIGlmIChncmFk
aWVudERhdGEtPmJvdW5kaW5nQm94TW9kZSkgewogICAgICAgICBGbG9hdFJlY3QgbWFza0JvdW5k
aW5nQm94ID0gdGV4dFJvb3RCbG9jay0+b2JqZWN0Qm91bmRpbmdCb3goKTsKICAgICAgICAgbWF0
cml4LnRyYW5zbGF0ZShtYXNrQm91bmRpbmdCb3gueCgpLCBtYXNrQm91bmRpbmdCb3gueSgpKTsK
ICAgICAgICAgbWF0cml4LnNjYWxlTm9uVW5pZm9ybShtYXNrQm91bmRpbmdCb3gud2lkdGgoKSwg
bWFza0JvdW5kaW5nQm94LmhlaWdodCgpKTsKICAgICB9Ci0gICAgbWF0cml4Lm11bHRpcGx5KGdy
YWRpZW50U2VydmVyLT5ncmFkaWVudFRyYW5zZm9ybSgpKTsKKyAgICBtYXRyaXgubXVsdGlwbHko
Z3JhZGllbnREYXRhLT50cmFuc2Zvcm0pOwogICAgIHJldHVybiBtYXRyaXg7CiB9CiAjZW5kaWYK
IAotYm9vbCBTVkdQYWludFNlcnZlckdyYWRpZW50OjpzZXR1cChHcmFwaGljc0NvbnRleHQqJiBj
b250ZXh0LCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqc3R5
bGUsIFNWR1BhaW50VGFyZ2V0VHlwZSB0eXBlLCBib29sIGlzUGFpbnRpbmdUZXh0KSBjb25zdAor
Ym9vbCBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50OjphcHBseVJlc291cmNlKFJlbmRlck9iamVj
dCogb2JqZWN0LCBSZW5kZXJTdHlsZSogc3R5bGUsIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQs
IHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkKIHsKLSAgICBtX293bmVyRWxlbWVudC0+YnVp
bGRHcmFkaWVudCgpOworICAgIEFTU0VSVChvYmplY3QpOworICAgIEFTU0VSVChzdHlsZSk7Cisg
ICAgQVNTRVJUKGNvbnRleHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUgIT0gQXBwbHlUb0Rl
ZmF1bHRNb2RlKTsKKworICAgIC8vIEJlIHN1cmUgdG8gc3luY2hyb25pemUgYWxsIFNWRyBwcm9w
ZXJ0aWVzIG9uIHRoZSBncmFkaWVudEVsZW1lbnQgX2JlZm9yZV8gcHJvY2Vzc2luZyBhbnkgZnVy
dGhlci4KKyAgICAvLyBPdGhlcndoaXNlIHRoZSBjYWxsIHRvIGNvbGxlY3RHcmFkaWVudEF0dHJp
YnV0ZXMoKSBpbiBjcmVhdGVUaWxlSW1hZ2UoKSwgbWF5IGNhdXNlIHRoZSBTVkcgRE9NIHByb3Bl
cnR5CisgICAgLy8gc3luY2hyb25pemF0aW9uIHRvIGtpY2sgaW4sIHdoaWNoIGNhdXNlcyBpbnZh
bGlkYXRlQ2xpZW50cygpIHRvIGJlIGNhbGxlZCwgd2hpY2ggaW4gdHVybiBkZWxldGVzIG91cgor
ICAgIC8vIEdyYWRpZW50RGF0YSBvYmplY3QhIExlYXZpbmcgb3V0IHRoZSBsaW5lIGJlbG93IHdp
bGwgY2F1c2Ugc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkcqR3JhZGllbnRFbGVtZW50LXN2Z2RvbSog
dG8gY3Jhc2guCisgICAgU1ZHR3JhZGllbnRFbGVtZW50KiBncmFkaWVudEVsZW1lbnQgPSBzdGF0
aWNfY2FzdDxTVkdHcmFkaWVudEVsZW1lbnQqPihub2RlKCkpOworICAgIGlmICghZ3JhZGllbnRF
bGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBjb25zdCBTVkdSZW5kZXJTdHls
ZSogc3ZnU3R5bGUgPSBzdHlsZS0+c3ZnU3R5bGUoKTsKLSAgICBib29sIGlzRmlsbGVkID0gKHR5
cGUgJiBBcHBseVRvRmlsbFRhcmdldFR5cGUpICYmIHN2Z1N0eWxlLT5oYXNGaWxsKCk7Ci0gICAg
Ym9vbCBpc1N0cm9rZWQgPSAodHlwZSAmIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlKSAmJiBzdmdT
dHlsZS0+aGFzU3Ryb2tlKCk7CisgICAgZ3JhZGllbnRFbGVtZW50LT51cGRhdGVBbmltYXRlZFNW
R0F0dHJpYnV0ZShhbnlRTmFtZSgpKTsKKworICAgIGlmICghbV9ncmFkaWVudC5jb250YWlucyhv
YmplY3QpKQorICAgICAgICBtX2dyYWRpZW50LnNldChvYmplY3QsIG5ldyBHcmFkaWVudERhdGEp
OworCisgICAgR3JhZGllbnREYXRhKiBncmFkaWVudERhdGEgPSBtX2dyYWRpZW50LmdldChvYmpl
Y3QpOwogCi0gICAgQVNTRVJUKChpc0ZpbGxlZCAmJiAhaXNTdHJva2VkKSB8fCAoIWlzRmlsbGVk
ICYmIGlzU3Ryb2tlZCkpOworICAgIC8vIENyZWF0ZSBncmFkaWVudCBvYmplY3QKKyAgICBpZiAo
IWdyYWRpZW50RGF0YS0+Z3JhZGllbnQpCisgICAgICAgIGJ1aWxkR3JhZGllbnQoZ3JhZGllbnRE
YXRhLCBncmFkaWVudEVsZW1lbnQpOwogCisgICAgaWYgKCFncmFkaWVudERhdGEtPmdyYWRpZW50
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBEcmF3IGdyYWRpZW50CiAgICAgY29u
dGV4dC0+c2F2ZSgpOwogCisgICAgYm9vbCBpc1BhaW50aW5nVGV4dCA9IHJlc291cmNlTW9kZSAm
IEFwcGx5VG9UZXh0TW9kZTsKICAgICBpZiAoaXNQYWludGluZ1RleHQpIHsKICNpZiBQTEFURk9S
TShDRykKICAgICAgICAgaWYgKCFjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGll
bnQoY29udGV4dCwgbV9zYXZlZENvbnRleHQsIG1faW1hZ2VCdWZmZXIsIG9iamVjdCkpIHsKQEAg
LTE5OCw3OSArMTc3LDg5IEBAIGJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXAoR3Jh
cGgKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogI2VuZGlmCi0gICAgICAg
IGNvbnRleHQtPnNldFRleHREcmF3aW5nTW9kZShpc0ZpbGxlZCA/IGNUZXh0RmlsbCA6IGNUZXh0
U3Ryb2tlKTsKLSAgICB9CiAKLSAgICBpZiAoaXNGaWxsZWQpIHsKLSAgICAgICAgY29udGV4dC0+
c2V0QWxwaGEoc3ZnU3R5bGUtPmZpbGxPcGFjaXR5KCkpOwotICAgICAgICBjb250ZXh0LT5zZXRG
aWxsR3JhZGllbnQobV9ncmFkaWVudCk7Ci0gICAgICAgIGNvbnRleHQtPnNldEZpbGxSdWxlKHN2
Z1N0eWxlLT5maWxsUnVsZSgpKTsKLSAgICB9Ci0gICAgaWYgKGlzU3Ryb2tlZCkgewotICAgICAg
ICBjb250ZXh0LT5zZXRBbHBoYShzdmdTdHlsZS0+c3Ryb2tlT3BhY2l0eSgpKTsKLSAgICAgICAg
Y29udGV4dC0+c2V0U3Ryb2tlR3JhZGllbnQobV9ncmFkaWVudCk7Ci0gICAgICAgIGFwcGx5U3Ry
b2tlU3R5bGVUb0NvbnRleHQoY29udGV4dCwgc3R5bGUsIG9iamVjdCk7CisgICAgICAgIGNvbnRl
eHQtPnNldFRleHREcmF3aW5nTW9kZShyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUgPyBj
VGV4dEZpbGwgOiBjVGV4dFN0cm9rZSk7CiAgICAgfQogCi0gICAgQWZmaW5lVHJhbnNmb3JtIG1h
dHJpeDsKLSAgICAvLyBDRyBwbGF0Zm9ybXMgd2lsbCBoYW5kbGUgdGhlIGdyYWRpZW50IHNwYWNl
IHRyYW5zZm9ybSBmb3IgdGV4dCBpbgotICAgIC8vIHRlYXJkb3duLCBzbyB3ZSBkb24ndCBhcHBs
eSBpdCBoZXJlLiAgRm9yIG5vbi1DRyBwbGF0Zm9ybXMsIHdlCi0gICAgLy8gd2FudCB0aGUgdGV4
dCBib3VuZGluZyBib3ggYXBwbGllZCB0byB0aGUgZ3JhZGllbnQgc3BhY2UgdHJhbnNmb3JtIG5v
dywKLSAgICAvLyBzbyB0aGUgZ3JhZGllbnQgc2hhZGVyIGNhbiB1c2UgaXQuCisgICAgQWZmaW5l
VHJhbnNmb3JtIHRyYW5zZm9ybTsKKworICAgIC8vIENHIHBsYXRmb3JtcyB3aWxsIGhhbmRsZSB0
aGUgZ3JhZGllbnQgc3BhY2UgdHJhbnNmb3JtIGZvciB0ZXh0IGFmdGVyIGFwcGx5aW5nIHRoZQor
ICAgIC8vIHJlc291cmNlLCBzbyBkb24ndCBhcHBseSBpdCBoZXJlLiBGb3Igbm9uLUNHIHBsYXRm
b3Jtcywgd2Ugd2FudCB0aGUgdGV4dCBib3VuZGluZworICAgIC8vIGJveCBhcHBsaWVkIHRvIHRo
ZSBncmFkaWVudCBzcGFjZSB0cmFuc2Zvcm0gbm93LCBzbyB0aGUgZ3JhZGllbnQgc2hhZGVyIGNh
biB1c2UgaXQuCiAjaWYgUExBVEZPUk0oQ0cpCi0gICAgaWYgKGJvdW5kaW5nQm94TW9kZSgpICYm
ICFpc1BhaW50aW5nVGV4dCkgeworICAgIGlmIChncmFkaWVudERhdGEtPmJvdW5kaW5nQm94TW9k
ZSAmJiAhaXNQYWludGluZ1RleHQpIHsKICNlbHNlCi0gICAgaWYgKGJvdW5kaW5nQm94TW9kZSgp
KSB7CisgICAgaWYgKGdyYWRpZW50RGF0YS0+Ym91bmRpbmdCb3hNb2RlKSB7CiAjZW5kaWYKLSAg
ICAgICAgRmxvYXRSZWN0IGJib3ggPSBvYmplY3QtPm9iamVjdEJvdW5kaW5nQm94KCk7Ci0gICAg
ICAgIG1hdHJpeC50cmFuc2xhdGUoYmJveC54KCksIGJib3gueSgpKTsKLSAgICAgICAgbWF0cml4
LnNjYWxlTm9uVW5pZm9ybShiYm94LndpZHRoKCksIGJib3guaGVpZ2h0KCkpOworICAgICAgICBG
bG9hdFJlY3Qgb2JqZWN0Qm91bmRpbmdCb3ggPSBvYmplY3QtPm9iamVjdEJvdW5kaW5nQm94KCk7
CisgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUob2JqZWN0Qm91bmRpbmdCb3gueCgpLCBvYmpl
Y3RCb3VuZGluZ0JveC55KCkpOworICAgICAgICB0cmFuc2Zvcm0uc2NhbGVOb25Vbmlmb3JtKG9i
amVjdEJvdW5kaW5nQm94LndpZHRoKCksIG9iamVjdEJvdW5kaW5nQm94LmhlaWdodCgpKTsKKyAg
ICB9CisKKyAgICB0cmFuc2Zvcm0ubXVsdGlwbHkoZ3JhZGllbnREYXRhLT50cmFuc2Zvcm0pOwor
ICAgIGdyYWRpZW50RGF0YS0+Z3JhZGllbnQtPnNldEdyYWRpZW50U3BhY2VUcmFuc2Zvcm0odHJh
bnNmb3JtKTsKKworICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5z
dmdTdHlsZSgpOworICAgIEFTU0VSVChzdmdTdHlsZSk7CisKKyAgICBpZiAocmVzb3VyY2VNb2Rl
ICYgQXBwbHlUb0ZpbGxNb2RlKSB7CisgICAgICAgIGNvbnRleHQtPnNldEFscGhhKHN2Z1N0eWxl
LT5maWxsT3BhY2l0eSgpKTsKKyAgICAgICAgY29udGV4dC0+c2V0RmlsbEdyYWRpZW50KGdyYWRp
ZW50RGF0YS0+Z3JhZGllbnQpOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsUnVsZShzdmdTdHls
ZS0+ZmlsbFJ1bGUoKSk7CisgICAgfSBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvU3Ry
b2tlTW9kZSkgeworICAgICAgICBjb250ZXh0LT5zZXRBbHBoYShzdmdTdHlsZS0+c3Ryb2tlT3Bh
Y2l0eSgpKTsKKyAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlR3JhZGllbnQoZ3JhZGllbnREYXRh
LT5ncmFkaWVudCk7CisgICAgICAgIGFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQoY29udGV4dCwg
c3R5bGUsIG9iamVjdCk7CiAgICAgfQotICAgIG1hdHJpeC5tdWx0aXBseShncmFkaWVudFRyYW5z
Zm9ybSgpKTsKLSAgICBtX2dyYWRpZW50LT5zZXRHcmFkaWVudFNwYWNlVHJhbnNmb3JtKG1hdHJp
eCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBTVkdQYWludFNlcnZlckdyYWRpZW50
Ojp0ZWFyZG93bihHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBjb25zdCBSZW5kZXJPYmplY3Qq
IG9iamVjdCwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sIGlzUGFpbnRpbmdUZXh0KSBjb25zdAor
dm9pZCBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50Ojpwb3N0QXBwbHlSZXNvdXJjZShSZW5kZXJP
YmplY3QqIG9iamVjdCwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQg
cmVzb3VyY2VNb2RlKQogeworICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBBU1NFUlQocmVzb3Vy
Y2VNb2RlICE9IEFwcGx5VG9EZWZhdWx0TW9kZSk7CisKKyAgICBpZiAocmVzb3VyY2VNb2RlICYg
QXBwbHlUb1RleHRNb2RlKSB7CiAjaWYgUExBVEZPUk0oQ0cpCi0gICAgLy8gcmVuZGVyUGF0aCgp
IGlzIG5vdCB1c2VkIHdoZW4gcGFpbnRpbmcgdGV4dCwgc28gd2UgcGFpbnQgdGhlIGdyYWRpZW50
IGR1cmluZyB0ZWFyZG93bigpCi0gICAgaWYgKGlzUGFpbnRpbmdUZXh0ICYmIG1fc2F2ZWRDb250
ZXh0KSB7Ci0gICAgICAgIC8vIFJlc3RvcmUgb24tc2NyZWVuIGRyYXdpbmcgY29udGV4dAotICAg
ICAgICBjb250ZXh0ID0gbV9zYXZlZENvbnRleHQ7Ci0gICAgICAgIG1fc2F2ZWRDb250ZXh0ID0g
MDsKLQotICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gbWF0cml4ID0gY2xpcFRvVGV4dE1hc2soY29u
dGV4dCwgbV9pbWFnZUJ1ZmZlciwgb2JqZWN0LCB0aGlzKTsKLSAgICAgICAgbV9ncmFkaWVudC0+
c2V0R3JhZGllbnRTcGFjZVRyYW5zZm9ybShtYXRyaXgpOwotICAgICAgICBjb250ZXh0LT5zZXRG
aWxsR3JhZGllbnQobV9ncmFkaWVudCk7Ci0gICAgICAgIAotICAgICAgICBjb25zdCBSZW5kZXJP
YmplY3QqIHRleHRSb290QmxvY2sgPSBmaW5kVGV4dFJvb3RPYmplY3Qob2JqZWN0KTsKLSAgICAg
ICAgY29udGV4dC0+ZmlsbFJlY3QodGV4dFJvb3RCbG9jay0+cmVwYWludFJlY3RJbkxvY2FsQ29v
cmRpbmF0ZXMoKSk7CisgICAgICAgIC8vIENHIHJlcXVpcmVzIHNwZWNpYWwgaGFuZGxpbmcgZm9y
IGdyYWRpZW50IG9uIHRleHQKKyAgICAgICAgaWYgKG1fc2F2ZWRDb250ZXh0ICYmIG1fZ3JhZGll
bnQuY29udGFpbnMob2JqZWN0KSkgeworICAgICAgICAgICAgR3JhZGllbnREYXRhKiBncmFkaWVu
dERhdGEgPSBtX2dyYWRpZW50LmdldChvYmplY3QpOwogCi0gICAgICAgIG1faW1hZ2VCdWZmZXIu
Y2xlYXIoKTsKLSAgICB9CisgICAgICAgICAgICAvLyBSZXN0b3JlIG9uLXNjcmVlbiBkcmF3aW5n
IGNvbnRleHQKKyAgICAgICAgICAgIGNvbnRleHQgPSBtX3NhdmVkQ29udGV4dDsKKyAgICAgICAg
ICAgIG1fc2F2ZWRDb250ZXh0ID0gMDsKKworICAgICAgICAgICAgZ3JhZGllbnREYXRhLT5ncmFk
aWVudC0+c2V0R3JhZGllbnRTcGFjZVRyYW5zZm9ybShjbGlwVG9UZXh0TWFzayhjb250ZXh0LCBt
X2ltYWdlQnVmZmVyLCBvYmplY3QsIGdyYWRpZW50RGF0YSkpOworICAgICAgICAgICAgY29udGV4
dC0+c2V0RmlsbEdyYWRpZW50KGdyYWRpZW50RGF0YS0+Z3JhZGllbnQpOworCisgICAgICAgICAg
ICBjb25zdCBSZW5kZXJPYmplY3QqIHRleHRSb290QmxvY2sgPSBmaW5kVGV4dFJvb3RPYmplY3Qo
b2JqZWN0KTsKKyAgICAgICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHRleHRSb290QmxvY2stPnJl
cGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworCisgICAgICAgICAgICBtX2ltYWdlQnVm
ZmVyLmNsZWFyKCk7CisgICAgICAgIH0KKyNlbHNlCisgICAgICAgIFVOVVNFRF9QQVJBTShvYmpl
Y3QpOwogI2VuZGlmCisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHJlc291cmNlTW9kZSAmIEFw
cGx5VG9GaWxsTW9kZSkKKyAgICAgICAgICAgIGNvbnRleHQtPmZpbGxQYXRoKCk7CisgICAgICAg
IGVsc2UgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9TdHJva2VNb2RlKQorICAgICAgICAgICAg
Y29udGV4dC0+c3Ryb2tlUGF0aCgpOworICAgIH0KKwogICAgIGNvbnRleHQtPnJlc3RvcmUoKTsK
IH0KIAotVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6ZXh0ZXJuYWxSZXByZXNl
bnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VHcmFk
aWVudDo6YWRkU3RvcHMoR3JhZGllbnREYXRhKiBncmFkaWVudERhdGEsIGNvbnN0IFZlY3RvcjxH
cmFkaWVudDo6Q29sb3JTdG9wPiYgc3RvcHMpIGNvbnN0CiB7Ci0gICAgLy8gR3JhZGllbnRzL3Bh
dHRlcm5zIGFyZW4ndCBzZXR1cCwgdW50aWwgdGhleSBhcmUgdXNlZCBmb3IgcGFpbnRpbmcuIFdv
cmsgYXJvdW5kIHRoYXQgZmFjdC4KLSAgICBtX293bmVyRWxlbWVudC0+YnVpbGRHcmFkaWVudCgp
OwotCi0gICAgLy8gYWJzdHJhY3QsIGRvbid0IHN0cmVhbSB0eXBlCi0gICAgdHMgIDw8ICJbc3Rv
cHM9IiA8PCBncmFkaWVudFN0b3BzKCkgPDwgIl0iOwotICAgIGlmIChtX2dyYWRpZW50LT5zcHJl
YWRNZXRob2QoKSAhPSBTcHJlYWRNZXRob2RQYWQpCi0gICAgICAgIHRzIDw8ICJbbWV0aG9kPSIg
PDwgbV9ncmFkaWVudC0+c3ByZWFkTWV0aG9kKCkgPDwgIl0iOwotICAgIGlmICghYm91bmRpbmdC
b3hNb2RlKCkpCi0gICAgICAgIHRzIDw8ICIgW2JvdW5kaW5nIGJveCBtb2RlPSIgPDwgYm91bmRp
bmdCb3hNb2RlKCkgPDwgIl0iOwotICAgIGlmICghZ3JhZGllbnRUcmFuc2Zvcm0oKS5pc0lkZW50
aXR5KCkpCi0gICAgICAgIHRzIDw8ICIgW3RyYW5zZm9ybT0iIDw8IGdyYWRpZW50VHJhbnNmb3Jt
KCkgPDwgIl0iOworICAgIEFTU0VSVChncmFkaWVudERhdGEtPmdyYWRpZW50KTsKIAotICAgIHJl
dHVybiB0czsKKyAgICBjb25zdCBWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD46OmNvbnN0X2l0
ZXJhdG9yIGVuZCA9IHN0b3BzLmVuZCgpOworICAgIGZvciAoVmVjdG9yPEdyYWRpZW50OjpDb2xv
clN0b3A+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHN0b3BzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytp
dCkKKyAgICAgICAgZ3JhZGllbnREYXRhLT5ncmFkaWVudC0+YWRkQ29sb3JTdG9wKCppdCk7CiB9
CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30KIAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oCShyZXZpc2lvbiA1ODE1OSkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw5OCArMSw3NSBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtv
bGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqICAgICAgICAgICAgICAgMjAw
OCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJj
aCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaWZuZGVmIFJlbmRl
clNWR1Jlc291cmNlR3JhZGllbnRfaAogI2RlZmluZSBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50
X2gKIAogI2lmIEVOQUJMRShTVkcpCi0KICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKLSNp
bmNsdWRlICJDb2xvci5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkdyYWRp
ZW50LmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiU1ZHUGFpbnRT
ZXJ2ZXIuaCIKKyNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyLmgiCisjaW5jbHVkZSAiU1ZHR3JhZGllbnRFbGVtZW50LmgiCiAKLSNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEltYWdl
QnVmZmVyOwotY2xhc3MgU1ZHR3JhZGllbnRFbGVtZW50OwotCi10eXBlZGVmIHN0ZDo6cGFpcjxm
bG9hdCwgQ29sb3I+IFNWR0dyYWRpZW50U3RvcDsKLQotY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJHcmFk
aWVudCA6IHB1YmxpYyBTVkdQYWludFNlcnZlciB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+U1ZH
UGFpbnRTZXJ2ZXJHcmFkaWVudCgpOwotCi0gICAgdm9pZCBzZXRHcmFkaWVudChQYXNzUmVmUHRy
PEdyYWRpZW50Pik7Ci0gICAgR3JhZGllbnQqIGdyYWRpZW50KCkgY29uc3Q7CitzdHJ1Y3QgR3Jh
ZGllbnREYXRhIHsKKyAgICBSZWZQdHI8R3JhZGllbnQ+IGdyYWRpZW50OwogCi0gICAgLy8gR3Jh
ZGllbnQgc3RhcnQgYW5kIGVuZCBwb2ludHMgYXJlIHBlcmNlbnRhZ2VzIHdoZW4gdXNlZCBpbiBi
b3VuZGluZ0JveCBtb2RlLgotICAgIC8vIEZvciBpbnN0YW5jZSBzdGFydCBwb2ludCB3aXRoIHZh
bHVlICgwLDApIGlzIHRvcC1sZWZ0IGFuZCBlbmQgcG9pbnQgd2l0aAotICAgIC8vIHZhbHVlICgx
MDAsIDEwMCkgaXMgYm90dG9tLXJpZ2h0LiBCb3VuZGluZ0JveCBtb2RlIGlzIGVuYWJsZWQgYnkg
ZGVmYXVsdC4KLSAgICBib29sIGJvdW5kaW5nQm94TW9kZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0
Qm91bmRpbmdCb3hNb2RlKGJvb2wgbW9kZSA9IHRydWUpOworICAgIGJvb2wgYm91bmRpbmdCb3hN
b2RlOworICAgIEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm07Cit9OwogCi0gICAgQWZmaW5lVHJh
bnNmb3JtIGdyYWRpZW50VHJhbnNmb3JtKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRHcmFkaWVudFRy
YW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dDsK
IAotICAgIHZvaWQgc2V0R3JhZGllbnRTdG9wcyhjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9w
PiYgc3RvcHMpIHsgbV9zdG9wcyA9IHN0b3BzOyB9Ci0gICAgY29uc3QgVmVjdG9yPFNWR0dyYWRp
ZW50U3RvcD4mIGdyYWRpZW50U3RvcHMoKSBjb25zdCB7IHJldHVybiBtX3N0b3BzOyB9CitjbGFz
cyBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50IDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyIHsKK3B1YmxpYzoKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50KFNWR0dyYWRp
ZW50RWxlbWVudCopOworICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQoKTsK
IAotICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3Ry
ZWFtJikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnRzKCk7CisgICAg
dmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnQoUmVuZGVyT2JqZWN0Kik7CiAKLSAgICB2aXJ0
dWFsIGJvb2wgc2V0dXAoR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIGNv
bnN0IFJlbmRlclN0eWxlKiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sIGlzUGFpbnRpbmdUZXh0
KSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgdGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYsIGNv
bnN0IFJlbmRlck9iamVjdCosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4
dCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0Kiwg
UmVuZGVyU3R5bGUqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VN
b2RlKTsKKyAgICB2aXJ0dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0Kiwg
R3JhcGhpY3NDb250ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmly
dHVhbCBGbG9hdFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25z
dCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgU1ZHUGFpbnRTZXJ2
ZXJHcmFkaWVudChjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKTsKLSAgICAKKyAgICB2
b2lkIGFkZFN0b3BzKEdyYWRpZW50RGF0YSosIGNvbnN0IFZlY3RvcjxHcmFkaWVudDo6Q29sb3JT
dG9wPiYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBidWlsZEdyYWRpZW50KEdyYWRpZW50RGF0
YSosIFNWR0dyYWRpZW50RWxlbWVudCopIGNvbnN0ID0gMDsKKwogcHJpdmF0ZToKLSAgICBWZWN0
b3I8U1ZHR3JhZGllbnRTdG9wPiBtX3N0b3BzOwotICAgIFJlZlB0cjxHcmFkaWVudD4gbV9ncmFk
aWVudDsKLSAgICBib29sIG1fYm91bmRpbmdCb3hNb2RlOwotICAgIEFmZmluZVRyYW5zZm9ybSBt
X2dyYWRpZW50VHJhbnNmb3JtOwotICAgIGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogbV9vd25l
ckVsZW1lbnQ7CisgICAgSGFzaE1hcDxSZW5kZXJPYmplY3QqLCBHcmFkaWVudERhdGEqPiBtX2dy
YWRpZW50OwogCiAjaWYgUExBVEZPUk0oQ0cpCi1wdWJsaWM6Ci0gICAgbXV0YWJsZSBHcmFwaGlj
c0NvbnRleHQqIG1fc2F2ZWRDb250ZXh0OwotICAgIG11dGFibGUgT3duUHRyPEltYWdlQnVmZmVy
PiBtX2ltYWdlQnVmZmVyOworICAgIEdyYXBoaWNzQ29udGV4dCogbV9zYXZlZENvbnRleHQ7Cisg
ICAgT3duUHRyPEltYWdlQnVmZmVyPiBtX2ltYWdlQnVmZmVyOwogI2VuZGlmCiB9OwogCi1pbmxp
bmUgU1ZHR3JhZGllbnRTdG9wIG1ha2VHcmFkaWVudFN0b3AoZmxvYXQgb2Zmc2V0LCBjb25zdCBD
b2xvciYgY29sb3IpCi17Ci0gICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKG9mZnNldCwgY29sb3Ip
OwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KICNlbmRpZgotCi0jZW5kaWYgLy8gUmVu
ZGVyU1ZHUmVzb3VyY2VHcmFkaWVudF9oCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwCShyZXZpc2lv
biA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3Jh
ZGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI2ICsxLDIyIEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICog
Q29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
ICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0yOCw0OCArMjQsNDMgQEAKICNpZiBFTkFC
TEUoU1ZHKQogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuaCIKIAot
I2luY2x1ZGUgIlNWR1JlbmRlclRyZWVBc1RleHQuaCIKKyNpbmNsdWRlICJMaW5lYXJHcmFkaWVu
dEF0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlICJTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50OjpTVkdQ
YWludFNlcnZlckxpbmVhckdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIp
Ci0gICAgOiBTVkdQYWludFNlcnZlckdyYWRpZW50KG93bmVyKQoteyAKLX0KK1JlbmRlclNWR1Jl
c291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50OjpzX3Jlc291cmNlVHlw
ZSA9IExpbmVhckdyYWRpZW50UmVzb3VyY2VUeXBlOwogCi1TVkdQYWludFNlcnZlckxpbmVhckdy
YWRpZW50Ojp+U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudCgpCitSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50OjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KFNWR0xpbmVh
ckdyYWRpZW50RWxlbWVudCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQo
bm9kZSkKIHsKIH0KIAotRmxvYXRQb2ludCBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50Ojpn
cmFkaWVudFN0YXJ0KCkgY29uc3QKK1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQ6On5S
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KCkKIHsKLSAgICByZXR1cm4gbV9zdGFydDsK
IH0KIAotdm9pZCBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50OjpzZXRHcmFkaWVudFN0YXJ0
KGNvbnN0IEZsb2F0UG9pbnQmIHN0YXJ0KQordm9pZCBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdy
YWRpZW50OjpidWlsZEdyYWRpZW50KEdyYWRpZW50RGF0YSogZ3JhZGllbnREYXRhLCBTVkdHcmFk
aWVudEVsZW1lbnQqIGdyYWRpZW50RWxlbWVudCkgY29uc3QKIHsKLSAgICBtX3N0YXJ0ID0gc3Rh
cnQ7Ci19CisgICAgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KiBsaW5lYXJHcmFkaWVudEVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqPihncmFkaWVudEVsZW1l
bnQpOworICAgIExpbmVhckdyYWRpZW50QXR0cmlidXRlcyBhdHRyaWJ1dGVzID0gbGluZWFyR3Jh
ZGllbnRFbGVtZW50LT5jb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCk7CiAKLUZsb2F0UG9pbnQg
U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6Z3JhZGllbnRFbmQoKSBjb25zdAotewotICAg
IHJldHVybiBtX2VuZDsKLX0KKyAgICAvLyBEZXRlcm1pbmUgZ3JhZGllbnQgc3RhcnQvZW5kIHBv
aW50cworICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludDsKKyAgICBGbG9hdFBvaW50IGVuZFBvaW50
OworICAgIGxpbmVhckdyYWRpZW50RWxlbWVudC0+Y2FsY3VsYXRlU3RhcnRFbmRQb2ludHMoYXR0
cmlidXRlcywgc3RhcnRQb2ludCwgZW5kUG9pbnQpOwogCi12b2lkIFNWR1BhaW50U2VydmVyTGlu
ZWFyR3JhZGllbnQ6OnNldEdyYWRpZW50RW5kKGNvbnN0IEZsb2F0UG9pbnQmIGVuZCkKLXsKLSAg
ICBtX2VuZCA9IGVuZDsKLX0KKyAgICBncmFkaWVudERhdGEtPmdyYWRpZW50ID0gR3JhZGllbnQ6
OmNyZWF0ZShzdGFydFBvaW50LCBlbmRQb2ludCk7CisgICAgZ3JhZGllbnREYXRhLT5ncmFkaWVu
dC0+c2V0U3ByZWFkTWV0aG9kKGF0dHJpYnV0ZXMuc3ByZWFkTWV0aG9kKCkpOwogCi1UZXh0U3Ry
ZWFtJiBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50OjpleHRlcm5hbFJlcHJlc2VudGF0aW9u
KFRleHRTdHJlYW0mIHRzKSBjb25zdAotewotICAgIHRzIDw8ICJbdHlwZT1MSU5FQVItR1JBRElF
TlRdICI7Ci0gICAgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlv
bih0cyk7Ci0gICAgdHMgIDw8ICIgW3N0YXJ0PSIgPDwgZ3JhZGllbnRTdGFydCgpIDw8ICJdIgot
ICAgICAgICA8PCAiIFtlbmQ9IiA8PCBncmFkaWVudEVuZCgpIDw8ICJdIjsKLSAgICByZXR1cm4g
dHM7CisgICAgLy8gUmVjb3JkIGN1cnJlbnQgZ3JhZGllbnQgdHJhbnNmb3JtCisgICAgZ3JhZGll
bnREYXRhLT50cmFuc2Zvcm0gPSBhdHRyaWJ1dGVzLmdyYWRpZW50VHJhbnNmb3JtKCk7CisgICAg
Z3JhZGllbnREYXRhLT5ib3VuZGluZ0JveE1vZGUgPSBhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9k
ZSgpOworCisgICAgLy8gQWRkIHN0b3BzCisgICAgYWRkU3RvcHMoZ3JhZGllbnREYXRhLCBhdHRy
aWJ1dGVzLnN0b3BzKCkpOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9CiAKICNlbmRp
ZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGlu
ZWFyR3JhZGllbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNjIgKzEs
NDggQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1t
ZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1p
dGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKICNpZm5kZWYgUmVuZGVyU1ZHUmVzb3VyY2VMaW5l
YXJHcmFkaWVudF9oCiAjZGVmaW5lIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnRfaAog
CiAjaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJS
ZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudCA6IHB1YmxpYyBTVkdQYWludFNlcnZlckdy
YWRpZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWludFNlcnZlckxp
bmVhckdyYWRpZW50PiBjcmVhdGUoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBvd25lcikgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQob3duZXIpKTsg
fQotICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQoKTsKLQotICAgIHZp
cnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBMaW5lYXJHcmFk
aWVudFBhaW50U2VydmVyOyB9CitjbGFzcyBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ7CiAKLSAg
ICBGbG9hdFBvaW50IGdyYWRpZW50U3RhcnQoKSBjb25zdDsKLSAgICB2b2lkIHNldEdyYWRpZW50
U3RhcnQoY29uc3QgRmxvYXRQb2ludCYpOwotCi0gICAgRmxvYXRQb2ludCBncmFkaWVudEVuZCgp
IGNvbnN0OwotICAgIHZvaWQgc2V0R3JhZGllbnRFbmQoY29uc3QgRmxvYXRQb2ludCYpOworY2xh
c3MgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCA6IHB1YmxpYyBSZW5kZXJTVkdSZXNv
dXJjZUdyYWRpZW50IHsKK3B1YmxpYzoKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRp
ZW50KFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCopOworICAgIHZpcnR1YWwgflJlbmRlclNWR1Jl
c291cmNlTGluZWFyR3JhZGllbnQoKTsKIAotICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7CisgICAgdmlydHVhbCBjb25zdCBj
aGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR1Jlc291cmNlTGluZWFy
R3JhZGllbnQiOyB9CiAKLXByaXZhdGU6Ci0gICAgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVu
dChjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqIG93bmVyKTsKKyAgICB2aXJ0dWFsIFJlbmRlclNW
R1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25zdCB7IHJldHVybiBzX3Jlc291cmNlVHlw
ZTsgfQorICAgIHN0YXRpYyBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgc19yZXNvdXJjZVR5cGU7CiAK
LSAgICBGbG9hdFBvaW50IG1fc3RhcnQ7Ci0gICAgRmxvYXRQb2ludCBtX2VuZDsKKyAgICB2aXJ0
dWFsIHZvaWQgYnVpbGRHcmFkaWVudChHcmFkaWVudERhdGEqLCBTVkdHcmFkaWVudEVsZW1lbnQq
KSBjb25zdDsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30KIAogI2VuZGlmCi0KLSNl
bmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50X2gKKyNlbmRpZgpJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcAkocmV2aXNp
b24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDggKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OnNfcmVzb3Vy
Y2VUeXBlID0gTWFya2VyUmVzb3VyY2VUeXBlOwogCi1SZW5kZXJTVkdSZXNvdXJjZU1hcmtlcjo6
UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKLSAgICA6IFJl
bmRlclNWR1Jlc291cmNlKG5vZGUpCitSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcjo6UmVuZGVyU1ZH
UmVzb3VyY2VNYXJrZXIoU1ZHTWFya2VyRWxlbWVudCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyKG5vZGUpCiB7CiB9CiAKQEAgLTgyLDYgKzgyLDcgQEAgdm9pZCBSZW5k
ZXJTVkdSZXNvdXJjZU1hcmtlcjo6aW52YWxpZGF0ZQogICAgICAgICByZXR1cm47CiAKICAgICBt
X21hcmtlci5yZW1vdmUob2JqZWN0KTsKKyAgICBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZh
bGlkYXRpb24ob2JqZWN0KTsKIH0KIAogdm9pZCBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcjo6YXBw
bHlWaWV3cG9ydENsaXAoUGFpbnRJbmZvJiBwYWludEluZm8pCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMjQsNyArMjQsNyBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2Uu
aCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlNW
R01hcmtlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAKQEAgLTM0
LDEwICszNCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQWZmaW5lVHJhbnNmb3Jt
OwogCi1jbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciA6IHB1YmxpYyBSZW5kZXJTVkdSZXNv
dXJjZSB7Ci0KK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlTWFya2VyIDogcHVibGljIFJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJTVkdSZXNvdXJjZU1hcmtl
cihTVkdTdHlsZWRFbGVtZW50Kik7CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIoU1ZHTWFy
a2VyRWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlTWFya2VyKCk7CiAK
ICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXIiOyB9CkBAIC01OCw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgbG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpIGNv
bnN0OwogICAgIEFmZmluZVRyYW5zZm9ybSBtYXJrZXJUcmFuc2Zvcm1hdGlvbihjb25zdCBGbG9h
dFBvaW50JiBvcmlnaW4sIGZsb2F0IGFuZ2xlLCBmbG9hdCBzdHJva2VXaWR0aCkgY29uc3Q7CiAK
LSAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0Nv
bnRleHQqJikgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJj
ZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25l
ZCBzaG9ydCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXNvdXJj
ZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgp
OyB9CiAKICAgICBGbG9hdFBvaW50IHJlZmVyZW5jZVBvaW50KCkgY29uc3Q7CkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwCShyZXZpc2lvbiA1
ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDIsOCArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFJl
bmRlclNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6c19yZXNvdXJjZVR5
cGUgPSBNYXNrZXJSZXNvdXJjZVR5cGU7CiAKLVJlbmRlclNWR1Jlc291cmNlTWFza2VyOjpSZW5k
ZXJTVkdSZXNvdXJjZU1hc2tlcihTVkdTdHlsZWRFbGVtZW50KiBub2RlKQotICAgIDogUmVuZGVy
U1ZHUmVzb3VyY2Uobm9kZSkKK1JlbmRlclNWR1Jlc291cmNlTWFza2VyOjpSZW5kZXJTVkdSZXNv
dXJjZU1hc2tlcihTVkdNYXNrRWxlbWVudCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyKG5vZGUpCiB7CiB9CiAKQEAgLTc3LDEzICs3NywxNSBAQCB2b2lkIFJlbmRlclNW
R1Jlc291cmNlTWFza2VyOjppbnZhbGlkYXRlCiAgICAgaWYgKCFtX21hc2tlci5jb250YWlucyhv
YmplY3QpKQogICAgICAgICByZXR1cm47CiAKLSAgICBkZWxldGUgbV9tYXNrZXIudGFrZShvYmpl
Y3QpOyAKKyAgICBkZWxldGUgbV9tYXNrZXIudGFrZShvYmplY3QpOworICAgIG1hcmtGb3JMYXlv
dXRBbmRSZXNvdXJjZUludmFsaWRhdGlvbihvYmplY3QpOwogfQogCi1ib29sIFJlbmRlclNWR1Jl
c291cmNlTWFza2VyOjphcHBseVJlc291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBHcmFwaGlj
c0NvbnRleHQqJiBjb250ZXh0KQorYm9vbCBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6YXBwbHlS
ZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqLCBHcmFwaGljc0NvbnRl
eHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpCiB7CiAgICAgQVNTRVJU
KG9iamVjdCk7CiAgICAgQVNTRVJUKGNvbnRleHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUg
PT0gQXBwbHlUb0RlZmF1bHRNb2RlKTsKIAogICAgIGlmICghbV9tYXNrZXIuY29udGFpbnMob2Jq
ZWN0KSkKICAgICAgICAgbV9tYXNrZXIuc2V0KG9iamVjdCwgbmV3IE1hc2tlckRhdGEpOwpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5oCShyZXZpc2lv
biA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyLmgiCiAjaW5jbHVkZSAiU1ZHTWFza0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdV
bml0VHlwZXMuaCIKIApAQCAtMzYsOSArMzYsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBz
dHJ1Y3QgTWFza2VyRGF0YSB7Ci0gICAgTWFza2VyRGF0YShGbG9hdFJlY3QgcmVjdCA9IEZsb2F0
UmVjdCgpLCBib29sIGVtcHR5T2JqZWN0ID0gZmFsc2UpCi0gICAgICAgIDogbWFza1JlY3QocmVj
dCkKLSAgICAgICAgLCBlbXB0eU1hc2soZW1wdHlPYmplY3QpCisgICAgTWFza2VyRGF0YSgpCisg
ICAgICAgIDogZW1wdHlNYXNrKGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTQ3LDEwICs0Niw5
IEBAIHN0cnVjdCBNYXNrZXJEYXRhIHsKICAgICBib29sIGVtcHR5TWFzazsKIH07CiAKLWNsYXNz
IFJlbmRlclNWR1Jlc291cmNlTWFza2VyIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlIHsKLQor
Y2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXIgewogcHVibGljOgotICAgIFJlbmRlclNWR1Jlc291cmNlTWFza2VyKFNWR1N0eWxl
ZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcihTVkdNYXNrRWxlbWVudCop
OwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlTWFza2VyKCk7CiAKICAgICB2aXJ0dWFs
IGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXNrZXIiOyB9CkBAIC01OCw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
aW52YWxpZGF0ZUNsaWVudHMoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChS
ZW5kZXJPYmplY3QqKTsKIAotICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291cmNlKFJlbmRlck9i
amVjdCosIEdyYXBoaWNzQ29udGV4dComKTsKKyAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJj
ZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25l
ZCBzaG9ydCByZXNvdXJjZU1vZGUpOwogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91
bmRpbmdCb3goY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKICAgICBTVkdVbml0VHlwZXM6OlNW
R1VuaXRUeXBlIG1hc2tVbml0cygpIGNvbnN0IHsgcmV0dXJuIHRvVW5pdFR5cGUoc3RhdGljX2Nh
c3Q8U1ZHTWFza0VsZW1lbnQqPihub2RlKCkpLT5tYXNrVW5pdHMoKSk7IH0KSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcAkocmV2aXNpb24g
NTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDI3ICsxLDIyIEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICogICAgICAgICAg
ICAgICAyMDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChD
KSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCkBAIC0yOSwxNTUgKzI0LDI5NiBAQAogI2lmIEVOQUJMRShTVkcpCiAj
aW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgiCiAKLSNpbmNsdWRlICJBZmZpbmVU
cmFuc2Zvcm0uaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJJbWFn
ZS5oIgotI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiUGF0dGVybi5oIgotI2lu
Y2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlNWR1BhdHRlcm5FbGVtZW50LmgiCi0j
aW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgotCi11c2luZyBuYW1lc3BhY2Ugc3RkOwor
I2luY2x1ZGUgIlBhdHRlcm5BdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9y
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1BhaW50U2VydmVyUGF0dGVybjo6U1ZH
UGFpbnRTZXJ2ZXJQYXR0ZXJuKGNvbnN0IFNWR1BhdHRlcm5FbGVtZW50KiBvd25lcikKLSAgICA6
IG1fb3duZXJFbGVtZW50KG93bmVyKQotICAgICwgbV9wYXR0ZXJuKDApCi17Ci0gICAgQVNTRVJU
KG93bmVyKTsKLX0KK1JlbmRlclNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZVBhdHRl
cm46OnNfcmVzb3VyY2VUeXBlID0gUGF0dGVyblJlc291cmNlVHlwZTsKIAotU1ZHUGFpbnRTZXJ2
ZXJQYXR0ZXJuOjp+U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKCkKK1JlbmRlclNWR1Jlc291cmNlUGF0
dGVybjo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuKFNWR1BhdHRlcm5FbGVtZW50KiBub2RlKQor
ICAgIDogUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKIHsKIH0KIAotRmxvYXRSZWN0
IFNWR1BhaW50U2VydmVyUGF0dGVybjo6cGF0dGVybkJvdW5kYXJpZXMoKSBjb25zdAorUmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuOjp+UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuKCkKIHsKLSAgICBy
ZXR1cm4gbV9wYXR0ZXJuQm91bmRhcmllczsKKyAgICBkZWxldGVBbGxWYWx1ZXMobV9wYXR0ZXJu
KTsKKyAgICBtX3BhdHRlcm4uY2xlYXIoKTsKIH0KIAotdm9pZCBTVkdQYWludFNlcnZlclBhdHRl
cm46OnNldFBhdHRlcm5Cb3VuZGFyaWVzKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3ZvaWQgUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjppbnZhbGlkYXRlQ2xpZW50cygpCiB7Ci0gICAgbV9wYXR0
ZXJuQm91bmRhcmllcyA9IHJlY3Q7Ci19CisgICAgY29uc3QgSGFzaE1hcDxSZW5kZXJPYmplY3Qq
LCBQYXR0ZXJuRGF0YSo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3BhdHRlcm4uZW5kKCk7Cisg
ICAgZm9yIChIYXNoTWFwPFJlbmRlck9iamVjdCosIFBhdHRlcm5EYXRhKj46OmNvbnN0X2l0ZXJh
dG9yIGl0ID0gbV9wYXR0ZXJuLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgbWFy
a0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKGl0LT5maXJzdCk7CiAKLUltYWdlQnVm
ZmVyKiBTVkdQYWludFNlcnZlclBhdHRlcm46OnRpbGUoKSBjb25zdAotewotICAgIHJldHVybiBt
X3RpbGUuZ2V0KCk7CisgICAgZGVsZXRlQWxsVmFsdWVzKG1fcGF0dGVybik7CisgICAgbV9wYXR0
ZXJuLmNsZWFyKCk7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpzZXRUaWxlKFBh
c3NPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGUpCit2b2lkIFJlbmRlclNWR1Jlc291cmNlUGF0dGVy
bjo6aW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKLSAgICBtX3RpbGUg
PSB0aWxlOwotfQorICAgIEFTU0VSVChvYmplY3QpOwogCi1BZmZpbmVUcmFuc2Zvcm0gU1ZHUGFp
bnRTZXJ2ZXJQYXR0ZXJuOjpwYXR0ZXJuVHJhbnNmb3JtKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bV9wYXR0ZXJuVHJhbnNmb3JtOwotfQorICAgIC8vIEZJWE1FOiBUaGUgSGFzaE1hcCBzaG91bGQg
YWx3YXlzIGNvbnRhaW4gdGhlIG9iamVjdCBvbiBjYWxsaW5nIGludmFsaWRhdGVDbGllbnQuIEEg
cmFjZSBjb25kaXRpb24KKyAgICAvLyBkdXJpbmcgdGhlIHBhcnNpbmcgY2FuIGNhdXNlcyBhIGNh
bGwgb2YgaW52YWxpZGF0ZUNsaWVudCByaWdodCBiZWZvcmUgdGhlIGNhbGwgb2YgYXBwbHlSZXNv
dXJjZS4KKyAgICAvLyBXZSByZXR1cm4gZWFybGllciBmb3IgdGhlIG1vbWVudC4gVGhpcyBidWcg
c2hvdWxkIGJlIGZpeGVkIGluOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNTE4MQorICAgIGlmICghbV9wYXR0ZXJuLmNvbnRhaW5zKG9iamVjdCkpCisg
ICAgICAgIHJldHVybjsKIAotdm9pZCBTVkdQYWludFNlcnZlclBhdHRlcm46OnNldFBhdHRlcm5U
cmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCi17Ci0gICAgbV9wYXR0
ZXJuVHJhbnNmb3JtID0gdHJhbnNmb3JtOworICAgIGRlbGV0ZSBtX3BhdHRlcm4udGFrZShvYmpl
Y3QpOworICAgIG1hcmtGb3JMYXlvdXRBbmRSZXNvdXJjZUludmFsaWRhdGlvbihvYmplY3QpOwog
fQogCi1UZXh0U3RyZWFtJiBTVkdQYWludFNlcnZlclBhdHRlcm46OmV4dGVybmFsUmVwcmVzZW50
YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Citib29sIFJlbmRlclNWR1Jlc291cmNlUGF0dGVy
bjo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqIHN0eWxl
LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUp
CiB7Ci0gICAgLy8gR3JhZGllbnRzL3BhdHRlcm5zIGFyZW4ndCBzZXR1cCwgdW50aWwgdGhleSBh
cmUgdXNlZCBmb3IgcGFpbnRpbmcuIFdvcmsgYXJvdW5kIHRoYXQgZmFjdC4KLSAgICBtX293bmVy
RWxlbWVudC0+YnVpbGRQYXR0ZXJuKEZsb2F0UmVjdCgwLjBmLCAwLjBmLCAxLjBmLCAxLjBmKSk7
CisgICAgQVNTRVJUKG9iamVjdCk7CisgICAgQVNTRVJUKHN0eWxlKTsKKyAgICBBU1NFUlQoY29u
dGV4dCk7CisgICAgQVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOwog
Ci0gICAgdHMgPDwgIlt0eXBlPVBBVFRFUk5dIgotICAgICAgICA8PCAiIFtiYm94PSIgPDwgcGF0
dGVybkJvdW5kYXJpZXMoKSA8PCAiXSI7Ci0gICAgaWYgKCFwYXR0ZXJuVHJhbnNmb3JtKCkuaXNJ
ZGVudGl0eSgpKQotICAgICAgICB0cyA8PCAiIFtwYXR0ZXJuIHRyYW5zZm9ybT0iIDw8IHBhdHRl
cm5UcmFuc2Zvcm0oKSA8PCAiXSI7Ci0gICAgcmV0dXJuIHRzOwotfQotCi1ib29sIFNWR1BhaW50
U2VydmVyUGF0dGVybjo6c2V0dXAoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVu
ZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgU1ZHUGFpbnRUYXJn
ZXRUeXBlIHR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0Ci17Ci0gICAgRmxvYXRSZWN0
IHRhcmdldFJlY3QgPSBvYmplY3QtPm9iamVjdEJvdW5kaW5nQm94KCk7CisgICAgLy8gQmUgc3Vy
ZSB0byBzeW5jaHJvbml6ZSBhbGwgU1ZHIHByb3BlcnRpZXMgb24gdGhlIHBhdHRlcm5FbGVtZW50
IF9iZWZvcmVfIHByb2Nlc3NpbmcgYW55IGZ1cnRoZXIuCisgICAgLy8gT3RoZXJ3aGlzZSB0aGUg
Y2FsbCB0byBjb2xsZWN0UGF0dGVybkF0dHJpYnV0ZXMoKSBpbiBjcmVhdGVUaWxlSW1hZ2UoKSwg
bWF5IGNhdXNlIHRoZSBTVkcgRE9NIHByb3BlcnR5CisgICAgLy8gc3luY2hyb25pemF0aW9uIHRv
IGtpY2sgaW4sIHdoaWNoIGNhdXNlcyBpbnZhbGlkYXRlQ2xpZW50cygpIHRvIGJlIGNhbGxlZCwg
d2hpY2ggaW4gdHVybiBkZWxldGVzIG91cgorICAgIC8vIFBhdHRlcm5EYXRhIG9iamVjdCEgTGVh
dmluZyBvdXQgdGhlIGxpbmUgYmVsb3cgd2lsbCBjYXVzZSBzdmcvZHluYW1pYy11cGRhdGVzL1NW
R1BhdHRlcm5FbGVtZW50LXN2Z2RvbSogdG8gY3Jhc2guCisgICAgU1ZHUGF0dGVybkVsZW1lbnQq
IHBhdHRlcm5FbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHUGF0dGVybkVsZW1lbnQqPihub2RlKCkp
OworICAgIGlmICghcGF0dGVybkVsZW1lbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5zdmdTdHlsZSgpOwotICAg
IGJvb2wgaXNGaWxsZWQgPSAodHlwZSAmIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSkgJiYgc3ZnU3R5
bGUtPmhhc0ZpbGwoKTsKLSAgICBib29sIGlzU3Ryb2tlZCA9ICh0eXBlICYgQXBwbHlUb1N0cm9r
ZVRhcmdldFR5cGUpICYmIHN2Z1N0eWxlLT5oYXNTdHJva2UoKTsKKyAgICBwYXR0ZXJuRWxlbWVu
dC0+dXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoYW55UU5hbWUoKSk7CiAKLSAgICBBU1NFUlQo
KGlzRmlsbGVkICYmICFpc1N0cm9rZWQpIHx8ICghaXNGaWxsZWQgJiYgaXNTdHJva2VkKSk7Cisg
ICAgaWYgKCFtX3BhdHRlcm4uY29udGFpbnMob2JqZWN0KSkKKyAgICAgICAgbV9wYXR0ZXJuLnNl
dChvYmplY3QsIG5ldyBQYXR0ZXJuRGF0YSk7CiAKLSAgICBtX293bmVyRWxlbWVudC0+YnVpbGRQ
YXR0ZXJuKHRhcmdldFJlY3QpOwotICAgIGlmICghdGlsZSgpKQotICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgUGF0dGVybkRhdGEqIHBhdHRlcm5EYXRhID0gbV9wYXR0ZXJuLmdldChvYmplY3Qp
OworICAgIGlmICghcGF0dGVybkRhdGEtPnBhdHRlcm4pIHsKKyAgICAgICAgRmxvYXRSZWN0IHBh
dHRlcm5Cb3VuZGFyaWVzOworICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5zZm9y
bTsKKworICAgICAgICAvLyBDcmVhdGUgdGlsZSBpbWFnZQorICAgICAgICBPd25QdHI8SW1hZ2VC
dWZmZXI+IHRpbGVJbWFnZSA9IGNyZWF0ZVRpbGVJbWFnZShwYXR0ZXJuQm91bmRhcmllcywgcGF0
dGVyblRyYW5zZm9ybSwgcGF0dGVybkVsZW1lbnQsIG9iamVjdCk7CisgICAgICAgIGlmICghdGls
ZUltYWdlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIC8vIENyZWF0ZSBw
YXR0ZXJuIG9iamVjdAorICAgICAgICBidWlsZFBhdHRlcm4ocGF0dGVybkRhdGEsIHBhdHRlcm5C
b3VuZGFyaWVzLCB0aWxlSW1hZ2UucmVsZWFzZSgpKTsKKworICAgICAgICBpZiAoIXBhdHRlcm5E
YXRhLT5wYXR0ZXJuKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIC8vIENv
bXB1dGUgcGF0dGVybiB0cmFuc2Zvcm1hdGlvbgorICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJh
bnNmb3JtOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzLngo
KSwgcGF0dGVybkJvdW5kYXJpZXMueSgpKTsKKyAgICAgICAgdHJhbnNmb3JtLm11bHRpcGx5KHBh
dHRlcm5UcmFuc2Zvcm0pOworICAgICAgICBwYXR0ZXJuRGF0YS0+cGF0dGVybi0+c2V0UGF0dGVy
blNwYWNlVHJhbnNmb3JtKHRyYW5zZm9ybSk7CisgICAgfQogCisgICAgLy8gRHJhdyBwYXR0ZXJu
CiAgICAgY29udGV4dC0+c2F2ZSgpOwogCi0gICAgQVNTRVJUKCFtX3BhdHRlcm4pOwotCi0gICAg
SW50UmVjdCB0aWxlUmVjdCA9IHRpbGUoKS0+aW1hZ2UoKS0+cmVjdCgpOwotICAgIGlmICh0aWxl
UmVjdC53aWR0aCgpID4gcGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpIHx8IHRpbGVSZWN0Lmhl
aWdodCgpID4gcGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSkgewotICAgICAgICAvLyBEcmF3
IHRoZSBmaXJzdCBjZWxsIG9mIHRoZSBwYXR0ZXJuIG1hbnVhbGx5IHRvIHN1cHBvcnQgb3ZlcmZs
b3c9InZpc2libGUiIG9uIGFsbCBwbGF0Zm9ybXMuCi0gICAgICAgIGludCB0aWxlV2lkdGggPSBz
dGF0aWNfY2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVzKCkud2lkdGgoKSArIDAuNWYpOwotICAg
ICAgICBpbnQgdGlsZUhlaWdodCA9IHN0YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJpZXMo
KS5oZWlnaHQoKSArIDAuNWYpOwotICAgICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGVJbWFn
ZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUoSW50U2l6ZSh0aWxlV2lkdGgsIHRpbGVIZWlnaHQpKTsK
LSAgCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCogdGlsZUltYWdlQ29udGV4dCA9IHRpbGVJbWFn
ZS0+Y29udGV4dCgpOwotCi0gICAgICAgIGludCBudW1ZID0gc3RhdGljX2Nhc3Q8aW50PihjZWls
Zih0aWxlUmVjdC5oZWlnaHQoKSAvIHRpbGVIZWlnaHQpKSArIDE7Ci0gICAgICAgIGludCBudW1Y
ID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZih0aWxlUmVjdC53aWR0aCgpIC8gdGlsZVdpZHRoKSkg
KyAxOwotCi0gICAgICAgIHRpbGVJbWFnZUNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgdGlsZUlt
YWdlQ29udGV4dC0+dHJhbnNsYXRlKC1wYXR0ZXJuQm91bmRhcmllcygpLndpZHRoKCkgKiBudW1Y
LCAtcGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSAqIG51bVkpOwotICAgICAgICBmb3IgKGlu
dCBpID0gbnVtWTsgaSA+IDA7IGktLSkgewotICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4dC0+
dHJhbnNsYXRlKDAsIHBhdHRlcm5Cb3VuZGFyaWVzKCkuaGVpZ2h0KCkpOwotICAgICAgICAgICAg
Zm9yIChpbnQgaiA9IG51bVg7IGogPiAwOyBqLS0pIHsKLSAgICAgICAgICAgICAgICB0aWxlSW1h
Z2VDb250ZXh0LT50cmFuc2xhdGUocGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpLCAwKTsKLSAg
ICAgICAgICAgICAgICB0aWxlSW1hZ2VDb250ZXh0LT5kcmF3SW1hZ2UodGlsZSgpLT5pbWFnZSgp
LCBzdHlsZS0+Y29sb3JTcGFjZSgpLCB0aWxlUmVjdCwgdGlsZVJlY3QpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKC1wYXR0ZXJuQm91bmRh
cmllcygpLndpZHRoKCkgKiBudW1YLCAwKTsKLSAgICAgICAgfQotICAgICAgICB0aWxlSW1hZ2VD
b250ZXh0LT5yZXN0b3JlKCk7Ci0KLSAgICAgICAgbV9wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRl
KHRpbGVJbWFnZS0+aW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7Ci0gICAgfQotICAgIGVsc2UKLSAgICAg
ICAgbV9wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGUoKS0+aW1hZ2UoKSwgdHJ1ZSwgdHJ1
ZSk7CisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2Z1N0eWxl
KCk7CisgICAgQVNTRVJUKHN2Z1N0eWxlKTsKIAotICAgIGlmIChpc0ZpbGxlZCkgeworICAgIGlm
IChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKICAgICAgICAgY29udGV4dC0+c2V0
QWxwaGEoc3ZnU3R5bGUtPmZpbGxPcGFjaXR5KCkpOwotICAgICAgICBjb250ZXh0LT5zZXRGaWxs
UGF0dGVybihtX3BhdHRlcm4pOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsUGF0dGVybihwYXR0
ZXJuRGF0YS0+cGF0dGVybik7CiAgICAgICAgIGNvbnRleHQtPnNldEZpbGxSdWxlKHN2Z1N0eWxl
LT5maWxsUnVsZSgpKTsKLSAgICB9Ci0gICAgaWYgKGlzU3Ryb2tlZCkgeworICAgIH0gZWxzZSBp
ZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpIHsKICAgICAgICAgY29udGV4dC0+
c2V0QWxwaGEoc3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSk7Ci0gICAgICAgIGNvbnRleHQtPnNl
dFN0cm9rZVBhdHRlcm4obV9wYXR0ZXJuKTsKKyAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlUGF0
dGVybihwYXR0ZXJuRGF0YS0+cGF0dGVybik7CiAgICAgICAgIGFwcGx5U3Ryb2tlU3R5bGVUb0Nv
bnRleHQoY29udGV4dCwgc3R5bGUsIG9iamVjdCk7CiAgICAgfQogCi0gICAgQWZmaW5lVHJhbnNm
b3JtIG1hdHJpeDsKLSAgICBtYXRyaXgudHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzKCkueCgp
LCBwYXR0ZXJuQm91bmRhcmllcygpLnkoKSk7Ci0gICAgbWF0cml4Lm11bHRpcGx5KHBhdHRlcm5U
cmFuc2Zvcm0oKSk7Ci0gICAgbV9wYXR0ZXJuLT5zZXRQYXR0ZXJuU3BhY2VUcmFuc2Zvcm0obWF0
cml4KTsKKyAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlKSB7CisgICAgICAg
IGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKKyAgICAgICAgICAgIGNvbnRl
eHQtPnNldFRleHREcmF3aW5nTW9kZShjVGV4dEZpbGwpOwogCi0gICAgaWYgKGlzUGFpbnRpbmdU
ZXh0KSB7Ci0gICAgICAgIGNvbnRleHQtPnNldFRleHREcmF3aW5nTW9kZShpc0ZpbGxlZCA/IGNU
ZXh0RmlsbCA6IGNUZXh0U3Ryb2tlKTsKICNpZiBQTEFURk9STShDRykKLSAgICAgICAgaWYgKGlz
RmlsbGVkKQogICAgICAgICAgICAgY29udGV4dC0+YXBwbHlGaWxsUGF0dGVybigpOwotICAgICAg
ICBlbHNlCisjZW5kaWYKKyAgICAgICAgfSBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRv
U3Ryb2tlTW9kZSkgeworICAgICAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKGNU
ZXh0U3Ryb2tlKTsKKworI2lmIFBMQVRGT1JNKENHKQogICAgICAgICAgICAgY29udGV4dC0+YXBw
bHlTdHJva2VQYXR0ZXJuKCk7CiAjZW5kaWYKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJldHVy
biB0cnVlOwogfQogCi12b2lkIFNWR1BhaW50U2VydmVyUGF0dGVybjo6dGVhcmRvd24oR3JhcGhp
Y3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJnZXRU
eXBlLCBib29sKSBjb25zdAordm9pZCBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OnBvc3RBcHBs
eVJlc291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVuc2ln
bmVkIHNob3J0IHJlc291cmNlTW9kZSkKIHsKLSAgICBtX3BhdHRlcm4gPSAwOworICAgIEFTU0VS
VChjb250ZXh0KTsKKyAgICBBU1NFUlQocmVzb3VyY2VNb2RlICE9IEFwcGx5VG9EZWZhdWx0TW9k
ZSk7CisKKyAgICBpZiAoIShyZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1vZGUpKSB7CisgICAg
ICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpCisgICAgICAgICAgICBjb250
ZXh0LT5maWxsUGF0aCgpOworICAgICAgICBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRv
U3Ryb2tlTW9kZSkKKyAgICAgICAgICAgIGNvbnRleHQtPnN0cm9rZVBhdGgoKTsKKyAgICB9CiAK
ICAgICBjb250ZXh0LT5yZXN0b3JlKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK3N0
YXRpYyBpbmxpbmUgRmxvYXRSZWN0IGNhbGN1bGF0ZVBhdHRlcm5Cb3VuZGFyaWVzKFBhdHRlcm5B
dHRyaWJ1dGVzJiBhdHRyaWJ1dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRSZWN0JiBvYmplY3RCb3VuZGluZ0JveCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNW
R1BhdHRlcm5FbGVtZW50KiBwYXR0ZXJuRWxlbWVudCkKK3sKKyAgICBpZiAoYXR0cmlidXRlcy5i
b3VuZGluZ0JveE1vZGUoKSkKKyAgICAgICAgcmV0dXJuIEZsb2F0UmVjdChhdHRyaWJ1dGVzLngo
KS52YWx1ZUFzUGVyY2VudGFnZSgpICogb2JqZWN0Qm91bmRpbmdCb3gud2lkdGgoKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLnkoKS52YWx1ZUFzUGVyY2VudGFnZSgpICog
b2JqZWN0Qm91bmRpbmdCb3guaGVpZ2h0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgYXR0
cmlidXRlcy53aWR0aCgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiBvYmplY3RCb3VuZGluZ0JveC53
aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuaGVpZ2h0KCkudmFs
dWVBc1BlcmNlbnRhZ2UoKSAqIG9iamVjdEJvdW5kaW5nQm94LmhlaWdodCgpKTsKKworICAgIHJl
dHVybiBGbG9hdFJlY3QoYXR0cmlidXRlcy54KCkudmFsdWUocGF0dGVybkVsZW1lbnQpLAorICAg
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy55KCkudmFsdWUocGF0dGVybkVsZW1lbnQpLAor
ICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy53aWR0aCgpLnZhbHVlKHBhdHRlcm5FbGVt
ZW50KSwKKyAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuaGVpZ2h0KCkudmFsdWUocGF0
dGVybkVsZW1lbnQpKTsKK30KKworRmxvYXRSZWN0IFJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6
Y2FsY3VsYXRlUGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdyhQYXR0ZXJuQXR0cmli
dXRlcyYgYXR0cmlidXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRSZWN0
JiBvYmplY3RCb3VuZGluZ0JveCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQWZmaW5l
VHJhbnNmb3JtJiB2aWV3Qm94Q1RNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGbG9h
dFJlY3QmIHBhdHRlcm5Cb3VuZGFyaWVzKSBjb25zdAoreworICAgIC8vIEV2ZW50dWFsbHkgY2Fs
Y3VsYXRlIHRoZSBwYXR0ZXJuIGNvbnRlbnQgYm91bmRhcmllcyAob25seSBuZWVkZWQgd2l0aCBv
dmVyZmxvdz0idmlzaWJsZSIpLgorICAgIEZsb2F0UmVjdCBwYXR0ZXJuQ29udGVudEJvdW5kYXJp
ZXM7CisKKyAgICBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUgPSB0aGlzLT5zdHlsZSgpOworICAg
IGlmIChzdHlsZS0+b3ZlcmZsb3dYKCkgPT0gT1ZJU0lCTEUgJiYgc3R5bGUtPm92ZXJmbG93WSgp
ID09IE9WSVNJQkxFKSB7CisgICAgICAgIGZvciAoTm9kZSogbm9kZSA9IGF0dHJpYnV0ZXMucGF0
dGVybkNvbnRlbnRFbGVtZW50KCktPmZpcnN0Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5l
eHRTaWJsaW5nKCkpIHsKKyAgICAgICAgICAgIGlmICghbm9kZS0+aXNTVkdFbGVtZW50KCkgfHwg
IXN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihub2RlKS0+aXNTdHlsZWRUcmFuc2Zvcm1hYmxlKCkg
fHwgIW5vZGUtPnJlbmRlcmVyKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
ICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMudW5pdGUobm9kZS0+cmVuZGVyZXIoKS0+cmVw
YWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBp
ZiAocGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHBh
dHRlcm5Cb3VuZGFyaWVzOworCisgICAgRmxvYXRSZWN0IHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVk
aW5nT3ZlcmZsb3cgPSBwYXR0ZXJuQm91bmRhcmllczsKKworICAgIC8vIFJlc3BlY3Qgb2JqZWN0
Qm91bmRpbmdCb3hNb2RlIGZvciBwYXR0ZXJuQ29udGVudFVuaXRzLCBpZiB2aWV3Qm94IGlzIG5v
dCBzZXQuCisgICAgaWYgKCF2aWV3Qm94Q1RNLmlzSWRlbnRpdHkoKSkKKyAgICAgICAgcGF0dGVy
bkNvbnRlbnRCb3VuZGFyaWVzID0gdmlld0JveENUTS5tYXBSZWN0KHBhdHRlcm5Db250ZW50Qm91
bmRhcmllcyk7CisgICAgZWxzZSBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGVDb250ZW50
KCkpCisgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcyA9IEZsb2F0UmVjdChwYXR0ZXJu
Q29udGVudEJvdW5kYXJpZXMueCgpICogb2JqZWN0Qm91bmRpbmdCb3gud2lkdGgoKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91
bmRhcmllcy55KCkgKiBvYmplY3RCb3VuZGluZ0JveC5oZWlnaHQoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy53
aWR0aCgpICogb2JqZWN0Qm91bmRpbmdCb3gud2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy5oZWlnaHQo
KSAqIG9iamVjdEJvdW5kaW5nQm94LmhlaWdodCgpKTsKKworICAgIHBhdHRlcm5Cb3VuZGFyaWVz
SW5jbHVkaW5nT3ZlcmZsb3cudW5pdGUocGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzKTsKKyAgICBy
ZXR1cm4gcGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdzsKK30KKworUGFzc093blB0
cjxJbWFnZUJ1ZmZlcj4gUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpjcmVhdGVUaWxlSW1hZ2Uo
RmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFmZmluZVRyYW5zZm9ybSYg
cGF0dGVyblRyYW5zZm9ybSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNWR1BhdHRlcm5FbGVtZW50KiBwYXR0
ZXJuRWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFJlbmRlck9iamVjdCogb2JqZWN0KSBjb25zdAoreworICAg
IFBhdHRlcm5BdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSBwYXR0ZXJuRWxlbWVudC0+Y29sbGVjdFBh
dHRlcm5Qcm9wZXJ0aWVzKCk7CisKKyAgICAvLyBJZiB3ZSBjb3VsZG4ndCBkZXRlcm1pbmUgdGhl
IHBhdHRlcm4gY29udGVudCBlbGVtZW50IHJvb3QsIHN0b3AgaGVyZS4KKyAgICBpZiAoIWF0dHJp
YnV0ZXMucGF0dGVybkNvbnRlbnRFbGVtZW50KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAg
RmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgp
OyAgICAKKyAgICBwYXR0ZXJuQm91bmRhcmllcyA9IGNhbGN1bGF0ZVBhdHRlcm5Cb3VuZGFyaWVz
KGF0dHJpYnV0ZXMsIG9iamVjdEJvdW5kaW5nQm94LCBwYXR0ZXJuRWxlbWVudCk7IAorICAgIHBh
dHRlcm5UcmFuc2Zvcm0gPSBhdHRyaWJ1dGVzLnBhdHRlcm5UcmFuc2Zvcm0oKTsKKworICAgIEFm
ZmluZVRyYW5zZm9ybSB2aWV3Qm94Q1RNID0gcGF0dGVybkVsZW1lbnQtPnZpZXdCb3hUb1ZpZXdU
cmFuc2Zvcm0ocGF0dGVybkVsZW1lbnQtPnZpZXdCb3goKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRl
cm5FbGVtZW50LT5wcmVzZXJ2ZUFzcGVjdFJhdGlvKCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJu
Qm91bmRhcmllcy53aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMuaGVp
Z2h0KCkpOworCisgICAgRmxvYXRSZWN0IHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZs
b3cgPSBjYWxjdWxhdGVQYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93KGF0dHJpYnV0
ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdEJvdW5kaW5n
Qm94LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94Q1RNLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQm91bmRhcmllcyk7
CisKKyAgICBJbnRTaXplIGltYWdlU2l6ZShscm91bmRmKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVk
aW5nT3ZlcmZsb3cud2lkdGgoKSksIGxyb3VuZGYocGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdP
dmVyZmxvdy5oZWlnaHQoKSkpOworCisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBiZSBhYmxlIHRv
IGNsaXAgdGhpcyBtb3JlLCBuZWVkcyBpbnZlc3RpZ2F0aW9uCisgICAgY2xhbXBJbWFnZUJ1ZmZl
clNpemVUb1ZpZXdwb3J0KG9iamVjdC0+ZG9jdW1lbnQoKS0+dmlldygpLCBpbWFnZVNpemUpOwor
CisgICAgT3duUHRyPEltYWdlQnVmZmVyPiB0aWxlSW1hZ2UgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRl
KGltYWdlU2l6ZSk7CisKKyAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSB0aWxlSW1hZ2Ut
PmNvbnRleHQoKTsKKyAgICBBU1NFUlQoY29udGV4dCk7CisKKyAgICBjb250ZXh0LT5zYXZlKCk7
CisKKyAgICAvLyBUcmFuc2xhdGUgdG8gcGF0dGVybiBzdGFydCBvcmlnaW4KKyAgICBpZiAocGF0
dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy5sb2NhdGlvbigpICE9IHBhdHRlcm5Cb3Vu
ZGFyaWVzLmxvY2F0aW9uKCkpIHsKKyAgICAgICAgY29udGV4dC0+dHJhbnNsYXRlKHBhdHRlcm5C
b3VuZGFyaWVzLngoKSAtIHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cueCgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMueSgpIC0gcGF0dGVy
bkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy55KCkpOworCisgICAgICAgIHBhdHRlcm5Cb3Vu
ZGFyaWVzLnNldExvY2F0aW9uKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cubG9j
YXRpb24oKSk7CisgICAgfQorCisgICAgLy8gUHJvY2VzcyB2aWV3Qm94IG9yIGJvdW5kaW5nQm94
TW9kZUNvbnRlbnQgY29ycmVjdGlvbgorICAgIGlmICghdmlld0JveENUTS5pc0lkZW50aXR5KCkp
CisgICAgICAgIGNvbnRleHQtPmNvbmNhdENUTSh2aWV3Qm94Q1RNKTsKKyAgICBlbHNlIGlmIChh
dHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZUNvbnRlbnQoKSkgeworICAgICAgICBjb250ZXh0LT50
cmFuc2xhdGUob2JqZWN0Qm91bmRpbmdCb3gueCgpLCBvYmplY3RCb3VuZGluZ0JveC55KCkpOwor
ICAgICAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUob2JqZWN0Qm91bmRpbmdCb3gud2lkdGgo
KSwgb2JqZWN0Qm91bmRpbmdCb3guaGVpZ2h0KCkpKTsKKyAgICB9CisKKyAgICAvLyBSZW5kZXIg
c3VidHJlZSBpbnRvIEltYWdlQnVmZmVyCisgICAgZm9yIChOb2RlKiBub2RlID0gYXR0cmlidXRl
cy5wYXR0ZXJuQ29udGVudEVsZW1lbnQoKS0+Zmlyc3RDaGlsZCgpOyBub2RlOyBub2RlID0gbm9k
ZS0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICBpZiAoIW5vZGUtPmlzU1ZHRWxlbWVudCgpIHx8
ICFzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4obm9kZSktPmlzU3R5bGVkKCkgfHwgIW5vZGUtPnJl
bmRlcmVyKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgcmVuZGVyU3VidHJlZVRv
SW1hZ2UodGlsZUltYWdlLmdldCgpLCBub2RlLT5yZW5kZXJlcigpKTsKKyAgICB9CisKKyAgICBj
b250ZXh0LT5yZXN0b3JlKCk7CisgICAgcmV0dXJuIHRpbGVJbWFnZS5yZWxlYXNlKCk7Cit9CisK
K3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpidWlsZFBhdHRlcm4oUGF0dGVybkRhdGEq
IHBhdHRlcm5EYXRhLCBjb25zdCBGbG9hdFJlY3QmIHBhdHRlcm5Cb3VuZGFyaWVzLCBQYXNzT3du
UHRyPEltYWdlQnVmZmVyPiB0aWxlSW1hZ2UpIGNvbnN0Cit7CisgICAgaWYgKCF0aWxlSW1hZ2Ut
PmltYWdlKCkpIHsKKyAgICAgICAgcGF0dGVybkRhdGEtPnBhdHRlcm4gPSAwOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgSW50UmVjdCB0aWxlUmVjdCA9IHRpbGVJbWFnZS0+aW1hZ2Uo
KS0+cmVjdCgpOworICAgIGlmICh0aWxlUmVjdC53aWR0aCgpIDw9IHBhdHRlcm5Cb3VuZGFyaWVz
LndpZHRoKCkgJiYgdGlsZVJlY3QuaGVpZ2h0KCkgPD0gcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0
KCkpIHsKKyAgICAgICAgcGF0dGVybkRhdGEtPnBhdHRlcm4gPSBQYXR0ZXJuOjpjcmVhdGUodGls
ZUltYWdlLT5pbWFnZSgpLCB0cnVlLCB0cnVlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIC8vIERyYXcgdGhlIGZpcnN0IGNlbGwgb2YgdGhlIHBhdHRlcm4gbWFudWFsbHkgdG8gc3Vw
cG9ydCBvdmVyZmxvdz0idmlzaWJsZSIgb24gYWxsIHBsYXRmb3Jtcy4KKyAgICBpbnQgdGlsZVdp
ZHRoID0gc3RhdGljX2Nhc3Q8aW50PihwYXR0ZXJuQm91bmRhcmllcy53aWR0aCgpICsgMC41Zik7
CisgICAgaW50IHRpbGVIZWlnaHQgPSBzdGF0aWNfY2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVz
LmhlaWdodCgpICsgMC41Zik7CisgICAgT3duUHRyPEltYWdlQnVmZmVyPiBuZXdUaWxlSW1hZ2Ug
PSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKEludFNpemUodGlsZVdpZHRoLCB0aWxlSGVpZ2h0KSk7CisK
KyAgICBHcmFwaGljc0NvbnRleHQqIG5ld1RpbGVJbWFnZUNvbnRleHQgPSBuZXdUaWxlSW1hZ2Ut
PmNvbnRleHQoKTsKKworICAgIGludCBudW1ZID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZih0aWxl
UmVjdC5oZWlnaHQoKSAvIHRpbGVIZWlnaHQpKSArIDE7CisgICAgaW50IG51bVggPSBzdGF0aWNf
Y2FzdDxpbnQ+KGNlaWxmKHRpbGVSZWN0LndpZHRoKCkgLyB0aWxlV2lkdGgpKSArIDE7CisKKyAg
ICBuZXdUaWxlSW1hZ2VDb250ZXh0LT5zYXZlKCk7CisgICAgbmV3VGlsZUltYWdlQ29udGV4dC0+
dHJhbnNsYXRlKC1wYXR0ZXJuQm91bmRhcmllcy53aWR0aCgpICogbnVtWCwgLXBhdHRlcm5Cb3Vu
ZGFyaWVzLmhlaWdodCgpICogbnVtWSk7CisgICAgZm9yIChpbnQgaSA9IG51bVk7IGkgPiAwOyAt
LWkpIHsKKyAgICAgICAgbmV3VGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKDAsIHBhdHRlcm5C
b3VuZGFyaWVzLmhlaWdodCgpKTsKKyAgICAgICAgZm9yIChpbnQgaiA9IG51bVg7IGogPiAwOyAt
LWopIHsKKyAgICAgICAgICAgIG5ld1RpbGVJbWFnZUNvbnRleHQtPnRyYW5zbGF0ZShwYXR0ZXJu
Qm91bmRhcmllcy53aWR0aCgpLCAwKTsKKyAgICAgICAgICAgIG5ld1RpbGVJbWFnZUNvbnRleHQt
PmRyYXdJbWFnZSh0aWxlSW1hZ2UtPmltYWdlKCksIHN0eWxlKCktPmNvbG9yU3BhY2UoKSwgdGls
ZVJlY3QsIHRpbGVSZWN0KTsKKyAgICAgICAgfQorICAgICAgICBuZXdUaWxlSW1hZ2VDb250ZXh0
LT50cmFuc2xhdGUoLXBhdHRlcm5Cb3VuZGFyaWVzLndpZHRoKCkgKiBudW1YLCAwKTsKKyAgICB9
CisgICAgbmV3VGlsZUltYWdlQ29udGV4dC0+cmVzdG9yZSgpOworCisgICAgcGF0dGVybkRhdGEt
PnBhdHRlcm4gPSBQYXR0ZXJuOjpjcmVhdGUobmV3VGlsZUltYWdlLT5pbWFnZSgpLCB0cnVlLCB0
cnVlKTsKK30KKworfQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlUGF0dGVybi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlUGF0dGVybi5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDg1ICsx
LDc0IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emlt
bWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGlt
aXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaWZuZGVmIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybl9oCiAjZGVmaW5lIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybl9oCiAKICNpZiBFTkFCTEUo
U1ZHKQotCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0
LmgiCisjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNpbmNsdWRlICJQYXR0ZXJuLmgiCi0jaW5j
bHVkZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIKLQotI2luY2x1ZGUgPG1lbW9yeT4KKyNpbmNsdWRlICJS
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgorI2luY2x1ZGUgIlNWR1BhdHRlcm5FbGVtZW50
LmgiCisjaW5jbHVkZSAiU1ZHVW5pdFR5cGVzLmgiCiAKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEdyYXBoaWNzQ29udGV4dDsKLWNsYXNzIElt
YWdlQnVmZmVyOwotY2xhc3MgU1ZHUGF0dGVybkVsZW1lbnQ7Ci0KLWNsYXNzIFNWR1BhaW50U2Vy
dmVyUGF0dGVybiA6IHB1YmxpYyBTVkdQYWludFNlcnZlciB7Ci1wdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuPiBjcmVhdGUoY29uc3QgU1ZHUGF0dGVy
bkVsZW1lbnQqIG93bmVyKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGFpbnRTZXJ2ZXJQYXR0
ZXJuKG93bmVyKSk7IH0KLQotICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyUGF0dGVybigpOwor
c3RydWN0IFBhdHRlcm5EYXRhIHsKKyAgICBSZWZQdHI8UGF0dGVybj4gcGF0dGVybjsKK307CiAK
LSAgICB2aXJ0dWFsIFNWR1BhaW50U2VydmVyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gUGF0
dGVyblBhaW50U2VydmVyOyB9CitzdHJ1Y3QgUGF0dGVybkF0dHJpYnV0ZXM7CiAKLSAgICAvLyBQ
YXR0ZXJuIGJvdW5kYXJpZXMKLSAgICB2b2lkIHNldFBhdHRlcm5Cb3VuZGFyaWVzKGNvbnN0IEZs
b2F0UmVjdCYpOwotICAgIEZsb2F0UmVjdCBwYXR0ZXJuQm91bmRhcmllcygpIGNvbnN0OworY2xh
c3MgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyIHsKK3B1YmxpYzoKKyAgICBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4oU1ZHUGF0dGVy
bkVsZW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4oKTsKIAot
ICAgIEltYWdlQnVmZmVyKiB0aWxlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRUaWxlKFBhc3NPd25Q
dHI8SW1hZ2VCdWZmZXI+KTsKKyAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBj
b25zdCB7IHJldHVybiAiUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuIjsgfQogCi0gICAgQWZmaW5l
VHJhbnNmb3JtIHBhdHRlcm5UcmFuc2Zvcm0oKSBjb25zdDsKLSAgICB2b2lkIHNldFBhdHRlcm5U
cmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CisgICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVDbGllbnRzKCk7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnQoUmVuZGVy
T2JqZWN0Kik7CiAKLSAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRp
b24oVGV4dFN0cmVhbSYpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291cmNlKFJl
bmRlck9iamVjdCosIFJlbmRlclN0eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYsIHVuc2lnbmVkIHNo
b3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBcHBseVJlc291cmNlKFJl
bmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1v
ZGUpOworICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91bmRpbmdCb3goY29uc3QgRmxv
YXRSZWN0JikgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KIAotICAgIHZpcnR1YWwgYm9v
bCBzZXR1cChHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVu
ZGVyU3R5bGUqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0
OwotICAgIHZpcnR1YWwgdm9pZCB0ZWFyZG93bihHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVu
ZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sIGlzUGFpbnRpbmdUZXh0KSBjb25z
dDsKKyAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25z
dCB7IHJldHVybiBzX3Jlc291cmNlVHlwZTsgfQorICAgIHN0YXRpYyBSZW5kZXJTVkdSZXNvdXJj
ZVR5cGUgc19yZXNvdXJjZVR5cGU7CiAKIHByaXZhdGU6Ci0gICAgU1ZHUGFpbnRTZXJ2ZXJQYXR0
ZXJuKGNvbnN0IFNWR1BhdHRlcm5FbGVtZW50Kik7Ci0gICAgCi0gICAgT3duUHRyPEltYWdlQnVm
ZmVyPiBtX3RpbGU7Ci0gICAgY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIG1fb3duZXJFbGVtZW50
OwotICAgIEFmZmluZVRyYW5zZm9ybSBtX3BhdHRlcm5UcmFuc2Zvcm07Ci0gICAgRmxvYXRSZWN0
IG1fcGF0dGVybkJvdW5kYXJpZXM7CisgICAgUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRl
VGlsZUltYWdlKEZsb2F0UmVjdCYgcGF0dGVybkJvdW5kYXJpZXMsIEFmZmluZVRyYW5zZm9ybSYg
cGF0dGVyblRyYW5zZm9ybSwgY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqLCBSZW5kZXJPYmplY3Qq
KSBjb25zdDsKKyAgICB2b2lkIGJ1aWxkUGF0dGVybihQYXR0ZXJuRGF0YSosIGNvbnN0IEZsb2F0
UmVjdCYgcGF0dGVybkJvdW5kYXJpZXMsIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGVJbWFn
ZSkgY29uc3Q7CisgICAgRmxvYXRSZWN0IGNhbGN1bGF0ZVBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVk
aW5nT3ZlcmZsb3coUGF0dGVybkF0dHJpYnV0ZXMmLCBjb25zdCBGbG9hdFJlY3QmIG9iamVjdEJv
dW5kaW5nQm94LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdmlld0JveENUTSwgY29uc3QgRmxv
YXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcykgY29uc3Q7CiAKLSAgICBtdXRhYmxlIFJlZlB0cjxQ
YXR0ZXJuPiBtX3BhdHRlcm47CisgICAgSGFzaE1hcDxSZW5kZXJPYmplY3QqLCBQYXR0ZXJuRGF0
YSo+IG1fcGF0dGVybjsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30KIAogI2VuZGlm
Ci0KLSNlbmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm5faAorI2VuZGlmCkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRp
ZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdS
ZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwyNiArMSwyMiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQg
MjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICog
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMjgsNjEgKzI0
LDQ4IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVJhZGlh
bEdyYWRpZW50LmgiCiAKLSNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCisjaW5jbHVk
ZSAiUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSAiU1ZHUmFkaWFsR3JhZGll
bnRFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU1ZHUGFpbnRTZXJ2ZXJSYWRp
YWxHcmFkaWVudDo6U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudChjb25zdCBTVkdHcmFkaWVu
dEVsZW1lbnQqIG93bmVyKQotICAgIDogU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudChvd25lcikKLSAg
ICAsIG1fcmFkaXVzKDAuMGYpCi17Ci19CitSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZH
UmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6c19yZXNvdXJjZVR5cGUgPSBSYWRpYWxHcmFkaWVudFJl
c291cmNlVHlwZTsKIAotU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6flNWR1BhaW50U2Vy
dmVyUmFkaWFsR3JhZGllbnQoKQorUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6UmVu
ZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudChTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQqIG5v
ZGUpCisgICAgOiBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50KG5vZGUpCiB7CiB9CiAKLQotRmxv
YXRQb2ludCBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpncmFkaWVudENlbnRlcigpIGNv
bnN0CitSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VS
YWRpYWxHcmFkaWVudCgpCiB7Ci0gICAgcmV0dXJuIG1fY2VudGVyOwogfQogCi12b2lkIFNWR1Bh
aW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OnNldEdyYWRpZW50Q2VudGVyKGNvbnN0IEZsb2F0UG9p
bnQmIGNlbnRlcikKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6YnVpbGRH
cmFkaWVudChHcmFkaWVudERhdGEqIGdyYWRpZW50RGF0YSwgU1ZHR3JhZGllbnRFbGVtZW50KiBn
cmFkaWVudEVsZW1lbnQpIGNvbnN0CiB7Ci0gICAgbV9jZW50ZXIgPSBjZW50ZXI7Ci19CisgICAg
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KiByYWRpYWxHcmFkaWVudEVsZW1lbnQgPSBzdGF0aWNf
Y2FzdDxTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQqPihncmFkaWVudEVsZW1lbnQpOworICAgIFJh
ZGlhbEdyYWRpZW50QXR0cmlidXRlcyBhdHRyaWJ1dGVzID0gcmFkaWFsR3JhZGllbnRFbGVtZW50
LT5jb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCk7CiAKLUZsb2F0UG9pbnQgU1ZHUGFpbnRTZXJ2
ZXJSYWRpYWxHcmFkaWVudDo6Z3JhZGllbnRGb2NhbCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1f
Zm9jYWw7Ci19CisgICAgLy8gRGV0ZXJtaW5lIGdyYWRpZW50IGZvY2FsL2NlbnRlciBwb2ludHMg
YW5kIHJhZGl1cworICAgIEZsb2F0UG9pbnQgZm9jYWxQb2ludDsKKyAgICBGbG9hdFBvaW50IGNl
bnRlclBvaW50OworICAgIGZsb2F0IHJhZGl1czsKKyAgICByYWRpYWxHcmFkaWVudEVsZW1lbnQt
PmNhbGN1bGF0ZUZvY2FsQ2VudGVyUG9pbnRzQW5kUmFkaXVzKGF0dHJpYnV0ZXMsIGZvY2FsUG9p
bnQsIGNlbnRlclBvaW50LCByYWRpdXMpOwogCi12b2lkIFNWR1BhaW50U2VydmVyUmFkaWFsR3Jh
ZGllbnQ6OnNldEdyYWRpZW50Rm9jYWwoY29uc3QgRmxvYXRQb2ludCYgZm9jYWwpCi17Ci0gICAg
bV9mb2NhbCA9IGZvY2FsOwotfQorICAgIGdyYWRpZW50RGF0YS0+Z3JhZGllbnQgPSBHcmFkaWVu
dDo6Y3JlYXRlKGZvY2FsUG9pbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMC4wZiwgLy8gU1ZHIGRvZXMgbm90IHN1cHBvcnQgYSAiZm9jdXMgcmFkaXVz
IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlclBv
aW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhZGl1
cyk7CiAKLWZsb2F0IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OmdyYWRpZW50UmFkaXVz
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9yYWRpdXM7Ci19CisgICAgZ3JhZGllbnREYXRhLT5n
cmFkaWVudC0+c2V0U3ByZWFkTWV0aG9kKGF0dHJpYnV0ZXMuc3ByZWFkTWV0aG9kKCkpOwogCi12
b2lkIFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OnNldEdyYWRpZW50UmFkaXVzKGZsb2F0
IHJhZGl1cykKLXsKLSAgICBtX3JhZGl1cyA9IHJhZGl1czsKLX0KKyAgICAvLyBSZWNvcmQgY3Vy
cmVudCBncmFkaWVudCB0cmFuc2Zvcm0KKyAgICBncmFkaWVudERhdGEtPnRyYW5zZm9ybSA9IGF0
dHJpYnV0ZXMuZ3JhZGllbnRUcmFuc2Zvcm0oKTsKKyAgICBncmFkaWVudERhdGEtPmJvdW5kaW5n
Qm94TW9kZSA9IGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCk7CiAKLVRleHRTdHJlYW0mIFNW
R1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0
cmVhbSYgdHMpIGNvbnN0Ci17Ci0gICAgdHMgPDwgIlt0eXBlPVJBRElBTC1HUkFESUVOVF0gIjsK
LSAgICBTVkdQYWludFNlcnZlckdyYWRpZW50OjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKHRzKTsK
LSAgICB0cyA8PCAiIFtjZW50ZXI9IiA8PCBncmFkaWVudENlbnRlcigpIDw8ICJdIgotICAgICAg
ICA8PCAiIFtmb2NhbD0iIDw8IGdyYWRpZW50Rm9jYWwoKSA8PCAiXSIKLSAgICAgICAgPDwgIiBb
cmFkaXVzPSIgPDwgZ3JhZGllbnRSYWRpdXMoKSA8PCAiXSI7Ci0gICAgcmV0dXJuIHRzOworICAg
IC8vIEFkZCBzdG9wcworICAgIGFkZFN0b3BzKGdyYWRpZW50RGF0YSwgYXR0cmlidXRlcy5zdG9w
cygpKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfQogCiAjZW5kaWYKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50
LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VSYWRpYWxHcmFkaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDY2ICsxLDQ4IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKICAqLwogCiAjaWZuZGVmIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnRf
aAogI2RlZmluZSBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50X2gKIAogI2lmIEVOQUJM
RShTVkcpCi0KLSNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVz
b3VyY2VHcmFkaWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhaW50
U2VydmVyUmFkaWFsR3JhZGllbnQgOiBwdWJsaWMgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudCB7Ci1w
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVu
dD4gY3JlYXRlKGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50KG93bmVyKSk7IH0KLSAgICB2aXJ0
dWFsIH5TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50KCk7Ci0KLSAgICB2aXJ0dWFsIFNWR1Bh
aW50U2VydmVyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gUmFkaWFsR3JhZGllbnRQYWludFNl
cnZlcjsgfQorY2xhc3MgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OwogCi0gICAgRmxvYXRQb2lu
dCBncmFkaWVudENlbnRlcigpIGNvbnN0OwotICAgIHZvaWQgc2V0R3JhZGllbnRDZW50ZXIoY29u
c3QgRmxvYXRQb2ludCYpOwotCi0gICAgRmxvYXRQb2ludCBncmFkaWVudEZvY2FsKCkgY29uc3Q7
Ci0gICAgdm9pZCBzZXRHcmFkaWVudEZvY2FsKGNvbnN0IEZsb2F0UG9pbnQmKTsKLQotICAgIGZs
b2F0IGdyYWRpZW50UmFkaXVzKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRHcmFkaWVudFJhZGl1cyhm
bG9hdCk7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IDogcHVibGljIFJl
bmRlclNWR1Jlc291cmNlR3JhZGllbnQgeworcHVibGljOgorICAgIFJlbmRlclNWR1Jlc291cmNl
UmFkaWFsR3JhZGllbnQoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Kik7CisgICAgdmlydHVhbCB+
UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCgpOwogCi0gICAgdmlydHVhbCBUZXh0U3Ry
ZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKKyAgICB2aXJ0
dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyU1ZHUmVz
b3VyY2VSYWRpYWxHcmFkaWVudCI7IH0KIAotcHJpdmF0ZToKLSAgICBTVkdQYWludFNlcnZlclJh
ZGlhbEdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpOworICAgIHZpcnR1
YWwgUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHNf
cmVzb3VyY2VUeXBlOyB9CisgICAgc3RhdGljIFJlbmRlclNWR1Jlc291cmNlVHlwZSBzX3Jlc291
cmNlVHlwZTsKIAotICAgIGZsb2F0IG1fcmFkaXVzOwotICAgIEZsb2F0UG9pbnQgbV9jZW50ZXI7
Ci0gICAgRmxvYXRQb2ludCBtX2ZvY2FsOworICAgIHZpcnR1YWwgdm9pZCBidWlsZEdyYWRpZW50
KEdyYWRpZW50RGF0YSosIFNWR0dyYWRpZW50RWxlbWVudCopIGNvbnN0OwogfTsKIAotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorfQogCiAjZW5kaWYKLQotI2VuZGlmIC8vIFJlbmRlclNWR1Jlc291
cmNlUmFkaWFsR3JhZGllbnRfaAorI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwyNyArMSwyMSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtv
bGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAw
OCBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFy
Y2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAogI2luY2x1ZGUgImNv
bmZpZy5oIgpAQCAtMzAsNjQgKzI0LDc2IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VT
b2xpZENvbG9yLmgiCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJS
ZW5kZXJQYXRoLmgiCi0jaW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgorI2luY2x1ZGUg
IlNWR1JlbmRlclN1cHBvcnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdQYWludFNl
cnZlclNvbGlkOjpTVkdQYWludFNlcnZlclNvbGlkKCkKLXsKLX0KLQotU1ZHUGFpbnRTZXJ2ZXJT
b2xpZDo6flNWR1BhaW50U2VydmVyU29saWQoKQotewotfQorUmVuZGVyU1ZHUmVzb3VyY2VUeXBl
IFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcjo6c19yZXNvdXJjZVR5cGUgPSBTb2xpZENvbG9y
UmVzb3VyY2VUeXBlOwogCi1Db2xvciBTVkdQYWludFNlcnZlclNvbGlkOjpjb2xvcigpIGNvbnN0
CitSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xv
cigpCiB7Ci0gICAgcmV0dXJuIG1fY29sb3I7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJTb2xp
ZDo6c2V0Q29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQorUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yOjp+UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKCkKIHsKLSAgICBtX2NvbG9yID0gY29s
b3I7CiB9CiAKLVRleHRTdHJlYW0mIFNWR1BhaW50U2VydmVyU29saWQ6OmV4dGVybmFsUmVwcmVz
ZW50YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Citib29sIFJlbmRlclNWR1Jlc291cmNlU29s
aWRDb2xvcjo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUq
IHN0eWxlLCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJj
ZU1vZGUpCiB7Ci0gICAgdHMgPDwgIlt0eXBlPVNPTElEXSIKLSAgICAgICAgPDwgIiBbY29sb3I9
Ijw8IGNvbG9yKCkgPDwgIl0iOwotICAgIHJldHVybiB0czsKLX0KKyAgICAvLyBXZSBhcmUgTk9U
IGFsbG93ZWQgdG8gQVNTRVJUKG9iamVjdCkgaGVyZSwgdW5saWtlIGFsbCBvdGhlciByZXNvdXJj
ZXMuCisgICAgLy8gUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yIGlzIHRoZSBvbmx5IHJlc291
cmNlIHdoaWNoIG1heSBiZSB1c2VkIGZyb20gSFRNTCwgd2hlbiByZW5kZXJpbmcKKyAgICAvLyBT
VkcgRm9udHMgZm9yIGEgSFRNTCBkb2N1bWVudC4gVGhpcyB3aWxsIGJlIGluZGljYXRlZCBieSBh
IG51bGwgUmVuZGVyT2JqZWN0IHBvaW50ZXIuCisgICAgQVNTRVJUKGNvbnRleHQpOworICAgIEFT
U0VSVChyZXNvdXJjZU1vZGUgIT0gQXBwbHlUb0RlZmF1bHRNb2RlKTsKIAotYm9vbCBTVkdQYWlu
dFNlcnZlclNvbGlkOjpzZXR1cChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBjb25zdCBSZW5k
ZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBTVkdQYWludFRhcmdl
dFR5cGUgdHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3QKLXsKICAgICBjb25zdCBTVkdS
ZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBzdHlsZSA/IHN0eWxlLT5zdmdTdHlsZSgpIDogMDsKICAg
ICBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBzdHlsZSA/IHN0eWxlLT5jb2xvclNwYWNlKCkgOiBE
ZXZpY2VDb2xvclNwYWNlOwogCi0gICAgaWYgKCh0eXBlICYgQXBwbHlUb0ZpbGxUYXJnZXRUeXBl
KSAmJiAoIXN0eWxlIHx8IHN2Z1N0eWxlLT5oYXNGaWxsKCkpKSB7Ci0gICAgICAgIGNvbnRleHQt
PnNldEFscGhhKHN0eWxlID8gc3ZnU3R5bGUtPmZpbGxPcGFjaXR5KCkgOiAxKTsKLSAgICAgICAg
Y29udGV4dC0+c2V0RmlsbENvbG9yKGNvbG9yKCkucmdiKCksIGNvbG9yU3BhY2UpOwotICAgICAg
ICBjb250ZXh0LT5zZXRGaWxsUnVsZShzdHlsZSA/IHN2Z1N0eWxlLT5maWxsUnVsZSgpIDogUlVM
RV9OT05aRVJPKTsKKyAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb0ZpbGxNb2RlKSB7Cisg
ICAgICAgIGNvbnRleHQtPnNldEFscGhhKHN2Z1N0eWxlID8gc3ZnU3R5bGUtPmZpbGxPcGFjaXR5
KCkgOiAxLjBmKTsKKyAgICAgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKG1fY29sb3IsIGNvbG9y
U3BhY2UpOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsUnVsZShzdmdTdHlsZSA/IHN2Z1N0eWxl
LT5maWxsUnVsZSgpIDogUlVMRV9OT05aRVJPKTsKIAotICAgICAgICBpZiAoaXNQYWludGluZ1Rl
eHQpCisgICAgICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1vZGUpCiAgICAgICAg
ICAgICBjb250ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUoY1RleHRGaWxsKTsKLSAgICB9Ci0KLSAg
ICBpZiAoKHR5cGUgJiBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSkgJiYgKCFzdHlsZSB8fCBzdmdT
dHlsZS0+aGFzU3Ryb2tlKCkpKSB7Ci0gICAgICAgIGNvbnRleHQtPnNldEFscGhhKHN0eWxlID8g
c3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSA6IDEpOwotICAgICAgICBjb250ZXh0LT5zZXRTdHJv
a2VDb2xvcihjb2xvcigpLnJnYigpLCBjb2xvclNwYWNlKTsKKyAgICB9IGVsc2UgaWYgKHJlc291
cmNlTW9kZSAmIEFwcGx5VG9TdHJva2VNb2RlKSB7CisgICAgICAgIGNvbnRleHQtPnNldEFscGhh
KHN2Z1N0eWxlID8gc3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSA6IDEuMGYpOworICAgICAgICBj
b250ZXh0LT5zZXRTdHJva2VDb2xvcihtX2NvbG9yLCBjb2xvclNwYWNlKTsKIAogICAgICAgICBp
ZiAoc3R5bGUpCiAgICAgICAgICAgICBhcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KGNvbnRleHQs
IHN0eWxlLCBvYmplY3QpOwogCi0gICAgICAgIGlmIChpc1BhaW50aW5nVGV4dCkKKyAgICAgICAg
aWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9UZXh0TW9kZSkKICAgICAgICAgICAgIGNvbnRleHQt
PnNldFRleHREcmF3aW5nTW9kZShjVGV4dFN0cm9rZSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VT
b2xpZENvbG9yOjpwb3N0QXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRl
eHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpCit7CisgICAgQVNTRVJU
KGNvbnRleHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUgIT0gQXBwbHlUb0RlZmF1bHRNb2Rl
KTsKKworICAgIGlmICghKHJlc291cmNlTW9kZSAmIEFwcGx5VG9UZXh0TW9kZSkpIHsKKyAgICAg
ICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9GaWxsTW9kZSkKKyAgICAgICAgICAgIGNvbnRl
eHQtPmZpbGxQYXRoKCk7CisgICAgICAgIGVsc2UgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9T
dHJva2VNb2RlKQorICAgICAgICAgICAgY29udGV4dC0+c3Ryb2tlUGF0aCgpOworICAgIH0KKwor
I2lmIFBMQVRGT1JNKFNLSUEpCisgICAgLy8gRklYTUU6IE1vdmUgdGhpcyBpbnRvIHRoZSBHcmFw
aGljc0NvbnRleHQKKyAgICAvLyBXZWJLaXQgaW1wbGljaXRseSBleHBlY3RzIHVzIHRvIHJlc2V0
IHRoZSBwYXRoLgorICAgIC8vIEZvciBleGFtcGxlIGluIGZpbGxBbmRTdHJva2VQYXRoKCkgb2Yg
UmVuZGVyUGF0aC5jcHAgdGhlIHBhdGggaXMgCisgICAgLy8gYWRkZWQgYmFjayB0byB0aGUgY29u
dGV4dCBhZnRlciBmaWxsaW5nLiBUaGlzIGlzIGJlY2F1c2UgaW50ZXJuYWxseSBpdAorICAgIC8v
IGNhbGxzIENHQ29udGV4dEZpbGxQYXRoKCkgd2hpY2ggY2xvc2VzIHRoZSBwYXRoLgorICAgIGNv
bnRleHQtPmJlZ2luUGF0aCgpOworICAgIGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5zZXRG
aWxsU2hhZGVyKDApOworICAgIGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5zZXRTdHJva2VT
aGFkZXIoMCk7CisjZW5kaWYKK30KKworfQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5oCShyZXZpc2lvbiA1ODE1OSkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYwICsxLDU2IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IE5p
a29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSBS
ZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaWZuZGVm
IFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcl9oCiAjZGVmaW5lIFJlbmRlclNWR1Jlc291cmNl
U29saWRDb2xvcl9oCiAKICNpZiBFTkFCTEUoU1ZHKQotCiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNp
bmNsdWRlICJTVkdQYWludFNlcnZlci5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1
ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
U1ZHUGFpbnRTZXJ2ZXJTb2xpZCA6IHB1YmxpYyBTVkdQYWludFNlcnZlciB7CitjbGFzcyBSZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2UgewogcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhaW50U2VydmVyU29saWQ+IGNyZWF0ZSgp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZlclNvbGlkKTsgfQotICAgIHZpcnR1
YWwgflNWR1BhaW50U2VydmVyU29saWQoKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29s
b3IoKTsKKyAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IoKTsKIAotICAg
IHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBTb2xpZFBh
aW50U2VydmVyOyB9CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnRzKCkgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnQoUmVuZGVyT2JqZWN0KikgeyB9CiAKLSAg
ICBDb2xvciBjb2xvcigpIGNvbnN0OwotICAgIHZvaWQgc2V0Q29sb3IoY29uc3QgQ29sb3ImKTsK
KyAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHls
ZSosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpOworICAg
IHZpcnR1YWwgdm9pZCBwb3N0QXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0Nv
bnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKKyAgICB2aXJ0dWFsIEZsb2F0
UmVjdCByZXNvdXJjZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0IHsgcmV0dXJu
IEZsb2F0UmVjdCgpOyB9CiAKLSAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVz
ZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OworICAgIHZpcnR1YWwgUmVuZGVyU1ZHUmVzb3Vy
Y2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHNfcmVzb3VyY2VUeXBlOyB9Cisg
ICAgc3RhdGljIFJlbmRlclNWR1Jlc291cmNlVHlwZSBzX3Jlc291cmNlVHlwZTsKIAotICAgIHZp
cnR1YWwgYm9vbCBzZXR1cChHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0Kiwg
Y29uc3QgUmVuZGVyU3R5bGUqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1Rl
eHQpIGNvbnN0OworICAgIGNvbnN0IENvbG9yJiBjb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fY29s
b3I7IH0KKyAgICB2b2lkIHNldENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikgeyBtX2NvbG9yID0g
Y29sb3I7IH0KIAogcHJpdmF0ZToKLSAgICBTVkdQYWludFNlcnZlclNvbGlkKCk7Ci0KICAgICBD
b2xvciBtX2NvbG9yOwogfTsKIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfQogCiAjZW5kaWYK
LQotI2VuZGlmIC8vIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcl9oCisjZW5kaWYKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR1RleHQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR1RleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjAsNyAr
MTYwLDEwIEBAIHZvaWQgUmVuZGVyU1ZHVGV4dDo6YWJzb2x1dGVRdWFkcyhWZWN0b3IKIH0KIAog
dm9pZCBSZW5kZXJTVkdUZXh0OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgaW50LCBpbnQp
Ci17ICAgCit7CisgICAgaWYgKHBhaW50SW5mby5jb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkp
CisgICAgICAgIHJldHVybjsKKwogICAgIFBhaW50SW5mbyBwaShwYWludEluZm8pOwogICAgIHBp
LmNvbnRleHQtPnNhdmUoKTsKICAgICBhcHBseVRyYW5zZm9ybVRvUGFpbnRJbmZvKHBpLCBsb2Nh
bFRvUGFyZW50VHJhbnNmb3JtKCkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJl
ZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJl
ZUFzVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAKICNpZiBFTkFCTEUo
U1ZHKQogI2luY2x1ZGUgIlJlbmRlclBhdGguaCIKICNpbmNsdWRlICJSZW5kZXJTVkdDb250YWlu
ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdHcmFkaWVudFN0b3AuaCIKICNpbmNsdWRlICJSZW5k
ZXJTVkdJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclNWR0lubGluZVRleHQuaCIKICNpbmNsdWRl
ICJSZW5kZXJTVkdSb290LmgiCkBAIC0zOTYsOCArMzk3LDEyIEBAIHZvaWQgd3JpdGUoVGV4dFN0
cmVhbSYgdHMsIGNvbnN0IFJlbmRlck8KICAgICAgICAgd3JpdGUodHMsICp0b1JlbmRlclBhdGgo
Jm8pLCBpbmRlbnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmIChvLmlzU1ZHUmVz
b3VyY2UoKSkgewotICAgICAgICB3cml0ZVNWR1Jlc291cmNlKHRzLCBvLCBpbmRlbnQpOworICAg
IGlmIChvLmlzU1ZHR3JhZGllbnRTdG9wKCkpIHsKKyAgICAgICAgd3JpdGVTVkdHcmFkaWVudFN0
b3AodHMsICp0b1JlbmRlclNWR0dyYWRpZW50U3RvcCgmbyksIGluZGVudCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisgICAgaWYgKG8uaXNTVkdSZXNvdXJjZUNvbnRhaW5lcigpKSB7CisgICAg
ICAgIHdyaXRlU1ZHUmVzb3VyY2VDb250YWluZXIodHMsIG8sIGluZGVudCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgaWYgKG8uaXNTVkdDb250YWluZXIoKSkgewpAQCAtNjE5LDkgKzYy
NCw2IEBAIFN0cmluZyBleHRlcm5hbFJlcHJlc2VudGF0aW9uKEZyYW1lKiBmcmEKICAgICAgICAg
cmV0dXJuIFN0cmluZygpOwogCiAgICAgVGV4dFN0cmVhbSB0czsKLSNpZiBFTkFCTEUoU1ZHKQot
ICAgIHdyaXRlUmVuZGVyUmVzb3VyY2VzKHRzLCBvLT5kb2N1bWVudCgpKTsKLSNlbmRpZgogICAg
IGlmIChvLT5oYXNMYXllcigpKSB7CiAgICAgICAgIFJlbmRlckxheWVyKiBsID0gdG9SZW5kZXJC
b3gobyktPmxheWVyKCk7CiAgICAgICAgIHdyaXRlTGF5ZXJzKHRzLCBsLCBsLCBJbnRSZWN0KGwt
PngoKSwgbC0+eSgpLCBsLT53aWR0aCgpLCBsLT5oZWlnaHQoKSksIDAsIGJlaGF2aW9yKTsKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA1ODE1OSkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSW5saW5lRmxvd0JveC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCi0jaW5jbHVkZSAiU1ZHUGFp
bnRTZXJ2ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNW
R1Jvb3RJbmxpbmVCb3guaCIKICNpbmNsdWRlICJUZXh0LmgiCiAKQEAgLTQxOCwxMCArNDE4LDkg
QEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludENoYXJhY3RlcnMoUgogICAgICAgICBUZXh0
UnVuIHJ1biA9IHN2Z1RleHRSdW5Gb3JJbmxpbmVUZXh0Qm94KGNoYXJzLCBsZW5ndGgsIHN0eWxl
VG9Vc2UsIHRoaXMsIHN2Z0NoYXIueCk7CiAKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQotICAgICAg
ICAvLyBTVkcgRm9udHMgbmVlZCBhY2Nlc3MgdG8gdGhlIHBhaW50IHNlcnZlciB1c2VkIHRvIGRy
YXcgdGhlIGN1cnJlbnQgdGV4dCBjaHVuay4KLSAgICAgICAgLy8gVGhleSBuZWVkIHRvIGJlIGFi
bGUgdG8gY2FsbCByZW5kZXJQYXRoKCkgb24gYSBTVkdQYWludFNlcnZlciBvYmplY3QuCi0gICAg
ICAgIEFTU0VSVCh0ZXh0UGFpbnRJbmZvLmFjdGl2ZVBhaW50U2VydmVyKTsKLSAgICAgICAgcnVu
LnNldEFjdGl2ZVBhaW50U2VydmVyKHRleHRQYWludEluZm8uYWN0aXZlUGFpbnRTZXJ2ZXIpOwor
ICAgICAgICAvLyBTVkcgRm9udHMgbmVlZCBhY2Nlc3MgdG8gdGhlIHBhaW50aW5nIHJlc291cmNl
IHVzZWQgdG8gZHJhdyB0aGUgY3VycmVudCB0ZXh0IGNodW5rLgorICAgICAgICBBU1NFUlQodGV4
dFBhaW50SW5mby5hY3RpdmVQYWludGluZ1Jlc291cmNlKTsKKyAgICAgICAgcnVuLnNldEFjdGl2
ZVBhaW50aW5nUmVzb3VyY2UodGV4dFBhaW50SW5mby5hY3RpdmVQYWludGluZ1Jlc291cmNlKTsK
ICNlbmRpZgogCiAgICAgICAgIGludCBzZWxlY3Rpb25TdGFydCA9IDA7CkBAIC01NjksMTggKzU2
OCwyMCBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihFCiAKICAgICBp
ZiAoaXNGaWxsZWQpIHsKICAgICAgICAgaWYgKFJlbmRlck9iamVjdCogZmlsbE9iamVjdCA9IGlu
Zm8uZmlsbFNlcnZlck1hcC5nZXQoZGVjb3JhdGlvbikpIHsKLSAgICAgICAgICAgIGlmIChTVkdQ
YWludFNlcnZlciogZmlsbFBhaW50U2VydmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNl
cnZlcihmaWxsT2JqZWN0LT5zdHlsZSgpLCBmaWxsT2JqZWN0KSkgeworICAgICAgICAgICAgaWYg
KFJlbmRlclNWR1Jlc291cmNlKiBmaWxsUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jlc291
cmNlOjpmaWxsUGFpbnRpbmdSZXNvdXJjZShmaWxsT2JqZWN0LCBmaWxsT2JqZWN0LT5zdHlsZSgp
KSkgewogICAgICAgICAgICAgICAgIGNvbnRleHQtPmFkZFBhdGgocGF0aEZvckRlY29yYXRpb24o
ZGVjb3JhdGlvbiwgZmlsbE9iamVjdCwgdHgsIHR5LCB3aWR0aCkpOwotICAgICAgICAgICAgICAg
IGZpbGxQYWludFNlcnZlci0+ZHJhdyhjb250ZXh0LCBmaWxsT2JqZWN0LCBBcHBseVRvRmlsbFRh
cmdldFR5cGUpOworICAgICAgICAgICAgICAgIGlmIChmaWxsUGFpbnRpbmdSZXNvdXJjZS0+YXBw
bHlSZXNvdXJjZShmaWxsT2JqZWN0LCBmaWxsT2JqZWN0LT5zdHlsZSgpLCBjb250ZXh0LCBBcHBs
eVRvRmlsbE1vZGUpKQorICAgICAgICAgICAgICAgICAgICBmaWxsUGFpbnRpbmdSZXNvdXJjZS0+
cG9zdEFwcGx5UmVzb3VyY2UoZmlsbE9iamVjdCwgY29udGV4dCwgQXBwbHlUb0ZpbGxNb2RlKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAogICAgIGlmIChpc1N0cm9rZWQpIHsK
ICAgICAgICAgaWYgKFJlbmRlck9iamVjdCogc3Ryb2tlT2JqZWN0ID0gaW5mby5zdHJva2VTZXJ2
ZXJNYXAuZ2V0KGRlY29yYXRpb24pKSB7Ci0gICAgICAgICAgICBpZiAoU1ZHUGFpbnRTZXJ2ZXIq
IHN0cm9rZVBhaW50U2VydmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OnN0cm9rZVBhaW50U2VydmVyKHN0
cm9rZU9iamVjdC0+c3R5bGUoKSwgc3Ryb2tlT2JqZWN0KSkgeworICAgICAgICAgICAgaWYgKFJl
bmRlclNWR1Jlc291cmNlKiBzdHJva2VQYWludGluZ1Jlc291cmNlID0gUmVuZGVyU1ZHUmVzb3Vy
Y2U6OnN0cm9rZVBhaW50aW5nUmVzb3VyY2Uoc3Ryb2tlT2JqZWN0LCBzdHJva2VPYmplY3QtPnN0
eWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgY29udGV4dC0+YWRkUGF0aChwYXRoRm9yRGVjb3Jh
dGlvbihkZWNvcmF0aW9uLCBzdHJva2VPYmplY3QsIHR4LCB0eSwgd2lkdGgpKTsKLSAgICAgICAg
ICAgICAgICBzdHJva2VQYWludFNlcnZlci0+ZHJhdyhjb250ZXh0LCBzdHJva2VPYmplY3QsIEFw
cGx5VG9TdHJva2VUYXJnZXRUeXBlKTsKKyAgICAgICAgICAgICAgICBpZiAoc3Ryb2tlUGFpbnRp
bmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShzdHJva2VPYmplY3QsIHN0cm9rZU9iamVjdC0+c3R5
bGUoKSwgY29udGV4dCwgQXBwbHlUb1N0cm9rZU1vZGUpKQorICAgICAgICAgICAgICAgICAgICBz
dHJva2VQYWludGluZ1Jlc291cmNlLT5wb3N0QXBwbHlSZXNvdXJjZShzdHJva2VPYmplY3QsIGNv
bnRleHQsIEFwcGx5VG9TdHJva2VNb2RlKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAg
IH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDU4MTU5
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNCw2ICsyNCw3IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIklubGluZVRl
eHRCb3guaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQyLDkgKzQzLDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB9Owog
CiAgICAgc3RydWN0IFNWR1RleHRQYWludEluZm8gewotICAgICAgICBTVkdUZXh0UGFpbnRJbmZv
KCkgOiBhY3RpdmVQYWludFNlcnZlcigwKSwgc3VicGhhc2UoU1ZHVGV4dFBhaW50U3VicGhhc2VC
YWNrZ3JvdW5kKSB7fQorICAgICAgICBTVkdUZXh0UGFpbnRJbmZvKCkKKyAgICAgICAgICAgIDog
YWN0aXZlUGFpbnRpbmdSZXNvdXJjZSgwKQorICAgICAgICAgICAgLCBzdWJwaGFzZShTVkdUZXh0
UGFpbnRTdWJwaGFzZUJhY2tncm91bmQpCisgICAgICAgIHsKKyAgICAgICAgfQogCi0gICAgICAg
IFNWR1BhaW50U2VydmVyKiBhY3RpdmVQYWludFNlcnZlcjsKKyAgICAgICAgUmVuZGVyU1ZHUmVz
b3VyY2UqIGFjdGl2ZVBhaW50aW5nUmVzb3VyY2U7CiAgICAgICAgIFNWR1RleHRQYWludFN1YnBo
YXNlIHN1YnBoYXNlOwogICAgIH07CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRl
clN1cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclN1
cHBvcnQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRl
clN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Miw3ICs5Miw3IEBAIGJvb2wgU1ZHUmVu
ZGVyQmFzZTo6cHJlcGFyZVRvUmVuZGVyU1ZHQ28KICAgICBBU1NFUlQoc3ZnRWxlbWVudCAmJiBz
dmdFbGVtZW50LT5kb2N1bWVudCgpICYmIHN2Z0VsZW1lbnQtPmlzU3R5bGVkKCkpOwogCiAgICAg
U1ZHU3R5bGVkRWxlbWVudCogc3R5bGVkRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1N0eWxlZEVs
ZW1lbnQqPihzdmdFbGVtZW50KTsKLSAgICBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUgPSBvYmpl
Y3QtPnN0eWxlKCk7CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gb2JqZWN0LT5zdHlsZSgpOwog
ICAgIEFTU0VSVChzdHlsZSk7CiAKICAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUg
PSBzdHlsZS0+c3ZnU3R5bGUoKTsKQEAgLTEzMiwxOSArMTMyLDE5IEBAIGJvb2wgU1ZHUmVuZGVy
QmFzZTo6cHJlcGFyZVRvUmVuZGVyU1ZHQ28KICNlbmRpZgogCiAgICAgaWYgKFJlbmRlclNWR1Jl
c291cmNlTWFza2VyKiBtYXNrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZH
UmVzb3VyY2VNYXNrZXI+KGRvY3VtZW50LCBtYXNrZXJJZCkpIHsKLSAgICAgICAgaWYgKCFtYXNr
ZXItPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBwYWludEluZm8uY29udGV4dCkpCisgICAgICAgIGlm
ICghbWFza2VyLT5hcHBseVJlc291cmNlKG9iamVjdCwgc3R5bGUsIHBhaW50SW5mby5jb250ZXh0
LCBBcHBseVRvRGVmYXVsdE1vZGUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0g
ZWxzZSBpZiAoIW1hc2tlcklkLmlzRW1wdHkoKSkKICAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1l
bnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2UobWFza2VySWQs
IHN0eWxlZEVsZW1lbnQpOwogCiAgICAgaWYgKFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciogY2xp
cHBlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI+
KGRvY3VtZW50LCBjbGlwcGVySWQpKQotICAgICAgICBjbGlwcGVyLT5hcHBseVJlc291cmNlKG9i
amVjdCwgcGFpbnRJbmZvLmNvbnRleHQpOworICAgICAgICBjbGlwcGVyLT5hcHBseVJlc291cmNl
KG9iamVjdCwgc3R5bGUsIHBhaW50SW5mby5jb250ZXh0LCBBcHBseVRvRGVmYXVsdE1vZGUpOwog
ICAgIGVsc2UgaWYgKCFjbGlwcGVySWQuaXNFbXB0eSgpKQogICAgICAgICBzdmdFbGVtZW50LT5k
b2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNvdXJjZShjbGlw
cGVySWQsIHN0eWxlZEVsZW1lbnQpOwogCiAjaWYgRU5BQkxFKEZJTFRFUlMpCiAgICAgaWYgKGZp
bHRlcikgewotICAgICAgICBpZiAoIWZpbHRlci0+YXBwbHlSZXNvdXJjZShvYmplY3QsIHBhaW50
SW5mby5jb250ZXh0KSkKKyAgICAgICAgaWYgKCFmaWx0ZXItPmFwcGx5UmVzb3VyY2Uob2JqZWN0
LCBzdHlsZSwgcGFpbnRJbmZvLmNvbnRleHQsIEFwcGx5VG9EZWZhdWx0TW9kZSkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfSBlbHNlIGlmICghZmlsdGVySWQuaXNFbXB0eSgpKQog
ICAgICAgICBzdmdFbGVtZW50LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFk
ZFBlbmRpbmdSZXNvdXJjZShmaWx0ZXJJZCwgc3R5bGVkRWxlbWVudCk7CkBAIC0xNjcsNyArMTY3
LDcgQEAgdm9pZCBTVkdSZW5kZXJCYXNlOjpmaW5pc2hSZW5kZXJTVkdDb250ZQogCiAjaWYgRU5B
QkxFKEZJTFRFUlMpCiAgICAgaWYgKGZpbHRlcikgewotICAgICAgICBmaWx0ZXItPnBvc3RBcHBs
eVJlc291cmNlKG9iamVjdCwgcGFpbnRJbmZvLmNvbnRleHQpOworICAgICAgICBmaWx0ZXItPnBv
c3RBcHBseVJlc291cmNlKG9iamVjdCwgcGFpbnRJbmZvLmNvbnRleHQsIEFwcGx5VG9EZWZhdWx0
TW9kZSk7CiAgICAgICAgIHBhaW50SW5mby5jb250ZXh0ID0gc2F2ZWRDb250ZXh0OwogICAgIH0K
ICNlbmRpZgpAQCAtMzA2LDIzICszMDYsNTcgQEAgRmxvYXRSZWN0IFNWR1JlbmRlckJhc2U6Om1h
c2tlckJvdW5kaW5nQgogICAgIHJldHVybiBGbG9hdFJlY3QoKTsKIH0KIAorc3RhdGljIGlubGlu
ZSB2b2lkIGludmFsaWRhdGVQYWludGluZ1Jlc291cmNlKFNWR1BhaW50KiBwYWludCwgUmVuZGVy
T2JqZWN0KiBvYmplY3QpCit7CisgICAgQVNTRVJUKHBhaW50KTsKKworICAgIFNWR1BhaW50OjpT
VkdQYWludFR5cGUgcGFpbnRUeXBlID0gcGFpbnQtPnBhaW50VHlwZSgpOworICAgIGlmIChwYWlu
dFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmIHBhaW50VHlwZSAhPSBTVkdQ
YWludDo6U1ZHX1BBSU5UVFlQRV9VUklfUkdCQ09MT1IpCisgICAgICAgIHJldHVybjsKKworICAg
IEF0b21pY1N0cmluZyBpZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChwYWludC0+dXJpKCkp
KTsKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHBhaW50aW5nUmVzb3VyY2Ug
PSBnZXRSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBp
ZCkpCisgICAgICAgIHBhaW50aW5nUmVzb3VyY2UtPmludmFsaWRhdGVDbGllbnQob2JqZWN0KTsK
K30KKwogdm9pZCBkZXJlZ2lzdGVyRnJvbVJlc291cmNlcyhSZW5kZXJPYmplY3QqIG9iamVjdCkK
IHsKLSAgICAvLyBXZSBvbmx5IGhhdmUgdGhlIHJlbmRlcmVyIGZvciBtYXNrZXIgYW5kIGNsaXBw
ZXIgYXQgdGhlIG1vbWVudC4KLSAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIqIG1hc2tl
ciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcj4ob2Jq
ZWN0LT5kb2N1bWVudCgpLCBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCktPm1hc2tlclJlc291
cmNlKCkpKQorICAgIEFTU0VSVChvYmplY3QpOworICAgIEFTU0VSVChvYmplY3QtPnN0eWxlKCkp
OworCisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gb2JqZWN0LT5kb2N1bWVudCgpOworICAgIEFT
U0VSVChkb2N1bWVudCk7CisKKyAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBv
YmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCk7CisgICAgQVNTRVJUKHN2Z1N0eWxlKTsKKworICAg
IC8vIE1hc2tlcgorICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZU1hc2tlciogbWFza2VyID0gZ2V0
UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFza2VyPihkb2N1bWVudCwg
c3ZnU3R5bGUtPm1hc2tlclJlc291cmNlKCkpKQogICAgICAgICBtYXNrZXItPmludmFsaWRhdGVD
bGllbnQob2JqZWN0KTsKLSAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyKiBjbGlwcGVy
ID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcj4ob2Jq
ZWN0LT5kb2N1bWVudCgpLCBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCktPmNsaXBwZXJSZXNv
dXJjZSgpKSkKKworICAgIC8vIENsaXBwZXIKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyKiBjbGlwcGVyID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNl
Q2xpcHBlcj4oZG9jdW1lbnQsIHN2Z1N0eWxlLT5jbGlwcGVyUmVzb3VyY2UoKSkpCiAgICAgICAg
IGNsaXBwZXItPmludmFsaWRhdGVDbGllbnQob2JqZWN0KTsKKworICAgIC8vIEZpbHRlcgogI2lm
IEVOQUJMRShGSUxURVJTKQotICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVy
ID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlRmlsdGVyPihvYmpl
Y3QtPmRvY3VtZW50KCksIG9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUoKS0+ZmlsdGVyUmVzb3Vy
Y2UoKSkpCisgICAgaWYgKFJlbmRlclNWR1Jlc291cmNlRmlsdGVyKiBmaWx0ZXIgPSBnZXRSZW5k
ZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI+KGRvY3VtZW50LCBzdmdT
dHlsZS0+ZmlsdGVyUmVzb3VyY2UoKSkpCiAgICAgICAgIGZpbHRlci0+aW52YWxpZGF0ZUNsaWVu
dChvYmplY3QpOwogI2VuZGlmCi0gICAgaWYgKFJlbmRlclNWR1Jlc291cmNlTWFya2VyKiBzdGFy
dE1hcmtlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hcmtl
cj4ob2JqZWN0LT5kb2N1bWVudCgpLCBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCktPm1hcmtl
clN0YXJ0UmVzb3VyY2UoKSkpCisKKyAgICAvLyBNYXJrZXJzCisgICAgaWYgKFJlbmRlclNWR1Jl
c291cmNlTWFya2VyKiBzdGFydE1hcmtlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5k
ZXJTVkdSZXNvdXJjZU1hcmtlcj4oZG9jdW1lbnQsIHN2Z1N0eWxlLT5tYXJrZXJTdGFydFJlc291
cmNlKCkpKQogICAgICAgICBzdGFydE1hcmtlci0+aW52YWxpZGF0ZUNsaWVudChvYmplY3QpOwot
ICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciogbWlkTWFya2VyID0gZ2V0UmVuZGVyU1ZH
UmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihvYmplY3QtPmRvY3VtZW50KCks
IG9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUoKS0+bWFya2VyTWlkUmVzb3VyY2UoKSkpCisgICAg
aWYgKFJlbmRlclNWR1Jlc291cmNlTWFya2VyKiBtaWRNYXJrZXIgPSBnZXRSZW5kZXJTVkdSZXNv
dXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI+KGRvY3VtZW50LCBzdmdTdHlsZS0+bWFy
a2VyTWlkUmVzb3VyY2UoKSkpCiAgICAgICAgIG1pZE1hcmtlci0+aW52YWxpZGF0ZUNsaWVudChv
YmplY3QpOwotICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciogZW5kTWFya2VyID0gZ2V0
UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihvYmplY3QtPmRv
Y3VtZW50KCksIG9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUoKS0+bWFya2VyRW5kUmVzb3VyY2Uo
KSkpCisgICAgaWYgKFJlbmRlclNWR1Jlc291cmNlTWFya2VyKiBlbmRNYXJrZXIgPSBnZXRSZW5k
ZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI+KGRvY3VtZW50LCBzdmdT
dHlsZS0+bWFya2VyRW5kUmVzb3VyY2UoKSkpCiAgICAgICAgIGVuZE1hcmtlci0+aW52YWxpZGF0
ZUNsaWVudChvYmplY3QpOworCisgICAgLy8gR3JhZGllbnRzL1BhdHRlcm5zCisgICAgaWYgKHN2
Z1N0eWxlLT5oYXNGaWxsKCkpCisgICAgICAgIGludmFsaWRhdGVQYWludGluZ1Jlc291cmNlKHN2
Z1N0eWxlLT5maWxsUGFpbnQoKSwgb2JqZWN0KTsKKyAgICBpZiAoc3ZnU3R5bGUtPmhhc1N0cm9r
ZSgpKQorICAgICAgICBpbnZhbGlkYXRlUGFpbnRpbmdSZXNvdXJjZShzdmdTdHlsZS0+c3Ryb2tl
UGFpbnQoKSwgb2JqZWN0KTsKIH0KIAogdm9pZCBhcHBseVRyYW5zZm9ybVRvUGFpbnRJbmZvKFJl
bmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYg
bG9jYWxUb0FuY2VzdG9yVHJhbnNmb3JtKQpAQCAtMzM0LDYgKzM2OCwzOSBAQCB2b2lkIGFwcGx5
VHJhbnNmb3JtVG9QYWludEluZm8oUmVuZGVyT2JqCiAgICAgcGFpbnRJbmZvLnJlY3QgPSBsb2Nh
bFRvQW5jZXN0b3JUcmFuc2Zvcm0uaW52ZXJzZSgpLm1hcFJlY3QocGFpbnRJbmZvLnJlY3QpOwog
fQogCitEYXNoQXJyYXkgZGFzaEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKGNvbnN0IFJlbmRlclN0
eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSkKK3sKKyAgICBEYXNoQXJyYXkgYXJy
YXk7CisgICAgCisgICAgQ1NTVmFsdWVMaXN0KiBkYXNoZXMgPSBzdHlsZS0+c3ZnU3R5bGUoKS0+
c3Ryb2tlRGFzaEFycmF5KCk7CisgICAgaWYgKGRhc2hlcykgeworICAgICAgICBDU1NQcmltaXRp
dmVWYWx1ZSogZGFzaCA9IDA7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbGVuID0gZGFzaGVzLT5s
ZW5ndGgoKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBsb25nIGkgPSAwOyBpIDwgbGVuOyBpKysp
IHsKKyAgICAgICAgICAgIGRhc2ggPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGRh
c2hlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjayhpKSk7CisgICAgICAgICAgICBpZiAoIWRhc2gp
CisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGFycmF5LmFwcGVuZCgo
ZmxvYXQpIGRhc2gtPmNvbXB1dGVMZW5ndGhGbG9hdChjb25zdF9jYXN0PFJlbmRlclN0eWxlKj4o
c3R5bGUpLCByb290U3R5bGUpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBhcnJh
eTsKK30KKwordm9pZCBhcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KEdyYXBoaWNzQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5kZXJPYmplY3QqIG9i
amVjdCkKK3sKKyAgICBjb250ZXh0LT5zZXRTdHJva2VUaGlja25lc3MoU1ZHUmVuZGVyU3R5bGU6
OmNzc1ByaW1pdGl2ZVRvTGVuZ3RoKG9iamVjdCwgc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVdp
ZHRoKCksIDEuMGYpKTsKKyAgICBjb250ZXh0LT5zZXRMaW5lQ2FwKHN0eWxlLT5zdmdTdHlsZSgp
LT5jYXBTdHlsZSgpKTsKKyAgICBjb250ZXh0LT5zZXRMaW5lSm9pbihzdHlsZS0+c3ZnU3R5bGUo
KS0+am9pblN0eWxlKCkpOworICAgIGlmIChzdHlsZS0+c3ZnU3R5bGUoKS0+am9pblN0eWxlKCkg
PT0gTWl0ZXJKb2luKQorICAgICAgICBjb250ZXh0LT5zZXRNaXRlckxpbWl0KHN0eWxlLT5zdmdT
dHlsZSgpLT5zdHJva2VNaXRlckxpbWl0KCkpOworCisgICAgY29uc3QgRGFzaEFycmF5JiBkYXNo
ZXMgPSBkYXNoQXJyYXlGcm9tUmVuZGVyaW5nU3R5bGUob2JqZWN0LT5zdHlsZSgpLCBvYmplY3Qt
PmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpKTsKKyAgICBmbG9h
dCBkYXNoT2Zmc2V0ID0gU1ZHUmVuZGVyU3R5bGU6OmNzc1ByaW1pdGl2ZVRvTGVuZ3RoKG9iamVj
dCwgc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZURhc2hPZmZzZXQoKSwgMC4wZik7CisgICAgY29u
dGV4dC0+c2V0TGluZURhc2goZGFzaGVzLCBkYXNoT2Zmc2V0KTsKK30KKwogY29uc3QgUmVuZGVy
T2JqZWN0KiBmaW5kVGV4dFJvb3RPYmplY3QoY29uc3QgUmVuZGVyT2JqZWN0KiBzdGFydCkKIHsK
ICAgICB3aGlsZSAoc3RhcnQgJiYgIXN0YXJ0LT5pc1NWR1RleHQoKSkKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9TVkdSZW5kZXJTdXBwb3J0LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBA
CiAjZGVmaW5lIFNWR1JlbmRlckJhc2VfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJE
YXNoQXJyYXkuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJTVkdFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgpAQCAtODUsNyArODYsMTEgQEAg
dm9pZCByZW5kZXJTdWJ0cmVlVG9JbWFnZShJbWFnZUJ1ZmZlciosIAogdm9pZCBkZXJlZ2lzdGVy
RnJvbVJlc291cmNlcyhSZW5kZXJPYmplY3QqKTsKIHZvaWQgY2xhbXBJbWFnZUJ1ZmZlclNpemVU
b1ZpZXdwb3J0KEZyYW1lVmlldyosIEludFNpemUmIGltYWdlQnVmZmVyU2l6ZSk7CiAKK3ZvaWQg
YXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBSZW5kZXJT
dHlsZSosIGNvbnN0IFJlbmRlck9iamVjdCopOworRGFzaEFycmF5IGRhc2hBcnJheUZyb21SZW5k
ZXJpbmdTdHlsZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5
bGUpOworCiBjb25zdCBSZW5kZXJPYmplY3QqIGZpbmRUZXh0Um9vdE9iamVjdChjb25zdCBSZW5k
ZXJPYmplY3QqIHN0YXJ0KTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQu
Y3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVB
c1RleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwyNiArMzQsMzcgQEAKICNpbmNsdWRlICJH
cmFwaGljc1R5cGVzLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5saW5l
VGV4dEJveC5oIgorI2luY2x1ZGUgIkxpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIgogI2luY2x1
ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlBhdGguaCIKKyNpbmNsdWRlICJQYXR0
ZXJuQXR0cmlidXRlcy5oIgorI2luY2x1ZGUgIlJhZGlhbEdyYWRpZW50QXR0cmlidXRlcy5oIgog
I2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyUGF0aC5oIgogI2luY2x1
ZGUgIlJlbmRlclNWR0NvbnRhaW5lci5oIgorI2luY2x1ZGUgIlJlbmRlclNWR0dyYWRpZW50U3Rv
cC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR0lubGluZVRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJT
VkdSZXNvdXJjZUNsaXBwZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5o
IgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCIKKyNpbmNsdWRlICJSZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXJrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5oIgogI2luY2x1
ZGUgIlJlbmRlclNWR1Jlc291cmNlUGF0dGVybi5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291
cmNlUmFkaWFsR3JhZGllbnQuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29s
b3IuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSb290LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHVGV4
dC5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVBc1RleHQuaCIKICNpbmNsdWRlICJTVkdDaGFyYWN0
ZXJMYXlvdXRJbmZvLmgiCiAjaW5jbHVkZSAiU1ZHSW5saW5lVGV4dEJveC5oIgorI2luY2x1ZGUg
IlNWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR1BhdHRlcm5FbGVtZW50
LmgiCisjaW5jbHVkZSAiU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZH
Um9vdElubGluZUJveC5oIgorI2luY2x1ZGUgIlNWR1N0b3BFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHU3R5bGVkRWxlbWVudC5oIgorCiAjaW5jbHVkZSA8bWF0aC5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC0zMDcsNiArMzE4LDQ3IEBAIHN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8
KFRleHRTdHJlYW0KICAgICByZXR1cm4gdHM7CiB9CiAKKy8vIEZJWE1FOiBNYXliZSB0aGlzIHNo
b3VsZCBiZSBpbiBHcmFkaWVudC5jcHAKK3N0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRl
eHRTdHJlYW0mIHRzLCBHcmFkaWVudFNwcmVhZE1ldGhvZCBtb2RlKQoreworICAgIHN3aXRjaCAo
bW9kZSkgeworICAgIGNhc2UgU3ByZWFkTWV0aG9kUGFkOgorICAgICAgICB0cyA8PCAiUEFEIjsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTcHJlYWRNZXRob2RSZXBlYXQ6CisgICAgICAgIHRz
IDw8ICJSRVBFQVQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNwcmVhZE1ldGhvZFJlZmxl
Y3Q6CisgICAgICAgIHRzIDw8ICJSRUZMRUNUIjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisg
ICAgcmV0dXJuIHRzOworfQorCitzdGF0aWMgdm9pZCB3cml0ZVNWR1BhaW50aW5nUmVzb3VyY2Uo
VGV4dFN0cmVhbSYgdHMsIFJlbmRlclNWR1Jlc291cmNlKiByZXNvdXJjZSkKK3sKKyAgICBpZiAo
cmVzb3VyY2UtPnJlc291cmNlVHlwZSgpID09IFNvbGlkQ29sb3JSZXNvdXJjZVR5cGUpIHsKKyAg
ICAgICAgdHMgPDwgIlt0eXBlPVNPTElEXSBbY29sb3I9IiA8PCBzdGF0aWNfY2FzdDxSZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3IqPihyZXNvdXJjZSktPmNvbG9yKCkgPDwgIl0iOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgLy8gQWxsIG90aGVyIHJlc291cmNlcyBkZXJpdmUgZnJv
bSBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcgorICAgIFJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyKiBjb250YWluZXIgPSBzdGF0aWNfY2FzdDxSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcio+
KHJlc291cmNlKTsKKyAgICBOb2RlKiBub2RlID0gY29udGFpbmVyLT5ub2RlKCk7CisgICAgQVNT
RVJUKG5vZGUpOworICAgIEFTU0VSVChub2RlLT5pc1NWR0VsZW1lbnQoKSk7CisKKyAgICBpZiAo
cmVzb3VyY2UtPnJlc291cmNlVHlwZSgpID09IFBhdHRlcm5SZXNvdXJjZVR5cGUpCisgICAgICAg
IHRzIDw8ICJbdHlwZT1QQVRURVJOXSI7CisgICAgZWxzZSBpZiAocmVzb3VyY2UtPnJlc291cmNl
VHlwZSgpID09IExpbmVhckdyYWRpZW50UmVzb3VyY2VUeXBlKQorICAgICAgICB0cyA8PCAiW3R5
cGU9TElORUFSLUdSQURJRU5UXSI7CisgICAgZWxzZSBpZiAocmVzb3VyY2UtPnJlc291cmNlVHlw
ZSgpID09IFJhZGlhbEdyYWRpZW50UmVzb3VyY2VUeXBlKQorICAgICAgICB0cyA8PCAiW3R5cGU9
UkFESUFMLUdSQURJRU5UXSI7CisKKyAgICB0cyA8PCAiIFtpZD1cIiIgPDwgc3RhdGljX2Nhc3Q8
U1ZHRWxlbWVudCo+KG5vZGUpLT5nZXRJREF0dHJpYnV0ZSgpIDw8ICJcIl0iOworfQorCiBzdGF0
aWMgdm9pZCB3cml0ZVN0eWxlKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJPYmplY3QmIG9i
amVjdCkKIHsKICAgICBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUgPSBvYmplY3Quc3R5bGUoKTsK
QEAgLTMxOCwxMiArMzcwLDExIEBAIHN0YXRpYyB2b2lkIHdyaXRlU3R5bGUoVGV4dFN0cmVhbSYg
dHMsIGMKICAgICB3cml0ZUlmTm90RGVmYXVsdCh0cywgIm9wYWNpdHkiLCBzdHlsZS0+b3BhY2l0
eSgpLCBSZW5kZXJTdHlsZTo6aW5pdGlhbE9wYWNpdHkoKSk7CiAgICAgaWYgKG9iamVjdC5pc1Jl
bmRlclBhdGgoKSkgewogICAgICAgICBjb25zdCBSZW5kZXJQYXRoJiBwYXRoID0gc3RhdGljX2Nh
c3Q8Y29uc3QgUmVuZGVyUGF0aCY+KG9iamVjdCk7Ci0gICAgICAgIFNWR1BhaW50U2VydmVyKiBz
dHJva2VQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpzdHJva2VQYWludFNlcnZlcihzdHls
ZSwgJnBhdGgpOwotICAgICAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsKKworICAgICAgICBp
ZiAoUmVuZGVyU1ZHUmVzb3VyY2UqIHN0cm9rZVBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdS
ZXNvdXJjZTo6c3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSgmcGF0aCwgcGF0aC5zdHlsZSgpKSkgewog
ICAgICAgICAgICAgVGV4dFN0cmVhbVNlcGFyYXRvciBzKCIgIik7Ci0gICAgICAgICAgICB0cyA8
PCAiIFtzdHJva2U9eyI7Ci0gICAgICAgICAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXIpCi0gICAg
ICAgICAgICAgICAgdHMgPDwgcyA8PCAqc3Ryb2tlUGFpbnRTZXJ2ZXI7CisgICAgICAgICAgICB0
cyA8PCAiIFtzdHJva2U9eyIgPDwgczsKKyAgICAgICAgICAgIHdyaXRlU1ZHUGFpbnRpbmdSZXNv
dXJjZSh0cywgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSk7CiAKICAgICAgICAgICAgIGRvdWJsZSBk
YXNoT2Zmc2V0ID0gU1ZHUmVuZGVyU3R5bGU6OmNzc1ByaW1pdGl2ZVRvTGVuZ3RoKCZwYXRoLCBz
dmdTdHlsZS0+c3Ryb2tlRGFzaE9mZnNldCgpLCAwLjBmKTsKICAgICAgICAgICAgIGNvbnN0IERh
c2hBcnJheSYgZGFzaEFycmF5ID0gZGFzaEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKHN0eWxlLCBv
YmplY3QuZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxlKCkpOwpAQCAt
MzQwLDEyICszOTEsMTEgQEAgc3RhdGljIHZvaWQgd3JpdGVTdHlsZShUZXh0U3RyZWFtJiB0cywg
YwogCiAgICAgICAgICAgICB0cyA8PCAifV0iOwogICAgICAgICB9Ci0gICAgICAgIFNWR1BhaW50
U2VydmVyKiBmaWxsUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlcjo6ZmlsbFBhaW50U2VydmVy
KHN0eWxlLCAmcGF0aCk7Ci0gICAgICAgIGlmIChmaWxsUGFpbnRTZXJ2ZXIpIHsKKworICAgICAg
ICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2UqIGZpbGxQYWludGluZ1Jlc291cmNlID0gUmVuZGVyU1ZH
UmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291cmNlKCZwYXRoLCBwYXRoLnN0eWxlKCkpKSB7CiAg
ICAgICAgICAgICBUZXh0U3RyZWFtU2VwYXJhdG9yIHMoIiAiKTsKLSAgICAgICAgICAgIHRzIDw8
ICIgW2ZpbGw9eyI7Ci0gICAgICAgICAgICBpZiAoZmlsbFBhaW50U2VydmVyKQotICAgICAgICAg
ICAgICAgIHRzIDw8IHMgPDwgKmZpbGxQYWludFNlcnZlcjsKKyAgICAgICAgICAgIHRzIDw8ICIg
W2ZpbGw9eyIgPDwgczsKKyAgICAgICAgICAgIHdyaXRlU1ZHUGFpbnRpbmdSZXNvdXJjZSh0cywg
ZmlsbFBhaW50aW5nUmVzb3VyY2UpOwogCiAgICAgICAgICAgICB3cml0ZUlmTm90RGVmYXVsdCh0
cywgIm9wYWNpdHkiLCBzdmdTdHlsZS0+ZmlsbE9wYWNpdHkoKSwgMS4wZik7CiAgICAgICAgICAg
ICB3cml0ZUlmTm90RGVmYXVsdCh0cywgImZpbGwgcnVsZSIsIHN2Z1N0eWxlLT5maWxsUnVsZSgp
LCBSVUxFX05PTlpFUk8pOwpAQCAtNTE1LDcgKzU2NSwyMyBAQCBzdGF0aWMgdm9pZCB3cml0ZUNo
aWxkcmVuKFRleHRTdHJlYW0mIHRzCiAgICAgICAgIHdyaXRlKHRzLCAqY2hpbGQsIGluZGVudCAr
IDEpOwogfQogCi12b2lkIHdyaXRlU1ZHUmVzb3VyY2UoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJl
bmRlck9iamVjdCYgb2JqZWN0LCBpbnQgaW5kZW50KQorc3RhdGljIGlubGluZSBTdHJpbmcgYm91
bmRpbmdCb3hNb2RlU3RyaW5nKGJvb2wgYm91bmRpbmdCb3hNb2RlKQoreworICAgIHJldHVybiBi
b3VuZGluZ0JveE1vZGUgPyAib2JqZWN0Qm91bmRpbmdCb3giIDogInVzZXJTcGFjZU9uVXNlIjsK
K30KKworc3RhdGljIGlubGluZSB2b2lkIHdyaXRlQ29tbW9uR3JhZGllbnRQcm9wZXJ0aWVzKFRl
eHRTdHJlYW0mIHRzLCBHcmFkaWVudFNwcmVhZE1ldGhvZCBzcHJlYWRNZXRob2QsIGNvbnN0IEFm
ZmluZVRyYW5zZm9ybSYgZ3JhZGllbnRUcmFuc2Zvcm0sIGJvb2wgYm91bmRpbmdCb3hNb2RlKQor
eworICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgImdyYWRpZW50VW5pdHMiLCBib3VuZGluZ0Jv
eE1vZGVTdHJpbmcoYm91bmRpbmdCb3hNb2RlKSk7CisKKyAgICBpZiAoc3ByZWFkTWV0aG9kICE9
IFNwcmVhZE1ldGhvZFBhZCkKKyAgICAgICAgdHMgPDwgIiBbc3ByZWFkTWV0aG9kPSIgPDwgc3By
ZWFkTWV0aG9kIDw8ICJdIjsKKworICAgIGlmICghZ3JhZGllbnRUcmFuc2Zvcm0uaXNJZGVudGl0
eSgpKQorICAgICAgICB0cyA8PCAiIFtncmFkaWVudFRyYW5zZm9ybT0iIDw8IGdyYWRpZW50VHJh
bnNmb3JtIDw8ICJdIjsKK30KKwordm9pZCB3cml0ZVNWR1Jlc291cmNlQ29udGFpbmVyKFRleHRT
dHJlYW0mIHRzLCBjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCwgaW50IGluZGVudCkKIHsKICAg
ICB3cml0ZVN0YW5kYXJkUHJlZml4KHRzLCBvYmplY3QsIGluZGVudCk7CiAKQEAgLTUyMywxNiAr
NTg5LDE2IEBAIHZvaWQgd3JpdGVTVkdSZXNvdXJjZShUZXh0U3RyZWFtJiB0cywgY28KICAgICBj
b25zdCBBdG9taWNTdHJpbmcmIGlkID0gZWxlbWVudC0+Z2V0SURBdHRyaWJ1dGUoKTsKICAgICB3
cml0ZU5hbWVBbmRRdW90ZWRWYWx1ZSh0cywgImlkIiwgaWQpOyAgICAKIAotICAgIFJlbmRlclNW
R1Jlc291cmNlKiByZXNvdXJjZSA9IGNvbnN0X2Nhc3Q8UmVuZGVyT2JqZWN0Jj4ob2JqZWN0KS50
b1JlbmRlclNWR1Jlc291cmNlKCk7CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHJl
c291cmNlID0gY29uc3RfY2FzdDxSZW5kZXJPYmplY3QmPihvYmplY3QpLnRvUmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXIoKTsKKyAgICBBU1NFUlQocmVzb3VyY2UpOworCiAgICAgaWYgKHJlc291
cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBNYXNrZXJSZXNvdXJjZVR5cGUpIHsKICAgICAgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VNYXNrZXIqIG1hc2tlciA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291
cmNlTWFza2VyKj4ocmVzb3VyY2UpOwotICAgICAgICBBU1NFUlQobWFza2VyKTsKICAgICAgICAg
d3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAibWFza1VuaXRzIiwgbWFza2VyLT5tYXNrVW5pdHMoKSk7
CiAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgIm1hc2tDb250ZW50VW5pdHMiLCBtYXNr
ZXItPm1hc2tDb250ZW50VW5pdHMoKSk7CiAjaWYgRU5BQkxFKEZJTFRFUlMpCiAgICAgfSBlbHNl
IGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gRmlsdGVyUmVzb3VyY2VUeXBlKSB7CiAg
ICAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyKiBmaWx0ZXIgPSBzdGF0aWNfY2FzdDxSZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlcio+KHJlc291cmNlKTsKLSAgICAgICAgQVNTRVJUKGZpbHRlcik7
CiAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgImZpbHRlclVuaXRzIiwgZmlsdGVyLT5m
aWx0ZXJVbml0cygpKTsKICAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAicHJpbWl0aXZl
VW5pdHMiLCBmaWx0ZXItPnByaW1pdGl2ZVVuaXRzKCkpOwogICAgICAgICBpZiAoT3duUHRyPFNW
R0ZpbHRlckJ1aWxkZXI+IGJ1aWxkZXIgPSBmaWx0ZXItPmJ1aWxkUHJpbWl0aXZlcygpKSB7CkBA
IC01NTgsMTEgKzYyNCw5IEBAIHZvaWQgd3JpdGVTVkdSZXNvdXJjZShUZXh0U3RyZWFtJiB0cywg
Y28KICNlbmRpZgogICAgIH0gZWxzZSBpZiAocmVzb3VyY2UtPnJlc291cmNlVHlwZSgpID09IENs
aXBwZXJSZXNvdXJjZVR5cGUpIHsKICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyKiBj
bGlwcGVyID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyKj4ocmVzb3VyY2Up
OwotICAgICAgICBBU1NFUlQoY2xpcHBlcik7CiAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0
cywgImNsaXBQYXRoVW5pdHMiLCBjbGlwcGVyLT5jbGlwUGF0aFVuaXRzKCkpOwogICAgIH0gZWxz
ZSBpZiAocmVzb3VyY2UtPnJlc291cmNlVHlwZSgpID09IE1hcmtlclJlc291cmNlVHlwZSkgewog
ICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciogbWFya2VyID0gc3RhdGljX2Nhc3Q8UmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXIqPihyZXNvdXJjZSk7Ci0gICAgICAgIEFTU0VSVChtYXJrZXIp
OwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJtYXJrZXJVbml0cyIsIG1hcmtlci0+
bWFya2VyVW5pdHMoKSk7CiAgICAgICAgIHRzIDw8ICIgW3JlZiBhdCAiIDw8IG1hcmtlci0+cmVm
ZXJlbmNlUG9pbnQoKSA8PCAiXSI7CiAgICAgICAgIHRzIDw8ICIgW2FuZ2xlPSI7CkBAIC01NzAs
NiArNjM0LDQ5IEBAIHZvaWQgd3JpdGVTVkdSZXNvdXJjZShUZXh0U3RyZWFtJiB0cywgY28KICAg
ICAgICAgICAgIHRzIDw8ICJhdXRvIiA8PCAiXSI7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IHRzIDw8IG1hcmtlci0+YW5nbGUoKSA8PCAiXSI7CisgICAgfSBlbHNlIGlmIChyZXNvdXJjZS0+
cmVzb3VyY2VUeXBlKCkgPT0gUGF0dGVyblJlc291cmNlVHlwZSkgeworICAgICAgICBSZW5kZXJT
VkdSZXNvdXJjZVBhdHRlcm4qIHBhdHRlcm4gPSBzdGF0aWNfY2FzdDxSZW5kZXJTVkdSZXNvdXJj
ZVBhdHRlcm4qPihyZXNvdXJjZSk7CisKKyAgICAgICAgLy8gRHVtcCBmaW5hbCByZXN1bHRzIHRo
YXQgYXJlIHVzZWQgZm9yIHJlbmRlcmluZy4gTm8gdXNlIGluIGFza2luZyBTVkdQYXR0ZXJuRWxl
bWVudCBmb3IgaXRzIHBhdHRlcm5Vbml0cygpLCBhcyBpdCBtYXkKKyAgICAgICAgLy8gbGluayB0
byBvdGhlciBwYXR0ZXJucyB1c2luZyB4bGluazpocmVmLCB3ZSBuZWVkIHRvIGJ1aWxkIHRoZSBm
dWxsIGluaGVyaXRhbmNlIGNoYWluLCBha2EuIGNvbGxlY3RQYXR0ZXJuUHJvcGVydGllcygpCisg
ICAgICAgIFBhdHRlcm5BdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSBzdGF0aWNfY2FzdDxTVkdQYXR0
ZXJuRWxlbWVudCo+KHBhdHRlcm4tPm5vZGUoKSktPmNvbGxlY3RQYXR0ZXJuUHJvcGVydGllcygp
OworICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJwYXR0ZXJuVW5pdHMiLCBib3VuZGlu
Z0JveE1vZGVTdHJpbmcoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKSkpOworICAgICAgICB3
cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJwYXR0ZXJuQ29udGVudFVuaXRzIiwgYm91bmRpbmdCb3hN
b2RlU3RyaW5nKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlQ29udGVudCgpKSk7CisKKyAgICAg
ICAgQWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybSA9IGF0dHJpYnV0ZXMucGF0dGVyblRyYW5zZm9y
bSgpOworICAgICAgICBpZiAoIXRyYW5zZm9ybS5pc0lkZW50aXR5KCkpCisgICAgICAgICAgICB0
cyA8PCAiIFtwYXR0ZXJuVHJhbnNmb3JtPSIgPDwgdHJhbnNmb3JtIDw8ICJdIjsKKyAgICB9IGVs
c2UgaWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBMaW5lYXJHcmFkaWVudFJlc291cmNl
VHlwZSkgeworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KiBncmFkaWVu
dCA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQqPihyZXNvdXJj
ZSk7CisKKyAgICAgICAgLy8gRHVtcCBmaW5hbCByZXN1bHRzIHRoYXQgYXJlIHVzZWQgZm9yIHJl
bmRlcmluZy4gTm8gdXNlIGluIGFza2luZyBTVkdHcmFkaWVudEVsZW1lbnQgZm9yIGl0cyBncmFk
aWVudFVuaXRzKCksIGFzIGl0IG1heQorICAgICAgICAvLyBsaW5rIHRvIG90aGVyIGdyYWRpZW50
cyB1c2luZyB4bGluazpocmVmLCB3ZSBuZWVkIHRvIGJ1aWxkIHRoZSBmdWxsIGluaGVyaXRhbmNl
IGNoYWluLCBha2EuIGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKQorICAgICAgICBTVkdMaW5l
YXJHcmFkaWVudEVsZW1lbnQqIGxpbmVhckdyYWRpZW50RWxlbWVudCA9IHN0YXRpY19jYXN0PFNW
R0xpbmVhckdyYWRpZW50RWxlbWVudCo+KGdyYWRpZW50LT5ub2RlKCkpOworCisgICAgICAgIExp
bmVhckdyYWRpZW50QXR0cmlidXRlcyBhdHRyaWJ1dGVzID0gbGluZWFyR3JhZGllbnRFbGVtZW50
LT5jb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCk7CisgICAgICAgIHdyaXRlQ29tbW9uR3JhZGll
bnRQcm9wZXJ0aWVzKHRzLCBhdHRyaWJ1dGVzLnNwcmVhZE1ldGhvZCgpLCBhdHRyaWJ1dGVzLmdy
YWRpZW50VHJhbnNmb3JtKCksIGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpOworCisgICAg
ICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludDsKKyAgICAgICAgRmxvYXRQb2ludCBlbmRQb2ludDsK
KyAgICAgICAgbGluZWFyR3JhZGllbnRFbGVtZW50LT5jYWxjdWxhdGVTdGFydEVuZFBvaW50cyhh
dHRyaWJ1dGVzLCBzdGFydFBvaW50LCBlbmRQb2ludCk7CisKKyAgICAgICAgdHMgPDwgIiBbc3Rh
cnQ9IiA8PCBzdGFydFBvaW50IDw8ICJdIFtlbmQ9IiA8PCBlbmRQb2ludCA8PCAiXSI7CisgICAg
fSAgZWxzZSBpZiAocmVzb3VyY2UtPnJlc291cmNlVHlwZSgpID09IFJhZGlhbEdyYWRpZW50UmVz
b3VyY2VUeXBlKSB7CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQqIGdy
YWRpZW50ID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCo+KHJl
c291cmNlKTsKKworICAgICAgICAvLyBEdW1wIGZpbmFsIHJlc3VsdHMgdGhhdCBhcmUgdXNlZCBm
b3IgcmVuZGVyaW5nLiBObyB1c2UgaW4gYXNraW5nIFNWR0dyYWRpZW50RWxlbWVudCBmb3IgaXRz
IGdyYWRpZW50VW5pdHMoKSwgYXMgaXQgbWF5CisgICAgICAgIC8vIGxpbmsgdG8gb3RoZXIgZ3Jh
ZGllbnRzIHVzaW5nIHhsaW5rOmhyZWYsIHdlIG5lZWQgdG8gYnVpbGQgdGhlIGZ1bGwgaW5oZXJp
dGFuY2UgY2hhaW4sIGFrYS4gY29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpCisgICAgICAgIFNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudCogcmFkaWFsR3JhZGllbnRFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Kj4oZ3JhZGllbnQtPm5vZGUoKSk7CisKKyAgICAg
ICAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSByYWRpYWxHcmFkaWVudEVs
ZW1lbnQtPmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKTsKKyAgICAgICAgd3JpdGVDb21tb25H
cmFkaWVudFByb3BlcnRpZXModHMsIGF0dHJpYnV0ZXMuc3ByZWFkTWV0aG9kKCksIGF0dHJpYnV0
ZXMuZ3JhZGllbnRUcmFuc2Zvcm0oKSwgYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKSk7CisK
KyAgICAgICAgRmxvYXRQb2ludCBmb2NhbFBvaW50OworICAgICAgICBGbG9hdFBvaW50IGNlbnRl
clBvaW50OworICAgICAgICBmbG9hdCByYWRpdXM7CisgICAgICAgIHJhZGlhbEdyYWRpZW50RWxl
bWVudC0+Y2FsY3VsYXRlRm9jYWxDZW50ZXJQb2ludHNBbmRSYWRpdXMoYXR0cmlidXRlcywgZm9j
YWxQb2ludCwgY2VudGVyUG9pbnQsIHJhZGl1cyk7CisKKyAgICAgICAgdHMgPDwgIiBbY2VudGVy
PSIgPDwgY2VudGVyUG9pbnQgPDwgIl0gW2ZvY2FsPSIgPDwgZm9jYWxQb2ludCA8PCAiXSBbcmFk
aXVzPSIgPDwgcmFkaXVzIDw8ICJdIjsKICAgICB9CiAKICAgICB0cyA8PCAiXG4iOwpAQCAtNjI2
LDYgKzczMywyMCBAQCB2b2lkIHdyaXRlKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJQCiAg
ICAgd3JpdGVSZXNvdXJjZXModHMsIHBhdGgsIGluZGVudCk7CiB9CiAKK3ZvaWQgd3JpdGVTVkdH
cmFkaWVudFN0b3AoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlclNWR0dyYWRpZW50U3RvcCYg
c3RvcCwgaW50IGluZGVudCkKK3sKKyAgICB3cml0ZVN0YW5kYXJkUHJlZml4KHRzLCBzdG9wLCBp
bmRlbnQpOworCisgICAgU1ZHU3RvcEVsZW1lbnQqIHN0b3BFbGVtZW50ID0gc3RhdGljX2Nhc3Q8
U1ZHU3RvcEVsZW1lbnQqPihzdG9wLm5vZGUoKSk7CisgICAgQVNTRVJUKHN0b3BFbGVtZW50KTsK
KworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHN0b3Auc3R5bGUoKTsKKyAgICBpZiAoIXN0eWxl
KQorICAgICAgICByZXR1cm47CisKKyAgICB0cyA8PCAiIFtvZmZzZXQ9IiA8PCBzdG9wRWxlbWVu
dC0+b2Zmc2V0KCkgPDwgIl0gW2NvbG9yPSIgPDwgc3RvcEVsZW1lbnQtPnN0b3BDb2xvckluY2x1
ZGluZ09wYWNpdHkoKSA8PCAiXVxuIjsKK30KKwogdm9pZCB3cml0ZVJlc291cmNlcyhUZXh0U3Ry
ZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0JiBvYmplY3QsIGludCBpbmRlbnQpCiB7CiAgICAg
Y29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlID0gb2JqZWN0LnN0eWxlKCk7CkBAIC02NjUsMzEgKzc4
Niw2IEBAIHZvaWQgd3JpdGVSZXNvdXJjZXMoVGV4dFN0cmVhbSYgdHMsIGNvbnMKICNlbmRpZgog
fQogCi12b2lkIHdyaXRlUmVuZGVyUmVzb3VyY2VzKFRleHRTdHJlYW0mIHRzLCBOb2RlKiBwYXJl
bnQpCi17Ci0gICAgQVNTRVJUKHBhcmVudCk7Ci0gICAgTm9kZSogbm9kZSA9IHBhcmVudDsKLSAg
ICBkbyB7Ci0gICAgICAgIGlmICghbm9kZS0+aXNTVkdFbGVtZW50KCkpCi0gICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgU1ZHRWxlbWVudCogc3ZnRWxlbWVudCA9IHN0YXRpY19jYXN0PFNW
R0VsZW1lbnQqPihub2RlKTsKLSAgICAgICAgaWYgKCFzdmdFbGVtZW50LT5pc1N0eWxlZCgpKQot
ICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudCogc3R5bGVk
ID0gc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpOwotICAgICAgICBS
ZWZQdHI8U1ZHUmVzb3VyY2U+IHJlc291cmNlKHN0eWxlZC0+Y2FudmFzUmVzb3VyY2Uobm9kZS0+
cmVuZGVyZXIoKSkpOwotICAgICAgICBpZiAoIXJlc291cmNlKQotICAgICAgICAgICAgY29udGlu
dWU7Ci0KLSAgICAgICAgU3RyaW5nIGVsZW1lbnRJZCA9IHN2Z0VsZW1lbnQtPmdldEF0dHJpYnV0
ZShzdmdFbGVtZW50LT5pZEF0dHJpYnV0ZU5hbWUoKSk7Ci0gICAgICAgIC8vIEZJWE1FOiBUaGVz
ZSBuYW1lcyBhcmUgbGllcyEKLSAgICAgICAgaWYgKHJlc291cmNlLT5pc1BhaW50U2VydmVyKCkp
IHsKLSAgICAgICAgICAgIFJlZlB0cjxTVkdQYWludFNlcnZlcj4gcGFpbnRTZXJ2ZXIgPSBXVEY6
OnN0YXRpY19wb2ludGVyX2Nhc3Q8U1ZHUGFpbnRTZXJ2ZXI+KHJlc291cmNlKTsKLSAgICAgICAg
ICAgIHRzIDw8ICJLUmVuZGVyaW5nUGFpbnRTZXJ2ZXIge2lkPVwiIiA8PCBlbGVtZW50SWQgPDwg
IlwiICIgPDwgKnBhaW50U2VydmVyIDw8ICJ9IiA8PCAiXG4iOwotICAgICAgICB9Ci0gICAgfSB3
aGlsZSAoKG5vZGUgPSBub2RlLT50cmF2ZXJzZU5leHROb2RlKHBhcmVudCkpKTsKLX0KLQogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9TVkdSZW5kZXJUcmVlQXNUZXh0LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
Myw2ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZW5kZXJJbWFnZTsK
ICAgICBjbGFzcyBSZW5kZXJPYmplY3Q7CiAgICAgY2xhc3MgUmVuZGVyUGF0aDsKKyAgICBjbGFz
cyBSZW5kZXJTVkdHcmFkaWVudFN0b3A7CiAgICAgY2xhc3MgUmVuZGVyU1ZHUm9vdDsKICAgICBj
bGFzcyBSZW5kZXJUZXh0OwogICAgIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKQEAgLTUxLDE1ICs1
MiwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBmdW5jdGlvbnMgdXNlZCBieSB0aGUgbWFp
biBSZW5kZXJUcmVlQXNUZXh0IGNvZGUKIHZvaWQgd3JpdGUoVGV4dFN0cmVhbSYsIGNvbnN0IFJl
bmRlclBhdGgmLCBpbnQgaW5kZW50KTsKIHZvaWQgd3JpdGUoVGV4dFN0cmVhbSYsIGNvbnN0IFJl
bmRlclNWR1Jvb3QmLCBpbnQgaW5kZW50KTsKLXZvaWQgd3JpdGVTVkdSZXNvdXJjZShUZXh0U3Ry
ZWFtJiwgY29uc3QgUmVuZGVyT2JqZWN0JiwgaW50IGluZGVudCk7Cit2b2lkIHdyaXRlU1ZHR3Jh
ZGllbnRTdG9wKFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJTVkdHcmFkaWVudFN0b3AmLCBpbnQg
aW5kZW50KTsKK3ZvaWQgd3JpdGVTVkdSZXNvdXJjZUNvbnRhaW5lcihUZXh0U3RyZWFtJiwgY29u
c3QgUmVuZGVyT2JqZWN0JiwgaW50IGluZGVudCk7CiB2b2lkIHdyaXRlU1ZHQ29udGFpbmVyKFRl
eHRTdHJlYW0mLCBjb25zdCBSZW5kZXJPYmplY3QmLCBpbnQgaW5kZW50KTsKIHZvaWQgd3JpdGVT
VkdJbWFnZShUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVySW1hZ2UmLCBpbnQgaW5kZW50KTsKIHZv
aWQgd3JpdGVTVkdJbmxpbmVUZXh0KFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJUZXh0JiwgaW50
IGluZGVudCk7CiB2b2lkIHdyaXRlU1ZHVGV4dChUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyQmxv
Y2smLCBpbnQgaW5kZW50KTsKIHZvaWQgd3JpdGVSZXNvdXJjZXMoVGV4dFN0cmVhbSYsIGNvbnN0
IFJlbmRlck9iamVjdCYsIGludCBpbmRlbnQpOwogCi12b2lkIHdyaXRlUmVuZGVyUmVzb3VyY2Vz
KFRleHRTdHJlYW0mLCBOb2RlKiBwYXJlbnQpOwotCiAvLyBoZWxwZXIgb3BlcmF0b3JzIGRlZmlu
ZWQgdXNlZCBpbiB2YXJpb3VzIGNsYXNzZXMgdG8gZHVtcCB0aGUgcmVuZGVyIHRyZWUuCiBUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsK
IFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYsIGNvbnN0IEludFJlY3QmKTsKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3BwCShyZXZpc2lvbiA1ODE1OSkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00LDYgKzQsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2IE9saXZlciBIdW50IDxvamgx
NkBzdHVkZW50LmNhbnRlcmJ1cnkuYWMubno+CiAgKiAgICAgICAgICAgKEMpIDIwMDYgQXBwbGUg
Q29tcHV0ZXIgSW5jLgogICogICAgICAgICAgIChDKSAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8
emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0zMiwxMiArMzMsMTIgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkdyYXBoaWNz
Q29udGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZH
UmVzb3VyY2UuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oIgogI2luY2x1
ZGUgIlJlbmRlclNWR1Jvb3QuaCIKICNpbmNsdWRlICJTVkdJbmxpbmVGbG93Qm94LmgiCiAjaW5j
bHVkZSAiU1ZHSW5saW5lVGV4dEJveC5oIgogI2luY2x1ZGUgIlNWR0ZvbnRFbGVtZW50LmgiCi0j
aW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMu
aCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCiAjaW5jbHVkZSAiU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudC5oIgpAQCAtMzQ1LDEwICszNDYsMTAgQEAgc3RydWN0IFNWR1Jvb3RJbmxp
bmVCb3hQYWludFdhbGtlciB7CiAgICAgICAgICwgbV9ib3VuZGluZ0JveCh0eCArIHJvb3RCb3gt
PngoKSwgdHkgKyByb290Qm94LT55KCksIHJvb3RCb3gtPndpZHRoKCksIHJvb3RCb3gtPmhlaWdo
dCgpKQogICAgICAgICAsIG1fZmlsdGVyKDApCiAgICAgICAgICwgbV9yb290RmlsdGVyKHJvb3RG
aWx0ZXIpCi0gICAgICAgICwgbV9maWxsUGFpbnRTZXJ2ZXIoMCkKLSAgICAgICAgLCBtX3N0cm9r
ZVBhaW50U2VydmVyKDApCi0gICAgICAgICwgbV9maWxsUGFpbnRTZXJ2ZXJPYmplY3QoMCkKLSAg
ICAgICAgLCBtX3N0cm9rZVBhaW50U2VydmVyT2JqZWN0KDApCisgICAgICAgICwgbV9maWxsUGFp
bnRpbmdSZXNvdXJjZSgwKQorICAgICAgICAsIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSgwKQor
ICAgICAgICAsIG1fZmlsbFBhaW50aW5nUmVzb3VyY2VPYmplY3QoMCkKKyAgICAgICAgLCBtX3N0
cm9rZVBhaW50aW5nUmVzb3VyY2VPYmplY3QoMCkKICAgICAgICAgLCBtX3R4KHR4KQogICAgICAg
ICAsIG1fdHkodHkpCiAgICAgewpAQCAtMzU3LDEwICszNTgsMTAgQEAgc3RydWN0IFNWR1Jvb3RJ
bmxpbmVCb3hQYWludFdhbGtlciB7CiAgICAgflNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcigp
CiAgICAgewogICAgICAgICBBU1NFUlQoIW1fZmlsdGVyKTsKLSAgICAgICAgQVNTRVJUKCFtX2Zp
bGxQYWludFNlcnZlcik7Ci0gICAgICAgIEFTU0VSVCghbV9maWxsUGFpbnRTZXJ2ZXJPYmplY3Qp
OwotICAgICAgICBBU1NFUlQoIW1fc3Ryb2tlUGFpbnRTZXJ2ZXIpOwotICAgICAgICBBU1NFUlQo
IW1fc3Ryb2tlUGFpbnRTZXJ2ZXJPYmplY3QpOworICAgICAgICBBU1NFUlQoIW1fZmlsbFBhaW50
aW5nUmVzb3VyY2UpOworICAgICAgICBBU1NFUlQoIW1fZmlsbFBhaW50aW5nUmVzb3VyY2VPYmpl
Y3QpOworICAgICAgICBBU1NFUlQoIW1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSk7CisgICAgICAg
IEFTU0VSVCghbV9zdHJva2VQYWludGluZ1Jlc291cmNlT2JqZWN0KTsKICAgICAgICAgQVNTRVJU
KCFtX2NodW5rU3RhcnRlZCk7CiAgICAgfQogCkBAIC0zNzMsMjQgKzM3NCwyMiBAQCBzdHJ1Y3Qg
U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKIAogICAgIHZvaWQgdGVhcmRvd25GaWxsUGFp
bnRTZXJ2ZXIoKQogICAgIHsKLSAgICAgICAgaWYgKCFtX2ZpbGxQYWludFNlcnZlcikKKyAgICAg
ICAgaWYgKCFtX2ZpbGxQYWludGluZ1Jlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0g
ICAgICAgIG1fZmlsbFBhaW50U2VydmVyLT50ZWFyZG93bihtX3BhaW50SW5mby5jb250ZXh0LCBt
X2ZpbGxQYWludFNlcnZlck9iamVjdCwgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlLCB0cnVlKTsKLQot
ICAgICAgICBtX2ZpbGxQYWludFNlcnZlciA9IDA7Ci0gICAgICAgIG1fZmlsbFBhaW50U2VydmVy
T2JqZWN0ID0gMDsKKyAgICAgICAgbV9maWxsUGFpbnRpbmdSZXNvdXJjZS0+cG9zdEFwcGx5UmVz
b3VyY2UobV9maWxsUGFpbnRpbmdSZXNvdXJjZU9iamVjdCwgbV9wYWludEluZm8uY29udGV4dCwg
QXBwbHlUb0ZpbGxNb2RlIHwgQXBwbHlUb1RleHRNb2RlKTsKKyAgICAgICAgbV9maWxsUGFpbnRp
bmdSZXNvdXJjZSA9IDA7CisgICAgICAgIG1fZmlsbFBhaW50aW5nUmVzb3VyY2VPYmplY3QgPSAw
OwogICAgIH0KIAogICAgIHZvaWQgdGVhcmRvd25TdHJva2VQYWludFNlcnZlcigpCiAgICAgewot
ICAgICAgICBpZiAoIW1fc3Ryb2tlUGFpbnRTZXJ2ZXIpCisgICAgICAgIGlmICghbV9zdHJva2VQ
YWludGluZ1Jlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fc3Ryb2tl
UGFpbnRTZXJ2ZXItPnRlYXJkb3duKG1fcGFpbnRJbmZvLmNvbnRleHQsIG1fc3Ryb2tlUGFpbnRT
ZXJ2ZXJPYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVlKTsKLQotICAgICAgICBt
X3N0cm9rZVBhaW50U2VydmVyID0gMDsKLSAgICAgICAgbV9zdHJva2VQYWludFNlcnZlck9iamVj
dCA9IDA7CisgICAgICAgIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZS0+cG9zdEFwcGx5UmVzb3Vy
Y2UobV9zdHJva2VQYWludGluZ1Jlc291cmNlT2JqZWN0LCBtX3BhaW50SW5mby5jb250ZXh0LCBB
cHBseVRvU3Ryb2tlTW9kZSB8IEFwcGx5VG9UZXh0TW9kZSk7CisgICAgICAgIG1fc3Ryb2tlUGFp
bnRpbmdSZXNvdXJjZSA9IDA7CisgICAgICAgIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZU9iamVj
dCA9IDA7CiAgICAgfQogCiAgICAgdm9pZCBjaHVua1N0YXJ0Q2FsbGJhY2soSW5saW5lQm94KiBi
b3gpCkBAIC00MzcsNyArNDM2LDcgQEAgc3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtl
ciB7CiAgICAgICAgIG1fcGFpbnRJbmZvLnJlY3QgPSBtX3NhdmVkSW5mby5yZWN0OwogICAgIH0K
IAotICAgIGJvb2wgc2V0dXBCYWNrZ3JvdW5kKFNWR0lubGluZVRleHRCb3gqIC8qYm94Ki8pCisg
ICAgYm9vbCBzZXR1cEJhY2tncm91bmQoU1ZHSW5saW5lVGV4dEJveCopCiAgICAgewogICAgICAg
ICBtX3RleHRQYWludEluZm8uc3VicGhhc2UgPSBTVkdUZXh0UGFpbnRTdWJwaGFzZUJhY2tncm91
bmQ7CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNDUxLDE0ICs0NTAsMTQgQEAgc3RydWN0IFNW
R1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAgICAgICAgIFJlbmRlck9iamVjdCogb2JqZWN0
ID0gZmxvd0JveC0+cmVuZGVyZXIoKTsKICAgICAgICAgQVNTRVJUKG9iamVjdCk7CiAKLSAgICAg
ICAgQVNTRVJUKCFtX3N0cm9rZVBhaW50U2VydmVyKTsKKyAgICAgICAgQVNTRVJUKCFtX3N0cm9r
ZVBhaW50aW5nUmVzb3VyY2UpOwogICAgICAgICB0ZWFyZG93bkZpbGxQYWludFNlcnZlcigpOwog
CiAgICAgICAgIG1fdGV4dFBhaW50SW5mby5zdWJwaGFzZSA9IFNWR1RleHRQYWludFN1YnBoYXNl
R2x5cGhGaWxsOwotICAgICAgICBtX2ZpbGxQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpm
aWxsUGFpbnRTZXJ2ZXIob2JqZWN0LT5zdHlsZSgpLCBvYmplY3QpOwotICAgICAgICBpZiAobV9m
aWxsUGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgICAgIG1fZmlsbFBhaW50U2VydmVyLT5zZXR1cCht
X3BhaW50SW5mby5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7
Ci0gICAgICAgICAgICBtX2ZpbGxQYWludFNlcnZlck9iamVjdCA9IG9iamVjdDsKKyAgICAgICAg
bV9maWxsUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jlc291cmNlOjpmaWxsUGFpbnRpbmdS
ZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSk7CisgICAgICAgIGlmIChtX2ZpbGxQYWlu
dGluZ1Jlc291cmNlKSB7CisgICAgICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlLT5hcHBs
eVJlc291cmNlKG9iamVjdCwgb2JqZWN0LT5zdHlsZSgpLCBtX3BhaW50SW5mby5jb250ZXh0LCBB
cHBseVRvRmlsbE1vZGUgfCBBcHBseVRvVGV4dE1vZGUpOworICAgICAgICAgICAgbV9maWxsUGFp
bnRpbmdSZXNvdXJjZU9iamVjdCA9IG9iamVjdDsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICB9CiAKQEAgLTQ3NiwxNyArNDc1LDE3IEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94
UGFpbnRXYWxrZXIgewogICAgICAgICBpZiAoIXN0eWxlKQogICAgICAgICAgICAgc3R5bGUgPSBv
YmplY3QtPnN0eWxlKCk7CiAKLSAgICAgICAgQVNTRVJUKCFtX3N0cm9rZVBhaW50U2VydmVyKTsK
KyAgICAgICAgQVNTRVJUKCFtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UpOwogICAgICAgICB0ZWFy
ZG93bkZpbGxQYWludFNlcnZlcigpOwogCiAgICAgICAgIGlmICghbWF5SGF2ZVNlbGVjdGlvbihi
b3gpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIG1fdGV4dFBhaW50SW5m
by5zdWJwaGFzZSA9IFNWR1RleHRQYWludFN1YnBoYXNlR2x5cGhGaWxsU2VsZWN0aW9uOwotICAg
ICAgICBtX2ZpbGxQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpmaWxsUGFpbnRTZXJ2ZXIo
c3R5bGUsIG9iamVjdCk7Ci0gICAgICAgIGlmIChtX2ZpbGxQYWludFNlcnZlcikgewotICAgICAg
ICAgICAgbV9maWxsUGFpbnRTZXJ2ZXItPnNldHVwKG1fcGFpbnRJbmZvLmNvbnRleHQsIG9iamVj
dCwgc3R5bGUsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7Ci0gICAgICAgICAgICBtX2Zp
bGxQYWludFNlcnZlck9iamVjdCA9IG9iamVjdDsKKyAgICAgICAgbV9maWxsUGFpbnRpbmdSZXNv
dXJjZSA9IFJlbmRlclNWR1Jlc291cmNlOjpmaWxsUGFpbnRpbmdSZXNvdXJjZShvYmplY3QsIHN0
eWxlKTsKKyAgICAgICAgaWYgKG1fZmlsbFBhaW50aW5nUmVzb3VyY2UpIHsKKyAgICAgICAgICAg
IG1fZmlsbFBhaW50aW5nUmVzb3VyY2UtPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBzdHlsZSwgbV9w
YWludEluZm8uY29udGV4dCwgQXBwbHlUb0ZpbGxNb2RlIHwgQXBwbHlUb1RleHRNb2RlKTsKKyAg
ICAgICAgICAgIG1fZmlsbFBhaW50aW5nUmVzb3VyY2VPYmplY3QgPSBvYmplY3Q7CiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogCkBAIC01MDYsMTEgKzUwNSwxMCBAQCBzdHJ1
Y3QgU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAgICAgICAgdGVhcmRvd25TdHJva2VQ
YWludFNlcnZlcigpOwogCiAgICAgICAgIG1fdGV4dFBhaW50SW5mby5zdWJwaGFzZSA9IFNWR1Rl
eHRQYWludFN1YnBoYXNlR2x5cGhTdHJva2U7Ci0gICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXIg
PSBTVkdQYWludFNlcnZlcjo6c3Ryb2tlUGFpbnRTZXJ2ZXIob2JqZWN0LT5zdHlsZSgpLCBvYmpl
Y3QpOwotCi0gICAgICAgIGlmIChtX3N0cm9rZVBhaW50U2VydmVyKSB7Ci0gICAgICAgICAgICBt
X3N0cm9rZVBhaW50U2VydmVyLT5zZXR1cChtX3BhaW50SW5mby5jb250ZXh0LCBvYmplY3QsIEFw
cGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVlKTsKLSAgICAgICAgICAgIG1fc3Ryb2tlUGFpbnRT
ZXJ2ZXJPYmplY3QgPSBvYmplY3Q7CisgICAgICAgIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9
IFJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGluZ1Jlc291cmNlKG9iamVjdCwgb2JqZWN0
LT5zdHlsZSgpKTsKKyAgICAgICAgaWYgKG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSkgeworICAg
ICAgICAgICAgbV9zdHJva2VQYWludGluZ1Jlc291cmNlLT5hcHBseVJlc291cmNlKG9iamVjdCwg
b2JqZWN0LT5zdHlsZSgpLCBtX3BhaW50SW5mby5jb250ZXh0LCBBcHBseVRvU3Ryb2tlTW9kZSB8
IEFwcGx5VG9UZXh0TW9kZSk7CisgICAgICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2VP
YmplY3QgPSBvYmplY3Q7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogCkBA
IC01MzYsMTcgKzUzNCwxNyBAQCBzdHJ1Y3QgU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICBtX3RleHRQYWludEluZm8uc3Vi
cGhhc2UgPSBTVkdUZXh0UGFpbnRTdWJwaGFzZUdseXBoU3Ryb2tlU2VsZWN0aW9uOwotICAgICAg
ICBtX3N0cm9rZVBhaW50U2VydmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OnN0cm9rZVBhaW50U2VydmVy
KHN0eWxlLCBvYmplY3QpOwotICAgICAgICBpZiAobV9zdHJva2VQYWludFNlcnZlcikgewotICAg
ICAgICAgICAgbV9zdHJva2VQYWludFNlcnZlci0+c2V0dXAobV9wYWludEluZm8uY29udGV4dCwg
b2JqZWN0LCBzdHlsZSwgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUsIHRydWUpOwotICAgICAgICAg
ICAgbV9zdHJva2VQYWludFNlcnZlck9iamVjdCA9IG9iamVjdDsKKyAgICAgICAgbV9zdHJva2VQ
YWludGluZ1Jlc291cmNlID0gUmVuZGVyU1ZHUmVzb3VyY2U6OnN0cm9rZVBhaW50aW5nUmVzb3Vy
Y2Uob2JqZWN0LCBzdHlsZSk7CisgICAgICAgIGlmIChtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2Up
IHsKKyAgICAgICAgICAgIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShv
YmplY3QsIHN0eWxlLCBtX3BhaW50SW5mby5jb250ZXh0LCBBcHBseVRvU3Ryb2tlTW9kZSB8IEFw
cGx5VG9UZXh0TW9kZSk7CisgICAgICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2VPYmpl
Y3QgPSBvYmplY3Q7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBib29sIHNldHVwRm9yZWdyb3VuZChTVkdJ
bmxpbmVUZXh0Qm94KiAvKmJveCovKQorICAgIGJvb2wgc2V0dXBGb3JlZ3JvdW5kKFNWR0lubGlu
ZVRleHRCb3gqKQogICAgIHsKICAgICAgICAgdGVhcmRvd25GaWxsUGFpbnRTZXJ2ZXIoKTsKICAg
ICAgICAgdGVhcmRvd25TdHJva2VQYWludFNlcnZlcigpOwpAQCAtNTU2LDE3ICs1NTQsMTcgQEAg
c3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KIAotICAgIFNWR1BhaW50U2VydmVyKiBhY3RpdmVQYWludFNlcnZlcigpIGNvbnN0
CisgICAgUmVuZGVyU1ZHUmVzb3VyY2UqIGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoKSBjb25zdAog
ICAgIHsKICAgICAgICAgc3dpdGNoIChtX3RleHRQYWludEluZm8uc3VicGhhc2UpIHsKICAgICAg
ICAgY2FzZSBTVkdUZXh0UGFpbnRTdWJwaGFzZUdseXBoRmlsbDoKICAgICAgICAgY2FzZSBTVkdU
ZXh0UGFpbnRTdWJwaGFzZUdseXBoRmlsbFNlbGVjdGlvbjoKLSAgICAgICAgICAgIEFTU0VSVCht
X2ZpbGxQYWludFNlcnZlcik7Ci0gICAgICAgICAgICByZXR1cm4gbV9maWxsUGFpbnRTZXJ2ZXI7
CisgICAgICAgICAgICBBU1NFUlQobV9maWxsUGFpbnRpbmdSZXNvdXJjZSk7CisgICAgICAgICAg
ICByZXR1cm4gbV9maWxsUGFpbnRpbmdSZXNvdXJjZTsKICAgICAgICAgY2FzZSBTVkdUZXh0UGFp
bnRTdWJwaGFzZUdseXBoU3Ryb2tlOgogICAgICAgICBjYXNlIFNWR1RleHRQYWludFN1YnBoYXNl
R2x5cGhTdHJva2VTZWxlY3Rpb246Ci0gICAgICAgICAgICBBU1NFUlQobV9zdHJva2VQYWludFNl
cnZlcik7Ci0gICAgICAgICAgICByZXR1cm4gbV9zdHJva2VQYWludFNlcnZlcjsKKyAgICAgICAg
ICAgIEFTU0VSVChtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UpOworICAgICAgICAgICAgcmV0dXJu
IG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZTsKICAgICAgICAgY2FzZSBTVkdUZXh0UGFpbnRTdWJw
aGFzZUJhY2tncm91bmQ6CiAgICAgICAgIGNhc2UgU1ZHVGV4dFBhaW50U3VicGhhc2VGb3JlZ3Jv
dW5kOgogICAgICAgICBkZWZhdWx0OgpAQCAtNjQ2LDcgKzY0NCw3IEBAIHN0cnVjdCBTVkdSb290
SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgICAgICAgICAgICAgIHRleHRCb3gtPnBhaW50RGVj
b3JhdGlvbihPVkVSTElORSwgbV9wYWludEluZm8uY29udGV4dCwgZGVjb3JhdGlvbk9yaWdpbi54
KCksIGRlY29yYXRpb25PcmlnaW4ueSgpLCB0ZXh0V2lkdGgsICppdCwgaW5mbyk7CiAKICAgICAg
ICAgICAgIC8vIFBhaW50IHRleHQKLSAgICAgICAgICAgIG1fdGV4dFBhaW50SW5mby5hY3RpdmVQ
YWludFNlcnZlciA9IGFjdGl2ZVBhaW50U2VydmVyKCk7CisgICAgICAgICAgICBtX3RleHRQYWlu
dEluZm8uYWN0aXZlUGFpbnRpbmdSZXNvdXJjZSA9IGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoKTsK
ICAgICAgICAgICAgIHRleHRCb3gtPnBhaW50Q2hhcmFjdGVycyhtX3BhaW50SW5mbywgbV90eCwg
bV90eSwgKml0LCBzdHJpbmdTdGFydCwgc3RyaW5nTGVuZ3RoLCBtX3RleHRQYWludEluZm8pOwog
CiAgICAgICAgICAgICAvLyBQYWludCBkZWNvcmF0aW9ucywgdGhhdCBoYXZlIHRvIGJlIGRyYXdu
IGFmdGVyd2FyZHMKQEAgLTY3MiwxMSArNjcwLDExIEBAIHByaXZhdGU6CiAgICAgUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXIqIG1fZmlsdGVyOwogICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyKiBt
X3Jvb3RGaWx0ZXI7CiAKLSAgICBTVkdQYWludFNlcnZlciogbV9maWxsUGFpbnRTZXJ2ZXI7Ci0g
ICAgU1ZHUGFpbnRTZXJ2ZXIqIG1fc3Ryb2tlUGFpbnRTZXJ2ZXI7CisgICAgUmVuZGVyU1ZHUmVz
b3VyY2UqIG1fZmlsbFBhaW50aW5nUmVzb3VyY2U7CisgICAgUmVuZGVyU1ZHUmVzb3VyY2UqIG1f
c3Ryb2tlUGFpbnRpbmdSZXNvdXJjZTsKIAotICAgIFJlbmRlck9iamVjdCogbV9maWxsUGFpbnRT
ZXJ2ZXJPYmplY3Q7Ci0gICAgUmVuZGVyT2JqZWN0KiBtX3N0cm9rZVBhaW50U2VydmVyT2JqZWN0
OworICAgIFJlbmRlck9iamVjdCogbV9maWxsUGFpbnRpbmdSZXNvdXJjZU9iamVjdDsKKyAgICBS
ZW5kZXJPYmplY3QqIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZU9iamVjdDsKIAogICAgIGludCBt
X3R4OwogICAgIGludCBtX3R5OwpJbmRleDogV2ViQ29yZS9zdmcvR3JhZGllbnRBdHRyaWJ1dGVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvR3JhZGllbnRBdHRyaWJ1dGVzLmgJKHJldmlz
aW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvR3JhZGllbnRBdHRyaWJ1dGVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIxLDggKzIxLDEyIEBACiAjZGVmaW5lIEdyYWRpZW50QXR0cmlidXRlc19oCiAK
ICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIkNvbG9yLmgiCisjaW5jbHVkZSAiR3JhZGllbnQu
aCIKKyNpbmNsdWRlICJTVkdMZW5ndGguaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCiAgICAg
c3RydWN0IEdyYWRpZW50QXR0cmlidXRlcyB7CiAgICAgICAgIEdyYWRpZW50QXR0cmlidXRlcygp
CiAgICAgICAgICAgICA6IG1fc3ByZWFkTWV0aG9kKFNwcmVhZE1ldGhvZFBhZCkKQEAgLTM3LDEy
ICs0MSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEdyYWRpZW50U3ByZWFkTWV0
aG9kIHNwcmVhZE1ldGhvZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ByZWFkTWV0aG9kOyB9CiAgICAg
ICAgIGJvb2wgYm91bmRpbmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0JveE1v
ZGU7IH0KICAgICAgICAgQWZmaW5lVHJhbnNmb3JtIGdyYWRpZW50VHJhbnNmb3JtKCkgY29uc3Qg
eyByZXR1cm4gbV9ncmFkaWVudFRyYW5zZm9ybTsgfQotICAgICAgICBjb25zdCBWZWN0b3I8U1ZH
R3JhZGllbnRTdG9wPiYgc3RvcHMoKSBjb25zdCB7IHJldHVybiBtX3N0b3BzOyB9CisgICAgICAg
IGNvbnN0IFZlY3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPiYgc3RvcHMoKSBjb25zdCB7IHJldHVy
biBtX3N0b3BzOyB9CiAKICAgICAgICAgdm9pZCBzZXRTcHJlYWRNZXRob2QoR3JhZGllbnRTcHJl
YWRNZXRob2QgdmFsdWUpIHsgbV9zcHJlYWRNZXRob2QgPSB2YWx1ZTsgbV9zcHJlYWRNZXRob2RT
ZXQgPSB0cnVlOyB9CiAgICAgICAgIHZvaWQgc2V0Qm91bmRpbmdCb3hNb2RlKGJvb2wgdmFsdWUp
IHsgbV9ib3VuZGluZ0JveE1vZGUgPSB2YWx1ZTsgbV9ib3VuZGluZ0JveE1vZGVTZXQgPSB0cnVl
OyB9CiAgICAgICAgIHZvaWQgc2V0R3JhZGllbnRUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNm
b3JtJiB2YWx1ZSkgeyBtX2dyYWRpZW50VHJhbnNmb3JtID0gdmFsdWU7IG1fZ3JhZGllbnRUcmFu
c2Zvcm1TZXQgPSB0cnVlOyB9Ci0gICAgICAgIHZvaWQgc2V0U3RvcHMoY29uc3QgVmVjdG9yPFNW
R0dyYWRpZW50U3RvcD4mIHZhbHVlKSB7IG1fc3RvcHMgPSB2YWx1ZTsgbV9zdG9wc1NldCA9IHRy
dWU7IH0gCisgICAgICAgIHZvaWQgc2V0U3RvcHMoY29uc3QgVmVjdG9yPEdyYWRpZW50OjpDb2xv
clN0b3A+JiB2YWx1ZSkgeyBtX3N0b3BzID0gdmFsdWU7IG1fc3RvcHNTZXQgPSB0cnVlOyB9IAog
CiAgICAgICAgIGJvb2wgaGFzU3ByZWFkTWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9zcHJlYWRN
ZXRob2RTZXQ7IH0KICAgICAgICAgYm9vbCBoYXNCb3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJl
dHVybiBtX2JvdW5kaW5nQm94TW9kZVNldDsgfQpAQCAtNTQsNyArNTgsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIEdyYWRpZW50U3ByZWFkTWV0aG9kIG1fc3ByZWFkTWV0aG9kOwog
ICAgICAgICBib29sIG1fYm91bmRpbmdCb3hNb2RlOwogICAgICAgICBBZmZpbmVUcmFuc2Zvcm0g
bV9ncmFkaWVudFRyYW5zZm9ybTsKLSAgICAgICAgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gbV9z
dG9wczsKKyAgICAgICAgVmVjdG9yPEdyYWRpZW50OjpDb2xvclN0b3A+IG1fc3RvcHM7CiAKICAg
ICAgICAgLy8gUHJvcGVydHkgc3RhdGVzCiAgICAgICAgIGJvb2wgbV9zcHJlYWRNZXRob2RTZXQg
OiAxOwpAQCAtNjcsNSArNzEsMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNlbmRpZiAvLyBF
TkFCTEUoU1ZHKQogI2VuZGlmCi0KLS8vIHZpbTp0cz00Om5vZXQKSW5kZXg6IFdlYkNvcmUvc3Zn
L0xpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL0xp
bmVhckdyYWRpZW50QXR0cmlidXRlcy5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3Zn
L0xpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw5ICsyMCw4
IEBACiAjaWZuZGVmIExpbmVhckdyYWRpZW50QXR0cmlidXRlc19oCiAjZGVmaW5lIExpbmVhckdy
YWRpZW50QXR0cmlidXRlc19oCiAKLSNpbmNsdWRlICJHcmFkaWVudEF0dHJpYnV0ZXMuaCIKLQog
I2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVzLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIDogR3Jh
ZGllbnRBdHRyaWJ1dGVzIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1BhdHRlcm5BdHRyaWJ1dGVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvUGF0dGVybkF0dHJpYnV0ZXMuaAkocmV2aXNpb24g
NTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9QYXR0ZXJuQXR0cmlidXRlcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yMSw4ICsyMSwxMiBAQAogI2RlZmluZSBQYXR0ZXJuQXR0cmlidXRlc19oCiAKICNpZiBF
TkFCTEUoU1ZHKQorI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CisKKyAgICBjbGFzcyBTVkdQYXR0ZXJuRWxlbWVudDsKKwogICAgIHN0cnVjdCBQYXR0ZXJuQXR0
cmlidXRlcyB7CiAgICAgICAgIFBhdHRlcm5BdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV94
KCkKQEAgLTk2LDUgKzEwMCwzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2VuZGlmIC8vIEVO
QUJMRShTVkcpCiAjZW5kaWYKLQotLy8gdmltOnRzPTQ6bm9ldApJbmRleDogV2ViQ29yZS9zdmcv
UmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvUmFk
aWFsR3JhZGllbnRBdHRyaWJ1dGVzLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcv
UmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwLDkgKzIwLDgg
QEAKICNpZm5kZWYgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzX2gKICNkZWZpbmUgUmFkaWFsR3Jh
ZGllbnRBdHRyaWJ1dGVzX2gKIAotI2luY2x1ZGUgIkdyYWRpZW50QXR0cmlidXRlcy5oIgotCiAj
aWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJHcmFkaWVudEF0dHJpYnV0ZXMuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMgOiBHcmFk
aWVudEF0dHJpYnV0ZXMgewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuY3BwCShyZXZp
c2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTc0LDcgKzc0LDcgQEAgdm9pZCBTVkdDbGlwUGF0aEVsZW1lbnQ6OnN2Z0F0
dHJpYnV0ZUNoYQogICAgICAgICBTVkdMYW5nU3BhY2U6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5h
bWUpIHx8CiAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmlzS25vd25BdHRy
aWJ1dGUoYXR0ck5hbWUpIHx8CiAgICAgICAgIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50
Ojppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkKLSAgICAgICAgaW52YWxpZGF0ZUNhbnZhc1Jl
c291cmNlcygpOworICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZv
aWQgU1ZHQ2xpcFBhdGhFbGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lKQpAQCAtOTYsNyArOTYsOSBAQCB2b2lkIFNWR0NsaXBQYXRoRWxlbWVu
dDo6c3luY2hyb25pemVQcm9wCiB2b2lkIFNWR0NsaXBQYXRoRWxlbWVudDo6Y2hpbGRyZW5DaGFu
Z2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVy
Q2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQogewogICAgIFNWR1N0eWxlZFRyYW5zZm9ybWFi
bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2Us
IGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwotICAgIGludmFsaWRhdGVDYW52YXNSZXNv
dXJjZXMoKTsKKworICAgIGlmICghY2hhbmdlZEJ5UGFyc2VyKQorICAgICAgICBpbnZhbGlkYXRl
UmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIFJlbmRlck9iamVjdCogU1ZHQ2xpcFBhdGhFbGVtZW50
OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3Zn
L1NWR0NsaXBQYXRoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAj
aW5jbHVkZSAiU1ZHVGVzdHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCiBjbGFzcyBTVkdD
bGlwUGF0aEVsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVGVzdHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1NwYWNlLApJbmRleDogV2ViQ29yZS9zdmcvU1ZH
RG9jdW1lbnRFeHRlbnNpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdEb2N1
bWVudEV4dGVuc2lvbnMuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0Rv
Y3VtZW50RXh0ZW5zaW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDcgKzYyLDcgQEAgdm9p
ZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlbW92ZVRpbWVDbwogICAgIG1fdGltZUNvbnRhaW5l
cnMucmVtb3ZlKGVsZW1lbnQpOwogfQogCi12b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6YWRk
UmVzb3VyY2UoY29uc3QgU3RyaW5nJiBpZCwgUmVuZGVyU1ZHUmVzb3VyY2UqIHJlc291cmNlKQor
dm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmFkZFJlc291cmNlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgaWQsIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiByZXNvdXJjZSkKIHsKICAgICBBU1NF
UlQocmVzb3VyY2UpOwogCkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNp
b25zOjphZGRSZXNvdXJjZSgKICAgICBtX3Jlc291cmNlcy5zZXQoaWQsIHJlc291cmNlKTsKIH0K
IAotdm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlbW92ZVJlc291cmNlKGNvbnN0IFN0cmlu
ZyYgaWQpCit2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVtb3ZlUmVzb3VyY2UoY29uc3Qg
QXRvbWljU3RyaW5nJiBpZCkKIHsKICAgICBpZiAoaWQuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm47CkBAIC04Miw3ICs4Miw3IEBAIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZW1vdmVS
ZXNvdXIKICAgICBtX3Jlc291cmNlcy5yZW1vdmUoaWQpOwogfQogCi1SZW5kZXJTVkdSZXNvdXJj
ZSogU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZXNvdXJjZUJ5SWQoY29uc3QgU3RyaW5nJiBpZCkg
Y29uc3QKK1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBTVkdEb2N1bWVudEV4dGVuc2lvbnM6
OnJlc291cmNlQnlJZChjb25zdCBBdG9taWNTdHJpbmcmIGlkKSBjb25zdAogewogICAgIGlmIChp
ZC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMTQ4LDcgKzE0OCw3IEBAIHZvaWQg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjphZGRQZW5kaW5nUmUKICAgICBpZiAobV9wZW5kaW5nUmVz
b3VyY2VzLmNvbnRhaW5zKGlkKSkKICAgICAgICAgbV9wZW5kaW5nUmVzb3VyY2VzLmdldChpZCkt
PmFkZChvYmopOwogICAgIGVsc2UgewotICAgICAgICBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQq
Piogc2V0ID0gbmV3IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+KCk7CisgICAgICAgIEhhc2hT
ZXQ8U1ZHU3R5bGVkRWxlbWVudCo+KiBzZXQgPSBuZXcgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50
Kj47CiAgICAgICAgIHNldC0+YWRkKG9iaik7CiAKICAgICAgICAgbV9wZW5kaW5nUmVzb3VyY2Vz
LmFkZChpZCwgc2V0KTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCShyZXZp
c2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCwxOCArMjQsMTcgQEAKICNkZWZpbmUgU1ZHRG9jdW1lbnRFeHRlbnNp
b25zX2gKIAogI2lmIEVOQUJMRShTVkcpCi0KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotI2lu
Y2x1ZGUgIlN0cmluZ0hhc2guaCIKKyNpbmNsdWRlICJBdG9taWNTdHJpbmdIYXNoLmgiCiAjaW5j
bHVkZSAiU3RyaW5nSW1wbC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3Vt
ZW50OwotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2U7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lcjsKIGNsYXNzIFN0cmluZzsKIGNsYXNzIFNWR1N0eWxlZEVsZW1lbnQ7CiBjbGFzcyBT
VkdTTUlMRWxlbWVudDsKQEAgLTQ5LDkgKzQ4LDkgQEAgcHVibGljOgogICAgIHZvaWQgYWRkVGlt
ZUNvbnRhaW5lcihTVkdTVkdFbGVtZW50Kik7CiAgICAgdm9pZCByZW1vdmVUaW1lQ29udGFpbmVy
KFNWR1NWR0VsZW1lbnQqKTsKIAotICAgIHZvaWQgYWRkUmVzb3VyY2UoY29uc3QgU3RyaW5nJiBp
ZCwgUmVuZGVyU1ZHUmVzb3VyY2UqKTsKLSAgICB2b2lkIHJlbW92ZVJlc291cmNlKGNvbnN0IFN0
cmluZyYgaWQpOwotICAgIFJlbmRlclNWR1Jlc291cmNlKiByZXNvdXJjZUJ5SWQoY29uc3QgU3Ry
aW5nJiBpZCkgY29uc3Q7CisgICAgdm9pZCBhZGRSZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcm
IGlkLCBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciopOworICAgIHZvaWQgcmVtb3ZlUmVzb3Vy
Y2UoY29uc3QgQXRvbWljU3RyaW5nJiBpZCk7CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXIqIHJlc291cmNlQnlJZChjb25zdCBBdG9taWNTdHJpbmcmIGlkKSBjb25zdDsKIAogICAgIHZv
aWQgc3RhcnRBbmltYXRpb25zKCk7CiAgICAgdm9pZCBwYXVzZUFuaW1hdGlvbnMoKTsKQEAgLTY0
LDggKzYzLDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBEb2N1bWVudCogbV9kb2M7IC8vIHdl
YWsgcmVmZXJlbmNlCiAgICAgSGFzaFNldDxTVkdTVkdFbGVtZW50Kj4gbV90aW1lQ29udGFpbmVy
czsgLy8gRm9yIFNWRyAxLjIgc3VwcG9ydCB0aGlzIHdpbGwgbmVlZCB0byBiZSBtYWRlIG1vcmUg
Z2VuZXJhbC4KLSAgICBIYXNoTWFwPFN0cmluZywgUmVuZGVyU1ZHUmVzb3VyY2UqPiBtX3Jlc291
cmNlczsKLSAgICBIYXNoTWFwPFN0cmluZywgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4qPiBt
X3BlbmRpbmdSZXNvdXJjZXM7CisgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyKj4gbV9yZXNvdXJjZXM7CisgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcs
IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+Kj4gbV9wZW5kaW5nUmVzb3VyY2VzOwogCiAgICAg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwogICAg
IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5z
aW9ucyYpOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDYgQEAKICNpbmNs
dWRlICJTVkdFbGVtZW50SW5zdGFuY2UuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50UmFyZURhdGEu
aCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUgIlNWR1Jlc291cmNlLmgiCiAjaW5j
bHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgogI2lu
Y2x1ZGUgIlNWR1VzZUVsZW1lbnQuaCIKQEAgLTI5Miw4ICsyOTEsNiBAQCB2b2lkIFNWR0VsZW1l
bnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkKIAogICAgICAgICBmb3IgKDsgaXQgIT0gZW5kOyAr
K2l0KQogICAgICAgICAgICAgKCppdCktPmJ1aWxkUGVuZGluZ1Jlc291cmNlKCk7Ci0KLSAgICAg
ICAgU1ZHUmVzb3VyY2U6OmludmFsaWRhdGVDbGllbnRzKCpjbGllbnRzKTsKICAgICB9CiB9CiAK
QEAgLTMwOSw5ICszMDYsNyBAQCB2b2lkIFNWR0VsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoQXR0
cmliCiAKIHZvaWQgU1ZHRWxlbWVudDo6dXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgbmFtZSkgY29uc3QKIHsKLSAgICBBU1NFUlQoIW1fYXJlU1ZHQXR0cmli
dXRlc1ZhbGlkKTsKLQotICAgIGlmIChtX3N5bmNocm9uaXppbmdTVkdBdHRyaWJ1dGVzKQorICAg
IGlmIChtX3N5bmNocm9uaXppbmdTVkdBdHRyaWJ1dGVzIHx8IG1fYXJlU1ZHQXR0cmlidXRlc1Zh
bGlkKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3N5bmNocm9uaXppbmdTVkdBdHRyaWJ1dGVz
ID0gdHJ1ZTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSwxMyArNzksMTQgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldEN1cnNvckVsZW1lbnQoU1ZHQ3Vyc29yRWxlbWVu
dCopOwogICAgICAgICB2b2lkIHNldEN1cnNvckltYWdlVmFsdWUoQ1NTQ3Vyc29ySW1hZ2VWYWx1
ZSopOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFNW
R0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKICAgICAgICAgdmly
dHVhbCB2b2lkIGZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGF0dHJpYnV0ZUNo
YW5nZWQoQXR0cmlidXRlKiwgYm9vbCBwcmVzZXJ2ZURlY2xzID0gZmFsc2UpOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYpIGNvbnN0OwogCiAgICAgICAgIFNWR0VsZW1lbnRSYXJlRGF0YSogcmFyZVNWR0RhdGEoKSBj
b25zdDsKICAgICAgICAgU1ZHRWxlbWVudFJhcmVEYXRhKiBlbnN1cmVSYXJlU1ZHRGF0YSgpOwpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHRm9udC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ3MCwyMCArNDcwLDIwIEBAIHZvaWQgRm9udDo6ZHJhd1RleHRV
c2luZ1NWR0ZvbnQoR3JhcGhpY3MKICAgICAgICAgRmxvYXRQb2ludCBjdXJyZW50UG9pbnQgPSBw
b2ludDsKICAgICAgICAgZmxvYXQgc2NhbGUgPSBjb252ZXJ0RW1Vbml0VG9QaXhlbChzaXplKCks
IGZvbnRGYWNlRWxlbWVudC0+dW5pdHNQZXJFbSgpLCAxLjBmKTsKIAotICAgICAgICBTVkdQYWlu
dFNlcnZlciogYWN0aXZlUGFpbnRTZXJ2ZXIgPSBydW4uYWN0aXZlUGFpbnRTZXJ2ZXIoKTsKKyAg
ICAgICAgUmVuZGVyU1ZHUmVzb3VyY2UqIGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UgPSBydW4uYWN0
aXZlUGFpbnRpbmdSZXNvdXJjZSgpOwogCiAgICAgICAgIC8vIElmIHJlbmRlck9iamVjdCBpcyBu
b3Qgc2V0LCB3ZSdyZSBkZWFsaW5nIGZvciBIVE1MIHRleHQgcmVuZGVyZWQgdXNpbmcgU1ZHIEZv
bnRzLgogICAgICAgICBpZiAoIXJ1bi5yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgpKSB7Ci0gICAg
ICAgICAgICBBU1NFUlQoIWFjdGl2ZVBhaW50U2VydmVyKTsKKyAgICAgICAgICAgIEFTU0VSVCgh
YWN0aXZlUGFpbnRpbmdSZXNvdXJjZSk7CiAKICAgICAgICAgICAgIC8vIFRPRE86IFdlJ3JlIG9u
bHkgc3VwcG9ydGluZyBzaW1wbGUgZmlsbGVkIEhUTUwgdGV4dCBzbyBmYXIuCi0gICAgICAgICAg
ICBTVkdQYWludFNlcnZlclNvbGlkKiBzb2xpZFBhaW50U2VydmVyID0gU1ZHUGFpbnRTZXJ2ZXI6
OnNoYXJlZFNvbGlkUGFpbnRTZXJ2ZXIoKTsKLSAgICAgICAgICAgIHNvbGlkUGFpbnRTZXJ2ZXIt
PnNldENvbG9yKGNvbnRleHQtPmZpbGxDb2xvcigpKTsKKyAgICAgICAgICAgIFJlbmRlclNWR1Jl
c291cmNlU29saWRDb2xvciogc29saWRQYWludGluZ1Jlc291cmNlID0gUmVuZGVyU1ZHUmVzb3Vy
Y2U6OnNoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSgpOworICAgICAgICAgICAgc29saWRQYWlu
dGluZ1Jlc291cmNlLT5zZXRDb2xvcihjb250ZXh0LT5maWxsQ29sb3IoKSk7CiAKLSAgICAgICAg
ICAgIGFjdGl2ZVBhaW50U2VydmVyID0gc29saWRQYWludFNlcnZlcjsKKyAgICAgICAgICAgIGFj
dGl2ZVBhaW50aW5nUmVzb3VyY2UgPSBzb2xpZFBhaW50aW5nUmVzb3VyY2U7CiAgICAgICAgIH0K
IAotICAgICAgICBBU1NFUlQoYWN0aXZlUGFpbnRTZXJ2ZXIpOworICAgICAgICBBU1NFUlQoYWN0
aXZlUGFpbnRpbmdSZXNvdXJjZSk7CiAKICAgICAgICAgaW50IGNoYXJzQ29uc3VtZWQ7CiAgICAg
ICAgIFN0cmluZyBnbHlwaE5hbWU7CkBAIC01MTIsNyArNTEyLDcgQEAgdm9pZCBGb250OjpkcmF3
VGV4dFVzaW5nU1ZHRm9udChHcmFwaGljcwogICAgICAgICBTVkdUZXh0UnVuV2Fsa2VyPFNWR1Rl
eHRSdW5XYWxrZXJEcmF3VGV4dERhdGE+IHJ1bldhbGtlcihmb250RGF0YSwgZm9udEVsZW1lbnQs
IGRhdGEsIGRyYXdUZXh0VXNpbmdTVkdGb250Q2FsbGJhY2ssIGRyYXdUZXh0TWlzc2luZ0dseXBo
Q2FsbGJhY2spOwogICAgICAgICBydW5XYWxrZXIud2FsayhydW4sIGlzVmVydGljYWxUZXh0LCBs
YW5ndWFnZSwgZnJvbSwgdG8pOwogCi0gICAgICAgIFNWR1BhaW50VGFyZ2V0VHlwZSB0YXJnZXRU
eXBlID0gY29udGV4dC0+dGV4dERyYXdpbmdNb2RlKCkgPT0gY1RleHRTdHJva2UgPyBBcHBseVRv
U3Ryb2tlVGFyZ2V0VHlwZSA6IEFwcGx5VG9GaWxsVGFyZ2V0VHlwZTsKKyAgICAgICAgUmVuZGVy
U1ZHUmVzb3VyY2VNb2RlIHJlc291cmNlTW9kZSA9IGNvbnRleHQtPnRleHREcmF3aW5nTW9kZSgp
ID09IGNUZXh0U3Ryb2tlID8gQXBwbHlUb1N0cm9rZU1vZGUgOiBBcHBseVRvRmlsbE1vZGU7CiAK
ICAgICAgICAgdW5zaWduZWQgbnVtR2x5cGhzID0gZGF0YS5nbHlwaElkZW50aWZpZXJzLnNpemUo
KTsKICAgICAgICAgdW5zaWduZWQgZmFsbGJhY2tDaGFyYWN0ZXJJbmRleCA9IDA7CkBAIC01Mzcs
MTAgKzUzNywxMCBAQCB2b2lkIEZvbnQ6OmRyYXdUZXh0VXNpbmdTVkdGb250KEdyYXBoaWNzCiAK
ICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+YmVnaW5QYXRoKCk7CiAgICAgICAgICAgICAg
ICAgICAgIGNvbnRleHQtPmFkZFBhdGgoZ2x5cGhQYXRoKTsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKGFjdGl2ZVBhaW50U2VydmVyLT5zZXR1cChjb250ZXh0LCBydW4ucmVmZXJlbmNpbmdSZW5k
ZXJPYmplY3QoKSwgdGFyZ2V0VHlwZSkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2
ZVBhaW50U2VydmVyLT5yZW5kZXJQYXRoKGNvbnRleHQsIHJ1bi5yZWZlcmVuY2luZ1JlbmRlck9i
amVjdCgpLCB0YXJnZXRUeXBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVBhaW50
U2VydmVyLT50ZWFyZG93bihjb250ZXh0LCBydW4ucmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoKSwg
dGFyZ2V0VHlwZSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAg
ICBSZW5kZXJTdHlsZSogc3R5bGUgPSBydW4ucmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoKSA/IHJ1
bi5yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgpLT5zdHlsZSgpIDogMDsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UtPmFwcGx5UmVzb3VyY2UocnVuLnJlZmVy
ZW5jaW5nUmVuZGVyT2JqZWN0KCksIHN0eWxlLCBjb250ZXh0LCByZXNvdXJjZU1vZGUpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgYWN0aXZlUGFpbnRpbmdSZXNvdXJjZS0+cG9zdEFwcGx5UmVz
b3VyY2UocnVuLnJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KCksIGNvbnRleHQsIHJlc291cmNlTW9k
ZSk7CiAKICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+cmVzdG9yZSgpOwogICAgICAgICAg
ICAgICAgIH0KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29y
ZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw2ICsyMyw3IEBACiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdHRWxlbWVudC5oIgogCisjaW5jbHVkZSAiUmVu
ZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHVHJhbnNmb3JtYWJs
ZUNvbnRhaW5lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC03OSwxNiArODAsMTUgQEAg
dm9pZCBTVkdHRWxlbWVudDo6c3luY2hyb25pemVQcm9wZXJ0eShjbwogICAgICAgICBzeW5jaHJv
bml6ZUV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKTsKIH0KIAotdm9pZCBTVkdHRWxlbWVudDo6
Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2Us
IE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQorUmVuZGVyT2JqZWN0KiBT
VkdHRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHls
ZSogc3R5bGUpCiB7Ci0gICAgU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQ6OmNoaWxkcmVu
Q2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxk
Q291bnREZWx0YSk7CisgICAgLy8gU1ZHIDEuMSB0ZXN0c3VpdGUgZXhwbGljaXRlbHkgdXNlcyBj
b25zdHJ1Y3RzIGxpa2UgPGcgZGlzcGxheT0ibm9uZSI+PGxpbmVhckdyYWRpZW50PgorICAgIC8v
IFdlIHN0aWxsIGhhdmUgdG8gY3JlYXRlIHJlbmRlcmVycyBmb3IgdGhlIDxnPiAmIDxsaW5lYXJH
cmFkaWVudD4gZWxlbWVudCwgdGhvdWdoIHRoZQorICAgIC8vIHN1YnRyZWUgbWF5IGJlIGhpZGRl
biAtIHdlIG9ubHkgd2FudCB0aGUgcmVzb3VyY2UgcmVuZGVyZXJzIHRvIGV4aXN0IHNvIHRoZXkg
Y2FuIGJlCisgICAgLy8gcmVmZXJlbmNlZCBmcm9tIHNvbWV3aGVyZSBlbHNlLgorICAgIGlmIChz
dHlsZS0+ZGlzcGxheSgpID09IE5PTkUpCisgICAgICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5k
ZXJTVkdIaWRkZW5Db250YWluZXIodGhpcyk7CiAKLSAgICBpZiAocmVuZGVyZXIoKSkKLSAgICAg
ICAgcmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7Ci19Ci0KLVJlbmRlck9iamVjdCog
U1ZHR0VsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5
bGUqKQotewogICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29u
dGFpbmVyKHRoaXMpOwogfQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysg
V2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsOCArNDMsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0
dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
c3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9k
ZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3Vu
dERlbHRhID0gMCk7CiAKKyAgICAgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoUmVu
ZGVyU3R5bGUqKSB7IHJldHVybiB0cnVlOyB9CiAgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0
KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKICAgICBwcml2
YXRlOgpJbmRleDogV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkK
KysrIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw3IEBACiAvKgogICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAw
OCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAg
ICAgIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAgICBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTg0LDE2ICs4NSwxMyBAQCB2b2lkIFNW
R0dyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhCiB7CiAgICAgU1ZHU3R5bGVkRWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CiAKLSAgICBpZiAoIW1fcmVzb3VyY2Up
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6Z3JhZGll
bnRVbml0c0F0dHIgfHwKLSAgICAgICAgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmdyYWRpZW50VHJh
bnNmb3JtQXR0ciB8fAotICAgICAgICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6c3ByZWFkTWV0aG9k
QXR0ciB8fAotICAgICAgICBTVkdVUklSZWZlcmVuY2U6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5h
bWUpIHx8Ci0gICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmlzS25vd25BdHRy
aWJ1dGUoYXR0ck5hbWUpIHx8Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmlzS25vd25BdHRy
aWJ1dGUoYXR0ck5hbWUpKQotICAgICAgICBtX3Jlc291cmNlLT5pbnZhbGlkYXRlKCk7CisgICAg
aWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpncmFkaWVudFVuaXRzQXR0cgorICAgICAgICB8fCBh
dHRyTmFtZSA9PSBTVkdOYW1lczo6Z3JhZGllbnRUcmFuc2Zvcm1BdHRyCisgICAgICAgIHx8IGF0
dHJOYW1lID09IFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyCisgICAgICAgIHx8IFNWR1VSSVJl
ZmVyZW5jZTo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkKKyAgICAgICAgfHwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkKKyAgICAgICAg
fHwgU1ZHU3R5bGVkRWxlbWVudDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkpCisgICAgICAg
IGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9pZCBTVkdHcmFkaWVudEVsZW1l
bnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCkBA
IC0xMjUsNjEgKzEyMywzNCBAQCB2b2lkIFNWR0dyYWRpZW50RWxlbWVudDo6Y2hpbGRyZW5DaGFu
Z2VkCiB7CiAgICAgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBh
cnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKIAotICAg
IGlmIChtX3Jlc291cmNlKQotICAgICAgICBtX3Jlc291cmNlLT5pbnZhbGlkYXRlKCk7Ci19Ci0K
LVJlbmRlck9iamVjdCogU1ZHR3JhZGllbnRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJB
cmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKLXsKLSAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVu
ZGVyU1ZHSGlkZGVuQ29udGFpbmVyKHRoaXMpOwotfQotCi1TVkdSZXNvdXJjZSogU1ZHR3JhZGll
bnRFbGVtZW50OjpjYW52YXNSZXNvdXJjZShjb25zdCBSZW5kZXJPYmplY3QqKQotewotICAgIGlm
ICghbV9yZXNvdXJjZSkgewotICAgICAgICBpZiAoZ3JhZGllbnRUeXBlKCkgPT0gTGluZWFyR3Jh
ZGllbnRQYWludFNlcnZlcikKLSAgICAgICAgICAgIG1fcmVzb3VyY2UgPSBTVkdQYWludFNlcnZl
ckxpbmVhckdyYWRpZW50OjpjcmVhdGUodGhpcyk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IG1fcmVzb3VyY2UgPSBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpjcmVhdGUodGhpcyk7
Ci0gICAgfQotCi0gICAgcmV0dXJuIG1fcmVzb3VyY2UuZ2V0KCk7CisgICAgaWYgKCFjaGFuZ2Vk
QnlQYXJzZXIpCisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAotVmVj
dG9yPFNWR0dyYWRpZW50U3RvcD4gU1ZHR3JhZGllbnRFbGVtZW50OjpidWlsZFN0b3BzKCkgY29u
c3QKK1ZlY3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPiBTVkdHcmFkaWVudEVsZW1lbnQ6OmJ1aWxk
U3RvcHMoKQogewotICAgIFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+IHN0b3BzOwotICAgIFJlZlB0
cjxSZW5kZXJTdHlsZT4gZ3JhZGllbnRTdHlsZTsKKyAgICBWZWN0b3I8R3JhZGllbnQ6OkNvbG9y
U3RvcD4gc3RvcHM7CiAKKyAgICBmbG9hdCBwcmV2aW91c09mZnNldCA9IDAuMGY7CiAgICAgZm9y
IChOb2RlKiBuID0gZmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgewogICAg
ICAgICBTVkdFbGVtZW50KiBlbGVtZW50ID0gbi0+aXNTVkdFbGVtZW50KCkgPyBzdGF0aWNfY2Fz
dDxTVkdFbGVtZW50Kj4obikgOiAwOworICAgICAgICBpZiAoIWVsZW1lbnQgfHwgIWVsZW1lbnQt
PmlzR3JhZGllbnRTdG9wKCkpCisgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAo
ZWxlbWVudCAmJiBlbGVtZW50LT5pc0dyYWRpZW50U3RvcCgpKSB7Ci0gICAgICAgICAgICBTVkdT
dG9wRWxlbWVudCogc3RvcCA9IHN0YXRpY19jYXN0PFNWR1N0b3BFbGVtZW50Kj4oZWxlbWVudCk7
Ci0gICAgICAgICAgICBmbG9hdCBzdG9wT2Zmc2V0ID0gc3RvcC0+b2Zmc2V0KCk7Ci0KLSAgICAg
ICAgICAgIENvbG9yIGNvbG9yOwotICAgICAgICAgICAgZmxvYXQgb3BhY2l0eTsKLQotICAgICAg
ICAgICAgaWYgKHN0b3AtPnJlbmRlcmVyKCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJTdHls
ZSogc3RvcFN0eWxlID0gc3RvcC0+cmVuZGVyZXIoKS0+c3R5bGUoKTsKLSAgICAgICAgICAgICAg
ICBjb2xvciA9IHN0b3BTdHlsZS0+c3ZnU3R5bGUoKS0+c3RvcENvbG9yKCk7Ci0gICAgICAgICAg
ICAgICAgb3BhY2l0eSA9IHN0b3BTdHlsZS0+c3ZnU3R5bGUoKS0+c3RvcE9wYWNpdHkoKTsKLSAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gcmVu
ZGVyZXIgZm9yIHRoaXMgc3RvcCBlbGVtZW50LCB0aGVuIGEgcGFyZW50IGVsZW1lbnQKLSAgICAg
ICAgICAgICAgICAvLyBzZXQgZGlzcGxheT0ibm9uZSIgLSBpZS4gPGcgZGlzcGxheT0ibm9uZSI+
PGxpbmVhckdyYWRpZW50PjxzdG9wPi4uCi0gICAgICAgICAgICAgICAgLy8gVW5mb3J0dW5hdGVs
eSB3ZSBoYXZlIHRvIG1hbnVhbGx5IHJlYnVpbGQgdGhlIHN0b3Agc3R5bGUuIFNlZSBwc2VydmVy
cy1ncmFkLTE5LWIuc3ZnCi0gICAgICAgICAgICAgICAgaWYgKCFncmFkaWVudFN0eWxlKQotICAg
ICAgICAgICAgICAgICAgICBncmFkaWVudFN0eWxlID0gY29uc3RfY2FzdDxTVkdHcmFkaWVudEVs
ZW1lbnQqPih0aGlzKS0+c3R5bGVGb3JSZW5kZXJlcigpOwotCi0gICAgICAgICAgICAgICAgUmVm
UHRyPFJlbmRlclN0eWxlPiBzdG9wU3R5bGUgPSBzdG9wLT5yZXNvbHZlU3R5bGUoZ3JhZGllbnRT
dHlsZS5nZXQoKSk7Ci0KLSAgICAgICAgICAgICAgICBjb2xvciA9IHN0b3BTdHlsZS0+c3ZnU3R5
bGUoKS0+c3RvcENvbG9yKCk7Ci0gICAgICAgICAgICAgICAgb3BhY2l0eSA9IHN0b3BTdHlsZS0+
c3ZnU3R5bGUoKS0+c3RvcE9wYWNpdHkoKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgU1ZHU3Rv
cEVsZW1lbnQqIHN0b3AgPSBzdGF0aWNfY2FzdDxTVkdTdG9wRWxlbWVudCo+KGVsZW1lbnQpOwor
ICAgICAgICBDb2xvciBjb2xvciA9IHN0b3AtPnN0b3BDb2xvckluY2x1ZGluZ09wYWNpdHkoKTsK
IAotICAgICAgICAgICAgc3RvcHMuYXBwZW5kKG1ha2VHcmFkaWVudFN0b3Aoc3RvcE9mZnNldCwg
bWFrZVJHQkEoY29sb3IucmVkKCksIGNvbG9yLmdyZWVuKCksIGNvbG9yLmJsdWUoKSwgaW50KG9w
YWNpdHkgKiAyNTUuKSkpKTsKLSAgICAgICAgfQorICAgICAgICAvLyBGaWd1cmUgb3V0IHJpZ2h0
IG1vbm90b25pYyBvZmZzZXQKKyAgICAgICAgZmxvYXQgb2Zmc2V0ID0gc3RvcC0+b2Zmc2V0KCk7
CisgICAgICAgIG9mZnNldCA9IHN0ZDo6bWluKHN0ZDo6bWF4KHByZXZpb3VzT2Zmc2V0LCBvZmZz
ZXQpLCAxLjBmKTsKKyAgICAgICAgcHJldmlvdXNPZmZzZXQgPSBvZmZzZXQ7CisKKyAgICAgICAg
Ly8gRXh0cmFjdCBpbmRpdmlkdWFsIGNoYW5uZWwgdmFsdWVzCisgICAgICAgIC8vIEZJWE1FOiBX
aHkgZG9lc24ndCBDb2xvclN0b3AgdGFrZSBhIENvbG9yIGFuZCBhbiBvZmZzZXQ/PworICAgICAg
ICBmbG9hdCByLCBnLCBiLCBhOworICAgICAgICBjb2xvci5nZXRSR0JBKHIsIGcsIGIsIGEpOwor
CisgICAgICAgIHN0b3BzLmFwcGVuZChHcmFkaWVudDo6Q29sb3JTdG9wKG9mZnNldCwgciwgZywg
YiwgYSkpOwogICAgIH0KIAogICAgIHJldHVybiBzdG9wczsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R0dyYWRpZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50
RWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw4ICsyMiw3IEBACiAjZGVmaW5lIFNWR0dyYWRp
ZW50RWxlbWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5o
IgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCIKKyNpbmNsdWRlICJHcmFk
aWVudC5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNs
dWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgpA
QCAtNDMsMjAgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZv
aWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKICAgICAgICAg
dmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNl
LCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGls
ZENvdW50RGVsdGEgPSAwKTsKLSAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJl
bmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKIAotICAgICAgICB2aXJ0dWFsIFNW
R1Jlc291cmNlKiBjYW52YXNSZXNvdXJjZShjb25zdCBSZW5kZXJPYmplY3QqKTsKLQotICAgIHBy
b3RlY3RlZDoKLSAgICAgICAgZnJpZW5kIGNsYXNzIFNWR1BhaW50U2VydmVyR3JhZGllbnQ7Ci0g
ICAgICAgIGZyaWVuZCBjbGFzcyBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ7Ci0gICAgICAgIGZy
aWVuZCBjbGFzcyBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ7Ci0KLSAgICAgICAgdmlydHVhbCB2
b2lkIGJ1aWxkR3JhZGllbnQoKSBjb25zdCA9IDA7Ci0gICAgICAgIHZpcnR1YWwgU1ZHUGFpbnRT
ZXJ2ZXJUeXBlIGdyYWRpZW50VHlwZSgpIGNvbnN0ID0gMDsKLQotICAgICAgICBWZWN0b3I8U1ZH
R3JhZGllbnRTdG9wPiBidWlsZFN0b3BzKCkgY29uc3Q7Ci0gICAgICAgIG11dGFibGUgUmVmUHRy
PFNWR1BhaW50U2VydmVyR3JhZGllbnQ+IG1fcmVzb3VyY2U7CisgICAgICAgIFZlY3RvcjxHcmFk
aWVudDo6Q29sb3JTdG9wPiBidWlsZFN0b3BzKCk7CiAgCiAgICAgcHJvdGVjdGVkOgogICAgICAg
ICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0dyYWRpZW50RWxlbWVudCwgU1ZHTmFtZXM6
OnNwcmVhZE1ldGhvZEF0dHIsIGludCwgU3ByZWFkTWV0aG9kLCBzcHJlYWRNZXRob2QpCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MTU5
KQorKysgV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMyw2ICszLDcgQEAKICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYs
IDIwMDcgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDggRXJp
YyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDggRGlyayBT
Y2h1bHplIDxrcml0QHdlYmtpdC5vcmc+CisgICAgQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAg
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCkBAIC03MCwxMiArNzEsMTEgQEAgdm9pZCBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OnN2
Z0F0dHJpYgogewogICAgIFNWR0dyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChh
dHRyTmFtZSk7CiAKLSAgICBpZiAoIW1fcmVzb3VyY2UpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6eDFBdHRyIHx8IGF0dHJOYW1lID09IFNWR05hbWVz
Ojp5MUF0dHIgfHwKLSAgICAgICAgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OngyQXR0ciB8fCBhdHRy
TmFtZSA9PSBTVkdOYW1lczo6eTJBdHRyKQotICAgICAgICBtX3Jlc291cmNlLT5pbnZhbGlkYXRl
KCk7CisgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjp4MUF0dHIKKyAgICAgICAgfHwgYXR0
ck5hbWUgPT0gU1ZHTmFtZXM6OnkxQXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1l
czo6eDJBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp5MkF0dHIpCisgICAg
ICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9pZCBTVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
ck5hbWUpCkBAIC0xMDAsNTYgKzEwMCwxOCBAQCB2b2lkIFNWR0xpbmVhckdyYWRpZW50RWxlbWVu
dDo6c3luY2hyb25pCiAgICAgICAgIHN5bmNocm9uaXplWTIoKTsKIH0KIAotdm9pZCBTVkdMaW5l
YXJHcmFkaWVudEVsZW1lbnQ6OmJ1aWxkR3JhZGllbnQoKSBjb25zdAorUmVuZGVyT2JqZWN0KiBT
VkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVu
YSwgUmVuZGVyU3R5bGUqKQogewotICAgIExpbmVhckdyYWRpZW50QXR0cmlidXRlcyBhdHRyaWJ1
dGVzID0gY29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpOwotCi0gICAgUmVmUHRyPFNWR1BhaW50
U2VydmVyTGluZWFyR3JhZGllbnQ+IGxpbmVhckdyYWRpZW50ID0gV1RGOjpzdGF0aWNfcG9pbnRl
cl9jYXN0PFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ+KG1fcmVzb3VyY2UpOwotCi0gICAg
RmxvYXRQb2ludCBzdGFydFBvaW50OwotICAgIEZsb2F0UG9pbnQgZW5kUG9pbnQ7Ci0gICAgaWYg
KGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpIHsKLSAgICAgICAgc3RhcnRQb2ludCA9IEZs
b2F0UG9pbnQoYXR0cmlidXRlcy54MSgpLnZhbHVlQXNQZXJjZW50YWdlKCksIGF0dHJpYnV0ZXMu
eTEoKS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKLSAgICAgICAgZW5kUG9pbnQgPSBGbG9hdFBvaW50
KGF0dHJpYnV0ZXMueDIoKS52YWx1ZUFzUGVyY2VudGFnZSgpLCBhdHRyaWJ1dGVzLnkyKCkudmFs
dWVBc1BlcmNlbnRhZ2UoKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc3RhcnRQb2ludCA9IEZs
b2F0UG9pbnQoYXR0cmlidXRlcy54MSgpLnZhbHVlKHRoaXMpLCBhdHRyaWJ1dGVzLnkxKCkudmFs
dWUodGhpcykpOwotICAgICAgICBlbmRQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy54Migp
LnZhbHVlKHRoaXMpLCBhdHRyaWJ1dGVzLnkyKCkudmFsdWUodGhpcykpOwotICAgIH0KLQotICAg
IFJlZlB0cjxHcmFkaWVudD4gZ3JhZGllbnQgPSBHcmFkaWVudDo6Y3JlYXRlKHN0YXJ0UG9pbnQs
IGVuZFBvaW50KTsKLSAgICBncmFkaWVudC0+c2V0U3ByZWFkTWV0aG9kKGF0dHJpYnV0ZXMuc3By
ZWFkTWV0aG9kKCkpOwotCi0gICAgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gbV9zdG9wcyA9IGF0
dHJpYnV0ZXMuc3RvcHMoKTsKLSAgICBmbG9hdCBwcmV2aW91c09mZnNldCA9IDAuMGY7Ci0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fc3RvcHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ZmxvYXQgb2Zmc2V0ID0gc3RkOjptaW4oc3RkOjptYXgocHJldmlvdXNPZmZzZXQsIG1fc3RvcHNb
aV0uZmlyc3QpLCAxLjBmKTsKLSAgICAgICAgcHJldmlvdXNPZmZzZXQgPSBvZmZzZXQ7Ci0gICAg
ICAgIGdyYWRpZW50LT5hZGRDb2xvclN0b3Aob2Zmc2V0LCBtX3N0b3BzW2ldLnNlY29uZCk7Ci0g
ICAgfQotCi0gICAgbGluZWFyR3JhZGllbnQtPnNldEdyYWRpZW50KGdyYWRpZW50KTsKLQotICAg
IGlmIChhdHRyaWJ1dGVzLnN0b3BzKCkuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICAvLyBUaGlzIGNvZGUgc2hvdWxkIGdvIGF3YXkuICBQYWludFNlcnZlcnMgc2hvdWxkIGdvIGF3
YXkgdG9vLgotICAgIC8vIE9ubHkgdGhpcyBjb2RlIHNob3VsZCBjYXJlIGFib3V0IGJvdW5kaW5n
IGJveGVzCi0gICAgbGluZWFyR3JhZGllbnQtPnNldEJvdW5kaW5nQm94TW9kZShhdHRyaWJ1dGVz
LmJvdW5kaW5nQm94TW9kZSgpKTsKLSAgICBsaW5lYXJHcmFkaWVudC0+c2V0R3JhZGllbnRTdG9w
cyhhdHRyaWJ1dGVzLnN0b3BzKCkpOwotCi0gICAgLy8gVGhlc2Ugc2hvdWxkIHBvc3NpYmx5IGJl
IHN1cHBvcnRlZCBvbiBHcmFkaWVudAotICAgIGxpbmVhckdyYWRpZW50LT5zZXRHcmFkaWVudFRy
YW5zZm9ybShhdHRyaWJ1dGVzLmdyYWRpZW50VHJhbnNmb3JtKCkpOwotICAgIGxpbmVhckdyYWRp
ZW50LT5zZXRHcmFkaWVudFN0YXJ0KHN0YXJ0UG9pbnQpOwotICAgIGxpbmVhckdyYWRpZW50LT5z
ZXRHcmFkaWVudEVuZChlbmRQb2ludCk7CisgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNW
R1Jlc291cmNlTGluZWFyR3JhZGllbnQodGhpcyk7CiB9CiAKLUxpbmVhckdyYWRpZW50QXR0cmli
dXRlcyBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMo
KSBjb25zdAorTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIFNWR0xpbmVhckdyYWRpZW50RWxlbWVu
dDo6Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpCiB7CiAgICAgTGluZWFyR3JhZGllbnRBdHRy
aWJ1dGVzIGF0dHJpYnV0ZXM7Ci0gICAgSGFzaFNldDxjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQq
PiBwcm9jZXNzZWRHcmFkaWVudHM7CisgICAgSGFzaFNldDxTVkdHcmFkaWVudEVsZW1lbnQqPiBw
cm9jZXNzZWRHcmFkaWVudHM7CiAKICAgICBib29sIGlzTGluZWFyID0gdHJ1ZTsKLSAgICBjb25z
dCBTVkdHcmFkaWVudEVsZW1lbnQqIGN1cnJlbnQgPSB0aGlzOworICAgIFNWR0dyYWRpZW50RWxl
bWVudCogY3VycmVudCA9IHRoaXM7CiAKICAgICB3aGlsZSAoY3VycmVudCkgewogICAgICAgICBp
ZiAoIWF0dHJpYnV0ZXMuaGFzU3ByZWFkTWV0aG9kKCkgJiYgY3VycmVudC0+aGFzQXR0cmlidXRl
KFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyKSkKQEAgLTE2MiwxMyArMTI0LDEzIEBAIExpbmVh
ckdyYWRpZW50QXR0cmlidXRlcyBTVkdMaW5lYXJHcmFkaWUKICAgICAgICAgICAgIGF0dHJpYnV0
ZXMuc2V0R3JhZGllbnRUcmFuc2Zvcm0oY3VycmVudC0+Z3JhZGllbnRUcmFuc2Zvcm0oKS0+Y29u
c29saWRhdGUoKS5tYXRyaXgoKSk7CiAKICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc1N0b3Bz
KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+JiBzdG9wcyhj
dXJyZW50LT5idWlsZFN0b3BzKCkpOworICAgICAgICAgICAgY29uc3QgVmVjdG9yPEdyYWRpZW50
OjpDb2xvclN0b3A+JiBzdG9wcyhjdXJyZW50LT5idWlsZFN0b3BzKCkpOwogICAgICAgICAgICAg
aWYgKCFzdG9wcy5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy5zZXRTdG9w
cyhzdG9wcyk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoaXNMaW5lYXIpIHsKLSAgICAgICAg
ICAgIGNvbnN0IFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCogbGluZWFyID0gc3RhdGljX2Nhc3Q8
Y29uc3QgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Kj4oY3VycmVudCk7CisgICAgICAgICAgICBT
VkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqIGxpbmVhciA9IHN0YXRpY19jYXN0PFNWR0xpbmVhckdy
YWRpZW50RWxlbWVudCo+KGN1cnJlbnQpOwogCiAgICAgICAgICAgICBpZiAoIWF0dHJpYnV0ZXMu
aGFzWDEoKSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OngxQXR0cikpCiAgICAg
ICAgICAgICAgICAgYXR0cmlidXRlcy5zZXRYMShsaW5lYXItPngxKCkpOwpAQCAtMTg4LDEzICsx
NTAsMTMgQEAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIFNWR0xpbmVhckdyYWRpZQogICAgICAg
ICAvLyBSZXNwZWN0IHhsaW5rOmhyZWYsIHRha2UgYXR0cmlidXRlcyBmcm9tIHJlZmVyZW5jZWQg
ZWxlbWVudAogICAgICAgICBOb2RlKiByZWZOb2RlID0gb3duZXJEb2N1bWVudCgpLT5nZXRFbGVt
ZW50QnlJZChTVkdVUklSZWZlcmVuY2U6OmdldFRhcmdldChjdXJyZW50LT5ocmVmKCkpKTsKICAg
ICAgICAgaWYgKHJlZk5vZGUgJiYgKHJlZk5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmxpbmVh
ckdyYWRpZW50VGFnKSB8fCByZWZOb2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpyYWRpYWxHcmFk
aWVudFRhZykpKSB7Ci0gICAgICAgICAgICBjdXJyZW50ID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZH
R3JhZGllbnRFbGVtZW50Kj4oY29uc3RfY2FzdDxjb25zdCBOb2RlKj4ocmVmTm9kZSkpOworICAg
ICAgICAgICAgY3VycmVudCA9IHN0YXRpY19jYXN0PFNWR0dyYWRpZW50RWxlbWVudCo+KHJlZk5v
ZGUpOwogCiAgICAgICAgICAgICAvLyBDeWNsZSBkZXRlY3Rpb24KICAgICAgICAgICAgIGlmIChw
cm9jZXNzZWRHcmFkaWVudHMuY29udGFpbnMoY3VycmVudCkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIExpbmVhckdyYWRpZW50QXR0cmlidXRlcygpOwogCi0gICAgICAgICAgICBpc0xpbmVhciA9
IGN1cnJlbnQtPmdyYWRpZW50VHlwZSgpID09IExpbmVhckdyYWRpZW50UGFpbnRTZXJ2ZXI7Cisg
ICAgICAgICAgICBpc0xpbmVhciA9IGN1cnJlbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmxpbmVh
ckdyYWRpZW50VGFnKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBjdXJyZW50ID0gMDsK
ICAgICB9CkBAIC0yMDIsNiArMTY0LDE4IEBAIExpbmVhckdyYWRpZW50QXR0cmlidXRlcyBTVkdM
aW5lYXJHcmFkaWUKICAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KIAordm9pZCBTVkdMaW5lYXJH
cmFkaWVudEVsZW1lbnQ6OmNhbGN1bGF0ZVN0YXJ0RW5kUG9pbnRzKGNvbnN0IExpbmVhckdyYWRp
ZW50QXR0cmlidXRlcyYgYXR0cmlidXRlcywgRmxvYXRQb2ludCYgc3RhcnRQb2ludCwgRmxvYXRQ
b2ludCYgZW5kUG9pbnQpCit7CisgICAgLy8gRGV0ZXJtaW5lIGdyYWRpZW50IHN0YXJ0L2VuZCBw
b2ludHMKKyAgICBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKSkgeworICAgICAgICBz
dGFydFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLngxKCkudmFsdWVBc1BlcmNlbnRhZ2Uo
KSwgYXR0cmlidXRlcy55MSgpLnZhbHVlQXNQZXJjZW50YWdlKCkpOworICAgICAgICBlbmRQb2lu
dCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy54MigpLnZhbHVlQXNQZXJjZW50YWdlKCksIGF0dHJp
YnV0ZXMueTIoKS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBz
dGFydFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLngxKCkudmFsdWUodGhpcyksIGF0dHJp
YnV0ZXMueTEoKS52YWx1ZSh0aGlzKSk7CisgICAgICAgIGVuZFBvaW50ID0gRmxvYXRQb2ludChh
dHRyaWJ1dGVzLngyKCkudmFsdWUodGhpcyksIGF0dHJpYnV0ZXMueTIoKS52YWx1ZSh0aGlzKSk7
CisgICAgfQorfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9z
dmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDExICsz
OCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAgICAgICAgdmlydHVhbCB2b2lk
IHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCi0gICAgcHJvdGVj
dGVkOgotICAgICAgICB2aXJ0dWFsIHZvaWQgYnVpbGRHcmFkaWVudCgpIGNvbnN0OwotICAgICAg
ICB2aXJ0dWFsIFNWR1BhaW50U2VydmVyVHlwZSBncmFkaWVudFR5cGUoKSBjb25zdCB7IHJldHVy
biBMaW5lYXJHcmFkaWVudFBhaW50U2VydmVyOyB9CisgICAgICAgIHZpcnR1YWwgUmVuZGVyT2Jq
ZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKLSAgICAg
ICAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKSBj
b25zdDsKKyAgICAgICAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIGNvbGxlY3RHcmFkaWVudFBy
b3BlcnRpZXMoKTsKKyAgICAgICAgdm9pZCBjYWxjdWxhdGVTdGFydEVuZFBvaW50cyhjb25zdCBM
aW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMmLCBGbG9hdFBvaW50JiBzdGFydFBvaW50LCBGbG9hdFBv
aW50JiBlbmRQb2ludCk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBERUNMQVJFX0FOSU1BVEVE
X1BST1BFUlRZKFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCwgU1ZHTmFtZXM6OngxQXR0ciwgU1ZH
TGVuZ3RoLCBYMSwgeDEpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkocmV2aXNpb24g
NTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6c3ZnQXR0cmlidXRl
Q2hhbmcKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6aXNLbm93bkF0dHJp
YnV0ZShhdHRyTmFtZSkgfHwKICAgICAgICAgU1ZHRml0VG9WaWV3Qm94Ojppc0tub3duQXR0cmli
dXRlKGF0dHJOYW1lKSB8fAogICAgICAgICBTVkdTdHlsZWRFbGVtZW50Ojppc0tub3duQXR0cmli
dXRlKGF0dHJOYW1lKSkKLSAgICAgICAgaW52YWxpZGF0ZUNhbnZhc1Jlc291cmNlcygpOworICAg
ICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZHTWFya2VyRWxl
bWVudDo6c3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkK
QEAgLTE1Nyw3ICsxNTcsOCBAQCB2b2lkIFNWR01hcmtlckVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdl
ZChiCiB7CiAgICAgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBh
cnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKIAotICAg
IGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKTsKKyAgICBpZiAoIWNoYW5nZWRCeVBhcnNlcikK
KyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR01hcmtl
ckVsZW1lbnQ6OnNldE9yaWVudFRvQXV0bygpCkBAIC0xNjUsNyArMTY2LDcgQEAgdm9pZCBTVkdN
YXJrZXJFbGVtZW50OjpzZXRPcmllbnRUb0F1dG8oKQogICAgIHNldE9yaWVudFR5cGVCYXNlVmFs
dWUoU1ZHX01BUktFUl9PUklFTlRfQVVUTyk7CiAgICAgc2V0T3JpZW50QW5nbGVCYXNlVmFsdWUo
U1ZHQW5nbGUoKSk7CiAKLSAgICBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisgICAgaW52
YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR01hcmtlckVsZW1lbnQ6OnNl
dE9yaWVudFRvQW5nbGUoY29uc3QgU1ZHQW5nbGUmIGFuZ2xlKQpAQCAtMTczLDcgKzE3NCw3IEBA
IHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6c2V0T3JpZW50VG9BbmdsZSgKICAgICBzZXRPcmllbnRU
eXBlQmFzZVZhbHVlKFNWR19NQVJLRVJfT1JJRU5UX0FOR0xFKTsKICAgICBzZXRPcmllbnRBbmds
ZUJhc2VWYWx1ZShhbmdsZSk7CiAKLSAgICBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7Cisg
ICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiBSZW5kZXJPYmplY3QqIFNWR01h
cmtlckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5
bGUqKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJD
b3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw3ICsxMDQs
NyBAQCB2b2lkIFNWR01hc2tFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkCiAgICAgICAgIFNW
R0xhbmdTcGFjZTo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKICAgICAgICAgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKICAg
ICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkpCi0gICAg
ICAgIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKTsKKyAgICAgICAgaW52YWxpZGF0ZVJlc291
cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR01hc2tFbGVtZW50OjpzeW5jaHJvbml6ZVByb3Bl
cnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQpAQCAtMTM4LDcgKzEzOCw5IEBAIHZv
aWQgU1ZHTWFza0VsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkKIHZvaWQgU1ZHTWFza0VsZW1l
bnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwgTm9kZSogYmVmb3JlQ2hh
bmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSkKIHsKICAgICBTVkdT
dHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFu
Z2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwotICAgIGludmFsaWRhdGVDYW52YXNS
ZXNvdXJjZXMoKTsKKworICAgIGlmICghY2hhbmdlZEJ5UGFyc2VyKQorICAgICAgICBpbnZhbGlk
YXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIEZsb2F0UmVjdCBTVkdNYXNrRWxlbWVudDo6bWFz
a0JvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbmdCb3gpIGNvbnN0Cklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNv
cmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcg
QEAKIC8qCiAgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IE5p
a29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAg
MjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICAgIENvcHly
aWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KIAogICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTE5LDE5ICsxMjAsMjAgQEAgdm9pZCBTVkdQ
YXR0ZXJuRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbgogewogICAgIFNWR1N0eWxlZEVsZW1lbnQ6
OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwogCi0gICAgaWYgKCFtX3Jlc291cmNlKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnBhdHRlcm5V
bml0c0F0dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnBhdHRlcm5Db250ZW50VW5pdHNBdHRy
IHx8Ci0gICAgICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjpwYXR0ZXJuVHJhbnNmb3JtQXR0ciB8
fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eEF0dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnlB
dHRyIHx8Ci0gICAgICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjp3aWR0aEF0dHIgfHwgYXR0ck5h
bWUgPT0gU1ZHTmFtZXM6OmhlaWdodEF0dHIgfHwKLSAgICAgICAgU1ZHVVJJUmVmZXJlbmNlOjpp
c0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAotICAgICAgICBTVkdUZXN0czo6aXNLbm93bkF0
dHJpYnV0ZShhdHRyTmFtZSkgfHwgCi0gICAgICAgIFNWR0xhbmdTcGFjZTo6aXNLbm93bkF0dHJp
YnV0ZShhdHRyTmFtZSkgfHwKLSAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6
aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKLSAgICAgICAgU1ZHRml0VG9WaWV3Qm94Ojpp
c0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAotICAgICAgICBTVkdTdHlsZWRFbGVtZW50Ojpp
c0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkKLSAgICAgICAgbV9yZXNvdXJjZS0+aW52YWxpZGF0
ZSgpOworICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6cGF0dGVyblVuaXRzQXR0cgorICAg
ICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6cGF0dGVybkNvbnRlbnRVbml0c0F0dHIKKyAg
ICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRyCisgICAg
ICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp4QXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9
PSBTVkdOYW1lczo6eUF0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OndpZHRo
QXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0cgorICAgICAg
ICB8fCBTVkdVUklSZWZlcmVuY2U6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpCisgICAgICAg
IHx8IFNWR1Rlc3RzOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKQorICAgICAgICB8fCBTVkdM
YW5nU3BhY2U6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpCisgICAgICAgIHx8IFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpCisgICAgICAg
IHx8IFNWR0ZpdFRvVmlld0JveDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkKKyAgICAgICAg
fHwgU1ZHU3R5bGVkRWxlbWVudDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkpCisgICAgICAg
IGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9pZCBTVkdQYXR0ZXJuRWxlbWVu
dDo6c3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKQEAg
LTE4MCwxMjYgKzE4MiwxMyBAQCB2b2lkIFNWR1BhdHRlcm5FbGVtZW50OjpjaGlsZHJlbkNoYW5n
ZWQoCiB7CiAgICAgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBh
cnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKIAotICAg
IGlmICghbV9yZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9yZXNvdXJjZS0+aW52
YWxpZGF0ZSgpOwotfQotCi12b2lkIFNWR1BhdHRlcm5FbGVtZW50OjpidWlsZFBhdHRlcm4oY29u
c3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0KSBjb25zdAotewotICAgIFBhdHRlcm5BdHRyaWJ1dGVz
IGF0dHJpYnV0ZXMgPSBjb2xsZWN0UGF0dGVyblByb3BlcnRpZXMoKTsKLQotICAgIC8vIElmIHdl
IGRpZG4ndCBmaW5kIGFueSBwYXR0ZXJuIGNvbnRlbnQsIGlnbm9yZSB0aGUgcmVxdWVzdC4KLSAg
ICBpZiAoIWF0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRFbGVtZW50KCkgfHwgIXJlbmRlcmVyKCkg
fHwgIXJlbmRlcmVyKCktPnN0eWxlKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIEZsb2F0UmVj
dCBwYXR0ZXJuQm91bmRhcmllczsgCi0gICAgRmxvYXRSZWN0IHBhdHRlcm5Db250ZW50Qm91bmRh
cmllczsKLQotICAgIC8vIERldGVybWluZSBzcGVjaWZpZWQgcGF0dGVybiBzaXplCi0gICAgaWYg
KGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpCi0gICAgICAgIHBhdHRlcm5Cb3VuZGFyaWVz
ID0gRmxvYXRSZWN0KGF0dHJpYnV0ZXMueCgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiB0YXJnZXRS
ZWN0LndpZHRoKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZXMueSgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiB0YXJnZXRSZWN0LmhlaWdodCgpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLndpZHRoKCkudmFs
dWVBc1BlcmNlbnRhZ2UoKSAqIHRhcmdldFJlY3Qud2lkdGgoKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy5oZWlnaHQoKS52YWx1ZUFzUGVyY2VudGFn
ZSgpICogdGFyZ2V0UmVjdC5oZWlnaHQoKSk7Ci0gICAgZWxzZQotICAgICAgICBwYXR0ZXJuQm91
bmRhcmllcyA9IEZsb2F0UmVjdChhdHRyaWJ1dGVzLngoKS52YWx1ZSh0aGlzKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy55KCkudmFsdWUodGhpcyks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMud2lkdGgo
KS52YWx1ZSh0aGlzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0
cmlidXRlcy5oZWlnaHQoKS52YWx1ZSh0aGlzKSk7Ci0KLSAgICBJbnRTaXplIHBhdHRlcm5TaXpl
KHBhdHRlcm5Cb3VuZGFyaWVzLndpZHRoKCksIHBhdHRlcm5Cb3VuZGFyaWVzLmhlaWdodCgpKTsK
LSAgICBjbGFtcEltYWdlQnVmZmVyU2l6ZVRvVmlld3BvcnQoZG9jdW1lbnQoKS0+dmlldygpLCBw
YXR0ZXJuU2l6ZSk7Ci0KLSAgICBpZiAocGF0dGVyblNpemUud2lkdGgoKSA8IHN0YXRpY19jYXN0
PGludD4ocGF0dGVybkJvdW5kYXJpZXMud2lkdGgoKSkpCi0gICAgICAgIHBhdHRlcm5Cb3VuZGFy
aWVzLnNldFdpZHRoKHBhdHRlcm5TaXplLndpZHRoKCkpOwotCi0gICAgaWYgKHBhdHRlcm5TaXpl
LmhlaWdodCgpIDwgc3RhdGljX2Nhc3Q8aW50PihwYXR0ZXJuQm91bmRhcmllcy5oZWlnaHQoKSkp
Ci0gICAgICAgIHBhdHRlcm5Cb3VuZGFyaWVzLnNldEhlaWdodChwYXR0ZXJuU2l6ZS5oZWlnaHQo
KSk7Ci0KLSAgICAvLyBFdmVudHVhbGx5IGNhbGN1bGF0ZSB0aGUgcGF0dGVybiBjb250ZW50IGJv
dW5kYXJpZXMgKG9ubHkgbmVlZGVkIHdpdGggb3ZlcmZsb3c9InZpc2libGUiKS4KLSAgICBSZW5k
ZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlcigpLT5zdHlsZSgpOwotICAgIGlmIChzdHlsZS0+b3Zl
cmZsb3dYKCkgPT0gT1ZJU0lCTEUgJiYgc3R5bGUtPm92ZXJmbG93WSgpID09IE9WSVNJQkxFKSB7
Ci0gICAgICAgIGZvciAoTm9kZSogbiA9IGF0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRFbGVtZW50
KCktPmZpcnN0Q2hpbGQoKTsgbjsgbiA9IG4tPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAg
IGlmICghbi0+aXNTVkdFbGVtZW50KCkgfHwgIXN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihuKS0+
aXNTdHlsZWRUcmFuc2Zvcm1hYmxlKCkgfHwgIW4tPnJlbmRlcmVyKCkpCi0gICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMudW5pdGUo
bi0+cmVuZGVyZXIoKS0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBBZmZpbmVUcmFuc2Zvcm0gdmlld0JveENUTSA9IHZpZXdCb3hUb1Zp
ZXdUcmFuc2Zvcm0odmlld0JveCgpLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKCksIHBhdHRlcm5Cb3Vu
ZGFyaWVzLndpZHRoKCksIHBhdHRlcm5Cb3VuZGFyaWVzLmhlaWdodCgpKTsgCi0gICAgRmxvYXRS
ZWN0IHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cgPSBwYXR0ZXJuQm91bmRhcmll
czsKLQotICAgIC8vIEFwcGx5IG9iamVjdEJvdW5kaW5nQm94TW9kZSBmaXh1cCBmb3IgcGF0dGVy
bkNvbnRlbnRVbml0cywgaWYgdmlld0JveCBpcyBub3Qgc2V0LgotICAgIGlmICghcGF0dGVybkNv
bnRlbnRCb3VuZGFyaWVzLmlzRW1wdHkoKSkgewotICAgICAgICBpZiAoIXZpZXdCb3hDVE0uaXNJ
ZGVudGl0eSgpKQotICAgICAgICAgICAgcGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzID0gdmlld0Jv
eENUTS5tYXBSZWN0KHBhdHRlcm5Db250ZW50Qm91bmRhcmllcyk7Ci0gICAgICAgIGVsc2UgaWYg
KGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlQ29udGVudCgpKQotICAgICAgICAgICAgcGF0dGVy
bkNvbnRlbnRCb3VuZGFyaWVzID0gRmxvYXRSZWN0KHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy54
KCkgKiB0YXJnZXRSZWN0LndpZHRoKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzLnkoKSAqIHRhcmdldFJl
Y3QuaGVpZ2h0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzLndpZHRoKCkgKiB0YXJnZXRSZWN0LndpZHRo
KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0
dGVybkNvbnRlbnRCb3VuZGFyaWVzLmhlaWdodCgpICogdGFyZ2V0UmVjdC5oZWlnaHQoKSk7Ci0K
LSAgICAgICAgcGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy51bml0ZShwYXR0ZXJu
Q29udGVudEJvdW5kYXJpZXMpOwotICAgIH0KLQotICAgIEludFNpemUgaW1hZ2VTaXplKGxyb3Vu
ZGYocGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy53aWR0aCgpKSwgbHJvdW5kZihw
YXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LmhlaWdodCgpKSk7Ci0gICAgY2xhbXBJ
bWFnZUJ1ZmZlclNpemVUb1ZpZXdwb3J0KGRvY3VtZW50KCktPnZpZXcoKSwgaW1hZ2VTaXplKTsK
LQotICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gcGF0dGVybkltYWdlID0gSW1hZ2VCdWZmZXI6OmNy
ZWF0ZShpbWFnZVNpemUpOwotCi0gICAgaWYgKCFwYXR0ZXJuSW1hZ2UpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCA9IHBhdHRlcm5JbWFnZS0+Y29udGV4
dCgpOwotICAgIEFTU0VSVChjb250ZXh0KTsKLQotICAgIGNvbnRleHQtPnNhdmUoKTsKLQotICAg
IC8vIE1vdmUgdG8gcGF0dGVybiBzdGFydCBvcmlnaW4KLSAgICBpZiAocGF0dGVybkJvdW5kYXJp
ZXNJbmNsdWRpbmdPdmVyZmxvdy5sb2NhdGlvbigpICE9IHBhdHRlcm5Cb3VuZGFyaWVzLmxvY2F0
aW9uKCkpIHsKLSAgICAgICAgY29udGV4dC0+dHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzLngo
KSAtIHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cueCgpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMueSgpIC0gcGF0dGVybkJvdW5kYXJpZXNJ
bmNsdWRpbmdPdmVyZmxvdy55KCkpOwotCi0gICAgICAgIHBhdHRlcm5Cb3VuZGFyaWVzLnNldExv
Y2F0aW9uKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cubG9jYXRpb24oKSk7Ci0g
ICAgfQotCi0gICAgLy8gUHJvY2VzcyB2aWV3Qm94IG9yIGJvdW5kaW5nQm94TW9kZUNvbnRlbnQg
Y29ycmVjdGlvbgotICAgIGlmICghdmlld0JveENUTS5pc0lkZW50aXR5KCkpCi0gICAgICAgIGNv
bnRleHQtPmNvbmNhdENUTSh2aWV3Qm94Q1RNKTsKLSAgICBlbHNlIGlmIChhdHRyaWJ1dGVzLmJv
dW5kaW5nQm94TW9kZUNvbnRlbnQoKSkgewotICAgICAgICBjb250ZXh0LT50cmFuc2xhdGUodGFy
Z2V0UmVjdC54KCksIHRhcmdldFJlY3QueSgpKTsKLSAgICAgICAgY29udGV4dC0+c2NhbGUoRmxv
YXRTaXplKHRhcmdldFJlY3Qud2lkdGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSkpOwotICAgIH0K
LQotICAgIC8vIFJlbmRlciBzdWJ0cmVlIGludG8gSW1hZ2VCdWZmZXIKLSAgICBmb3IgKE5vZGUq
IG4gPSBhdHRyaWJ1dGVzLnBhdHRlcm5Db250ZW50RWxlbWVudCgpLT5maXJzdENoaWxkKCk7IG47
IG4gPSBuLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGlmICghbi0+aXNTVkdFbGVtZW50KCkg
fHwgIXN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihuKS0+aXNTdHlsZWQoKSB8fCAhbi0+cmVuZGVy
ZXIoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICByZW5kZXJTdWJ0cmVlVG9JbWFn
ZShwYXR0ZXJuSW1hZ2UuZ2V0KCksIG4tPnJlbmRlcmVyKCkpOwotICAgIH0KLQotICAgIGNvbnRl
eHQtPnJlc3RvcmUoKTsKLQotICAgIG1fcmVzb3VyY2UtPnNldFBhdHRlcm5UcmFuc2Zvcm0oYXR0
cmlidXRlcy5wYXR0ZXJuVHJhbnNmb3JtKCkpOwotICAgIG1fcmVzb3VyY2UtPnNldFBhdHRlcm5C
b3VuZGFyaWVzKHBhdHRlcm5Cb3VuZGFyaWVzKTsgCi0gICAgbV9yZXNvdXJjZS0+c2V0VGlsZShw
YXR0ZXJuSW1hZ2UucmVsZWFzZSgpKTsKKyAgICBpZiAoIWNoYW5nZWRCeVBhcnNlcikKKyAgICAg
ICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiBSZW5kZXJPYmplY3QqIFNWR1Bh
dHRlcm5FbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0
eWxlKikKIHsKLSAgICBSZW5kZXJTVkdDb250YWluZXIqIHBhdHRlcm5Db250YWluZXIgPSBuZXcg
KGFyZW5hKSBSZW5kZXJTVkdDb250YWluZXIodGhpcyk7Ci0gICAgcGF0dGVybkNvbnRhaW5lci0+
c2V0RHJhd3NDb250ZW50cyhmYWxzZSk7Ci0gICAgcmV0dXJuIHBhdHRlcm5Db250YWluZXI7Ci19
Ci0KLVNWR1Jlc291cmNlKiBTVkdQYXR0ZXJuRWxlbWVudDo6Y2FudmFzUmVzb3VyY2UoY29uc3Qg
UmVuZGVyT2JqZWN0KikKLXsKLSAgICBpZiAoIW1fcmVzb3VyY2UpCi0gICAgICAgIG1fcmVzb3Vy
Y2UgPSBTVkdQYWludFNlcnZlclBhdHRlcm46OmNyZWF0ZSh0aGlzKTsKLQotICAgIHJldHVybiBt
X3Jlc291cmNlLmdldCgpOworICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJTVkdSZXNvdXJj
ZVBhdHRlcm4odGhpcyk7CiB9CiAKIFBhdHRlcm5BdHRyaWJ1dGVzIFNWR1BhdHRlcm5FbGVtZW50
Ojpjb2xsZWN0UGF0dGVyblByb3BlcnRpZXMoKSBjb25zdApJbmRleDogV2ViQ29yZS9zdmcvU1ZH
UGF0dGVybkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxl
bWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDYgQEAKICNkZWZpbmUgU1ZHUGF0dGVybkVs
ZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKLSNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uaCIKICNpbmNsdWRlICJTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHRml0VG9WaWV3Qm94LmgiCiAjaW5j
bHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCkBAIC01Niw3ICs1NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBh
cnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9
IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKIAogICAgICAgICB2aXJ0dWFsIFJlbmRlck9i
amVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwotICAgICAg
ICB2aXJ0dWFsIFNWR1Jlc291cmNlKiBjYW52YXNSZXNvdXJjZShjb25zdCBSZW5kZXJPYmplY3Qq
KTsKKworICAgICAgICBQYXR0ZXJuQXR0cmlidXRlcyBjb2xsZWN0UGF0dGVyblByb3BlcnRpZXMo
KSBjb25zdDsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVS
VFkoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjp4QXR0ciwgU1ZHTGVuZ3RoLCBYLCB4KQpA
QCAtNzUsMTUgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIC8vIFNWR1Bh
dHRlcm5FbGVtZW50CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHUGF0dGVy
bkVsZW1lbnQsIFNWR05hbWVzOjp2aWV3Qm94QXR0ciwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3
Qm94KQotICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1BhdHRlcm5FbGVtZW50
LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCi0gCi0gICAgICAg
IG11dGFibGUgUmVmUHRyPFNWR1BhaW50U2VydmVyUGF0dGVybj4gbV9yZXNvdXJjZTsKLQotICAg
IHByaXZhdGU6Ci0gICAgICAgIGZyaWVuZCBjbGFzcyBTVkdQYWludFNlcnZlclBhdHRlcm47Ci0g
ICAgICAgIHZvaWQgYnVpbGRQYXR0ZXJuKGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCkgY29u
c3Q7Ci0KLSAgICAgICAgUGF0dGVybkF0dHJpYnV0ZXMgY29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVz
KCkgY29uc3Q7CisgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHUGF0dGVybkVs
ZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykgCiAgICAg
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUG9seUVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oCShyZXZp
c2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ4LDcgKzQ4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFs
IHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsK
IAotICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSogc3R5
bGUpIHsgcmV0dXJuIFN0eWxlZEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoc3R5bGUpOyB9CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01hcmtlcnMoKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9CiAKICAgICBwcml2YXRlOgpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiAgICAgICAgICAg
ICAgICAgICAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAg
ICAgICAgICAgICAgICAgICAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgICAg
ICAgICAgICAgICAgICAyMDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICAgIENv
cHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KIAogICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjksNyArMzAsNiBAQAogI2luY2x1ZGUg
IkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJNYXBwZWRBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJS
YWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgiCiAjaW5jbHVkZSAiU1ZH
TGVuZ3RoLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKQEAgLTc3LDEzICs3NywxMiBAQCB2b2lk
IFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmliCiB7CiAgICAgU1ZHR3JhZGllbnRF
bGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKIAotICAgIGlmICghbV9yZXNv
dXJjZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpj
eEF0dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmN5QXR0ciB8fAotICAgICAgICBhdHRyTmFt
ZSA9PSBTVkdOYW1lczo6ZnhBdHRyIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpmeUF0dHIgfHwK
LSAgICAgICAgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnJBdHRyKQotICAgICAgICBtX3Jlc291cmNl
LT5pbnZhbGlkYXRlKCk7CisgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpjeEF0dHIKKyAg
ICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmN5QXR0cgorICAgICAgICB8fCBhdHRyTmFt
ZSA9PSBTVkdOYW1lczo6ZnhBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpm
eUF0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnJBdHRyKQorICAgICAgICBp
bnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1l
KQpAQCAtMTExLDc3ICsxMTAsMTggQEAgdm9pZCBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OnN5
bmNocm9uaQogICAgICAgICBzeW5jaHJvbml6ZVIoKTsKIH0KIAotdm9pZCBTVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQ6OmJ1aWxkR3JhZGllbnQoKSBjb25zdAorUmVuZGVyT2JqZWN0KiBTVkdSYWRp
YWxHcmFkaWVudEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVu
ZGVyU3R5bGUqKQogewotICAgIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBhdHRyaWJ1dGVzID0g
Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpOwotCi0gICAgUmVmUHRyPFNWR1BhaW50U2VydmVy
UmFkaWFsR3JhZGllbnQ+IHJhZGlhbEdyYWRpZW50ID0gV1RGOjpzdGF0aWNfcG9pbnRlcl9jYXN0
PFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQ+KG1fcmVzb3VyY2UpOwotCi0gICAgRmxvYXRQ
b2ludCBmb2NhbFBvaW50OwotICAgIEZsb2F0UG9pbnQgY2VudGVyUG9pbnQ7Ci0gICAgZmxvYXQg
cmFkaXVzOwotICAgIGlmIChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKSB7Ci0gICAgICAg
IGZvY2FsUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMuZngoKS52YWx1ZUFzUGVyY2VudGFn
ZSgpLCBhdHRyaWJ1dGVzLmZ5KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSk7Ci0gICAgICAgIGNlbnRl
clBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmN4KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwg
YXR0cmlidXRlcy5jeSgpLnZhbHVlQXNQZXJjZW50YWdlKCkpOwotICAgICAgICByYWRpdXMgPSBh
dHRyaWJ1dGVzLnIoKS52YWx1ZUFzUGVyY2VudGFnZSgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IGZvY2FsUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMuZngoKS52YWx1ZSh0aGlzKSwgYXR0
cmlidXRlcy5meSgpLnZhbHVlKHRoaXMpKTsKLSAgICAgICAgY2VudGVyUG9pbnQgPSBGbG9hdFBv
aW50KGF0dHJpYnV0ZXMuY3goKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRlcy5jeSgpLnZhbHVlKHRo
aXMpKTsKLSAgICAgICAgcmFkaXVzID0gYXR0cmlidXRlcy5yKCkudmFsdWUodGhpcyk7Ci0gICAg
fQotCi0gICAgRmxvYXRQb2ludCBhZGp1c3RlZEZvY2FsUG9pbnQgPSBmb2NhbFBvaW50OwotICAg
IGZsb2F0IGRmeCA9IGZvY2FsUG9pbnQueCgpIC0gY2VudGVyUG9pbnQueCgpOwotICAgIGZsb2F0
IGRmeSA9IGZvY2FsUG9pbnQueSgpIC0gY2VudGVyUG9pbnQueSgpOwotICAgIGZsb2F0IHJNYXgg
PSAwLjk5ZiAqIHJhZGl1czsKLQotICAgIC8vIFNwZWM6IElmIChmeCwgZnkpIGxpZXMgb3V0c2lk
ZSB0aGUgY2lyY2xlIGRlZmluZWQgYnkgKGN4LCBjeSkgYW5kCi0gICAgLy8gciwgc2V0IChmeCwg
ZnkpIHRvIHRoZSBwb2ludCBvZiBpbnRlcnNlY3Rpb24gb2YgdGhlIGxpbmUgdGhyb3VnaAotICAg
IC8vIChmeCwgZnkpIGFuZCB0aGUgY2lyY2xlLgotICAgIC8vIFdlIHNjYWxlIHRoZSByYWRpdXMg
YnkgMC45OSB0byBtYXRjaCB0aGUgYmVoYXZpb3Igb2YgRmlyZUZveC4KLSAgICBpZiAoc3FydChk
ZnggKiBkZnggKyBkZnkgKiBkZnkpID4gck1heCkgewotICAgICAgICBmbG9hdCBhbmdsZSA9IGF0
YW4yZihkZnksIGRmeCk7Ci0KLSAgICAgICAgZGZ4ID0gY29zZihhbmdsZSkgKiByTWF4OwotICAg
ICAgICBkZnkgPSBzaW5mKGFuZ2xlKSAqIHJNYXg7Ci0gICAgICAgIGFkanVzdGVkRm9jYWxQb2lu
dCA9IEZsb2F0UG9pbnQoZGZ4ICsgY2VudGVyUG9pbnQueCgpLCBkZnkgKyBjZW50ZXJQb2ludC55
KCkpOwotICAgIH0KLQotICAgIFJlZlB0cjxHcmFkaWVudD4gZ3JhZGllbnQgPSBHcmFkaWVudDo6
Y3JlYXRlKAotICAgICAgICBhZGp1c3RlZEZvY2FsUG9pbnQsCi0gICAgICAgIDAuZiwgLy8gU1ZH
IGRvZXMgbm90IHN1cHBvcnQgYSAiZm9jdXMgcmFkaXVzIgotICAgICAgICBjZW50ZXJQb2ludCwK
LSAgICAgICAgcmFkaXVzKTsKLSAgICBncmFkaWVudC0+c2V0U3ByZWFkTWV0aG9kKGF0dHJpYnV0
ZXMuc3ByZWFkTWV0aG9kKCkpOwotCi0gICAgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gc3RvcHMg
PSBhdHRyaWJ1dGVzLnN0b3BzKCk7Ci0gICAgZmxvYXQgcHJldmlvdXNPZmZzZXQgPSAwLjBmOwot
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzdG9wcy5zaXplKCk7ICsraSkgewotICAgICAg
ICAgZmxvYXQgb2Zmc2V0ID0gc3RkOjptaW4oc3RkOjptYXgocHJldmlvdXNPZmZzZXQsIHN0b3Bz
W2ldLmZpcnN0KSwgMS4wZik7Ci0gICAgICAgICBwcmV2aW91c09mZnNldCA9IG9mZnNldDsKLSAg
ICAgICAgIGdyYWRpZW50LT5hZGRDb2xvclN0b3Aob2Zmc2V0LCBzdG9wc1tpXS5zZWNvbmQpOwot
ICAgIH0KLQotICAgIHJhZGlhbEdyYWRpZW50LT5zZXRHcmFkaWVudChncmFkaWVudCk7Ci0KLSAg
ICBpZiAoYXR0cmlidXRlcy5zdG9wcygpLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgcmFkaWFsR3JhZGllbnQtPnNldEJvdW5kaW5nQm94TW9kZShhdHRyaWJ1dGVzLmJvdW5kaW5n
Qm94TW9kZSgpKTsKLSAgICByYWRpYWxHcmFkaWVudC0+c2V0R3JhZGllbnRUcmFuc2Zvcm0oYXR0
cmlidXRlcy5ncmFkaWVudFRyYW5zZm9ybSgpKTsKLSAgICByYWRpYWxHcmFkaWVudC0+c2V0R3Jh
ZGllbnRDZW50ZXIoY2VudGVyUG9pbnQpOwotICAgIHJhZGlhbEdyYWRpZW50LT5zZXRHcmFkaWVu
dEZvY2FsKGZvY2FsUG9pbnQpOwotICAgIHJhZGlhbEdyYWRpZW50LT5zZXRHcmFkaWVudFJhZGl1
cyhyYWRpdXMpOwotICAgIHJhZGlhbEdyYWRpZW50LT5zZXRHcmFkaWVudFN0b3BzKGF0dHJpYnV0
ZXMuc3RvcHMoKSk7CisgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNWR1Jlc291cmNlUmFk
aWFsR3JhZGllbnQodGhpcyk7CiB9CiAKLVJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBTVkdSYWRp
YWxHcmFkaWVudEVsZW1lbnQ6OmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKSBjb25zdAorUmFk
aWFsR3JhZGllbnRBdHRyaWJ1dGVzIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6Y29sbGVjdEdy
YWRpZW50UHJvcGVydGllcygpCiB7CiAgICAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIGF0dHJp
YnV0ZXM7Ci0gICAgSGFzaFNldDxjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqPiBwcm9jZXNzZWRH
cmFkaWVudHM7CisgICAgSGFzaFNldDxTVkdHcmFkaWVudEVsZW1lbnQqPiBwcm9jZXNzZWRHcmFk
aWVudHM7CiAKICAgICBib29sIGlzUmFkaWFsID0gdHJ1ZTsKLSAgICBjb25zdCBTVkdHcmFkaWVu
dEVsZW1lbnQqIGN1cnJlbnQgPSB0aGlzOworICAgIFNWR0dyYWRpZW50RWxlbWVudCogY3VycmVu
dCA9IHRoaXM7CiAKICAgICB3aGlsZSAoY3VycmVudCkgewogICAgICAgICBpZiAoIWF0dHJpYnV0
ZXMuaGFzU3ByZWFkTWV0aG9kKCkgJiYgY3VycmVudC0+aGFzQXR0cmlidXRlKFNWR05hbWVzOjpz
cHJlYWRNZXRob2RBdHRyKSkKQEAgLTE5NCwxMyArMTM0LDEzIEBAIFJhZGlhbEdyYWRpZW50QXR0
cmlidXRlcyBTVkdSYWRpYWxHcmFkaWUKICAgICAgICAgICAgIGF0dHJpYnV0ZXMuc2V0R3JhZGll
bnRUcmFuc2Zvcm0oY3VycmVudC0+Z3JhZGllbnRUcmFuc2Zvcm0oKS0+Y29uc29saWRhdGUoKS5t
YXRyaXgoKSk7CiAKICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc1N0b3BzKCkpIHsKLSAgICAg
ICAgICAgIGNvbnN0IFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+JiBzdG9wcyhjdXJyZW50LT5idWls
ZFN0b3BzKCkpOworICAgICAgICAgICAgY29uc3QgVmVjdG9yPEdyYWRpZW50OjpDb2xvclN0b3A+
JiBzdG9wcyhjdXJyZW50LT5idWlsZFN0b3BzKCkpOwogICAgICAgICAgICAgaWYgKCFzdG9wcy5p
c0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy5zZXRTdG9wcyhzdG9wcyk7CiAg
ICAgICAgIH0KIAogICAgICAgICBpZiAoaXNSYWRpYWwpIHsKLSAgICAgICAgICAgIGNvbnN0IFNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudCogcmFkaWFsID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHUmFk
aWFsR3JhZGllbnRFbGVtZW50Kj4oY3VycmVudCk7CisgICAgICAgICAgICBTVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQqIHJhZGlhbCA9IHN0YXRpY19jYXN0PFNWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dCo+KGN1cnJlbnQpOwogCiAgICAgICAgICAgICBpZiAoIWF0dHJpYnV0ZXMuaGFzQ3goKSAmJiBj
dXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OmN4QXR0cikpCiAgICAgICAgICAgICAgICAg
YXR0cmlidXRlcy5zZXRDeChyYWRpYWwtPmN4KCkpOwpAQCAtMjIzLDEzICsxNjMsMTMgQEAgUmFk
aWFsR3JhZGllbnRBdHRyaWJ1dGVzIFNWR1JhZGlhbEdyYWRpZQogICAgICAgICAvLyBSZXNwZWN0
IHhsaW5rOmhyZWYsIHRha2UgYXR0cmlidXRlcyBmcm9tIHJlZmVyZW5jZWQgZWxlbWVudAogICAg
ICAgICBOb2RlKiByZWZOb2RlID0gb3duZXJEb2N1bWVudCgpLT5nZXRFbGVtZW50QnlJZChTVkdV
UklSZWZlcmVuY2U6OmdldFRhcmdldChjdXJyZW50LT5ocmVmKCkpKTsKICAgICAgICAgaWYgKHJl
Zk5vZGUgJiYgKHJlZk5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnJhZGlhbEdyYWRpZW50VGFn
KSB8fCByZWZOb2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpsaW5lYXJHcmFkaWVudFRhZykpKSB7
Ci0gICAgICAgICAgICBjdXJyZW50ID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHR3JhZGllbnRFbGVt
ZW50Kj4oY29uc3RfY2FzdDxjb25zdCBOb2RlKj4ocmVmTm9kZSkpOworICAgICAgICAgICAgY3Vy
cmVudCA9IHN0YXRpY19jYXN0PFNWR0dyYWRpZW50RWxlbWVudCo+KHJlZk5vZGUpOwogCiAgICAg
ICAgICAgICAvLyBDeWNsZSBkZXRlY3Rpb24KICAgICAgICAgICAgIGlmIChwcm9jZXNzZWRHcmFk
aWVudHMuY29udGFpbnMoY3VycmVudCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFJhZGlhbEdy
YWRpZW50QXR0cmlidXRlcygpOwogCi0gICAgICAgICAgICBpc1JhZGlhbCA9IGN1cnJlbnQtPmdy
YWRpZW50VHlwZSgpID09IFJhZGlhbEdyYWRpZW50UGFpbnRTZXJ2ZXI7CisgICAgICAgICAgICBp
c1JhZGlhbCA9IGN1cnJlbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnJhZGlhbEdyYWRpZW50VGFn
KTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBjdXJyZW50ID0gMDsKICAgICB9CkBAIC0y
NDMsNiArMTgzLDM3IEBAIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBTVkdSYWRpYWxHcmFkaWUK
IAogICAgIHJldHVybiBhdHRyaWJ1dGVzOwogfQorCit2b2lkIFNWR1JhZGlhbEdyYWRpZW50RWxl
bWVudDo6Y2FsY3VsYXRlRm9jYWxDZW50ZXJQb2ludHNBbmRSYWRpdXMoY29uc3QgUmFkaWFsR3Jh
ZGllbnRBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzLCBGbG9hdFBvaW50JiBmb2NhbFBvaW50LCBGbG9h
dFBvaW50JiBjZW50ZXJQb2ludCwgZmxvYXQmIHJhZGl1cykKK3sKKyAgICAvLyBEZXRlcm1pbmUg
Z3JhZGllbnQgZm9jYWwvY2VudGVyIHBvaW50cyBhbmQgcmFkaXVzCisgICAgaWYgKGF0dHJpYnV0
ZXMuYm91bmRpbmdCb3hNb2RlKCkpIHsKKyAgICAgICAgZm9jYWxQb2ludCA9IEZsb2F0UG9pbnQo
YXR0cmlidXRlcy5meCgpLnZhbHVlQXNQZXJjZW50YWdlKCksIGF0dHJpYnV0ZXMuZnkoKS52YWx1
ZUFzUGVyY2VudGFnZSgpKTsKKyAgICAgICAgY2VudGVyUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJp
YnV0ZXMuY3goKS52YWx1ZUFzUGVyY2VudGFnZSgpLCBhdHRyaWJ1dGVzLmN5KCkudmFsdWVBc1Bl
cmNlbnRhZ2UoKSk7CisgICAgICAgIHJhZGl1cyA9IGF0dHJpYnV0ZXMucigpLnZhbHVlQXNQZXJj
ZW50YWdlKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZm9jYWxQb2ludCA9IEZsb2F0UG9pbnQo
YXR0cmlidXRlcy5meCgpLnZhbHVlKHRoaXMpLCBhdHRyaWJ1dGVzLmZ5KCkudmFsdWUodGhpcykp
OworICAgICAgICBjZW50ZXJQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy5jeCgpLnZhbHVl
KHRoaXMpLCBhdHRyaWJ1dGVzLmN5KCkudmFsdWUodGhpcykpOworICAgICAgICByYWRpdXMgPSBh
dHRyaWJ1dGVzLnIoKS52YWx1ZSh0aGlzKTsKKyAgICB9CisKKyAgICAvLyBFdmVudHVhbGx5IGFk
anVzdCBmb2NhbCBwb2ludHMsIGFzIGRlc2NyaWJlZCBiZWxvdworICAgIGZsb2F0IGRlbHRhWCA9
IGZvY2FsUG9pbnQueCgpIC0gY2VudGVyUG9pbnQueCgpOworICAgIGZsb2F0IGRlbHRhWSA9IGZv
Y2FsUG9pbnQueSgpIC0gY2VudGVyUG9pbnQueSgpOworICAgIGZsb2F0IHJhZGl1c01heCA9IDAu
OTlmICogcmFkaXVzOworCisgICAgLy8gU3BlYzogSWYgKGZ4LCBmeSkgbGllcyBvdXRzaWRlIHRo
ZSBjaXJjbGUgZGVmaW5lZCBieSAoY3gsIGN5KSBhbmQgciwgc2V0CisgICAgLy8gKGZ4LCBmeSkg
dG8gdGhlIHBvaW50IG9mIGludGVyc2VjdGlvbiBvZiB0aGUgbGluZSB0aHJvdWdoIChmeCwgZnkp
IGFuZCB0aGUgY2lyY2xlLgorICAgIC8vIFdlIHNjYWxlIHRoZSByYWRpdXMgYnkgMC45OSB0byBt
YXRjaCB0aGUgYmVoYXZpb3Igb2YgRmlyZUZveC4KKyAgICBpZiAoc3FydChkZWx0YVggKiBkZWx0
YVggKyBkZWx0YVkgKiBkZWx0YVkpID4gcmFkaXVzTWF4KSB7CisgICAgICAgIGZsb2F0IGFuZ2xl
ID0gYXRhbjJmKGRlbHRhWSwgZGVsdGFYKTsKKworICAgICAgICBkZWx0YVggPSBjb3NmKGFuZ2xl
KSAqIHJhZGl1c01heDsKKyAgICAgICAgZGVsdGFZID0gc2luZihhbmdsZSkgKiByYWRpdXNNYXg7
CisgICAgICAgIGZvY2FsUG9pbnQgPSBGbG9hdFBvaW50KGRlbHRhWCArIGNlbnRlclBvaW50Lngo
KSwgZGVsdGFZICsgY2VudGVyUG9pbnQueSgpKTsKKyAgICB9Cit9CisKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaAko
cmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTEgKzM4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVk
TmFtZSYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBR
dWFsaWZpZWROYW1lJik7CiAKLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBi
dWlsZEdyYWRpZW50KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBl
IGdyYWRpZW50VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFJhZGlhbEdyYWRpZW50UGFpbnRTZXJ2ZXI7
IH0KKyAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFy
ZW5hKiwgUmVuZGVyU3R5bGUqKTsKIAotICAgICAgICBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMg
Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpIGNvbnN0OworICAgICAgICBSYWRpYWxHcmFkaWVu
dEF0dHJpYnV0ZXMgY29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpOworICAgICAgICB2b2lkIGNh
bGN1bGF0ZUZvY2FsQ2VudGVyUG9pbnRzQW5kUmFkaXVzKGNvbnN0IFJhZGlhbEdyYWRpZW50QXR0
cmlidXRlcyYsIEZsb2F0UG9pbnQmIGZvY2FsUG9pbnQsIEZsb2F0UG9pbnQmIGNlbnRlclBvaW50
LCBmbG9hdCYgcmFkaXVzKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIERFQ0xBUkVfQU5JTUFU
RURfUFJPUEVSVFkoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6Y3hBdHRyLCBT
VkdMZW5ndGgsIEN4LCBjeCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAJKHJldmlzaW9uIDU4
MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00OSw4ICs0OSw2IEBAIHZvaWQgU1ZHU3RvcEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXQK
ICAgICAgICAgICAgIHNldE9mZnNldEJhc2VWYWx1ZSh2YWx1ZS5sZWZ0KHZhbHVlLmxlbmd0aCgp
IC0gMSkudG9GbG9hdCgpIC8gMTAwLjBmKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgc2V0
T2Zmc2V0QmFzZVZhbHVlKHZhbHVlLnRvRmxvYXQoKSk7Ci0KLSAgICAgICAgc2V0TmVlZHNTdHls
ZVJlY2FsYygpOwogICAgIH0gZWxzZQogICAgICAgICBTVkdTdHlsZWRFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShhdHRyKTsKIH0KQEAgLTY4LDYgKzY2LDE1IEBAIFJlbmRlck9iamVjdCog
U1ZHU3RvcEVsZW1lbnQ6OmNyZWF0ZVJlbmQKICAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wKHRoaXMpOwogfQogCitDb2xvciBTVkdTdG9wRWxlbWVudDo6c3RvcENv
bG9ySW5jbHVkaW5nT3BhY2l0eSgpIGNvbnN0Cit7CisgICAgQVNTRVJUKHJlbmRlcmVyKCkpOwor
ICAgIEFTU0VSVChyZW5kZXJlcigpLT5zdHlsZSgpKTsKKworICAgIGNvbnN0IFNWR1JlbmRlclN0
eWxlKiBzdmdTdHlsZSA9IHJlbmRlcmVyKCktPnN0eWxlKCktPnN2Z1N0eWxlKCk7CisgICAgcmV0
dXJuIGNvbG9yV2l0aE92ZXJyaWRlQWxwaGEoc3ZnU3R5bGUtPnN0b3BDb2xvcigpLnJnYigpLCBz
dmdTdHlsZS0+c3RvcE9wYWNpdHkoKSk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcp
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcv
U1ZHU3RvcEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTMgKzMyLDE0IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgU1ZHU3RvcEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Kik7CiAgICAgICAgIHZpcnR1YWwgflNWR1N0b3BFbGVtZW50KCk7CiAKKyAg
ICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSop
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZp
ZWROYW1lJik7CiAKKyAgICAgICAgQ29sb3Igc3RvcENvbG9ySW5jbHVkaW5nT3BhY2l0eSgpIGNv
bnN0OworCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCBib29sIGlzR3JhZGllbnRTdG9w
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1h
cHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqKTsKLQogICAgICAgICB2aXJ0dWFsIFJlbmRl
ck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogCiAg
ICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHU3RvcEVsZW1lbnQsIFNWR05hbWVz
OjpvZmZzZXRBdHRyLCBmbG9hdCwgT2Zmc2V0LCBvZmZzZXQpCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdTdHlsZWRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRF
bGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNiBAQAogI2luY2x1ZGUgIlNWR05h
bWVzLmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJT
dXBwb3J0LmgiCi0jaW5jbHVkZSAiU1ZHUmVzb3VyY2UuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVt
ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIApAQCAtNjMsNyArNjIsNiBAQCBT
VkdTdHlsZWRFbGVtZW50OjpTVkdTdHlsZWRFbGVtZW50KGNvbnN0CiAKIFNWR1N0eWxlZEVsZW1l
bnQ6On5TVkdTdHlsZWRFbGVtZW50KCkKIHsKLSAgICBTVkdSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50
KHRoaXMpOwogfQogCiBib29sIFNWR1N0eWxlZEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoUmVu
ZGVyU3R5bGUqIHN0eWxlKQpAQCAtMjAwLDE5ICsxOTgsMjEgQEAgdm9pZCBTVkdTdHlsZWRFbGVt
ZW50OjpzdmdBdHRyaWJ1dGVDaGFuZwogICAgIGlmIChhdHRyTmFtZS5tYXRjaGVzKEhUTUxOYW1l
czo6Y2xhc3NBdHRyKSkKICAgICAgICAgY2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKGNsYXNzTmFtZSgp
KTsKIAorICAgIFJlbmRlck9iamVjdCogb2JqZWN0ID0gcmVuZGVyZXIoKTsKKwogICAgIGlmIChh
dHRyTmFtZSA9PSBpZEF0dHJpYnV0ZU5hbWUoKSkgewogICAgICAgICAvLyBOb3RpZnkgcmVzb3Vy
Y2VzIGFib3V0IGlkIGNoYW5nZXMsIHRoaXMgaXMgaW1wb3J0YW50IGFzIHdlIGNhY2hlIHJlc291
cmNlcyBieSBpZCBpbiBTVkdEb2N1bWVudEV4dGVuc2lvbnMKLSAgICAgICAgaWYgKHJlbmRlcmVy
KCkgJiYgcmVuZGVyZXIoKS0+aXNTVkdSZXNvdXJjZSgpKSB7Ci0gICAgICAgICAgICBSZW5kZXJT
VkdSZXNvdXJjZSogcmVzb3VyY2UgPSByZW5kZXJlcigpLT50b1JlbmRlclNWR1Jlc291cmNlKCk7
Ci0gICAgICAgICAgICByZXNvdXJjZS0+aWRDaGFuZ2VkKCk7Ci0gICAgICAgIH0KKyAgICAgICAg
aWYgKG9iamVjdCAmJiBvYmplY3QtPmlzU1ZHUmVzb3VyY2VDb250YWluZXIoKSkKKyAgICAgICAg
ICAgIG9iamVjdC0+dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpLT5pZENoYW5nZWQoKTsK
ICAgICB9CiAKLSAgICAvLyBJZiB3ZSdyZSB0aGUgY2hpbGQgb2YgYSByZXNvdXJjZSBlbGVtZW50
LCBiZSBzdXJlIHRvIGludmFsaWRhdGUgaXQuCi0gICAgaW52YWxpZGF0ZVJlc291cmNlc0luQW5j
ZXN0b3JDaGFpbigpOworICAgIGlmICghZG9jdW1lbnQoKS0+cGFyc2luZygpICYmIG9iamVjdCkg
eworICAgICAgICAvLyBJZiB3ZSdyZSB0aGUgY2hpbGQgb2YgYSByZXNvdXJjZSBlbGVtZW50LCB0
ZWxsIHRoZSByZXNvdXJjZSAoYW5kIGV2ZW50dWFsbHkgaXRzIHJlc291cmNlcykgdGhhdCB3ZSd2
ZSBjaGFuZ2VkLgorICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3RvckNoYWluKCk7
CiAKLSAgICAvLyBJZiB0aGUgZWxlbWVudCBpcyB1c2luZyByZXNvdXJjZXMsIGludmFsaWRhdGUg
dGhlbS4KLSAgICBpbnZhbGlkYXRlUmVzb3VyY2VzKCk7CisgICAgICAgIC8vIElmIHdlJ3JlIHJl
ZmVyZW5jaW5nIHJlc291cmNlcywgdGVsbCB0aGVtIHdlJ3ZlIGNoYW5nZWQuCisgICAgICAgIGRl
cmVnaXN0ZXJGcm9tUmVzb3VyY2VzKG9iamVjdCk7CisgICAgfQogCiAgICAgLy8gSW52YWxpZGF0
ZSBhbGwgU1ZHRWxlbWVudEluc3RhbmNlcyBhc3NvY2lhdGVkIHdpdGggdXMKICAgICBTVkdFbGVt
ZW50SW5zdGFuY2U6OmludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1lbnQodGhpcyk7CkBAIC0y
MjYsMjAgKzIyNiw2IEBAIHZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6c3luY2hyb25pemVQcm9wZXIK
ICAgICAgICAgc3luY2hyb25pemVDbGFzc05hbWUoKTsKIH0KIAotdm9pZCBTVkdTdHlsZWRFbGVt
ZW50OjppbnZhbGlkYXRlUmVzb3VyY2VzKCkKLXsKLSAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9
IHJlbmRlcmVyKCk7Ci0gICAgaWYgKCFvYmplY3QpCi0gICAgICAgIHJldHVybjsKLQotICAgIERv
Y3VtZW50KiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7Ci0KLSAgICBpZiAoZG9jdW1lbnQt
PnBhcnNpbmcoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZGVyZWdpc3RlckZyb21SZXNvdXJj
ZXMob2JqZWN0KTsKLX0KLQogdm9pZCBTVkdTdHlsZWRFbGVtZW50OjppbnZhbGlkYXRlUmVzb3Vy
Y2VzSW5BbmNlc3RvckNoYWluKCkgY29uc3QKIHsKICAgICBOb2RlKiBub2RlID0gcGFyZW50Tm9k
ZSgpOwpAQCAtMjQ4LDI1ICsyMzQsMjUgQEAgdm9pZCBTVkdTdHlsZWRFbGVtZW50OjppbnZhbGlk
YXRlUmVzb3VyYwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgU1ZHRWxlbWVudCogZWxl
bWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihub2RlKTsKLSAgICAgICAgaWYgKFNWR1N0
eWxlZEVsZW1lbnQqIHN0eWxlZEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50
Kj4oZWxlbWVudC0+aXNTdHlsZWQoKSA/IGVsZW1lbnQgOiAwKSkKLSAgICAgICAgICAgIHN0eWxl
ZEVsZW1lbnQtPmludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKTsKKyAgICAgICAgaWYgKFNWR1N0
eWxlZEVsZW1lbnQqIHN0eWxlZEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50
Kj4oZWxlbWVudC0+aXNTdHlsZWQoKSA/IGVsZW1lbnQgOiAwKSkgeworICAgICAgICAgICAgc3R5
bGVkRWxlbWVudC0+aW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOworCisgICAgICAgICAgICAv
LyBJZiB3ZSBmb3VuZCB0aGUgZmlyc3QgcmVzb3VyY2UgaW4gdGhlIGFuY2VzdG9yIGNoYWluLCBp
bW1lZGlhdGVseSBzdG9wLgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KIAogICAgICAg
ICBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwogICAgIH0KIH0KIAotdm9pZCBTVkdTdHlsZWRF
bGVtZW50OjppbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCkKK3ZvaWQgU1ZHU3R5bGVkRWxlbWVu
dDo6aW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpCiB7CiAgICAgUmVuZGVyT2JqZWN0KiBvYmpl
Y3QgPSByZW5kZXJlcigpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm47CiAKLSAg
ICBpZiAob2JqZWN0LT5pc1NWR1Jlc291cmNlKCkpCi0gICAgICAgIG9iamVjdC0+dG9SZW5kZXJT
VkdSZXNvdXJjZSgpLT5pbnZhbGlkYXRlQ2xpZW50cygpOwotCi0gICAgLy8gVGhlIGZvbGxvd2lu
ZyBsaW5lcyB3aWxsIGJlIHJlbW92ZWQgc29vbiwgb25jZSBhbGwgcmVzb3VyY2VzIGFyZSBoYW5k
bGVkIGJ5IHJlbmRlcmVycy4KLSAgICBpZiAoU1ZHUmVzb3VyY2UqIHJlc291cmNlID0gY2FudmFz
UmVzb3VyY2Uob2JqZWN0KSkKLSAgICAgICAgcmVzb3VyY2UtPmludmFsaWRhdGUoKTsKKyAgICBp
ZiAob2JqZWN0LT5pc1NWR1Jlc291cmNlQ29udGFpbmVyKCkpCisgICAgICAgIG9iamVjdC0+dG9S
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpLT5pbnZhbGlkYXRlQ2xpZW50cygpOwogfQogCiB2
b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNl
ciwgTm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnRE
ZWx0YSkKQEAgLTI3NCw3ICsyNjAsOCBAQCB2b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVu
Q2hhbmdlZChiCiAgICAgU1ZHRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNl
ciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKIAogICAgIC8v
IEludmFsaWRhdGUgYWxsIFNWR0VsZW1lbnRJbnN0YW5jZXMgYXNzb2NpYXRlZCB3aXRoIHVzCi0g
ICAgU1ZHRWxlbWVudEluc3RhbmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KHRo
aXMpOworICAgIGlmICghY2hhbmdlZEJ5UGFyc2VyKQorICAgICAgICBTVkdFbGVtZW50SW5zdGFu
Y2U6OmludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1lbnQodGhpcyk7CiB9CiAKIFBhc3NSZWZQ
dHI8UmVuZGVyU3R5bGU+IFNWR1N0eWxlZEVsZW1lbnQ6OnJlc29sdmVTdHlsZShSZW5kZXJTdHls
ZSogcGFyZW50U3R5bGUpCkBAIC0zMDksMTIgKzI5Niw2IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+
IFNWR1N0eWxlZEVsZW1lbnQ6OmcKICAgICByZXR1cm4gY3NzU1ZHQXR0ci0+c3R5bGUoKS0+Z2V0
UHJvcGVydHlDU1NWYWx1ZShuYW1lKTsKIH0KIAotdm9pZCBTVkdTdHlsZWRFbGVtZW50OjpkZXRh
Y2goKQotewotICAgIFNWR1Jlc291cmNlOjpyZW1vdmVDbGllbnQodGhpcyk7Ci0gICAgU1ZHRWxl
bWVudDo6ZGV0YWNoKCk7Ci19Ci0KIGJvb2wgU1ZHU3R5bGVkRWxlbWVudDo6aW5zdGFuY2VVcGRh
dGVzQmxvY2tlZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGhhc1JhcmVTVkdEYXRhKCkgJiYgcmFy
ZVNWR0RhdGEoKS0+aW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpOwpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHU3R5bGVkRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVs
ZW1lbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDggKzI5LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi0gICAgY2xhc3MgU1ZHUmVzb3VyY2U7Ci0KICAgICB2b2lkIG1hcEF0dHJpYnV0ZVRvQ1NT
UHJvcGVydHkoSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgaW50PiogcHJvcGVydHlOYW1lVG9J
ZE1hcCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpOwogCiAgICAgY2xhc3MgU1ZHU3R5
bGVkRWxlbWVudCA6IHB1YmxpYyBTVkdFbGVtZW50LApAQCAtNDksNyArNDcsNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJik7CiAKICAgICAgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVy
U3R5bGUqKTsKLSAgICAgICAgdmlydHVhbCBTVkdSZXNvdXJjZSogY2FudmFzUmVzb3VyY2UoY29u
c3QgUmVuZGVyT2JqZWN0KikgeyByZXR1cm4gMDsgfQogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBt
YXBUb0VudHJ5KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBNYXBwZWRBdHRyaWJ1dGVFbnRyeSYpIGNv
bnN0OwogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0
cmlidXRlKik7CkBAIC02MSwxMCArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IC8vIENlbnRyYWxpemVkIHBsYWNlIHRvIGZvcmNlIGEgbWFudWFsIHN0eWxlIHJlc29sdXRpb24u
IEhhY2t5IGJ1dCBuZWVkZWQgZm9yIG5vdy4KICAgICAgICAgUGFzc1JlZlB0cjxSZW5kZXJTdHls
ZT4gcmVzb2x2ZVN0eWxlKFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSk7CiAKKyAgICAgICAgdm9p
ZCBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiAgICAgICAgIHZvaWQgaW52YWxpZGF0ZVJl
c291cmNlc0luQW5jZXN0b3JDaGFpbigpIGNvbnN0OwotICAgICAgICB2b2lkIGludmFsaWRhdGVS
ZXNvdXJjZXMoKTsKLQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7CiAKICAgICAgICAg
Ym9vbCBpbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0SW5z
dGFuY2VVcGRhdGVzQmxvY2tlZChib29sKTsKQEAgLTc0LDggKzY5LDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIHByb3RlY3RlZDogCiAgICAgICAgIHN0YXRpYyBpbnQgY3NzUHJvcGVydHlJ
ZEZvclNWR0F0dHJpYnV0ZU5hbWUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCi0gICAgICAgIHZv
aWQgaW52YWxpZGF0ZUNhbnZhc1Jlc291cmNlcygpOwotCiAgICAgcHJpdmF0ZToKICAgICAgICAg
REVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdTdHlsZWRFbGVtZW50LCBIVE1MTmFtZXM6OmNs
YXNzQXR0ciwgU3RyaW5nLCBDbGFzc05hbWUsIGNsYXNzTmFtZSkKICAgICB9OwpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHVGV4dFBhdGhFbGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZH
VGV4dFBhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDYgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0
ZShNYXBwZWRBdHRyaWJ1dGUqKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJv
cGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVy
ZXJJc05lZWRlZChSZW5kZXJTdHlsZSogc3R5bGUpIHsgcmV0dXJuIFN0eWxlZEVsZW1lbnQ6OnJl
bmRlcmVySXNOZWVkZWQoc3R5bGUpOyB9CiAgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBj
cmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKICAgICAgICAgYm9v
bCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5vZGUqKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUv
c3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
Z3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2
Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDk2ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJt
YW5uQGtkZS5vcmc+Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgU1ZHUGFpbnRTZXJ2ZXJfaAotI2RlZmluZSBT
VkdQYWludFNlcnZlcl9oCi0KLSNpZiBFTkFCTEUoU1ZHKQotCi0jaW5jbHVkZSAiRGFzaEFycmF5
LmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiU1ZHUmVzb3VyY2UuaCIK
LQotI2lmIFBMQVRGT1JNKENHKQotI2luY2x1ZGUgPEFwcGxpY2F0aW9uU2VydmljZXMvQXBwbGlj
YXRpb25TZXJ2aWNlcy5oPgotI2VuZGlmCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotICAgIGVu
dW0gU1ZHUGFpbnRTZXJ2ZXJUeXBlIHsKLSAgICAgICAgLy8gUGFpbnRpbmcgbW9kZQotICAgICAg
ICBTb2xpZFBhaW50U2VydmVyID0gMCwKLSAgICAgICAgUGF0dGVyblBhaW50U2VydmVyID0gMSwK
LSAgICAgICAgTGluZWFyR3JhZGllbnRQYWludFNlcnZlciA9IDIsCi0gICAgICAgIFJhZGlhbEdy
YWRpZW50UGFpbnRTZXJ2ZXIgPSAzCi0gICAgfTsKLQotICAgIGVudW0gU1ZHUGFpbnRUYXJnZXRU
eXBlIHsKLSAgICAgICAgLy8gVGFyZ2V0IG1vZGUKLSAgICAgICAgQXBwbHlUb0ZpbGxUYXJnZXRU
eXBlID0gMSwKLSAgICAgICAgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUgPSAyCi0gICAgfTsKLQot
ICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKLSAgICBjbGFzcyBSZW5kZXJPYmplY3Q7Ci0gICAg
Y2xhc3MgUmVuZGVyU3R5bGU7Ci0gICAgY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJTb2xpZDsKLQotICAg
IGNsYXNzIFNWR1BhaW50U2VydmVyIDogcHVibGljIFNWR1Jlc291cmNlIHsKLSAgICBwdWJsaWM6
Ci0gICAgICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyKCk7Ci0KLSAgICAgICAgdmlydHVhbCBT
VkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlKCkgY29uc3QgeyByZXR1cm4gUGFpbnRTZXJ2ZXJS
ZXNvdXJjZVR5cGU7IH0KLQotICAgICAgICB2aXJ0dWFsIFNWR1BhaW50U2VydmVyVHlwZSB0eXBl
KCkgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVz
ZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0ID0gMDsKLQotICAgICAgICAvLyBUbyBiZSBpbXBs
ZW1lbnRlZCBpbiBwbGF0Zm9ybSBzcGVjaWZpYyBjb2RlLgotICAgICAgICB2aXJ0dWFsIHZvaWQg
ZHJhdyhHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJn
ZXRUeXBlKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHRlYXJkb3duKEdyYXBoaWNzQ29u
dGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQ
YWludGluZ1RleHQgPSBmYWxzZSkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZW5kZXJQ
YXRoKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdl
dFR5cGUpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgYm9vbCBzZXR1cChHcmFwaGljc0NvbnRl
eHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyU3R5bGUqLCBTVkdQYWludFRh
cmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQgPSBmYWxzZSkgY29uc3QgPSAwOwotCi0gICAg
ICAgIGJvb2wgc2V0dXAoR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIFNW
R1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCA9IGZhbHNlKSBjb25zdDsKLQot
ICAgICAgICBzdGF0aWMgU1ZHUGFpbnRTZXJ2ZXIqIHN0cm9rZVBhaW50U2VydmVyKGNvbnN0IFJl
bmRlclN0eWxlKiwgY29uc3QgUmVuZGVyT2JqZWN0Kik7Ci0gICAgICAgIHN0YXRpYyBTVkdQYWlu
dFNlcnZlciogZmlsbFBhaW50U2VydmVyKGNvbnN0IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVy
T2JqZWN0Kik7Ci0gICAgICAgIHN0YXRpYyBTVkdQYWludFNlcnZlclNvbGlkKiBzaGFyZWRTb2xp
ZFBhaW50U2VydmVyKCk7Ci0KLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIFNWR1BhaW50U2VydmVy
KCk7ICAgICAgICAKLSAgICB9OwotCi0gICAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3Ry
ZWFtJiwgY29uc3QgU1ZHUGFpbnRTZXJ2ZXImKTsKLQotICAgIFNWR1BhaW50U2VydmVyKiBnZXRQ
YWludFNlcnZlckJ5SWQoRG9jdW1lbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBSZW5k
ZXJPYmplY3QqKTsKLQotICAgIHZvaWQgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlck9iamVjdCopOwotICAg
IERhc2hBcnJheSBkYXNoQXJyYXlGcm9tUmVuZGVyaW5nU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUq
IHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKTsKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmCi0KLSNlbmRpZiAvLyBTVkdQYWludFNlcnZlcl9oCkluZGV4OiBXZWJDb3JlL3N2
Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvU1ZHUmVzb3VyY2UuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR1Jlc291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwxMzggKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxF
KFNWRykKLSNpbmNsdWRlICJTVkdSZXNvdXJjZS5oIgotCi0jaW5jbHVkZSAiUmVuZGVyUGF0aC5o
IgotI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKLSNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50Lmgi
Ci0jaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdHlwZWRlZiBIYXNoU2V0PFNWR1Jlc291cmNlKj4g
UmVzb3VyY2VTZXQ7Ci0KLXN0YXRpYyBSZXNvdXJjZVNldCYgcmVzb3VyY2VTZXQoKQotewotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoUmVzb3VyY2VTZXQsIHNldCwgKCkpOwotICAgIHJldHVybiBz
ZXQ7Ci19Ci0KLVNWR1Jlc291cmNlOjpTVkdSZXNvdXJjZSgpCi17Ci0gICAgQVNTRVJUKCFyZXNv
dXJjZVNldCgpLmNvbnRhaW5zKHRoaXMpKTsKLSAgICByZXNvdXJjZVNldCgpLmFkZCh0aGlzKTsK
LX0KLQotU1ZHUmVzb3VyY2U6On5TVkdSZXNvdXJjZSgpCi17Ci0gICAgQVNTRVJUKHJlc291cmNl
U2V0KCkuY29udGFpbnModGhpcykpOwotICAgIHJlc291cmNlU2V0KCkucmVtb3ZlKHRoaXMpOwot
fQotCi12b2lkIFNWR1Jlc291cmNlOjppbnZhbGlkYXRlKCkKLXsKLSAgICBIYXNoU2V0PFNWR1N0
eWxlZEVsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2NsaWVudHMuYmVnaW4oKTsKLSAg
ICBjb25zdCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0g
bV9jbGllbnRzLmVuZCgpOwotCi0gICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAg
ICBTVkdTdHlsZWRFbGVtZW50KiBjdXIgPSAqaXQ7Ci0KLSAgICAgICAgaWYgKGN1ci0+cmVuZGVy
ZXIoKSkKLSAgICAgICAgICAgIGN1ci0+cmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7
Ci0KLSAgICAgICAgY3VyLT5pbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3RvckNoYWluKCk7Ci0g
ICAgfQotfQotCi12b2lkIFNWR1Jlc291cmNlOjppbnZhbGlkYXRlQ2xpZW50cyhIYXNoU2V0PFNW
R1N0eWxlZEVsZW1lbnQqPiBjbGllbnRzKQotewotICAgIEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVu
dCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGNsaWVudHMuYmVnaW4oKTsKLSAgICBjb25zdCBIYXNo
U2V0PFNWR1N0eWxlZEVsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gY2xpZW50cy5lbmQo
KTsKLQotICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgU1ZHU3R5bGVkRWxl
bWVudCogY3VyID0gKml0OwotCi0gICAgICAgIGlmIChjdXItPnJlbmRlcmVyKCkpCi0gICAgICAg
ICAgICBjdXItPnJlbmRlcmVyKCktPnNldE5lZWRzTGF5b3V0KHRydWUpOwotCi0gICAgICAgIGN1
ci0+aW52YWxpZGF0ZVJlc291cmNlc0luQW5jZXN0b3JDaGFpbigpOwotICAgIH0KLX0KLQotdm9p
ZCBTVkdSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KFNWR1N0eWxlZEVsZW1lbnQqIGl0ZW0pIAotewot
ICAgIFJlc291cmNlU2V0OjppdGVyYXRvciBpdCA9IHJlc291cmNlU2V0KCkuYmVnaW4oKTsKLSAg
ICBSZXNvdXJjZVNldDo6aXRlcmF0b3IgZW5kID0gcmVzb3VyY2VTZXQoKS5lbmQoKTsKLQotICAg
IGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgU1ZHUmVzb3VyY2UqIHJlc291cmNl
ID0gKml0OwotICAgICAgICBpZiAoIXJlc291cmNlLT5tX2NsaWVudHMuY29udGFpbnMoaXRlbSkp
Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgcmVzb3VyY2UtPm1fY2xpZW50cy5yZW1v
dmUoaXRlbSk7Ci0gICAgfQotfQotCi12b2lkIFNWR1Jlc291cmNlOjphZGRDbGllbnQoU1ZHU3R5
bGVkRWxlbWVudCogaXRlbSkKLXsKLSAgICBpZiAobV9jbGllbnRzLmNvbnRhaW5zKGl0ZW0pKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBtX2NsaWVudHMuYWRkKGl0ZW0pOwotfQotCi1UZXh0U3Ry
ZWFtJiBTVkdSZXNvdXJjZTo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykg
Y29uc3QKLXsKLSAgICByZXR1cm4gdHM7Ci19Ci0KLVNWR1Jlc291cmNlKiBnZXRSZXNvdXJjZUJ5
SWQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBjb25zdCBSZW5k
ZXJPYmplY3QqIG9iamVjdCkKLXsKLSAgICBpZiAoaWQuaXNFbXB0eSgpKQotICAgICAgICByZXR1
cm4gMDsKLQotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBkb2N1bWVudC0+Z2V0RWxlbWVudEJ5SWQo
aWQpOwotICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSAwOwotICAgIGlmIChlbGVtZW50ICYm
IGVsZW1lbnQtPmlzU1ZHRWxlbWVudCgpKQotICAgICAgICBzdmdFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8U1ZHRWxlbWVudCo+KGVsZW1lbnQpOwotCi0gICAgaWYgKHN2Z0VsZW1lbnQgJiYgc3ZnRWxl
bWVudC0+aXNTdHlsZWQoKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNWR1N0eWxlZEVs
ZW1lbnQqPihzdmdFbGVtZW50KS0+Y2FudmFzUmVzb3VyY2Uob2JqZWN0KTsKLQotICAgIHJldHVy
biAwOwotfQotCi1UZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBT
VkdSZXNvdXJjZSYgcikKLXsKLSAgICByZXR1cm4gci5leHRlcm5hbFJlcHJlc2VudGF0aW9uKHRz
KTsKLX0KLQotfQotCi0jZW5kaWYKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291
cmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2UuaAko
cmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDkwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYs
IDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Ci0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNp
Zm5kZWYgU1ZHUmVzb3VyY2VfaAotI2RlZmluZSBTVkdSZXNvdXJjZV9oCi0KLSNpZiBFTkFCTEUo
U1ZHKQotI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0
LmgiCi0jaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgotCi0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgQXRvbWljU3RyaW5nOyAKLWNsYXNzIERvY3Vt
ZW50OwotY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKLWNsYXNzIFRleHRTdHJlYW07Ci0KLWVudW0g
U1ZHUmVzb3VyY2VUeXBlIHsKLSAgICAvLyBQYWludGluZyBtb2RlCi0gICAgSW1hZ2VSZXNvdXJj
ZVR5cGUsCi0gICAgUGFpbnRTZXJ2ZXJSZXNvdXJjZVR5cGUsCi0gICAgCi0gICAgLy8gRm9yIHJl
c291cmNlIHRyYWNraW5nIHdlIG5lZWQgdG8ga25vdyBob3cgbWFueSB0eXBlcyBvZiByZXNvdXJj
ZSB0aGVyZSBhcmUKLSAgICBfUmVzb3VyY2VUeXBlQ291bnQKLX07Ci0KLS8vIFRoZSBTVkdSZXNv
dXJjZSBmaWxlIHJlcHJlc2VudCB2YXJpb3VzIGdyYXBoaWNzIHJlc291cmNlczoKLS8vIC0gUGF0
dGVybiByZXNvdXJjZQotLy8gLSBMaW5lYXIvUmFkaWFsIGdyYWRpZW50IHJlc291cmNlCi0vLwot
Ly8gU1ZHIGNyZWF0ZXMvdXNlcyB0aGVzZSByZXNvdXJjZXMuCi0KLWNsYXNzIFNWR1Jlc291cmNl
IDogcHVibGljIFJlZkNvdW50ZWQ8U1ZHUmVzb3VyY2U+IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFs
IH5TVkdSZXNvdXJjZSgpOwotICAKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZSgpOwotCi0g
ICAgdm9pZCBhZGRDbGllbnQoU1ZHU3R5bGVkRWxlbWVudCopOwotICAgIHZpcnR1YWwgU1ZHUmVz
b3VyY2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0ID0gMDsKLSAgICAKLSAgICBib29sIGlzUGFp
bnRTZXJ2ZXIoKSBjb25zdCB7IHJldHVybiByZXNvdXJjZVR5cGUoKSA9PSBQYWludFNlcnZlclJl
c291cmNlVHlwZTsgfQotCi0gICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2Vu
dGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKLQotICAgIHN0YXRpYyB2b2lkIGludmFsaWRhdGVD
bGllbnRzKEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+KTsKLSAgICBzdGF0aWMgdm9pZCByZW1v
dmVDbGllbnQoU1ZHU3R5bGVkRWxlbWVudCopOwotCi1wcm90ZWN0ZWQ6Ci0gICAgU1ZHUmVzb3Vy
Y2UoKTsKLQotcHJpdmF0ZToKLSAgICBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPiBtX2NsaWVu
dHM7Ci19OwotCi1TVkdSZXNvdXJjZSogZ2V0UmVzb3VyY2VCeUlkKERvY3VtZW50KiwgY29uc3Qg
QXRvbWljU3RyaW5nJiwgY29uc3QgUmVuZGVyT2JqZWN0Kik7Ci0KLVRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoVGV4dFN0cmVhbSYsIGNvbnN0IFNWR1Jlc291cmNlJik7Ci0KLX0KLQotI2VuZGlmCi0j
ZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54147</attachid>
            <date>2010-04-23 04:08:43 -0700</date>
            <delta_ts>2010-04-23 04:58:50 -0700</delta_ts>
            <desc>WebCore changes - v3</desc>
            <filename>WebCoreSide-v3.diff</filename>
            <type>text/plain</type>
            <size>271820</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYxIEBACisyMDEwLTA0LTIzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNWR1BhaW50U2VydmVyIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgbmV3IFJl
bmRlclNWR1Jlc291cmNlKiBzeXN0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM3OTg2CisKKyAgICAgICAgSHVnZSBzcGVlZHVwIGZvciBTVkcgcGFp
bnRpbmcgdXNpbmcgcGFpbnQgc2VydmVycyAoZ3JhZGllbnQvcGF0dGVybnMpLiBDYWNoZSB1bmRl
cmx5aW5nCisgICAgICAgIFdlYkNvcmU6OkdyYWRpZW50L1BhdHRlcm4gZGF0YXN0cnVjdHVyZXMs
IGRvIG5vdCByZWJ1aWxkIHRoZW0gb24gZXZlcnkgcGFpbnRpbmcuIFRoaXMgbWFya3MKKyAgICAg
ICAgdGhlIGZpbmlzaCBvZiB0aGUgU1ZHUmVzb3VyY2UgLT4gUmVuZGVyU1ZHUmVzb3VyY2UgdHJh
bnNpdGlvbi4KKworICAgICAgICBPdXRsaW5lIG9mIHNhbWUga2V5IGNoYW5nZXM6CisgICAgICAg
IC0gUmVuZGVyU1ZHUmVzb3VyY2UgaXMgYW4gYWJzdHJhY3QgYmFzZSBjbGFzcyBub3csIGFuZCB0
aGUgcHJldmlvdXMgY2xhc3MgaXMgbm93IG5hbWVkIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
CisgICAgICAgICAgQWxsIHJlc291cmNlcyBleGNlcHQgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yIG5vdyBpbmhlcml0IGZyb20gUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIsIGFzIHRoZXkg
YXJlIGFsbAorICAgICAgICAgIGFzc29jaWF0ZWQgd2l0aCBhIFNWRypFbGVtZW50IGNsYXNzLiBS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IgaW5oZXJpdHMgZnJvbSBSZW5kZXJTVkdSZXNvdXJj
ZSwgYW5kIGlzIG5vdAorICAgICAgICAgIGFzc29jaWF0ZWQgd2l0aCBhbnkgU1ZHKkVsZW1lbnQg
Y2xhc3MuIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciBpcyBub3QgYSByZW5kZXIgdHJlZSBv
YmplY3QsIGRlc3BpdGUgaXRzIG5hbWUuCisgICAgICAgICAgVGhlIHJlYXNvbiBmb3IgdGhhdCBp
cyBjb25zaXN0ZW5jeSB3aXRoIGFsbCBvdGhlciBwYWludGluZyByZXNvdXJjZXMuCisgICAgICAg
IC0gUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yIGRvZXMgbm90IGxpdmUgaW4gdGhlIHJlbmRl
ciB0cmVlLCBhbmQgZXhpc3RzIG9ubHkgYXMgc3RhdGljIG9iamVjdCwgd2hpY2ggaXMgc2hhcmVk
CisgICAgICAgICAgYW5kIGFsd2F5cyB1c2VkIHdoZW4gZmlsbGluZy9zdHJva2luZyB3aXRoIHNv
bGlkIGNvbG9ycyAtIGp1c3QgbGlrZSB0aGUgb2xkIFNWR1BhaW50U2VydmVyU29saWQuCisgICAg
ICAgIC0gUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4g
bm93IHN0b3JlIHRoZSB1bmRlcmx5aW5nIFdlYkNvcmU6OkdyYWRpZW50L1BhdHRlcm4gb2JqZWN0
CisgICAgICAgICAgaW5zdGVhZCBvZiByZWJ1aWxkaW5nIGl0IGV2ZXJ5dGltZSB3ZSdyZSBhc2tl
ZCB0byBwYWludCAtPiB0aGlzIGlzIHRoZSBtYWluIGRpZmZlcmVuY2Ugd2l0aCB0aGUgb2xkIGNv
bmNlcHQsIGxlYWRpbmcKKyAgICAgICAgICB0byBtdWNoIGZhc3RlciBzcGVlZC4KKyAgICAgICAg
LSBTVkdSZXNvdXJjZSBoYXMgdmFuaXNoZWQuIEFsbCByZXNvdXJjZXMgKGNsaXBwZXIvZmlsdGVy
L21hcmtlci9tYXNrZXIvZ3JhZGllbnQvcGF0dGVybikgbm93IHNoYXJlIHRoZSBzYW1lIGNvZGVw
YXRocworICAgICAgICAgIHRvIGhhbmRsZSB1cGRhdGVzIGFuZCBjbGllbnQgaW52YWxpZGF0aW9u
IC0gd2hpY2ggaXMgYSBodWdlIGJlbmVmaXQsIGFuZCBtYWtlcyB0aGUgY29kZSBlYXNpZXIgdG8g
dW5kZXJzdGFuZC4KKworICAgICAgICAqIEFuZHJvaWQubWs6IFJlbW92ZSBzdmcvZ3JhcGhpY3Mv
U1ZHUmVzb3VyY2UqLCBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaCBmcm9tIGJ1aWxkLgor
ICAgICAgICAqIFdlYkNvcmUuZ3lwaTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERp
dHRvLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcDogQWRkIGFkZENvbG9yU3RvcCgpIG1l
dGhvZCB0YWtpbmcgYSBDb2xvclN0b3AgY29uc3QtcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29y
ZTo6R3JhZGllbnQ6OmFkZENvbG9yU3RvcCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhZGllbnQuaDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5o
OiBSZW5hbWUgU1ZHUGFpbnRTZXJ2ZXIgdG8gUmVuZGVyU1ZHUmVzb3VyY2UKKyAgICAgICAgKFdl
YkNvcmU6OlRleHRSdW46OlRleHRSdW4pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bjo6YWN0
aXZlUGFpbnRpbmdSZXNvdXJjZSk6IFJlbmFtZWQgZnJvbSBhY3RpdmVQYWludFNlcnZlci4KKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRSdW46OnNldEFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOiBSZW5h
bWVkIGZyb20gc2V0QWN0aXZlUGFpbnRTZXJ2ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHA6IFJlbW92ZSByZWZlcmVuY2VzIHRvIFNWR1Jl
c291cmNlSW1hZ2UsIHdoaWNoIHdhcyByZW1vdmVkIGEgbG9uZyB0aW1lIGFnby4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcik6IFJlbmFtZWQgZnJvbSB0b1JlbmRl
clNWR1Jlc291cmNlKCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc1NWR0dyYWRpZW50U3RvcCk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc1NWR1Jlc291cmNlQ29udGFpbmVyKTog
UmVuYW1lZCBmcm9tIGlzU1ZHUmVzb3VyY2UoKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UGF0aC5jcHA6IFV0aWxpemUgUmVuZGVyU1ZHUmVzb3VyY2U6OmZpbGwvc3Ryb2tlUGFpbnRpbmdS
ZXNvdXJjZSB0byByZXF1ZXN0IHBhaW50IHNlcnZlcnMsIGluc3RlYWQgb2YgU1ZHUGFpbnRTZXJ2
ZXIuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQYXRoOjpmaWxsQ29udGFpbnMpOiBBZGFwdCB0
byBuZXcgY29uY2VwdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBhdGg6OnN0cm9rZUNvbnRh
aW5zKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpmaWxsQW5kU3Ryb2tlUGF0aCk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUGF0aDo6cGFpbnQpOiBEaXR0by4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR0dyYWRpZW50U3RvcDo6c3R5bGVEaWRDaGFuZ2UpOiBEaXR0by4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmg6IEZpeGVkIGluZGVudGlvbi4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2UuY3BwOiBSZWZhY3RvcmVkIG9sZCBT
VkdQYWludFNlcnZlciBjb2RlIHRvIHJlcXVlc3QgZmlsbC9zdHJva2UgcGFpbnRpbmcgcmVzb3Vy
Y2VzLCBzcGxpdHRlZCB1cCBpbiBzZXZlcmFsIG1ldGhvZHMgdG8gYWlkIHJlYWRhYmlsaXR5LiAK
KyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdl
YkNvcmU6OmFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHUmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjpzaGFyZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2U6Om1hcmtGb3JMYXlvdXRBbmRSZXNv
dXJjZUludmFsaWRhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
Lmg6IE1ha2UgUmVuZGVyU1ZHUmVzb3VyY2UgYW4gYWJzdHJhY3QgYmFzZSBjbGFzcywgc2VlIGFi
b3ZlIGZvciB0aGUgcmVhc29uaW5nLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2U6OlJlbmRlclNWR1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291
cmNlOjp+UmVuZGVyU1ZHUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVz
b3VyY2U6OnBvc3RBcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmNwcDogSW5oZXJpdCBmcm9tIFJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyIGluc3RlYWQgb2YgUmVuZGVyU1ZHUmVzb3VyY2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTVkdSZXNvdXJjZUNsaXBwZXI6OlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmludmFsaWRhdGVDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjphcHBseVJlc291cmNl
KTogQWRhcHQgdG8gc2lnbmF0dXJlIGNoYW5nZXMgKGFkZCBSZW5kZXJTdHlsZSogYW5kIHJlc291
cmNlIG1vZGUgcGFyYW1ldGVycykKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
Q2xpcHBlcjo6YXBwbHlDbGlwcGluZ1RvQ29udGV4dCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclNWR1Jlc291cmNlQ2xpcHBlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdS
ZXNvdXJjZUNvbnRhaW5lci5oOiBBZGRlZC4gUmVuYW1lZCBmcm9tIFJlbmRlclNWR1Jlc291cmNl
LiBOb3cgaW5oZXJpdHMgZnJvbSBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIgYW5kIFJlbmRlclNW
R1Jlc291cmNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6
OlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyOjp+UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OmlkQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjo6aXNTVkdSZXNvdXJjZUNv
bnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjo6
ZHJhd3NDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRh
aW5lcjo6dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpn
ZXRSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0
UmVuZGVyU1ZHUmVzb3VyY2VCeUlkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXIuY3BwOiBJbmhlcml0IGZyb20gUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIg
aW5zdGVhZCBvZiBSZW5kZXJTVkdSZXNvdXJjZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jlc291cmNlRmlsdGVyOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdXJjZSk6IEFkYXB0
IHRvIHNpZ25hdHVyZSBjaGFuZ2VzIChhZGQgUmVuZGVyU3R5bGUqIGFuZCByZXNvdXJjZSBtb2Rl
IHBhcmFtZXRlcnMpCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6
cG9zdEFwcGx5UmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50
LmNwcDogTW92ZWQgZnJvbSBTVkdQYWludFNlcnZlckdyYWRpZW50LCBjbGVhbmVkIHVwIGFuZCBy
ZWZhY3RvcmVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6
UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdS
ZXNvdXJjZUdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50OjppbnZhbGlkYXRlQ2xpZW50cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50OjppbnZhbGlkYXRlQ2xp
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZU1hc2tBbmRTd2FwQ29udGV4dEZvclRleHRH
cmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjbGlwVG9UZXh0TWFzayk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50OjphcHBseVJlc291cmNlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6cmVzb3VyY2VCb3VuZGluZ0JveCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwOiBN
b3ZlZCBmcm9tIFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQsIGNsZWFuZWQgdXAgYW5kIHJl
ZmFjdG9yZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRp
ZW50OjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQ6On5SZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3Jh
ZGllbnQ6OmJ1aWxkR3JhZGllbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZUxpbmVhckdyYWRpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50OjpyZW5kZXJOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jlc291cmNlTGluZWFyR3JhZGllbnQ6OnJlc291cmNlVHlwZSk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlTWFya2VyLmNwcDogSW5oZXJpdCBmcm9tIFJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyIGluc3RlYWQgb2YgUmVuZGVyU1ZHUmVzb3VyY2UuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcjo6UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmludmFsaWRhdGVD
bGllbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmFwcGx5UmVzb3VyY2Up
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHA6IEluaGVy
aXQgZnJvbSBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciBpbnN0ZWFkIG9mIFJlbmRlclNWR1Jl
c291cmNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OlJlbmRl
clNWR1Jlc291cmNlTWFza2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
TWFza2VyOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jl
c291cmNlTWFza2VyOjphcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
U1ZHUmVzb3VyY2VNYXNrZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1hc2tlckRhdGE6Ok1hc2tl
ckRhdGEpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3Bw
OiBNb3ZlZCBmcm9tIFNWR1BhaW50U2VydmVyUGF0dGVybiwgY2xlYW5lZCB1cCBhbmQgcmVmYWN0
b3JlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6UmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
UGF0dGVybjo6flJlbmRlclNWR1Jlc291cmNlUGF0dGVybik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmludmFsaWRhdGVDbGllbnRzKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmFwcGx5UmVzb3VyY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpwb3N0QXBwbHlSZXNv
dXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVQYXR0ZXJuQm91bmRhcmllcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OmNhbGN1bGF0ZVBhdHRl
cm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuOjpjcmVhdGVUaWxlSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpidWlsZFBhdHRlcm4pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jlc291cmNlUGF0dGVybjo6cmVuZGVyTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTVkdSZXNvdXJjZVBhdHRlcm46OnJlc291cmNlQm91bmRpbmdCb3gpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpyZXNvdXJjZVR5cGUpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmNwcDogTW92ZWQgZnJv
bSBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50LCBjbGVhbmVkIHVwIGFuZCByZWZhY3RvcmVk
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6UmVu
ZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Ojpi
dWlsZEdyYWRpZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VSYWRp
YWxHcmFkaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxH
cmFkaWVudDo6cmVuZGVyTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZVJhZGlhbEdyYWRpZW50OjpyZXNvdXJjZVR5cGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwOiBNb3ZlZCBmcm9tIFNWR1BhaW50U2VydmVyU29s
aWQsIGNsZWFuZWQgdXAgYW5kIHJlZmFjdG9yZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3I6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6On5SZW5kZXJTVkdSZXNv
dXJjZVNvbGlkQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yOjphcHBseVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291
cmNlU29saWRDb2xvcjo6cG9zdEFwcGx5UmVzb3VyY2UpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNW
R1Jlc291cmNlU29saWRDb2xvcjo6aW52YWxpZGF0ZUNsaWVudHMpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcjo6cmVzb3VyY2VCb3VuZGlu
Z0JveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnJl
c291cmNlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29s
b3I6OmNvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xv
cjo6c2V0Q29sb3IpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1RleHQ6OnBhaW50KTogRWFybHkgZXhpdCBpZiBwYWlu
dGluZyBpcyBkaXNhYmxlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZSk6IEFkZCBSZW5kZXJTVkdHcmFkaWVudFN0b3Ag
ZHVtcGluZy4KKyAgICAgICAgKFdlYkNvcmU6OmV4dGVybmFsUmVwcmVzZW50YXRpb24pOiBSZW1v
dmUgU1ZHUmVzb3VyY2UgZHVtcGluZy4KKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHSW5saW5lVGV4
dEJveC5jcHA6IEFkYXB0IHRvIFNWR1BhaW50U2VydmVyIGNoYW5nZXMgKHBhaW50IHNlcnZlciBy
ZXF1ZXN0KS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50Q2hhcmFj
dGVycyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRp
b24pOgorICAgICAgICAqIHJlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94Lmg6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dFBhaW50SW5mbzo6U1ZHVGV4dFBhaW50SW5mbyk6CisgICAg
ICAgICogcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNWR1JlbmRlckJhc2U6OnByZXBhcmVUb1JlbmRlclNWR0NvbnRlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUmVuZGVyQmFzZTo6ZmluaXNoUmVuZGVyU1ZHQ29udGVudCk6CisgICAg
ICAgIChXZWJDb3JlOjppbnZhbGlkYXRlUGFpbnRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJD
b3JlOjpkZXJlZ2lzdGVyRnJvbVJlc291cmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpkYXNoQXJy
YXlGcm9tUmVuZGVyaW5nU3R5bGUpOiBNb3ZlZCBoZXJlIGZyb20gU1ZHUGFpbnRTZXJ2ZXIuCisg
ICAgICAgIChXZWJDb3JlOjphcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KTogRGl0dG8uCisgICAg
ICAgICogcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
U1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6IEFkZCBuZXcgZ3JhZGllbnQvcGF0dGVybiBkdW1waW5n
IGNvZGUuIFN0b3BzIGFyZSBub3cgcHJvcGVybHkgZHVtcGVkIGFzIHdlbGwhCisgICAgICAgIChX
ZWJDb3JlOjpvcGVyYXRvcjw8KToKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlU1ZHUGFpbnRpbmdS
ZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZVN0eWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OmJvdW5kaW5nQm94TW9kZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZUNvbW1v
bkdyYWRpZW50UHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZVNWR1Jlc291cmNl
Q29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlU1ZHR3JhZGllbnRTdG9wKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9TVkdSb290SW5saW5lQm94LmNwcDogQWRhcHQgdG8gU1ZHUGFpbnRTZXJ2ZXIgY2hhbmdl
cyAocGFpbnQgc2VydmVyIHJlcXVlc3QpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGlu
ZUJveFBhaW50V2Fsa2VyOjpTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXIpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjp+U1ZHUm9vdElubGluZUJveFBh
aW50V2Fsa2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtl
cjo6dGVhcmRvd25GaWxsUGFpbnRTZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElu
bGluZUJveFBhaW50V2Fsa2VyOjp0ZWFyZG93blN0cm9rZVBhaW50U2VydmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBCYWNrZ3JvdW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBGaWxs
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBG
aWxsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdh
bGtlcjo6c2V0dXBTdHJva2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBh
aW50V2Fsa2VyOjpzZXR1cFN0cm9rZVNlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdS
b290SW5saW5lQm94UGFpbnRXYWxrZXI6OnNldHVwRm9yZWdyb3VuZCk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OmFjdGl2ZVBhaW50aW5nUmVzb3VyY2Up
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyOjpwYWludENo
dW5rKToKKyAgICAgICAgKiBzdmcvR3JhZGllbnRBdHRyaWJ1dGVzLmg6IFJlbW92ZSBTVkdHcmFk
aWVudFN0b3AsIHVzZSBHcmFkaWVudDo6Q29sb3JTdG9wIHZlY3Rvci4gQ2xlYW51cC4KKyAgICAg
ICAgKFdlYkNvcmU6OkdyYWRpZW50QXR0cmlidXRlczo6c3RvcHMpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhZGllbnRBdHRyaWJ1dGVzOjpzZXRTdG9wcyk6CisgICAgICAgICogc3ZnL0xpbmVhckdy
YWRpZW50QXR0cmlidXRlcy5oOiBNb3ZlIEVOQUJMRShTVkcpIGd1YXJkIHRvIGNvcnJlY3QgbG9j
YXRpb24uCisgICAgICAgICogc3ZnL1BhdHRlcm5BdHRyaWJ1dGVzLmg6IEFkZCBtaXNzaW5nIGlu
Y2x1ZGVzIGFuZCBjbGFzcyBmb3J3YXJkcy4KKyAgICAgICAgKiBzdmcvUmFkaWFsR3JhZGllbnRB
dHRyaWJ1dGVzLmg6IE1vdmUgRU5BQkxFKFNWRykgZ3VhcmQgdG8gY29ycmVjdCBsb2NhdGlvbi4K
KyAgICAgICAgKiBzdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcDogUmVuYW1lIGludmFsaWRhdGVD
YW52YXNSZXNvdXJjZXMoKSB0byBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCkuCisgICAgICAg
IChXZWJDb3JlOjpTVkdDbGlwUGF0aEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQ2xpcFBhdGhFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOiBPbmx5
IGNhbGwgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpIHdoZW4gIWNoYW5nZWRCeVBhcnNlciBp
cyBzZXQuCisgICAgICAgICogc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2
Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwOiBDaGFuZ2UgSGFzaE1hcHMgdG8gaGFzaCBBdG9t
aWNTdHJpbmdzIGluc3RlYWQgb2YgU3RyaW5ncy4gUmVuYW1lIFJlbmRlclNWR1Jlc291cmNlIHRv
IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1l
bnRFeHRlbnNpb25zOjphZGRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVu
dEV4dGVuc2lvbnM6OnJlbW92ZVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0RvY3Vt
ZW50RXh0ZW5zaW9uczo6cmVzb3VyY2VCeUlkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0RvY3Vt
ZW50RXh0ZW5zaW9uczo6YWRkUGVuZGluZ1Jlc291cmNlKToKKyAgICAgICAgKiBzdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmg6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOiBSZW1vdmUgcmVm
ZXJlbmNlIHRvIFNWR1Jlc291cmNlOjppbnZhbGlkYXRlQ2xpZW50cygpLCBoYW5kbGVkIGRpZmZl
cmVudGx5IG5vdy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnVwZGF0ZUFuaW1hdGVk
U1ZHQXR0cmlidXRlKTogQ2hhbmdlIGFzc2VydGlvbiwgdGhhdCBpcyBpbmNvcnJlY3Qgbm93Lgor
ICAgICAgICAqIHN2Zy9TVkdFbGVtZW50Lmg6IE1ha2UgdXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1
dGUoKSBwdWJsaWMuCisgICAgICAgICogc3ZnL1NWR0ZvbnQuY3BwOiBBZGFwdCB0byBTVkdQYWlu
dFNlcnZlciBjaGFuZ2VzIChwYWludCBzZXJ2ZXIgcmVxdWVzdCkuCisgICAgICAgIChXZWJDb3Jl
OjpGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udCk6CisgICAgICAgICogc3ZnL1NWR0dFbGVtZW50
LmNwcDogSWYgc3R5bGUoKS0+ZGlzcGxheSgpIGlzIE5PTkUsIGNyZWF0ZSBhIFJlbmRlclNWR0hp
ZGRlbkNvbnRhaW5lciwgcmVtb3ZpbmcgaGFja3MgaW4gU1ZHU3RvcEVsZW1lbnQgZm9yIHBzZXJ2
ZXJzLWdyYWQtMTktYi5zdmcgKHllcywgU1ZHIGlzIGNyYXp5LikKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0dFbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICogc3ZnL1NWR0dFbGVtZW50
Lmg6IFJlbW92ZSBjaGlsZHJlbkNoYW5nZWQoKSBtZXRob2Qgd2hpY2ggX2Fsd2F5c18gY2FsbGVk
IHJlbmRlcmVyLT5zZXROZWVkc0xheW91dCh0cnVlKSwgd2hpY2ggaXMgY29tcGxldGx5IHdyb25n
IGFuZCB1bm5lY2Vzc2FyeS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0dFbGVtZW50OjpyZW5kZXJl
cklzTmVlZGVkKTogQWx3YXlzIHJldHVybiB0cnVlLgorICAgICAgICAqIHN2Zy9TVkdHcmFkaWVu
dEVsZW1lbnQuY3BwOiBBZGFwdCB0byBuZXcgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCBjb2Rl
LgorICAgICAgICAoV2ViQ29yZTo6U1ZHR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0dyYWRpZW50RWxlbWVudDo6Y2hpbGRyZW5DaGFu
Z2VkKTogT25seSBjYWxsIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKSB3aGVuICFjaGFuZ2Vk
QnlQYXJzZXIgaXMgc2V0LgorICAgICAgICAoV2ViQ29yZTo6U1ZHR3JhZGllbnRFbGVtZW50Ojpi
dWlsZFN0b3BzKToKKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHA6IEFkYXB0IHRvIG5ldyBSZW5kZXJT
VkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IGNvZGUuCisgICAgICAgIChXZWJDb3JlOjpTVkdMaW5l
YXJHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OmNvbGxlY3RHcmFkaWVudFByb3BlcnRp
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpjYWxjdWxh
dGVTdGFydEVuZFBvaW50cyk6CisgICAgICAgICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcDogUmVuYW1lIGludmFsaWRh
dGVDYW52YXNSZXNvdXJjZXMoKSB0byBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCkuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR01hcmtlckVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IE9ubHkg
Y2FsbCBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCkgd2hlbiAhY2hhbmdlZEJ5UGFyc2VyIGlz
IHNldC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR01hcmtlckVsZW1lbnQ6OnNldE9yaWVudFRvQXV0
byk6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpzZXRPcmllbnRUb0FuZ2xl
KToKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQuY3BwOiBSZW5hbWUgaW52YWxpZGF0ZUNh
bnZhc1Jlc291cmNlcygpIHRvIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKS4KKyAgICAgICAg
KFdlYkNvcmU6OlNWR01hc2tFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR01hc2tFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOiBPbmx5IGNhbGwgaW52
YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpIHdoZW4gIWNoYW5nZWRCeVBhcnNlciBpcyBzZXQuCisg
ICAgICAgICogc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcDogUmVuYW1lIGludmFsaWRhdGVDYW52
YXNSZXNvdXJjZXMoKSB0byBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCkuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYXR0ZXJuRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQYXR0ZXJuRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKTogT25seSBjYWxs
IGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKSB3aGVuICFjaGFuZ2VkQnlQYXJzZXIgaXMgc2V0
LgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToK
KyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUG9s
eUVsZW1lbnQuaDogUmVtb3ZlIHVubmVkZWQgcmVuZGVyZXJJc05lZWRlZCgpIG92ZXJyaWRlLgor
ICAgICAgICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwOiBBZGFwdCB0byBuZXcg
UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCBjb2RlLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQ
cm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6
Y2FsY3VsYXRlRm9jYWxDZW50ZXJQb2ludHNBbmRSYWRpdXMpOgorICAgICAgICAqIHN2Zy9TVkdS
YWRpYWxHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuY3Bw
OiBDbGVhbiB1cCBjb2RlLCBtb3ZlZCBzdG9wIGNvbG9yIGNhbGN1bGF0aW9uIGZyb20gU1ZHR3Jh
ZGllbnRFbGVtZW50IHRvIGhlcmUsIHdoZXJlIGl0IGJlbG9uZ3MuCisgICAgICAgIChXZWJDb3Jl
OjpTVkdTdG9wRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHU3RvcEVsZW1lbnQ6OnN0b3BDb2xvckluY2x1ZGluZ09wYWNpdHkpOgorICAgICAgICAq
IHN2Zy9TVkdTdG9wRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1lbnQ6On5TVkdTdHlsZWRFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5n
ZWQpOiBPbmx5IGludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4oKS9kZXJlZ2lzdGVy
RnJvbVJlc291cmNlcygpIHdoZW4gd2UncmUgbm90IHBhcnNpbmcuCisgICAgICAgIChXZWJDb3Jl
OjpTVkdTdHlsZWRFbGVtZW50OjppbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3RvckNoYWluKTog
RWFybHkgZXhpdCBpZiB3ZSBmaW5kIGEgcGFyZW50IHJlc291cmNlcywgdGhlcmUgaXMgbm8gcmVz
b3VyY2UgbmVzdGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1lbnQ6OmludmFs
aWRhdGVSZXNvdXJjZUNsaWVudHMpOiBSZW5hbWVkIGZyb20gaW52YWxpZGF0ZUNhbnZhc1Jlc291
cmNlcygpCisgICAgICAgIChXZWJDb3JlOjpTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5n
ZWQpOiBPbmx5IGludmFsaWRhdGUgU1ZHRWxlbWVudEluc3RhbmNlcyB3aGVuICFjaGFuZ2VkQnlQ
YXJzZXIgaXMgc2V0LgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50Lmg6IFJlbW92ZSBj
YW52YXNSZXNvdXJjZSgpIGxvZ2ljLCByZW1vdmUgZGV0YWNoKCkgbWV0aG9kLgorICAgICAgICAq
IHN2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHUGFp
bnRTZXJ2ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2Uu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5oOiBSZW1v
dmVkLgorCiAyMDEwLTA0LTIzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAK
ICAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMzgwMzI+IE5vIG5lZWQgdG8gY29udGVudCBz
bmlmZiAzMDQgcmVzcG9uc2VzCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQubWsKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9BbmRyb2lkLm1rCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvQW5kcm9p
ZC5tawkod29ya2luZyBjb3B5KQpAQCAtODYxLDcgKzg2MSw2IEBAIExPQ0FMX1NSQ19GSUxFUyA6
PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCXN2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3Bw
IFwKIAlcCiAJc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBcCi0Jc3ZnL2dyYXBoaWNzL1NWR1Jl
c291cmNlLmNwcCBcCiAJXAogCXN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFQ29udm9sdmVNYXRy
aXguY3BwIFwKIAlzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRURpZmZ1c2VMaWdodGluZy5jcHAg
XApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJD
b3JlLmd5cGkJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtp
bmcgY29weSkKQEAgLTM0MDMsOSArMzQwMyw2IEBACiAgICAgICAgICAgICAnc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHU3BvdExpZ2h0U291cmNlLmgnLAogICAgICAgICAgICAgJ3N2Zy9ncmFwaGlj
cy9TVkdJbWFnZS5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5oJywK
LSAgICAgICAgICAgICdzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaCcsCi0gICAgICAgICAg
ICAnc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcCcsCi0gICAgICAgICAgICAnc3ZnL2dyYXBo
aWNzL1NWR1Jlc291cmNlLmgnLAogICAgICAgICAgICAgJ3N2Zy9Db2xvckRpc3RhbmNlLmNwcCcs
CiAgICAgICAgICAgICAnc3ZnL0NvbG9yRGlzdGFuY2UuaCcsCiAgICAgICAgICAgICAnc3ZnL0Vs
ZW1lbnRUaW1lQ29udHJvbC5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL1dl
YkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xODE5LDggKzE4MTksNiBAQCBIRUFERVJTICs9
IFwKICAgICBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaCBcCiAgICAgc3ZnL2dyYXBo
aWNzL2ZpbHRlcnMvU1ZHTGlnaHRTb3VyY2UuaCBcCiAgICAgc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmggXAotICAgIHN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlci5oIFwKLSAgICBzdmcvZ3JhcGhp
Y3MvU1ZHUmVzb3VyY2UuaCBcCiAgICAgc3ZnL1NWR0FFbGVtZW50LmggXAogICAgIHN2Zy9TVkdB
bHRHbHlwaEVsZW1lbnQuaCBcCiAgICAgc3ZnL1NWR0FuZ2xlLmggXApAQCAtMjY4NSw3ICsyNjgz
LDYgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7CiAgICAgICAgIHN2Zy9ncmFw
aGljcy9maWx0ZXJzL1NWR0ZpbHRlckJ1aWxkZXIuY3BwIFwKICAgICAgICAgc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHTGlnaHRTb3VyY2UuY3BwIFwKICAgICAgICAgc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmNwcCBcCi0gICAgICAgIHN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHAgXAogICAgICAg
ICByZW5kZXJpbmcvUmVuZGVyRm9yZWlnbk9iamVjdC5jcHAgXAogICAgICAgICByZW5kZXJpbmcv
UmVuZGVyUGF0aC5jcHAgXAogICAgICAgICByZW5kZXJpbmcvUmVuZGVyU1ZHQmxvY2suY3BwIFwK
SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNTgxNTkp
CisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC00MjM1MywxOCArNDIzNTMsNiBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xncmFw
aGljc1xTVkdJbWFnZS5oIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xncmFwaGljc1xTVkdQYWludFNlcnZlci5oIg0KLQkJCQkJ
Pg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xn
cmFwaGljc1xTVkdSZXNvdXJjZS5jcHAiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZp
bGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3ZnXGdyYXBoaWNzXFNWR1Jlc291cmNlLmgiDQot
CQkJCQk+DQotCQkJCTwvRmlsZT4NCiAJCQkJPEZpbHRlcg0KIAkJCQkJTmFtZT0iZmlsdGVycyIN
CiAJCQkJCT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTQzLDkgKzE0Myw2IEBACiAJCTA4QTQ4NDc3MEU1
MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QTQ4NDc1MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3Jp
cHRFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDhBNDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlw
dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA4QTQ4NDc2MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmggKi87IH07CiAJCTA4
QTQ4QTZFMEU4NkNGNkQwMEUyMjVERCAvKiBKU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEE0OEE2RDBF
ODZDRjZEMDBFMjI1REQgLyogSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwICovOyB9Owot
CQkwOEE3RTkyNzExODA1RURBMDBEMEI4NzAgLyogU1ZHUGFpbnRTZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QTdFOTI2MTE4MDVFREEwMEQw
Qjg3MCAvKiBTVkdQYWludFNlcnZlci5oICovOyB9OwotCQkwOEE3RTkyQjExODA1RUYxMDBEMEI4
NzAgLyogU1ZHUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA4QTdFOTJBMTE4MDVFRjEwMEQwQjg3MCAvKiBTVkdSZXNvdXJjZS5oICovOyB9
OwotCQkwOEE3RTkyRjExODA1RUZEMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhBN0U5MkUxMTgwNUVGRDAw
RDBCODcwIC8qIFNWR1Jlc291cmNlLmNwcCAqLzsgfTsKIAkJMDhDMzRBRjUxMTc5QzA1NzAwMkQ3
NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjExMTc5QzA1NjAwMkQ3NDU2IC8qIFJl
bmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwICovOyB9OwogCQkwOEMzNEFGNjExNzlDMDU3MDAy
RDc0NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjIxMTc5QzA1NzAwMkQ3NDU2IC8qIFJl
bmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCAqLzsgfTsKIAkJMDhDMzRBRjcxMTc5QzA1NzAwMkQ3
NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjMxMTc5QzA1NzAwMkQ3NDU2
IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwICovOyB9OwpAQCAtNTUxNCw5
ICs1NTExLDYgQEAKIAkJMDhBNDg0NzUwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0RWxlbWVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4QTQ4NDc2MEU1MjcyQzUwMEMzRkU3
NiAvKiBTY3JpcHRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNj
cmlwdEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhBNDhBNkQwRTg2
Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDhBN0U5MjYxMTgwNUVEQTAwRDBCODcw
IC8qIFNWR1BhaW50U2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R1BhaW50U2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4QTdFOTJBMTE4
MDVFRjEwMEQwQjg3MCAvKiBTVkdSZXNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwOEE3
RTkyRTExODA1RUZEMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUmVzb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwOEMzNEFGMTExNzlDMDU2MDAyRDc0NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VH
cmFkaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhD
MzRBRjIxMTc5QzA1NzAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEMzNEFGMzExNzlDMDU3MDAyRDc0NTYg
LyogUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTEwLDkgKzE0NTA0LDYgQEAKIAkJCQlC
MjU1OTg5QzBEMDBEOEI4MDBCQjgyNUMgLyogZmlsdGVycyAqLywKIAkJCQlCMjU1OTkwQjBEMDBE
OEI5MDBCQjgyNUMgLyogU1ZHSW1hZ2UuY3BwICovLAogCQkJCUIyNTU5OTBDMEQwMEQ4QjkwMEJC
ODI1QyAvKiBTVkdJbWFnZS5oICovLAotCQkJCTA4QTdFOTI2MTE4MDVFREEwMEQwQjg3MCAvKiBT
VkdQYWludFNlcnZlci5oICovLAotCQkJCTA4QTdFOTJFMTE4MDVFRkQwMEQwQjg3MCAvKiBTVkdS
ZXNvdXJjZS5jcHAgKi8sCi0JCQkJMDhBN0U5MkExMTgwNUVGMTAwRDBCODcwIC8qIFNWR1Jlc291
cmNlLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGdyYXBoaWNzOwogCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKQEAgLTE4ODY3LDggKzE4ODU4LDYgQEAKIAkJCQkwRkQzMDgwRjExN0NGN0U3MDBB
NzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkQzMDhENjEx
N0QxNjg1MDBBNzkxRjcgLyogUmVuZGVySUZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEM2
QTdBQzExN0RGQkFCMDBGRUExQTIgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmggaW4g
SGVhZGVycyAqLywKLQkJCQkwOEE3RTkyNzExODA1RURBMDBEMEI4NzAgLyogU1ZHUGFpbnRTZXJ2
ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4QTdFOTJCMTE4MDVFRjEwMEQwQjg3MCAvKiBTVkdS
ZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMTEwNCw3ICsyMTA5Myw2IEBACiAJCQkJMEZE
MzA4RDUxMTdEMTY4NTAwQTc5MUY3IC8qIFJlbmRlcklGcmFtZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwOEM2QTdBQjExN0RGQkFCMDBGRUExQTIgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3Mzg4OUEwMTE2RUE5REMwMEFERjMxMyAvKiBE
b2N1bWVudFdyaXRlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwOEE3RTkyRjExODA1RUZEMDBE
MEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyArOTYs
MTQgQEAgdm9pZCBHcmFkaWVudDo6YWRkQ29sb3JTdG9wKGZsb2F0IHZhbHVlLAogICAgIG1fc3Rv
cHMuYXBwZW5kKENvbG9yU3RvcCh2YWx1ZSwgciwgZywgYiwgYSkpOwogCiAgICAgbV9zdG9wc1Nv
cnRlZCA9IGZhbHNlOworICAgIHBsYXRmb3JtRGVzdHJveSgpOworfQogCit2b2lkIEdyYWRpZW50
OjphZGRDb2xvclN0b3AoY29uc3QgR3JhZGllbnQ6OkNvbG9yU3RvcCYgc3RvcCkKK3sKKyAgICBt
X3N0b3BzLmFwcGVuZChzdG9wKTsKKworICAgIG1fc3RvcHNTb3J0ZWQgPSBmYWxzZTsKICAgICBw
bGF0Zm9ybURlc3Ryb3koKTsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFkaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGll
bnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRp
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB9CiAgICAgICAgIHZpcnR1YWwgfkdyYWRpZW50KCk7CiAKKyAgICAgICAgc3Ry
dWN0IENvbG9yU3RvcDsKKyAgICAgICAgdm9pZCBhZGRDb2xvclN0b3AoY29uc3QgQ29sb3JTdG9w
Jik7CiAgICAgICAgIHZvaWQgYWRkQ29sb3JTdG9wKGZsb2F0LCBjb25zdCBDb2xvciYpOwogCiAg
ICAgICAgIHZvaWQgZ2V0Q29sb3IoZmxvYXQgdmFsdWUsIGZsb2F0KiByLCBmbG9hdCogZywgZmxv
YXQqIGIsIGZsb2F0KiBhKSBjb25zdDsKQEAgLTkyLDcgKzk0LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBmbG9hdCByMCgpIGNvbnN0IHsgcmV0dXJuIG1fcjA7IH0KICAgICAgICAg
ZmxvYXQgcjEoKSBjb25zdCB7IHJldHVybiBtX3IxOyB9CiAgICAgICAgIGJvb2wgaXNSYWRpYWwo
KSBjb25zdCB7IHJldHVybiBtX3JhZGlhbDsgfQotICAgICAgICBzdHJ1Y3QgQ29sb3JTdG9wOwog
ICAgICAgICBjb25zdCBWZWN0b3I8Q29sb3JTdG9wPiYgZ2V0U3RvcHMoKSBjb25zdDsKICNlbHNl
CiAgICAgICAgIFBsYXRmb3JtR3JhZGllbnQgcGxhdGZvcm1HcmFkaWVudCgpOwpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0OwotY2xhc3MgU1ZH
UGFpbnRTZXJ2ZXI7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZTsKIAogY2xhc3MgVGV4dFJ1biB7
CiBwdWJsaWM6CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2Rpc2FibGVT
cGFjaW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVu
Y2luZ1JlbmRlck9iamVjdCgwKQotICAgICAgICAsIG1fYWN0aXZlUGFpbnRTZXJ2ZXIoMCkKKyAg
ICAgICAgLCBtX2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UoMCkKICNlbmRpZgogICAgIHsKICAgICB9
CkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZh
bHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRl
ck9iamVjdCgwKQotICAgICAgICAsIG1fYWN0aXZlUGFpbnRTZXJ2ZXIoMCkKKyAgICAgICAgLCBt
X2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UoMCkKICNlbmRpZgogICAgIHsKICAgICB9CkBAIC05OCw4
ICs5OCw4IEBAIHB1YmxpYzoKICAgICBSZW5kZXJPYmplY3QqIHJlZmVyZW5jaW5nUmVuZGVyT2Jq
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWZlcmVuY2luZ1JlbmRlck9iamVjdDsgfQogICAgIHZv
aWQgc2V0UmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoUmVuZGVyT2JqZWN0KiBvYmplY3QpIHsgbV9y
ZWZlcmVuY2luZ1JlbmRlck9iamVjdCA9IG9iamVjdDsgfQogCi0gICAgU1ZHUGFpbnRTZXJ2ZXIq
IGFjdGl2ZVBhaW50U2VydmVyKCkgY29uc3QgeyByZXR1cm4gbV9hY3RpdmVQYWludFNlcnZlcjsg
fQotICAgIHZvaWQgc2V0QWN0aXZlUGFpbnRTZXJ2ZXIoU1ZHUGFpbnRTZXJ2ZXIqIG9iamVjdCkg
eyBtX2FjdGl2ZVBhaW50U2VydmVyID0gb2JqZWN0OyB9CisgICAgUmVuZGVyU1ZHUmVzb3VyY2Uq
IGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX2FjdGl2ZVBhaW50aW5n
UmVzb3VyY2U7IH0KKyAgICB2b2lkIHNldEFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoUmVuZGVyU1ZH
UmVzb3VyY2UqIG9iamVjdCkgeyBtX2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UgPSBvYmplY3Q7IH0K
ICNlbmRpZgogCiBwcml2YXRlOgpAQCAtMTE3LDcgKzExNyw3IEBAIHByaXZhdGU6CiAKICNpZiBF
TkFCTEUoU1ZHX0ZPTlRTKQogICAgIFJlbmRlck9iamVjdCogbV9yZWZlcmVuY2luZ1JlbmRlck9i
amVjdDsKLSAgICBTVkdQYWludFNlcnZlciogbV9hY3RpdmVQYWludFNlcnZlcjsKKyAgICBSZW5k
ZXJTVkdSZXNvdXJjZSogbV9hY3RpdmVQYWludGluZ1Jlc291cmNlOwogI2VuZGlmCiB9OwogCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRXaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29u
dGV4dFdpbi5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsOCArNDMs
NiBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFNWR1Jlc291cmNlSW1hZ2U7Ci0KIHN0YXRpYyB2b2lkIGZpbGxXaXRoQ2xlYXJDb2xvcihIQklU
TUFQIGJpdG1hcCkKIHsKICAgICBCSVRNQVAgYm1wSW5mbzsKQEAgLTE5OSwxMyArMTk3LDQgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGU6OmNvbgogICAgIE1vZGlmeVdvcmxk
VHJhbnNmb3JtKG1faGRjLCAmeGZvcm0sIE1XVF9MRUZUTVVMVElQTFkpOwogfQogCi0jaWYgRU5B
QkxFKFNWRykKLUdyYXBoaWNzQ29udGV4dCogY29udGV4dEZvckltYWdlKFNWR1Jlc291cmNlSW1h
Z2UqKQotewotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBnbyBpbiBHcmFwaGljc0NvbnRleHRD
Ry5jcHAKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOwotfQotI2VuZGlmCi0K
IH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAkocmV2aXNpb24gNTgxNTkpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02
Niw3ICs2Niw3IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVuZGVy
U1ZHUmVzb3VyY2UuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgog
I2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKICNlbmRpZgogCkBAIC0yNDk3LDcgKzI0OTcs
NyBAQCBjb25zdCBTVkdSZW5kZXJCYXNlKiBSZW5kZXJPYmplY3Q6OnRvU1ZHCiAgICAgcmV0dXJu
IDA7CiB9CiAKLVJlbmRlclNWR1Jlc291cmNlKiBSZW5kZXJPYmplY3Q6OnRvUmVuZGVyU1ZHUmVz
b3VyY2UoKQorUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIFJlbmRlck9iamVjdDo6dG9SZW5k
ZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgcmV0dXJuIDA7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gNTgx
NTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBjb3B5KQpA
QCAtNTQsNyArNTQsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZTsKIGNsYXNzIFRyYW5zZm9ybVN0YXRl
OwogY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogI2lmIEVOQUJMRShTVkcpCi1jbGFzcyBSZW5kZXJT
VkdSZXNvdXJjZTsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZH
UmVuZGVyQmFzZTsKICNlbmRpZgogCkBAIC0zMzIsMTYgKzMzMiwxNyBAQCBwdWJsaWM6CiAgICAg
Ly8gdG8gYWRkIFNWRyByZW5kZXJlciBtZXRob2RzIHRvIFJlbmRlck9iamVjdCB3aXRoIGFuIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCiAgICAgdmlydHVhbCBi
b29sIGlzU1ZHUm9vdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzU1ZHQ29udGFpbmVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgaXNTVkdHcmFkaWVudFN0b3AoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgYm9vbCBpc1NWR0hpZGRlbkNvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCBib29sIGlzUmVuZGVyUGF0aCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCBib29sIGlzU1ZHVGV4dCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIGlzU1ZHSW1hZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCBpc1NWR0ZvcmVpZ25PYmplY3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQot
ICAgIHZpcnR1YWwgYm9vbCBpc1NWR1Jlc291cmNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdSZXNvdXJjZUNvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU1ZHU2hhZG93VHJlZVJvb3RDb250YWluZXIo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCBjb25zdCBTVkdSZW5kZXJC
YXNlKiB0b1NWR1JlbmRlckJhc2UoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291
cmNlKiB0b1JlbmRlclNWR1Jlc291cmNlKCk7CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lciogdG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpOwogCiAgICAgLy8gRklY
TUU6IFRob3NlIGJlbG9uZyBpbnRvIGEgU1ZHIHNwZWNpZmljIGJhc2UtY2xhc3MgZm9yIGFsbCBy
ZW5kZXJlcnMgKHNlZSBhYm92ZSkKICAgICAvLyBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhhdmUg
c3VjaCBhIGNsYXNzIHlldCwgYmVjYXVzZSBpdCdzIG5vdCBwb3NzaWJsZSBmb3IgYWxsIHJlbmRl
cmVycwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQsNiAr
NCw3IEBACiAgICAgICAgICAgICAgICAgICAyMDA1LCAyMDA3IEVyaWMgU2VpZGVsIDxlcmljQHdl
YmtpdC5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA5IEdvb2dsZSwgSW5jLgogICAgICAgICAg
ICAgICAgICAgMjAwOSBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KKyAgICBDb3B5cmln
aHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTM0LDcgKzM1LDYgQEAKICNpbmNsdWRlICJSZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTWFya2Vy
LmgiCiAjaW5jbHVkZSAiU3Ryb2tlU3R5bGVBcHBsaWVyLmgiCi0jaW5jbHVkZSAiU1ZHUGFpbnRT
ZXJ2ZXIuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCiAjaW5jbHVkZSAiU1ZHU3R5
bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0Lmgi
CkBAIC03Niw3ICs3Niw3IEBAIGJvb2wgUmVuZGVyUGF0aDo6ZmlsbENvbnRhaW5zKGNvbnN0IEZs
b2EKICAgICBpZiAobV9wYXRoLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgaWYgKHJlcXVpcmVzRmlsbCAmJiAhU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZlcihz
dHlsZSgpLCB0aGlzKSkKKyAgICBpZiAocmVxdWlyZXNGaWxsICYmICFSZW5kZXJTVkdSZXNvdXJj
ZTo6ZmlsbFBhaW50aW5nUmVzb3VyY2UodGhpcywgc3R5bGUoKSkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIHJldHVybiBtX3BhdGguY29udGFpbnMocG9pbnQsIHN0eWxlKCktPnN2Z1N0
eWxlKCktPmZpbGxSdWxlKCkpOwpAQCAtODcsNyArODcsNyBAQCBib29sIFJlbmRlclBhdGg6OnN0
cm9rZUNvbnRhaW5zKGNvbnN0IEZsCiAgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIGlmIChyZXF1aXJlc1N0cm9rZSAmJiAhU1ZHUGFpbnRTZXJ2
ZXI6OnN0cm9rZVBhaW50U2VydmVyKHN0eWxlKCksIHRoaXMpKQorICAgIGlmIChyZXF1aXJlc1N0
cm9rZSAmJiAhUmVuZGVyU1ZHUmVzb3VyY2U6OnN0cm9rZVBhaW50aW5nUmVzb3VyY2UodGhpcywg
c3R5bGUoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEJvdW5kaW5nUmVjdFN0cm9r
ZVN0eWxlQXBwbGllciBzdHJva2VTdHlsZSh0aGlzLCBzdHlsZSgpKTsKQEAgLTE5OCwyMCArMTk4
LDIwIEBAIHZvaWQgUmVuZGVyUGF0aDo6bGF5b3V0KCkKICAgICBzZXROZWVkc0xheW91dChmYWxz
ZSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBmaWxsQW5kU3Ryb2tlUGF0aChjb25zdCBQYXRo
JiBwYXRoLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVu
ZGVyUGF0aCogb2JqZWN0KQorc3RhdGljIGlubGluZSB2b2lkIGZpbGxBbmRTdHJva2VQYXRoKGNv
bnN0IFBhdGgmIHBhdGgsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgUmVuZGVyUGF0aCogb2Jq
ZWN0KQogewogICAgIGNvbnRleHQtPmJlZ2luUGF0aCgpOwogCi0gICAgU1ZHUGFpbnRTZXJ2ZXIq
IGZpbGxQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpmaWxsUGFpbnRTZXJ2ZXIoc3R5bGUs
IG9iamVjdCk7Ci0gICAgaWYgKGZpbGxQYWludFNlcnZlcikgeworICAgIGlmIChSZW5kZXJTVkdS
ZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6ZmlsbFBh
aW50aW5nUmVzb3VyY2Uob2JqZWN0LCBvYmplY3QtPnN0eWxlKCkpKSB7CiAgICAgICAgIGNvbnRl
eHQtPmFkZFBhdGgocGF0aCk7Ci0gICAgICAgIGZpbGxQYWludFNlcnZlci0+ZHJhdyhjb250ZXh0
LCBvYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSk7CisgICAgICAgIGlmIChmaWxsUGFpbnRp
bmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSwgY29udGV4
dCwgQXBwbHlUb0ZpbGxNb2RlKSkKKyAgICAgICAgICAgIGZpbGxQYWludGluZ1Jlc291cmNlLT5w
b3N0QXBwbHlSZXNvdXJjZShvYmplY3QsIGNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSk7CiAgICAg
fQotICAgIAotICAgIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZlciA9IFNWR1BhaW50
U2VydmVyOjpzdHJva2VQYWludFNlcnZlcihzdHlsZSwgb2JqZWN0KTsKLSAgICBpZiAoc3Ryb2tl
UGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgY29udGV4dC0+YWRkUGF0aChwYXRoKTsgLy8gcGF0aCBp
cyBjbGVhcmVkIHdoZW4gZmlsbGVkLgotICAgICAgICBzdHJva2VQYWludFNlcnZlci0+ZHJhdyhj
b250ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlKTsKKworICAgIGlmIChSZW5k
ZXJTVkdSZXNvdXJjZSogc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jlc291cmNl
OjpzdHJva2VQYWludGluZ1Jlc291cmNlKG9iamVjdCwgb2JqZWN0LT5zdHlsZSgpKSkgeworICAg
ICAgICBjb250ZXh0LT5hZGRQYXRoKHBhdGgpOworICAgICAgICBpZiAoc3Ryb2tlUGFpbnRpbmdS
ZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSwgY29udGV4dCwg
QXBwbHlUb1N0cm9rZU1vZGUpKQorICAgICAgICAgICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZS0+
cG9zdEFwcGx5UmVzb3VyY2Uob2JqZWN0LCBjb250ZXh0LCBBcHBseVRvU3Ryb2tlTW9kZSk7CiAg
ICAgfQogfQogCkBAIC0yNDEsNyArMjQxLDcgQEAgdm9pZCBSZW5kZXJQYXRoOjpwYWludChQYWlu
dEluZm8mIHBhaW50SQogICAgICAgICAgICAgaWYgKHByZXBhcmVUb1JlbmRlclNWR0NvbnRlbnQo
dGhpcywgY2hpbGRQYWludEluZm8sIGJvdW5kaW5nQm94LCBmaWx0ZXIpKSB7CiAgICAgICAgICAg
ICAgICAgaWYgKHN0eWxlKCktPnN2Z1N0eWxlKCktPnNoYXBlUmVuZGVyaW5nKCkgPT0gU1JfQ1JJ
U1BFREdFUykKICAgICAgICAgICAgICAgICAgICAgY2hpbGRQYWludEluZm8uY29udGV4dC0+c2V0
U2hvdWxkQW50aWFsaWFzKGZhbHNlKTsKLSAgICAgICAgICAgICAgICBmaWxsQW5kU3Ryb2tlUGF0
aChtX3BhdGgsIGNoaWxkUGFpbnRJbmZvLmNvbnRleHQsIHN0eWxlKCksIHRoaXMpOworICAgICAg
ICAgICAgICAgIGZpbGxBbmRTdHJva2VQYXRoKG1fcGF0aCwgY2hpbGRQYWludEluZm8uY29udGV4
dCwgdGhpcyk7CiAKICAgICAgICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxl
bWVudCo+KG5vZGUoKSktPnN1cHBvcnRzTWFya2VycygpKQogICAgICAgICAgICAgICAgICAgICBt
X21hcmtlckxheW91dEluZm8uZHJhd01hcmtlcnMoY2hpbGRQYWludEluZm8pOwpJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuY3BwCShyZXZpc2lvbiA1ODE1
OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRpZW50U3RvcC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ4LDEwICs0OCw4IEBAIHZvaWQgUmVuZGVyU1ZHR3JhZGllbnRTdG9wOjpz
dHlsZURpZENoYW4KIAogICAgIC8vIDxzdG9wPiBlbGVtZW50cyBzaG91bGQgb25seSBiZSBhbGxv
d2VkIHRvIG1ha2UgcmVuZGVyZXJzIHVuZGVyIGdyYWRpZW50IGVsZW1lbnRzCiAgICAgLy8gYnV0
IEkgY2FuIGltYWdpbmUgYSBmZXcgY2FzZXMgd2UgbWlnaHQgbm90IGJlIGNhdGNoaW5nLCBzbyBs
ZXQncyBub3QgY3Jhc2ggaWYgb3VyIHBhcmVudCBpc24ndCBhIGdyYWRpZW50LgotICAgIGlmIChT
VkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50ID0gZ3JhZGllbnRFbGVtZW50KCkpIHsKLSAgICAg
ICAgaWYgKFNWR1Jlc291cmNlKiByZXNvdXJjZSA9IGdyYWRpZW50LT5jYW52YXNSZXNvdXJjZSh0
aGlzKSkKLSAgICAgICAgICAgIHJlc291cmNlLT5pbnZhbGlkYXRlKCk7Ci0gICAgfQorICAgIGlm
IChTVkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50ID0gZ3JhZGllbnRFbGVtZW50KCkpCisgICAg
ICAgIGdyYWRpZW50LT5pbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wOjpsYXlvdXQoKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHR3JhZGllbnRTdG9wLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDMyICsyNyw0
MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgU1ZHR3JhZGllbnRF
bGVtZW50OwotICAgIGNsYXNzIFNWR1N0b3BFbGVtZW50OwotICAgIAotICAgIC8vIFRoaXMgY2xh
c3MgZXhpc3RzIG1vc3RseSBzbyB3ZSBjYW4gaGVhciBhYm91dCBncmFkaWVudCBzdG9wIHN0eWxl
IGNoYW5nZXMKLSAgICBjbGFzcyBSZW5kZXJTVkdHcmFkaWVudFN0b3AgOiBwdWJsaWMgUmVuZGVy
T2JqZWN0IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcChTVkdT
dG9wRWxlbWVudCopOwotICAgICAgICB2aXJ0dWFsIH5SZW5kZXJTVkdHcmFkaWVudFN0b3AoKTsK
LQotICAgICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVy
biAiUmVuZGVyU1ZHR3JhZGllbnRTdG9wIjsgfQotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBsYXlv
dXQoKTsKLQotICAgICAgICAvLyBUaGlzIG92ZXJyaWRlcyBhcmUgbmVlZGVkIHRvIHByZXZlbnQg
QVNTRVJUcyBvbiA8c3ZnPjxzdG9wIC8+PC9zdmc+Ci0gICAgICAgIC8vIFJlbmRlck9iamVjdCdz
IGRlZmF1bHQgaW1wbGVtZW50YXRpb25zIEFTU0VSVF9OT1RfUkVBQ0hFRCgpCi0gICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQwMAotICAgICAgICB2
aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqKSB7IHJldHVybiBJbnRSZWN0KCk7IH0KLSAgICAgICAgdmlydHVhbCBGbG9hdFJl
Y3Qgb2JqZWN0Qm91bmRpbmdCb3goKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQotICAg
ICAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpIGNv
bnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9Ci0KLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZp
cnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0
eWxlKiBvbGRTdHlsZSk7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTVkdHcmFkaWVudEVsZW1l
bnQqIGdyYWRpZW50RWxlbWVudCgpIGNvbnN0OwotICAgIH07CitjbGFzcyBTVkdHcmFkaWVudEVs
ZW1lbnQ7CitjbGFzcyBTVkdTdG9wRWxlbWVudDsKKworLy8gVGhpcyBjbGFzcyBleGlzdHMgbW9z
dGx5IHNvIHdlIGNhbiBoZWFyIGFib3V0IGdyYWRpZW50IHN0b3Agc3R5bGUgY2hhbmdlcworY2xh
c3MgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIDogcHVibGljIFJlbmRlck9iamVjdCB7CitwdWJsaWM6
CisgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wKFNWR1N0b3BFbGVtZW50Kik7CisgICAgdmlydHVh
bCB+UmVuZGVyU1ZHR3JhZGllbnRTdG9wKCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdHcmFk
aWVudFN0b3AoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBjb25zdCBjaGFy
KiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR0dyYWRpZW50U3RvcCI7IH0K
KworICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKKworICAgIC8vIFRoaXMgb3ZlcnJpZGVzIGFy
ZSBuZWVkZWQgdG8gcHJldmVudCBBU1NFUlRzIG9uIDxzdmc+PHN0b3AgLz48L3N2Zz4KKyAgICAv
LyBSZW5kZXJPYmplY3QncyBkZWZhdWx0IGltcGxlbWVudGF0aW9ucyBBU1NFUlRfTk9UX1JFQUNI
RUQoKQorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQw
MAorICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5k
ZXJCb3hNb2RlbE9iamVjdCopIHsgcmV0dXJuIEludFJlY3QoKTsgfQorICAgIHZpcnR1YWwgRmxv
YXRSZWN0IG9iamVjdEJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0K
KyAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpIGNv
bnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIHZv
aWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xk
U3R5bGUpOworCitwcml2YXRlOgorICAgIFNWR0dyYWRpZW50RWxlbWVudCogZ3JhZGllbnRFbGVt
ZW50KCkgY29uc3Q7Cit9OworCitpbmxpbmUgY29uc3QgUmVuZGVyU1ZHR3JhZGllbnRTdG9wKiB0
b1JlbmRlclNWR0dyYWRpZW50U3RvcChjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sKKyAg
ICBBU1NFUlQoIW9iamVjdCB8fCBvYmplY3QtPmlzU1ZHR3JhZGllbnRTdG9wKCkpOworICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJTVkdHcmFkaWVudFN0b3AqPihvYmplY3QpOwor
fQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNWR1Jlc291cmNlLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIsMjc2ICsyLDIwMSBA
QAogICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBr
ZGUub3JnPgogICogICAgICAgICAgICAgICAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAg
KiAgICAgICAgICAgICAgIDIwMDggRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+CisgKiBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAi
U1ZHUGFpbnRTZXJ2ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogCi0jaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCi0j
aW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCIKLSNpbmNs
dWRlICJSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNs
dWRlICJTVkdVUklSZWZlcmVuY2UuaCIKIAotI2lmIFBMQVRGT1JNKFNLSUEpCi0jaW5jbHVkZSAi
UGxhdGZvcm1Db250ZXh0U2tpYS5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
U1ZHUGFpbnRTZXJ2ZXI6OlNWR1BhaW50U2VydmVyKCkKK3N0YXRpYyBpbmxpbmUgdm9pZCByZWdp
c3RlclBlbmRpbmdSZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBjb25zdCBTVkdQYWlu
dDo6U1ZHUGFpbnRUeXBlJiBwYWludFR5cGUsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQog
ewotfQorICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJKQor
ICAgICAgICByZXR1cm47CiAKLVNWR1BhaW50U2VydmVyOjp+U1ZHUGFpbnRTZXJ2ZXIoKQotewot
fQorICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4o
b2JqZWN0LT5ub2RlKCkpOworICAgIEFTU0VSVChzdmdFbGVtZW50KTsKKyAgICBBU1NFUlQoc3Zn
RWxlbWVudC0+aXNTdHlsZWQoKSk7CiAKLVRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVh
bSYgdHMsIGNvbnN0IFNWR1BhaW50U2VydmVyJiBwYWludFNlcnZlcikKLXsKLSAgICByZXR1cm4g
cGFpbnRTZXJ2ZXIuZXh0ZXJuYWxSZXByZXNlbnRhdGlvbih0cyk7CisgICAgb2JqZWN0LT5kb2N1
bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNvdXJjZShpZCwgc3Rh
dGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsKIH0KIAotU1ZHUGFpbnRT
ZXJ2ZXIqIGdldFBhaW50U2VydmVyQnlJZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0b21p
Y1N0cmluZyYgaWQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGluZSB2
b2lkIGFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBi
b29sIHVzZUZpbGxQYWludCwgQ29sb3ImIGNvbG9yKQogewotICAgIFNWR1Jlc291cmNlKiByZXNv
dXJjZSA9IGdldFJlc291cmNlQnlJZChkb2N1bWVudCwgaWQsIG9iamVjdCk7Ci0gICAgaWYgKHJl
c291cmNlICYmIHJlc291cmNlLT5pc1BhaW50U2VydmVyKCkpCi0gICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxTVkdQYWludFNlcnZlcio+KHJlc291cmNlKTsKKyAgICBpZiAoc3R5bGUtPmluc2lk
ZUxpbmsoKSAhPSBJbnNpZGVWaXNpdGVkTGluaykKKyAgICAgICAgcmV0dXJuOwogCi0gICAgcmV0
dXJuIDA7Ci19CisgICAgUmVuZGVyU3R5bGUqIHZpc2l0ZWRTdHlsZSA9IHN0eWxlLT5nZXRDYWNo
ZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTkspOworICAgIFNWR1BhaW50KiB2aXNpdGVkUGFpbnQg
PSB1c2VGaWxsUGFpbnQgPyB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPmZpbGxQYWludCgpIDog
dmlzaXRlZFN0eWxlLT5zdmdTdHlsZSgpLT5zdHJva2VQYWludCgpOworICAgIGlmICh2aXNpdGVk
UGFpbnQtPnBhaW50VHlwZSgpID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSSkKKyAgICAg
ICAgcmV0dXJuOworICAgICAgICAKKyAgICBDb2xvciB2aXNpdGVkQ29sb3I7CisgICAgaWYgKHZp
c2l0ZWRQYWludC0+cGFpbnRUeXBlKCkgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfQ1VSUkVO
VENPTE9SKQorICAgICAgICB2aXNpdGVkQ29sb3IgPSB2aXNpdGVkU3R5bGUtPmNvbG9yKCk7Cisg
ICAgZWxzZQorICAgICAgICB2aXNpdGVkQ29sb3IgPSB2aXNpdGVkUGFpbnQtPmNvbG9yKCk7CiAK
LVNWR1BhaW50U2VydmVyU29saWQqIFNWR1BhaW50U2VydmVyOjpzaGFyZWRTb2xpZFBhaW50U2Vy
dmVyKCkKLXsKLSAgICBzdGF0aWMgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCogX3NoYXJlZFNvbGlkUGFp
bnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlclNvbGlkOjpjcmVhdGUoKS5yZWxlYXNlUmVmKCk7Ci0g
ICAgCi0gICAgcmV0dXJuIF9zaGFyZWRTb2xpZFBhaW50U2VydmVyOworICAgIGlmICh2aXNpdGVk
Q29sb3IuaXNWYWxpZCgpKQorICAgICAgICBjb2xvciA9IENvbG9yKHZpc2l0ZWRDb2xvci5yZWQo
KSwgdmlzaXRlZENvbG9yLmdyZWVuKCksIHZpc2l0ZWRDb2xvci5ibHVlKCksIGNvbG9yLmFscGhh
KCkpOwogfQogCi1TVkdQYWludFNlcnZlciogU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZl
cihjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlck9iamVjdCogaXRlbSkKKy8v
IEZJWE1FOiBUaGlzIG1ldGhvZCBhbmQgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSgpIHNob3VsZCBi
ZSByZWZhY3RvcmVkLCB0byBzaGFyZSBldmVuIG1vcmUgY29kZQorUmVuZGVyU1ZHUmVzb3VyY2Uq
IFJlbmRlclNWR1Jlc291cmNlOjpmaWxsUGFpbnRpbmdSZXNvdXJjZShjb25zdCBSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlKQogewotICAgIGlmICghc3R5bGUt
PnN2Z1N0eWxlKCktPmhhc0ZpbGwoKSkKKyAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBBU1NFUlQo
c3R5bGUpOworCisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2
Z1N0eWxlKCk7CisgICAgaWYgKCFzdmdTdHlsZSB8fCAhc3ZnU3R5bGUtPmhhc0ZpbGwoKSkKICAg
ICAgICAgcmV0dXJuIDA7CiAKLSAgICBTVkdQYWludCogZmlsbCA9IHN0eWxlLT5zdmdTdHlsZSgp
LT5maWxsUGFpbnQoKTsKLSAgICAgICAgCi0gICAgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNl
cnZlciA9IDA7Ci0gICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBmaWxsLT5w
YWludFR5cGUoKTsKLSAgICBpZiAocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBF
X1VSSSB8fAotICAgICAgICBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJ
X1JHQkNPTE9SKSB7Ci0gICAgICAgIEF0b21pY1N0cmluZyBpZChTVkdVUklSZWZlcmVuY2U6Omdl
dFRhcmdldChmaWxsLT51cmkoKSkpOwotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBnZXRQYWlu
dFNlcnZlckJ5SWQoaXRlbS0+ZG9jdW1lbnQoKSwgaWQsIGl0ZW0pOwotCi0gICAgICAgIFNWR0Vs
ZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaXRlbS0+bm9kZSgp
KTsKLSAgICAgICAgQVNTRVJUKHN2Z0VsZW1lbnQgJiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKSAm
JiBzdmdFbGVtZW50LT5pc1N0eWxlZCgpKTsKLQotICAgICAgICBpZiAoaXRlbS0+aXNSZW5kZXJQ
YXRoKCkgJiYgZmlsbFBhaW50U2VydmVyKQotICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyLT5h
ZGRDbGllbnQoc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsKLSAg
ICAgICAgZWxzZSBpZiAoIWZpbGxQYWludFNlcnZlciAmJiBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6
OlNWR19QQUlOVFRZUEVfVVJJKQotICAgICAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKS0+
YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2UoaWQsIHN0YXRpY19jYXN0
PFNWR1N0eWxlZEVsZW1lbnQqPihzdmdFbGVtZW50KSk7IAorICAgIFNWR1BhaW50KiBmaWxsUGFp
bnQgPSBzdmdTdHlsZS0+ZmlsbFBhaW50KCk7CisgICAgQVNTRVJUKGZpbGxQYWludCk7CisKKyAg
ICBSZW5kZXJTVkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UgPSAwOworCisgICAgU1ZH
UGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBmaWxsUGFpbnQtPnBhaW50VHlwZSgpOwor
ICAgIGlmIChwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJCisgICAgICAg
IHx8IHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUklfUkdCQ09MT1IpIHsK
KyAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGZpbGxQ
YWludC0+dXJpKCkpKTsKKyAgICAgICAgZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBnZXRSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBpZCk7CisKKyAgICAg
ICAgaWYgKCFmaWxsUGFpbnRpbmdSZXNvdXJjZSkKKyAgICAgICAgICAgIHJlZ2lzdGVyUGVuZGlu
Z1Jlc291cmNlKGlkLCBwYWludFR5cGUsIG9iamVjdCk7CiAgICAgfQotICAgIGlmIChwYWludFR5
cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmICFmaWxsUGFpbnRTZXJ2ZXIpIHsK
LSAgICAgICAgZmlsbFBhaW50U2VydmVyID0gc2hhcmVkU29saWRQYWludFNlcnZlcigpOwotICAg
ICAgICBTVkdQYWludFNlcnZlclNvbGlkKiBmaWxsUGFpbnRTZXJ2ZXJTb2xpZCA9IHN0YXRpY19j
YXN0PFNWR1BhaW50U2VydmVyU29saWQqPihmaWxsUGFpbnRTZXJ2ZXIpOwotICAgICAgICAKKwor
ICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmICFmaWxs
UGFpbnRpbmdSZXNvdXJjZSkgeworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3Iq
IHNvbGlkUmVzb3VyY2UgPSBzaGFyZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UoKTsKKyAgICAgICAg
ZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBzb2xpZFJlc291cmNlOworCiAgICAgICAgIENvbG9yIGZp
bGxDb2xvcjsKLSAgICAgICAgaWYgKHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQ
RV9DVVJSRU5UQ09MT1IpCisgICAgICAgIGlmIChmaWxsUGFpbnQtPnBhaW50VHlwZSgpID09IFNW
R1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKICAgICAgICAgICAgIGZpbGxDb2xv
ciA9IHN0eWxlLT5jb2xvcigpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBmaWxsQ29sb3Ig
PSBmaWxsLT5jb2xvcigpOworICAgICAgICAgICAgZmlsbENvbG9yID0gZmlsbFBhaW50LT5jb2xv
cigpOwogCi0gICAgICAgIGlmIChzdHlsZS0+aW5zaWRlTGluaygpID09IEluc2lkZVZpc2l0ZWRM
aW5rKSB7Ci0gICAgICAgICAgICBSZW5kZXJTdHlsZSogdmlzaXRlZFN0eWxlID0gc3R5bGUtPmdl
dENhY2hlZFBzZXVkb1N0eWxlKFZJU0lURURfTElOSyk7Ci0gICAgICAgICAgICBTVkdQYWludCog
dmlzaXRlZEZpbGwgPSB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPmZpbGxQYWludCgpOwotICAg
ICAgICAgICAgQ29sb3IgdmlzaXRlZEZpbGxDb2xvcjsKLSAgICAgICAgICAgIGlmICh2aXNpdGVk
RmlsbC0+cGFpbnRUeXBlKCkgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsLT5wYWludFR5cGUoKSA9PSBTVkdQYWludDo6U1ZH
X1BBSU5UVFlQRV9DVVJSRU5UQ09MT1IpCi0gICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRGaWxs
Q29sb3IgPSB2aXNpdGVkU3R5bGUtPmNvbG9yKCk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICB2aXNpdGVkRmlsbENvbG9yID0gdmlzaXRlZEZpbGwtPmNvbG9yKCk7
Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsQ29sb3IuaXNWYWxpZCgpKQotICAgICAg
ICAgICAgICAgICAgICBmaWxsQ29sb3IgPSBDb2xvcih2aXNpdGVkRmlsbENvbG9yLnJlZCgpLCB2
aXNpdGVkRmlsbENvbG9yLmdyZWVuKCksIHZpc2l0ZWRGaWxsQ29sb3IuYmx1ZSgpLCBmaWxsQ29s
b3IuYWxwaGEoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgYWRqdXN0Q29s
b3JGb3JQc2V1ZG9SdWxlcyhzdHlsZSwgdHJ1ZSAvKiB1c2VGaWxsUGFpbnQgKi8sIGZpbGxDb2xv
cik7CiAKLSAgICAgICAgZmlsbFBhaW50U2VydmVyU29saWQtPnNldENvbG9yKGZpbGxDb2xvcik7
Ci0gICAgICAgIAogICAgICAgICAvLyBGSVhNRTogSWRlYWxseSBpbnZhbGlkIGNvbG9ycyB3b3Vs
ZCBuZXZlciBnZXQgc2V0IG9uIHRoZSBSZW5kZXJTdHlsZSBhbmQgdGhpcyBjb3VsZCB0dXJuIGlu
dG8gYW4gQVNTRVJUCi0gICAgICAgIGlmICghZmlsbFBhaW50U2VydmVyU29saWQtPmNvbG9yKCku
aXNWYWxpZCgpKQotICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyID0gMDsKKyAgICAgICAgaWYg
KGZpbGxDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgICAgICBzb2xpZFJlc291cmNlLT5zZXRDb2xv
cihmaWxsQ29sb3IpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmaWxsUGFpbnRpbmdSZXNv
dXJjZSA9IDA7CiAgICAgfQotICAgIGlmICghZmlsbFBhaW50U2VydmVyKSB7CisKKyAgICBpZiAo
IWZpbGxQYWludGluZ1Jlc291cmNlKSB7CiAgICAgICAgIC8vIGRlZmF1bHQgdmFsdWUgKGJsYWNr
KSwgc2VlIGJ1ZyAxMTAxNwotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xpZFBh
aW50U2VydmVyKCk7Ci0gICAgICAgIHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihm
aWxsUGFpbnRTZXJ2ZXIpLT5zZXRDb2xvcihDb2xvcjo6YmxhY2spOworICAgICAgICBSZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNvbGlkUmVzb3VyY2UgPSBzaGFyZWRTb2xpZFBhaW50aW5n
UmVzb3VyY2UoKTsKKyAgICAgICAgc29saWRSZXNvdXJjZS0+c2V0Q29sb3IoQ29sb3I6OmJsYWNr
KTsKKyAgICAgICAgZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBzb2xpZFJlc291cmNlOwogICAgIH0K
LSAgICByZXR1cm4gZmlsbFBhaW50U2VydmVyOworCisgICAgcmV0dXJuIGZpbGxQYWludGluZ1Jl
c291cmNlOwogfQogCi1TVkdQYWludFNlcnZlciogU1ZHUGFpbnRTZXJ2ZXI6OnN0cm9rZVBhaW50
U2VydmVyKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2JqZWN0KiBpdGVt
KQorUmVuZGVyU1ZHUmVzb3VyY2UqIFJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGluZ1Jl
c291cmNlKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5
bGUpCiB7Ci0gICAgaWYgKCFzdHlsZS0+c3ZnU3R5bGUoKS0+aGFzU3Ryb2tlKCkpCisgICAgQVNT
RVJUKG9iamVjdCk7CisgICAgQVNTRVJUKHN0eWxlKTsKKworICAgIGNvbnN0IFNWR1JlbmRlclN0
eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5zdmdTdHlsZSgpOworICAgIGlmICghc3ZnU3R5bGUgfHwg
IXN2Z1N0eWxlLT5oYXNTdHJva2UoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBTVkdQYWlu
dCogc3Ryb2tlID0gc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVBhaW50KCk7CisgICAgU1ZHUGFp
bnQqIHN0cm9rZVBhaW50ID0gc3ZnU3R5bGUtPnN0cm9rZVBhaW50KCk7CisgICAgQVNTRVJUKHN0
cm9rZVBhaW50KTsKIAotICAgIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZlciA9IDA7
Ci0gICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBzdHJva2UtPnBhaW50VHlw
ZSgpOwotICAgIGlmICgocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSQot
ICAgICAgICB8fCBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJX1JHQkNP
TE9SKQotICAgICAgICAmJiBpdGVtLT5vYmplY3RCb3VuZGluZ0JveCgpLndpZHRoKCkgIT0gMAot
ICAgICAgICAmJiBpdGVtLT5vYmplY3RCb3VuZGluZ0JveCgpLmhlaWdodCgpICE9IDApIHsKLSAg
ICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHN0cm9rZS0+
dXJpKCkpKTsKLSAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBnZXRQYWludFNlcnZlckJ5SWQo
aXRlbS0+ZG9jdW1lbnQoKSwgaWQsIGl0ZW0pOwotCi0gICAgICAgIFNWR0VsZW1lbnQqIHN2Z0Vs
ZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaXRlbS0+bm9kZSgpKTsKLSAgICAgICAg
QVNTRVJUKHN2Z0VsZW1lbnQgJiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKSAmJiBzdmdFbGVtZW50
LT5pc1N0eWxlZCgpKTsKLSAKLSAgICAgICAgaWYgKGl0ZW0tPmlzUmVuZGVyUGF0aCgpICYmIHN0
cm9rZVBhaW50U2VydmVyKQotICAgICAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXItPmFkZENsaWVu
dChzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOwotICAgICAgICBl
bHNlIGlmICghc3Ryb2tlUGFpbnRTZXJ2ZXIgJiYgcGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdf
UEFJTlRUWVBFX1VSSSkKLSAgICAgICAgICAgIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFjY2Vz
c1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKGlkLCBzdGF0aWNfY2FzdDxTVkdT
dHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOyAKKyAgICBSZW5kZXJTVkdSZXNvdXJjZSogc3Ry
b2tlUGFpbnRpbmdSZXNvdXJjZSA9IDA7CisgICAgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94
ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpOworCisgICAgU1ZHUGFpbnQ6OlNWR1BhaW50
VHlwZSBwYWludFR5cGUgPSBzdHJva2VQYWludC0+cGFpbnRUeXBlKCk7CisgICAgaWYgKCFvYmpl
Y3RCb3VuZGluZ0JveC5pc0VtcHR5KCkKKyAgICAgICAgJiYgKHBhaW50VHlwZSA9PSBTVkdQYWlu
dDo6U1ZHX1BBSU5UVFlQRV9VUkkgfHwgcGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRU
WVBFX1VSSV9SR0JDT0xPUikpIHsKKyAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVy
ZW5jZTo6Z2V0VGFyZ2V0KHN0cm9rZVBhaW50LT51cmkoKSkpOworICAgICAgICBzdHJva2VQYWlu
dGluZ1Jlc291cmNlID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXJCeUlkKG9iamVjdC0+
ZG9jdW1lbnQoKSwgaWQpOworCisgICAgICAgIGlmICghc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSkK
KyAgICAgICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKGlkLCBwYWludFR5cGUsIG9iamVj
dCk7CiAgICAgfQotICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVf
VVJJICYmICFzdHJva2VQYWludFNlcnZlcikgewotICAgICAgICBzdHJva2VQYWludFNlcnZlciA9
IHNoYXJlZFNvbGlkUGFpbnRTZXJ2ZXIoKTsKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCog
c3Ryb2tlUGFpbnRTZXJ2ZXJTb2xpZCA9IHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQq
PihzdHJva2VQYWludFNlcnZlcik7Ci0gICAgICAgIAorCisgICAgaWYgKHBhaW50VHlwZSAhPSBT
VkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUkkgJiYgIXN0cm9rZVBhaW50aW5nUmVzb3VyY2UpIHsK
KyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKiBzb2xpZFJlc291cmNlID0gc2hh
cmVkU29saWRQYWludGluZ1Jlc291cmNlKCk7CisgICAgICAgIHN0cm9rZVBhaW50aW5nUmVzb3Vy
Y2UgPSBzb2xpZFJlc291cmNlOworCiAgICAgICAgIENvbG9yIHN0cm9rZUNvbG9yOwotICAgICAg
ICBpZiAocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikK
KyAgICAgICAgaWYgKHN0cm9rZVBhaW50LT5wYWludFR5cGUoKSA9PSBTVkdQYWludDo6U1ZHX1BB
SU5UVFlQRV9DVVJSRU5UQ09MT1IpCiAgICAgICAgICAgICBzdHJva2VDb2xvciA9IHN0eWxlLT5j
b2xvcigpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBzdHJva2VDb2xvciA9IHN0cm9rZS0+
Y29sb3IoKTsKLQotICAgICAgICBpZiAoc3R5bGUtPmluc2lkZUxpbmsoKSA9PSBJbnNpZGVWaXNp
dGVkTGluaykgewotICAgICAgICAgICAgUmVuZGVyU3R5bGUqIHZpc2l0ZWRTdHlsZSA9IHN0eWxl
LT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTkspOwotICAgICAgICAgICAgU1ZHUGFp
bnQqIHZpc2l0ZWRTdHJva2UgPSB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVBhaW50
KCk7Ci0gICAgICAgICAgICBDb2xvciB2aXNpdGVkU3Ryb2tlQ29sb3I7Ci0gICAgICAgICAgICBp
ZiAodmlzaXRlZFN0cm9rZS0+cGFpbnRUeXBlKCkgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVf
VVJJKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRTdHJva2UtPnBhaW50VHlwZSgpID09
IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKLSAgICAgICAgICAgICAgICAg
ICAgdmlzaXRlZFN0cm9rZUNvbG9yID0gdmlzaXRlZFN0eWxlLT5jb2xvcigpOwotICAgICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdmlzaXRlZFN0cm9rZUNvbG9yID0gdmlz
aXRlZFN0cm9rZS0+Y29sb3IoKTsKLSAgICAgICAgICAgICAgICBpZiAodmlzaXRlZFN0cm9rZUNv
bG9yLmlzVmFsaWQoKSkKLSAgICAgICAgICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBDb2xvcih2
aXNpdGVkU3Ryb2tlQ29sb3IucmVkKCksIHZpc2l0ZWRTdHJva2VDb2xvci5ncmVlbigpLCB2aXNp
dGVkU3Ryb2tlQ29sb3IuYmx1ZSgpLCBzdHJva2VDb2xvci5hbHBoYSgpKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQorICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBzdHJva2VQYWludC0+Y29s
b3IoKTsKIAotICAgICAgICBzdHJva2VQYWludFNlcnZlclNvbGlkLT5zZXRDb2xvcihzdHJva2VD
b2xvcik7CisgICAgICAgIGFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMoc3R5bGUsIGZhbHNlIC8q
IHVzZUZpbGxQYWludCAqLywgc3Ryb2tlQ29sb3IpOwogCiAgICAgICAgIC8vIEZJWE1FOiBJZGVh
bGx5IGludmFsaWQgY29sb3JzIHdvdWxkIG5ldmVyIGdldCBzZXQgb24gdGhlIFJlbmRlclN0eWxl
IGFuZCB0aGlzIGNvdWxkIHR1cm4gaW50byBhbiBBU1NFUlQKLSAgICAgICAgaWYgKCFzdHJva2VQ
YWludFNlcnZlclNvbGlkLT5jb2xvcigpLmlzVmFsaWQoKSkKLSAgICAgICAgICAgIHN0cm9rZVBh
aW50U2VydmVyID0gMDsKKyAgICAgICAgaWYgKHN0cm9rZUNvbG9yLmlzVmFsaWQoKSkKKyAgICAg
ICAgICAgIHNvbGlkUmVzb3VyY2UtPnNldENvbG9yKHN0cm9rZUNvbG9yKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IDA7CiAgICAgfQotICAgIGlm
ICghc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsKKworICAgIGlmICghc3Ryb2tlUGFpbnRpbmdSZXNvdXJj
ZSkgewogICAgICAgICAvLyBkZWZhdWx0IHZhbHVlIChibGFjayksIHNlZSBidWcgMTEwMTcKLSAg
ICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xpZFBhaW50U2VydmVyKCk7Ci0gICAg
ICAgIHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihzdHJva2VQYWludFNlcnZlcikt
PnNldENvbG9yKENvbG9yOjpibGFjayk7CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlU29saWRD
b2xvciogc29saWRSZXNvdXJjZSA9IHNoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSgpOworICAg
ICAgICBzb2xpZFJlc291cmNlLT5zZXRDb2xvcihDb2xvcjo6YmxhY2spOworICAgICAgICBzdHJv
a2VQYWludGluZ1Jlc291cmNlID0gc29saWRSZXNvdXJjZTsKICAgICB9CiAKLSAgICByZXR1cm4g
c3Ryb2tlUGFpbnRTZXJ2ZXI7CisgICAgcmV0dXJuIHN0cm9rZVBhaW50aW5nUmVzb3VyY2U7CiB9
CiAKLXZvaWQgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3Qp
CitSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIFJlbmRlclNWR1Jlc291cmNlOjpzaGFyZWRT
b2xpZFBhaW50aW5nUmVzb3VyY2UoKQogewotICAgIGNvbnRleHQtPnNldFN0cm9rZVRoaWNrbmVz
cyhTVkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+c3Zn
U3R5bGUoKS0+c3Ryb2tlV2lkdGgoKSwgMS4wZikpOwotICAgIGNvbnRleHQtPnNldExpbmVDYXAo
c3R5bGUtPnN2Z1N0eWxlKCktPmNhcFN0eWxlKCkpOwotICAgIGNvbnRleHQtPnNldExpbmVKb2lu
KHN0eWxlLT5zdmdTdHlsZSgpLT5qb2luU3R5bGUoKSk7Ci0gICAgaWYgKHN0eWxlLT5zdmdTdHls
ZSgpLT5qb2luU3R5bGUoKSA9PSBNaXRlckpvaW4pCi0gICAgICAgIGNvbnRleHQtPnNldE1pdGVy
TGltaXQoc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZU1pdGVyTGltaXQoKSk7Ci0KLSAgICBjb25z
dCBEYXNoQXJyYXkmIGRhc2hlcyA9IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShvYmplY3Qt
PnN0eWxlKCksIG9iamVjdC0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0
eWxlKCkpOwotICAgIGZsb2F0IGRhc2hPZmZzZXQgPSBTVkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0
aXZlVG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+c3ZnU3R5bGUoKS0+c3Ryb2tlRGFzaE9mZnNldCgp
LCAwLjBmKTsKLSAgICBjb250ZXh0LT5zZXRMaW5lRGFzaChkYXNoZXMsIGRhc2hPZmZzZXQpOwor
ICAgIHN0YXRpYyBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNfc2hhcmVkU29saWRQYWlu
dGluZ1Jlc291cmNlID0gMDsKKyAgICBpZiAoIXNfc2hhcmVkU29saWRQYWludGluZ1Jlc291cmNl
KQorICAgICAgICBzX3NoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSA9IG5ldyBSZW5kZXJTVkdS
ZXNvdXJjZVNvbGlkQ29sb3I7CisgICAgcmV0dXJuIHNfc2hhcmVkU29saWRQYWludGluZ1Jlc291
cmNlOwogfQogCi1ib29sIFNWR1BhaW50U2VydmVyOjpzZXR1cChHcmFwaGljc0NvbnRleHQqJiBj
b250ZXh0LCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgU1ZHUGFpbnRUYXJnZXRUeXBlIHR5
cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0Cit2b2lkIFJlbmRlclNWR1Jlc291cmNlOjpt
YXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24oUmVuZGVyT2JqZWN0KiBvYmplY3Qp
CiB7Ci0gICAgcmV0dXJuIHNldHVwKGNvbnRleHQsIG9iamVjdCwgb2JqZWN0ID8gb2JqZWN0LT5z
dHlsZSgpIDogMCwgdHlwZSwgaXNQYWludGluZ1RleHQpOwotfQorICAgIEFTU0VSVChvYmplY3Qp
OworICAgIEFTU0VSVChvYmplY3QtPm5vZGUoKSk7CisgICAgQVNTRVJUKG9iamVjdC0+bm9kZSgp
LT5pc1NWR0VsZW1lbnQoKSk7CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXI6OmRyYXcoR3JhcGhpY3ND
b250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBwYXRoLCBTVkdQYWludFRhcmdl
dFR5cGUgdHlwZSkgY29uc3QKLXsKLSAgICBpZiAoIXNldHVwKGNvbnRleHQsIHBhdGgsIHR5cGUp
KQotICAgICAgICByZXR1cm47CisgICAgLy8gTWFyayB0aGUgcmVuZGVyZXIgZm9yIGxheW91dAor
ICAgIG9iamVjdC0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7CiAKLSAgICByZW5kZXJQYXRoKGNvbnRl
eHQsIHBhdGgsIHR5cGUpOwotICAgIHRlYXJkb3duKGNvbnRleHQsIHBhdGgsIHR5cGUpOwotfQot
Ci12b2lkIFNWR1BhaW50U2VydmVyOjpyZW5kZXJQYXRoKEdyYXBoaWNzQ29udGV4dComIGNvbnRl
eHQsIGNvbnN0IFJlbmRlck9iamVjdCogcGF0aCwgU1ZHUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNv
bnN0Ci17Ci0gICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN0eWxlID0gcGF0aCA/IHBhdGgtPnN0
eWxlKCktPnN2Z1N0eWxlKCkgOiAwOwotCi0gICAgaWYgKCh0eXBlICYgQXBwbHlUb0ZpbGxUYXJn
ZXRUeXBlKSAmJiAoIXN0eWxlIHx8IHN0eWxlLT5oYXNGaWxsKCkpKQotICAgICAgICBjb250ZXh0
LT5maWxsUGF0aCgpOworICAgIC8vIE5vdGlmeSBhbnkgcmVzb3VyY2VzIGluIHRoZSBhbmNlc3Rv
ciBjaGFpbiwgdGhhdCB3ZSd2ZSBiZWVuIGludmFsaWRhdGVkCisgICAgU1ZHRWxlbWVudCogZWxl
bWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihvYmplY3QtPm5vZGUoKSk7CisgICAgaWYg
KCFlbGVtZW50LT5pc1N0eWxlZCgpKQorICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoKHR5cGUg
JiBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSkgJiYgKCFzdHlsZSB8fCBzdHlsZS0+aGFzU3Ryb2tl
KCkpKQotICAgICAgICBjb250ZXh0LT5zdHJva2VQYXRoKCk7CisgICAgc3RhdGljX2Nhc3Q8U1ZH
U3R5bGVkRWxlbWVudCo+KGVsZW1lbnQpLT5pbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3RvckNo
YWluKCk7CiB9CiAKLSNpZiBQTEFURk9STShTS0lBKQotdm9pZCBTVkdQYWludFNlcnZlcjo6dGVh
cmRvd24oR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZH
UGFpbnRUYXJnZXRUeXBlLCBib29sKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBNb3ZlIHRoaXMg
aW50byB0aGUgR3JhcGhpY3NDb250ZXh0Ci0gICAgLy8gV2ViS2l0IGltcGxpY2l0bHkgZXhwZWN0
cyB1cyB0byByZXNldCB0aGUgcGF0aC4KLSAgICAvLyBGb3IgZXhhbXBsZSBpbiBmaWxsQW5kU3Ry
b2tlUGF0aCgpIG9mIFJlbmRlclBhdGguY3BwIHRoZSBwYXRoIGlzIAotICAgIC8vIGFkZGVkIGJh
Y2sgdG8gdGhlIGNvbnRleHQgYWZ0ZXIgZmlsbGluZy4gVGhpcyBpcyBiZWNhdXNlIGludGVybmFs
bHkgaXQKLSAgICAvLyBjYWxscyBDR0NvbnRleHRGaWxsUGF0aCgpIHdoaWNoIGNsb3NlcyB0aGUg
cGF0aC4KLSAgICBjb250ZXh0LT5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0LT5wbGF0Zm9ybUNv
bnRleHQoKS0+c2V0RmlsbFNoYWRlcigwKTsKLSAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQo
KS0+c2V0U3Ryb2tlU2hhZGVyKDApOwogfQotI2Vsc2UKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXI6OnRl
YXJkb3duKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRh
cmdldFR5cGUsIGJvb2wpIGNvbnN0Ci17Ci19Ci0jZW5kaWYKLQotRGFzaEFycmF5IGRhc2hBcnJh
eUZyb21SZW5kZXJpbmdTdHlsZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxl
KiByb290U3R5bGUpCi17Ci0gICAgRGFzaEFycmF5IGFycmF5OwotICAgIAotICAgIENTU1ZhbHVl
TGlzdCogZGFzaGVzID0gc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZURhc2hBcnJheSgpOwotICAg
IGlmIChkYXNoZXMpIHsKLSAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIGRhc2ggPSAwOwotICAg
ICAgICB1bnNpZ25lZCBsb25nIGxlbiA9IGRhc2hlcy0+bGVuZ3RoKCk7Ci0gICAgICAgIGZvciAo
dW5zaWduZWQgbG9uZyBpID0gMDsgaSA8IGxlbjsgaSsrKSB7Ci0gICAgICAgICAgICBkYXNoID0g
c3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihkYXNoZXMtPml0ZW1XaXRob3V0Qm91bmRz
Q2hlY2soaSkpOwotICAgICAgICAgICAgaWYgKCFkYXNoKQotICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotCi0gICAgICAgICAgICBhcnJheS5hcHBlbmQoKGZsb2F0KSBkYXNoLT5jb21wdXRlTGVu
Z3RoRmxvYXQoY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KHN0eWxlKSwgcm9vdFN0eWxlKSk7Ci0g
ICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gYXJyYXk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3Vy
Y2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNjQgKzIyLDQ3IEBACiAjZGVmaW5lIFJlbmRlclNW
R1Jlc291cmNlX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0j
aW5jbHVkZSAiUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgiCisjaW5jbHVkZSAiU1ZHRG9jdW1l
bnRFeHRlbnNpb25zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZW5kZXJTVkdS
ZXNvdXJjZVR5cGUgewogICAgIE1hc2tlclJlc291cmNlVHlwZSwKICAgICBNYXJrZXJSZXNvdXJj
ZVR5cGUsCisgICAgUGF0dGVyblJlc291cmNlVHlwZSwKKyAgICBMaW5lYXJHcmFkaWVudFJlc291
cmNlVHlwZSwKKyAgICBSYWRpYWxHcmFkaWVudFJlc291cmNlVHlwZSwKKyAgICBTb2xpZENvbG9y
UmVzb3VyY2VUeXBlLAogICAgIEZpbHRlclJlc291cmNlVHlwZSwKICAgICBDbGlwcGVyUmVzb3Vy
Y2VUeXBlCiB9OwogCi1jbGFzcyBSZW5kZXJTVkdSZXNvdXJjZSA6IHB1YmxpYyBSZW5kZXJTVkdI
aWRkZW5Db250YWluZXIgeworZW51bSBSZW5kZXJTVkdSZXNvdXJjZU1vZGUgeworICAgIEFwcGx5
VG9EZWZhdWx0TW9kZSA9IDEgPDwgMCwgLy8gdXNlZCBmb3IgYWxsIHJlc291cmNlcyBleGNlcHQg
Z3JhZGllbnQvcGF0dGVybgorICAgIEFwcGx5VG9GaWxsTW9kZSAgICA9IDEgPDwgMSwKKyAgICBB
cHBseVRvU3Ryb2tlTW9kZSAgPSAxIDw8IDIsCisgICAgQXBwbHlUb1RleHRNb2RlICAgID0gMSA8
PCAzIC8vIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBBcHBseVRve0ZpbGx8U3Ryb2tlfU1vZGUK
K307CisKK2NsYXNzIEZsb2F0UmVjdDsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dDsKK2NsYXNzIFJl
bmRlck9iamVjdDsKK2NsYXNzIFJlbmRlclN0eWxlOworY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VT
b2xpZENvbG9yOworCitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZSB7CiBwdWJsaWM6Ci0gICAgUmVu
ZGVyU1ZHUmVzb3VyY2UoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKLSAgICAgICAgOiBSZW5kZXJT
VkdIaWRkZW5Db250YWluZXIobm9kZSkKLSAgICAgICAgLCBtX2lkKG5vZGUtPmdldElEQXR0cmli
dXRlKCkpCi0gICAgewotICAgICAgICBBU1NFUlQobm9kZS0+ZG9jdW1lbnQoKSk7Ci0gICAgICAg
IG5vZGUtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUmVzb3VyY2UobV9p
ZCwgdGhpcyk7Ci0gICAgfQorICAgIFJlbmRlclNWR1Jlc291cmNlKCkgeyB9CisgICAgdmlydHVh
bCB+UmVuZGVyU1ZHUmVzb3VyY2UoKSB7IH0KIAotICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291
cmNlKCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChub2RlKCkpOwotICAgICAgICBBU1NFUlQobm9k
ZSgpLT5kb2N1bWVudCgpKTsKLSAgICAgICAgbm9kZSgpLT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdF
eHRlbnNpb25zKCktPnJlbW92ZVJlc291cmNlKG1faWQpOwotICAgIH0KKyAgICB2aXJ0dWFsIHZv
aWQgaW52YWxpZGF0ZUNsaWVudHMoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVD
bGllbnQoUmVuZGVyT2JqZWN0KikgPSAwOwogCi0gICAgdm9pZCBpZENoYW5nZWQoKQotICAgIHsK
LSAgICAgICAgQVNTRVJUKG5vZGUoKSk7Ci0gICAgICAgIEFTU0VSVChub2RlKCktPmRvY3VtZW50
KCkpOwotICAgICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSBub2RlKCkt
PmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKTsKLQotICAgICAgICAvLyBSZW1vdmUg
b2xkIGlkLCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudCBpbiBjYWNoZQotICAgICAg
ICBleHRlbnNpb25zLT5yZW1vdmVSZXNvdXJjZShtX2lkKTsKLQotICAgICAgICBtX2lkID0gc3Rh
dGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUoKSktPmdldElEQXR0cmlidXRlKCk7Ci0KLSAgICAgICAg
Ly8gSXQncyBwb3NzaWJsZSB0aGF0IGFuIGVsZW1lbnQgaXMgcmVmZXJlbmNpbmcgdXMgd2l0aCB0
aGUgbmV3IGlkLCBhbmQgaGFzIHRvIGJlIG5vdGlmaWVkIHRoYXQgd2UncmUgZXhpc3Rpbmcgbm93
Ci0gICAgICAgIGlmIChleHRlbnNpb25zLT5pc1BlbmRpbmdSZXNvdXJjZShtX2lkKSkgewotICAg
ICAgICAgICAgT3duUHRyPEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+ID4gY2xpZW50cyhleHRl
bnNpb25zLT5yZW1vdmVQZW5kaW5nUmVzb3VyY2UobV9pZCkpOwotICAgICAgICAgICAgaWYgKGNs
aWVudHMtPmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAg
IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGNsaWVudHMt
PmJlZ2luKCk7Ci0gICAgICAgICAgICBjb25zdCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPjo6
Y29uc3RfaXRlcmF0b3IgZW5kID0gY2xpZW50cy0+ZW5kKCk7Ci0KLSAgICAgICAgICAgIGZvciAo
OyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlciA9ICgqaXQpLT5yZW5kZXJlcigpKQotICAgICAgICAgICAgICAgICAgICByZW5kZXJl
ci0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICB2
aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSosIEdy
YXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250
ZXh0KiYsIHVuc2lnbmVkIHNob3J0KSB7IH0KKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXNvdXJj
ZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0ID0gMDsKIAotICAgICAgICAvLyBS
ZWNhY2hlIHVzIHdpdGggdGhlIG5ldyBpZAotICAgICAgICBleHRlbnNpb25zLT5hZGRSZXNvdXJj
ZShtX2lkLCB0aGlzKTsKLSAgICB9CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUg
cmVzb3VyY2VUeXBlKCkgY29uc3QgPSAwOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgUmVuZGVyZXI+
CiAgICAgUmVuZGVyZXIqIGNhc3QoKQpAQCAtOTAsMzUgKzczLDE1IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZSogdG9S
ZW5kZXJTVkdSZXNvdXJjZSgpIHsgcmV0dXJuIHRoaXM7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNT
VkdSZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGJvb2wgZHJh
d3NDb250ZW50cygpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgLy8gSGVscGVyIHV0aWxpdGllcyB1
c2VkIGluIHRoZSByZW5kZXIgdHJlZSB0byBhY2Nlc3MgcmVzb3VyY2VzIHVzZWQgZm9yIHBhaW50
aW5nIHNoYXBlcy90ZXh0IChncmFkaWVudHMgJiBwYXR0ZXJucyBvbmx5KQorICAgIHN0YXRpYyBS
ZW5kZXJTVkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UoY29uc3QgUmVuZGVyT2JqZWN0
KiwgY29uc3QgUmVuZGVyU3R5bGUqKTsKKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2UqIHN0
cm9rZVBhaW50aW5nUmVzb3VyY2UoY29uc3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyU3R5
bGUqKTsKKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKiBzaGFyZWRTb2xp
ZFBhaW50aW5nUmVzb3VyY2UoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50
cygpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmplY3Qq
KSA9IDA7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBH
cmFwaGljc0NvbnRleHQqJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBwb3N0QXBwbHlSZXNvdXJj
ZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJikgeyB9Ci0gICAgdmlydHVhbCBGbG9h
dFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCA9IDA7Ci0K
LSAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25zdCA9
IDA7Ci0KLXByaXZhdGU6Ci0gICAgQXRvbWljU3RyaW5nIG1faWQ7Citwcm90ZWN0ZWQ6CisgICAg
dm9pZCBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24oUmVuZGVyT2JqZWN0Kik7
CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBSZW5kZXJlcj4KLVJlbmRlcmVyKiBnZXRSZW5kZXJT
VkdSZXNvdXJjZUJ5SWQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGlk
KQotewotICAgIGlmIChpZC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgaWYg
KFJlbmRlclNWR1Jlc291cmNlKiByZW5kZXJSZXNvdXJjZSA9IGRvY3VtZW50LT5hY2Nlc3NTVkdF
eHRlbnNpb25zKCktPnJlc291cmNlQnlJZChpZCkpCi0gICAgICAgIHJldHVybiByZW5kZXJSZXNv
dXJjZS0+Y2FzdDxSZW5kZXJlcj4oKTsKLQotICAgIHJldHVybiAwOwotfQotCiB9CiAKICNlbmRp
ZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIu
Y3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlQ2xpcHBlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDggKzQzLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyOjpzX3Jlc291cmNlVHlwZSA9IENsaXBwZXJSZXNvdXJjZVR5cGU7CiAKLVJlbmRlclNWR1Jl
c291cmNlQ2xpcHBlcjo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyKFNWR1N0eWxlZEVsZW1lbnQq
IG5vZGUpCi0gICAgOiBSZW5kZXJTVkdSZXNvdXJjZShub2RlKQorUmVuZGVyU1ZHUmVzb3VyY2VD
bGlwcGVyOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIoU1ZHQ2xpcFBhdGhFbGVtZW50KiBub2Rl
KQorICAgIDogUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKIHsKIH0KIApAQCAtNzgs
MTAgKzc4LDE0IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjppbnZhbGlkYXQKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgZGVsZXRlIG1fY2xpcHBlci50YWtlKG9iamVjdCk7CisgICAg
bWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKG9iamVjdCk7CiB9CiAKLWJvb2wg
UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjphcHBseVJlc291cmNlKFJlbmRlck9iamVjdCogb2Jq
ZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0KQorYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRlclN0eWxlKiwg
R3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKQog
eworICAgIEFTU0VSVChvYmplY3QpOworICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBBU1NFUlQo
cmVzb3VyY2VNb2RlID09IEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAgICAgYXBwbHlDbGlwcGluZ1Rv
Q29udGV4dChvYmplY3QsIG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKSwgb2JqZWN0LT5yZXBh
aW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLCBjb250ZXh0KTsKICAgICByZXR1cm4gdHJ1ZTsK
IH0KQEAgLTE0Miw5ICsxNDYsNiBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6cGF0
aE9ubHlDCiBib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6YXBwbHlDbGlwcGluZ1RvQ29u
dGV4dChSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgRmxvYXRSZWN0JiBvYmplY3RCb3VuZGlu
Z0JveCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IEZsb2F0UmVjdCYgcmVwYWludFJlY3QsIEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCkKIHsKLSAgICBBU1NFUlQob2JqZWN0KTsKLSAgICBBU1NFUlQoY29udGV4dCk7Ci0KICAgICBp
ZiAoIW1fY2xpcHBlci5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX2NsaXBwZXIuc2V0KG9i
amVjdCwgbmV3IENsaXBwZXJEYXRhKTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U1ZHUmVzb3VyY2VDbGlwcGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcg
KzI3LDcgQEAKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIK
ICNpbmNsdWRlICJQYXRoLmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKKyNpbmNs
dWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlNWR0NsaXBQYXRo
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgogCkBAIC00MCwxMCArNDAsOSBA
QCBzdHJ1Y3QgQ2xpcHBlckRhdGEgewogICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gY2xpcE1hc2tJ
bWFnZTsKIH07CiAKLWNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciA6IHB1YmxpYyBSZW5k
ZXJTVkdSZXNvdXJjZSB7Ci0KK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciA6IHB1Ymxp
YyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CiBwdWJsaWM6Ci0gICAgUmVuZGVyU1ZHUmVz
b3VyY2VDbGlwcGVyKFNWR1N0eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXIoU1ZHQ2xpcFBhdGhFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3Vy
Y2VDbGlwcGVyKCk7CiAKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25z
dCB7IHJldHVybiAiUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyIjsgfQpAQCAtNTEsNyArNTAsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnRzKCk7CiAgICAgdmly
dHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnQoUmVuZGVyT2JqZWN0Kik7CiAKLSAgICB2aXJ0dWFs
IGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJik7Cisg
ICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUq
LCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKICAgICB2
aXJ0dWFsIEZsb2F0UmVjdCByZXNvdXJjZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYpIGNv
bnN0OwogCiAgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlKCkg
Y29uc3QgeyByZXR1cm4gQ2xpcHBlclJlc291cmNlVHlwZTsgfQpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCShyZXZpc2lvbiAwKQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1v
dGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFJlbmRl
clNWR1Jlc291cmNlQ29udGFpbmVyX2gKKyNkZWZpbmUgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXJfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyIDogcHVibGljIFJlbmRlclNW
R0hpZGRlbkNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVi
bGljIFJlbmRlclNWR1Jlc291cmNlIHsKK3B1YmxpYzoKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lcihTVkdTdHlsZWRFbGVtZW50KiBub2RlKQorICAgICAgICA6IFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lcihub2RlKQorICAgICAgICAsIFJlbmRlclNWR1Jlc291cmNlKCkKKyAgICAgICAg
LCBtX2lkKG5vZGUtPmdldElEQXR0cmlidXRlKCkpCisgICAgeworICAgICAgICBBU1NFUlQobm9k
ZS0+ZG9jdW1lbnQoKSk7CisgICAgICAgIG5vZGUtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVu
c2lvbnMoKS0+YWRkUmVzb3VyY2UobV9pZCwgdGhpcyk7CisgICAgfQorCisgICAgdmlydHVhbCB+
UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG5vZGUo
KSk7CisgICAgICAgIEFTU0VSVChub2RlKCktPmRvY3VtZW50KCkpOworICAgICAgICBub2RlKCkt
PmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVtb3ZlUmVzb3VyY2UobV9pZCk7
CisgICAgfQorCisgICAgdm9pZCBpZENoYW5nZWQoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG5v
ZGUoKSk7CisgICAgICAgIEFTU0VSVChub2RlKCktPmRvY3VtZW50KCkpOworICAgICAgICBTVkdE
b2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSBub2RlKCktPmRvY3VtZW50KCktPmFjY2Vz
c1NWR0V4dGVuc2lvbnMoKTsKKworICAgICAgICAvLyBSZW1vdmUgb2xkIGlkLCB0aGF0IGlzIGd1
YXJhbnRlZWQgdG8gYmUgcHJlc2VudCBpbiBjYWNoZQorICAgICAgICBleHRlbnNpb25zLT5yZW1v
dmVSZXNvdXJjZShtX2lkKTsKKworICAgICAgICBtX2lkID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+
KG5vZGUoKSktPmdldElEQXR0cmlidXRlKCk7CisKKyAgICAgICAgLy8gSXQncyBwb3NzaWJsZSB0
aGF0IGFuIGVsZW1lbnQgaXMgcmVmZXJlbmNpbmcgdXMgd2l0aCB0aGUgbmV3IGlkLCBhbmQgaGFz
IHRvIGJlIG5vdGlmaWVkIHRoYXQgd2UncmUgZXhpc3Rpbmcgbm93CisgICAgICAgIGlmIChleHRl
bnNpb25zLT5pc1BlbmRpbmdSZXNvdXJjZShtX2lkKSkgeworICAgICAgICAgICAgT3duUHRyPEhh
c2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+ID4gY2xpZW50cyhleHRlbnNpb25zLT5yZW1vdmVQZW5k
aW5nUmVzb3VyY2UobV9pZCkpOworICAgICAgICAgICAgaWYgKGNsaWVudHMtPmlzRW1wdHkoKSkK
KyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIEhhc2hTZXQ8U1ZHU3R5bGVk
RWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGNsaWVudHMtPmJlZ2luKCk7CisgICAgICAg
ICAgICBjb25zdCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3IgZW5k
ID0gY2xpZW50cy0+ZW5kKCk7CisKKyAgICAgICAgICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQp
IHsKKyAgICAgICAgICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9ICgqaXQpLT5y
ZW5kZXJlcigpKQorICAgICAgICAgICAgICAgICAgICByZW5kZXJlci0+c2V0TmVlZHNMYXlvdXQo
dHJ1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBSZWNhY2hlIHVz
IHdpdGggdGhlIG5ldyBpZAorICAgICAgICBleHRlbnNpb25zLT5hZGRSZXNvdXJjZShtX2lkLCB0
aGlzKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdSZXNvdXJjZUNvbnRhaW5lcigp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgZHJhd3NDb250ZW50cygp
IHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyKiB0b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCkgeyByZXR1cm4gdGhpczsgfQorCitw
cml2YXRlOgorICAgIEF0b21pY1N0cmluZyBtX2lkOworfTsKKworaW5saW5lIFJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyKiBnZXRSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQoRG9jdW1l
bnQqIGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGlkKQoreworICAgIGlmIChpZC5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgaWYgKFJlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyKiByZW5kZXJSZXNvdXJjZSA9IGRvY3VtZW50LT5hY2Nlc3NTVkdFeHRlbnNpb25zKCkt
PnJlc291cmNlQnlJZChpZCkpCisgICAgICAgIHJldHVybiByZW5kZXJSZXNvdXJjZTsKKworICAg
IHJldHVybiAwOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBSZW5kZXJlcj4KK1JlbmRlcmVyKiBn
ZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9taWNT
dHJpbmcmIGlkKQoreworICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogY29udGFp
bmVyID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXJCeUlkKGRvY3VtZW50LCBpZCkpCisg
ICAgICAgIHJldHVybiBjb250YWluZXItPmNhc3Q8UmVuZGVyZXI+KCk7CisKKyAgICByZXR1cm4g
MDsKK30KKworfQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUyLDggKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBSZW5kZXJTVkdSZXNvdXJjZVR5
cGUgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnNfcmVzb3VyY2VUeXBlID0gRmlsdGVyUmVzb3Vy
Y2VUeXBlOwogCi1SZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKLSAgICA6IFJlbmRlclNWR1Jlc291cmNlKG5vZGUp
CitSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIoU1ZHRmls
dGVyRWxlbWVudCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKG5vZGUp
CiAgICAgLCBtX3NhdmVkQ29udGV4dCgwKQogICAgICwgbV9zb3VyY2VHcmFwaGljQnVmZmVyKDAp
CiB7CkBAIC04OCw3ICs4OCw4IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OmludmFs
aWRhdGUKICAgICBpZiAoIW1fZmlsdGVyLmNvbnRhaW5zKG9iamVjdCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGRlbGV0ZSBtX2ZpbHRlci50YWtlKG9iamVjdCk7IAorICAgIGRlbGV0ZSBtX2Zp
bHRlci50YWtlKG9iamVjdCk7CisgICAgbWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0
aW9uKG9iamVjdCk7CiB9CiAKIFBhc3NPd25QdHI8U1ZHRmlsdGVyQnVpbGRlcj4gUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXI6OmJ1aWxkUHJpbWl0aXZlcygpCkBAIC0xMzQsMTAgKzEzNSwxMSBAQCBi
b29sIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpmaXRzSW5NYXhpCiAgICAgcmV0dXJuIG1hdGNo
ZXNGaWx0ZXJTaXplOwogfQogCi1ib29sIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjphcHBseVJl
c291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0KQor
Ym9vbCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3Qq
IG9iamVjdCwgUmVuZGVyU3R5bGUqLCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25l
ZCBzaG9ydCByZXNvdXJjZU1vZGUpCiB7CiAgICAgQVNTRVJUKG9iamVjdCk7CiAgICAgQVNTRVJU
KGNvbnRleHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUgPT0gQXBwbHlUb0RlZmF1bHRNb2Rl
KTsKIAogICAgIC8vIFJldHVybmluZyBmYWxzZSBoZXJlLCB0byBhdm9pZCBkcmF3aW5ncyBvbnRv
IHRoZSBjb250ZXh0LiBXZSBqdXN0IHdhbnQgdG8KICAgICAvLyBkcmF3IHRoZSBzdG9yZWQgZmls
dGVyIG91dHB1dCwgbm90IHRoZSB1bmZpbHRlcmVkIG9iamVjdCBhcyB3ZWxsLgpAQCAtMjI4LDEw
ICsyMzAsMTEgQEAgYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdQogICAg
IHJldHVybiB0cnVlOwogfQogCi12b2lkIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpwb3N0QXBw
bHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4
dCkKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKFJlbmRl
ck9iamVjdCogb2JqZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9y
dCByZXNvdXJjZU1vZGUpCiB7CiAgICAgQVNTRVJUKG9iamVjdCk7CiAgICAgQVNTRVJUKGNvbnRl
eHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUgPT0gQXBwbHlUb0RlZmF1bHRNb2RlKTsKIAog
ICAgIGlmICghbV9maWx0ZXIuY29udGFpbnMob2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oCShyZXZpc2lv
biA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFC
TEUoRklMVEVSUykKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZl
ci5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXIuaCIKICNpbmNsdWRlICJT
VkdGaWx0ZXJCdWlsZGVyLmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyRWxlbWVudC5oIgpAQCAtNTUs
OSArNTUsOSBAQCBzdHJ1Y3QgRmlsdGVyRGF0YSB7CiAKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsK
IAotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3Vy
Y2UgeworY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIgOiBwdWJsaWMgUmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXIgewogcHVibGljOgotICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyKFNW
R1N0eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcihTVkdGaWx0ZXJF
bGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIoKTsKIAogICAg
IHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJT
VkdSZXNvdXJjZUZpbHRlciI7IH0KQEAgLTY1LDggKzY1LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50cygpOwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRl
Q2xpZW50KFJlbmRlck9iamVjdCopOwogCi0gICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2Uo
UmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYpOwotICAgIHZpcnR1YWwgdm9pZCBwb3N0
QXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJik7CisgICAgdmly
dHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUqLCBHcmFw
aGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKKyAgICB2aXJ0dWFs
IHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYs
IHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CiAKICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBy
ZXNvdXJjZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OwogCkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAkocmV2aXNp
b24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMiwyNyArMiwyMyBAQAogICogQ29weXJpZ2h0IChDKSAy
MDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICogICAgICAgICAg
ICAgICAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKiAgICAgICAgICAgICAg
IDIwMDggRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIFJl
c2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKQEAgLTMwLDkwICsyNiw1MCBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVk
ZSAiUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIgogCi0jaW5jbHVkZSAiRmxvYXRDb252ZXJz
aW9uLmgiCisjaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJSZW5kZXJP
YmplY3QuaCIKLSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmgiCi0j
aW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oIgotI2luY2x1ZGUgIlJl
bmRlclZpZXcuaCIKLSNpbmNsdWRlICJTVkdHcmFkaWVudEVsZW1lbnQuaCIKICNpbmNsdWRlICJT
VkdSZW5kZXJTdXBwb3J0LmgiCi0jaW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgotCi11
c2luZyBuYW1lc3BhY2Ugc3RkOworI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJl
YW0mIHRzLCBHcmFkaWVudFNwcmVhZE1ldGhvZCBtKQotewotICAgIHN3aXRjaCAobSkgewotICAg
ICAgICBjYXNlIFNwcmVhZE1ldGhvZFBhZDoKLSAgICAgICAgICAgIHRzIDw8ICJQQUQiOyBicmVh
azsKLSAgICAgICAgY2FzZSBTcHJlYWRNZXRob2RSZXBlYXQ6Ci0gICAgICAgICAgICB0cyA8PCAi
UkVQRUFUIjsgYnJlYWs7Ci0gICAgICAgIGNhc2UgU3ByZWFkTWV0aG9kUmVmbGVjdDoKLSAgICAg
ICAgICAgIHRzIDw8ICJSRUZMRUNUIjsgYnJlYWs7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRzOwot
fQotCi1zdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3Qg
VmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIGwpCi17Ci0gICAgdHMgPDwgIlsiOwotICAgIGZvciAo
VmVjdG9yPFNWR0dyYWRpZW50U3RvcD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbC5iZWdpbigpOyBp
dCAhPSBsLmVuZCgpOyArK2l0KSB7Ci0gICAgICAgIHRzIDw8ICIoIiA8PCBpdC0+Zmlyc3QgPDwg
IiwiIDw8IGl0LT5zZWNvbmQgPDwgIikiOwotICAgICAgICBpZiAoaXQgKyAxICE9IGwuZW5kKCkp
Ci0gICAgICAgICAgICB0cyA8PCAiLCAiOwotICAgIH0KLSAgICB0cyA8PCAiXSI7Ci0gICAgcmV0
dXJuIHRzOwotfQotCi1TVkdQYWludFNlcnZlckdyYWRpZW50OjpTVkdQYWludFNlcnZlckdyYWRp
ZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpCi0gICAgOiBtX2JvdW5kaW5nQm94
TW9kZSh0cnVlKQotICAgICwgbV9vd25lckVsZW1lbnQob3duZXIpCitSZW5kZXJTVkdSZXNvdXJj
ZUdyYWRpZW50OjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50KFNWR0dyYWRpZW50RWxlbWVudCog
bm9kZSkKKyAgICA6IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKG5vZGUpCiAjaWYgUExBVEZP
Uk0oQ0cpCiAgICAgLCBtX3NhdmVkQ29udGV4dCgwKQotICAgICwgbV9pbWFnZUJ1ZmZlcigwKQog
I2VuZGlmCiB7Ci0gICAgQVNTRVJUKG93bmVyKTsKLX0KLQotU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVu
dDo6flNWR1BhaW50U2VydmVyR3JhZGllbnQoKQotewogfQogCi1HcmFkaWVudCogU1ZHUGFpbnRT
ZXJ2ZXJHcmFkaWVudDo6Z3JhZGllbnQoKSBjb25zdAorUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVu
dDo6flJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQoKQogewotICAgIHJldHVybiBtX2dyYWRpZW50
LmdldCgpOworICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2dyYWRpZW50KTsKKyAgICBtX2dyYWRpZW50
LmNsZWFyKCk7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0R3JhZGllbnQo
UGFzc1JlZlB0cjxHcmFkaWVudD4gZ3JhZGllbnQpCit2b2lkIFJlbmRlclNWR1Jlc291cmNlR3Jh
ZGllbnQ6OmludmFsaWRhdGVDbGllbnRzKCkKIHsKLSAgICBtX2dyYWRpZW50ID0gZ3JhZGllbnQ7
Ci19CisgICAgY29uc3QgSGFzaE1hcDxSZW5kZXJPYmplY3QqLCBHcmFkaWVudERhdGEqPjo6Y29u
c3RfaXRlcmF0b3IgZW5kID0gbV9ncmFkaWVudC5lbmQoKTsKKyAgICBmb3IgKEhhc2hNYXA8UmVu
ZGVyT2JqZWN0KiwgR3JhZGllbnREYXRhKj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9ncmFkaWVu
dC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgIG1hcmtGb3JMYXlvdXRBbmRSZXNv
dXJjZUludmFsaWRhdGlvbihpdC0+Zmlyc3QpOwogCi1ib29sIFNWR1BhaW50U2VydmVyR3JhZGll
bnQ6OmJvdW5kaW5nQm94TW9kZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fYm91bmRpbmdCb3hN
b2RlOworICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2dyYWRpZW50KTsKKyAgICBtX2dyYWRpZW50LmNs
ZWFyKCk7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0Qm91bmRpbmdCb3hN
b2RlKGJvb2wgbW9kZSkKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6aW52YWxpZGF0
ZUNsaWVudChSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKLSAgICBtX2JvdW5kaW5nQm94TW9kZSA9
IG1vZGU7Ci19CisgICAgQVNTRVJUKG9iamVjdCk7CiAKLUFmZmluZVRyYW5zZm9ybSBTVkdQYWlu
dFNlcnZlckdyYWRpZW50OjpncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1fZ3JhZGllbnRUcmFuc2Zvcm07Ci19CisgICAgLy8gRklYTUU6IFRoZSBIYXNoTWFwIHNob3Vs
ZCBhbHdheXMgY29udGFpbiB0aGUgb2JqZWN0IG9uIGNhbGxpbmcgaW52YWxpZGF0ZUNsaWVudC4g
QSByYWNlIGNvbmRpdGlvbgorICAgIC8vIGR1cmluZyB0aGUgcGFyc2luZyBjYW4gY2F1c2VzIGEg
Y2FsbCBvZiBpbnZhbGlkYXRlQ2xpZW50IHJpZ2h0IGJlZm9yZSB0aGUgY2FsbCBvZiBhcHBseVJl
c291cmNlLgorICAgIC8vIFdlIHJldHVybiBlYXJsaWVyIGZvciB0aGUgbW9tZW50LiBUaGlzIGJ1
ZyBzaG91bGQgYmUgZml4ZWQgaW46CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM1MTgxCisgICAgaWYgKCFtX2dyYWRpZW50LmNvbnRhaW5zKG9iamVjdCkp
CisgICAgICAgIHJldHVybjsKIAotdm9pZCBTVkdQYWludFNlcnZlckdyYWRpZW50OjpzZXRHcmFk
aWVudFRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSkKLXsKLSAgICBt
X2dyYWRpZW50VHJhbnNmb3JtID0gdHJhbnNmb3JtOworICAgIGRlbGV0ZSBtX2dyYWRpZW50LnRh
a2Uob2JqZWN0KTsKKyAgICBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24ob2Jq
ZWN0KTsKIH0KIAogI2lmIFBMQVRGT1JNKENHKQpAQCAtMTMwLDkgKzg2LDEwIEBAIHN0YXRpYyBp
bmxpbmUgQWZmaW5lVHJhbnNmb3JtIGFic29sdXRlVHIKICAgICByZXR1cm4gYWJzb2x1dGVUcmFu
c2Zvcm07CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRG
b3JUZXh0R3JhZGllbnQoCi0gICAgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgR3JhcGhpY3ND
b250ZXh0KiYgc2F2ZWRDb250ZXh0LAotICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4mIGltYWdlQnVm
ZmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBjcmVh
dGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQoR3JhcGhpY3NDb250ZXh0KiYgY29u
dGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR3JhcGhpY3NDb250ZXh0KiYgc2F2ZWRDb250ZXh0LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPd25QdHI8SW1hZ2VC
dWZmZXI+JiBpbWFnZUJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCiB7CiAg
ICAgY29uc3QgUmVuZGVyT2JqZWN0KiB0ZXh0Um9vdEJsb2NrID0gZmluZFRleHRSb290T2JqZWN0
KG9iamVjdCk7CiAKQEAgLTE2MiwzNSArMTE5LDU3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBjcmVh
dGVNYXNrQW5kU3dhcENvbnQKIH0KIAogc3RhdGljIGlubGluZSBBZmZpbmVUcmFuc2Zvcm0gY2xp
cFRvVGV4dE1hc2soR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAotICAgIE93blB0cjxJbWFnZUJ1
ZmZlcj4mIGltYWdlQnVmZmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwKLSAgICBjb25z
dCBTVkdQYWludFNlcnZlckdyYWRpZW50KiBncmFkaWVudFNlcnZlcikKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4mIGltYWdl
QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBHcmFkaWVudERhdGEqIGdyYWRpZW50RGF0YSkKIHsKICAgICBjb25zdCBS
ZW5kZXJPYmplY3QqIHRleHRSb290QmxvY2sgPSBmaW5kVGV4dFJvb3RPYmplY3Qob2JqZWN0KTsK
ICAgICBjb250ZXh0LT5jbGlwVG9JbWFnZUJ1ZmZlcih0ZXh0Um9vdEJsb2NrLT5yZXBhaW50UmVj
dEluTG9jYWxDb29yZGluYXRlcygpLCBpbWFnZUJ1ZmZlci5nZXQoKSk7CiAKICAgICBBZmZpbmVU
cmFuc2Zvcm0gbWF0cml4OwotICAgIGlmIChncmFkaWVudFNlcnZlci0+Ym91bmRpbmdCb3hNb2Rl
KCkpIHsKKyAgICBpZiAoZ3JhZGllbnREYXRhLT5ib3VuZGluZ0JveE1vZGUpIHsKICAgICAgICAg
RmxvYXRSZWN0IG1hc2tCb3VuZGluZ0JveCA9IHRleHRSb290QmxvY2stPm9iamVjdEJvdW5kaW5n
Qm94KCk7CiAgICAgICAgIG1hdHJpeC50cmFuc2xhdGUobWFza0JvdW5kaW5nQm94LngoKSwgbWFz
a0JvdW5kaW5nQm94LnkoKSk7CiAgICAgICAgIG1hdHJpeC5zY2FsZU5vblVuaWZvcm0obWFza0Jv
dW5kaW5nQm94LndpZHRoKCksIG1hc2tCb3VuZGluZ0JveC5oZWlnaHQoKSk7CiAgICAgfQotICAg
IG1hdHJpeC5tdWx0aXBseShncmFkaWVudFNlcnZlci0+Z3JhZGllbnRUcmFuc2Zvcm0oKSk7Cisg
ICAgbWF0cml4Lm11bHRpcGx5KGdyYWRpZW50RGF0YS0+dHJhbnNmb3JtKTsKICAgICByZXR1cm4g
bWF0cml4OwogfQogI2VuZGlmCiAKLWJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXAo
R3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNv
bnN0IFJlbmRlclN0eWxlKnN0eWxlLCBTVkdQYWludFRhcmdldFR5cGUgdHlwZSwgYm9vbCBpc1Bh
aW50aW5nVGV4dCkgY29uc3QKK2Jvb2wgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6YXBwbHlS
ZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqIHN0eWxlLCBHcmFwaGlj
c0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpCiB7Ci0gICAg
bV9vd25lckVsZW1lbnQtPmJ1aWxkR3JhZGllbnQoKTsKKyAgICBBU1NFUlQob2JqZWN0KTsKKyAg
ICBBU1NFUlQoc3R5bGUpOworICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBBU1NFUlQocmVzb3Vy
Y2VNb2RlICE9IEFwcGx5VG9EZWZhdWx0TW9kZSk7CisKKyAgICAvLyBCZSBzdXJlIHRvIHN5bmNo
cm9uaXplIGFsbCBTVkcgcHJvcGVydGllcyBvbiB0aGUgZ3JhZGllbnRFbGVtZW50IF9iZWZvcmVf
IHByb2Nlc3NpbmcgYW55IGZ1cnRoZXIuCisgICAgLy8gT3RoZXJ3aGlzZSB0aGUgY2FsbCB0byBj
b2xsZWN0R3JhZGllbnRBdHRyaWJ1dGVzKCkgaW4gY3JlYXRlVGlsZUltYWdlKCksIG1heSBjYXVz
ZSB0aGUgU1ZHIERPTSBwcm9wZXJ0eQorICAgIC8vIHN5bmNocm9uaXphdGlvbiB0byBraWNrIGlu
LCB3aGljaCBjYXVzZXMgaW52YWxpZGF0ZUNsaWVudHMoKSB0byBiZSBjYWxsZWQsIHdoaWNoIGlu
IHR1cm4gZGVsZXRlcyBvdXIKKyAgICAvLyBHcmFkaWVudERhdGEgb2JqZWN0ISBMZWF2aW5nIG91
dCB0aGUgbGluZSBiZWxvdyB3aWxsIGNhdXNlIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHKkdyYWRp
ZW50RWxlbWVudC1zdmdkb20qIHRvIGNyYXNoLgorICAgIFNWR0dyYWRpZW50RWxlbWVudCogZ3Jh
ZGllbnRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHR3JhZGllbnRFbGVtZW50Kj4obm9kZSgpKTsK
KyAgICBpZiAoIWdyYWRpZW50RWxlbWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
Y29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2Z1N0eWxlKCk7Ci0gICAg
Ym9vbCBpc0ZpbGxlZCA9ICh0eXBlICYgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlKSAmJiBzdmdTdHls
ZS0+aGFzRmlsbCgpOwotICAgIGJvb2wgaXNTdHJva2VkID0gKHR5cGUgJiBBcHBseVRvU3Ryb2tl
VGFyZ2V0VHlwZSkgJiYgc3ZnU3R5bGUtPmhhc1N0cm9rZSgpOworICAgIGdyYWRpZW50RWxlbWVu
dC0+dXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoYW55UU5hbWUoKSk7CisKKyAgICBpZiAoIW1f
Z3JhZGllbnQuY29udGFpbnMob2JqZWN0KSkKKyAgICAgICAgbV9ncmFkaWVudC5zZXQob2JqZWN0
LCBuZXcgR3JhZGllbnREYXRhKTsKKworICAgIEdyYWRpZW50RGF0YSogZ3JhZGllbnREYXRhID0g
bV9ncmFkaWVudC5nZXQob2JqZWN0KTsKIAotICAgIEFTU0VSVCgoaXNGaWxsZWQgJiYgIWlzU3Ry
b2tlZCkgfHwgKCFpc0ZpbGxlZCAmJiBpc1N0cm9rZWQpKTsKKyAgICAvLyBDcmVhdGUgZ3JhZGll
bnQgb2JqZWN0CisgICAgaWYgKCFncmFkaWVudERhdGEtPmdyYWRpZW50KQorICAgICAgICBidWls
ZEdyYWRpZW50KGdyYWRpZW50RGF0YSwgZ3JhZGllbnRFbGVtZW50KTsKIAorICAgIGlmICghZ3Jh
ZGllbnREYXRhLT5ncmFkaWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gRHJh
dyBncmFkaWVudAogICAgIGNvbnRleHQtPnNhdmUoKTsKIAorICAgIGJvb2wgaXNQYWludGluZ1Rl
eHQgPSByZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1vZGU7CiAgICAgaWYgKGlzUGFpbnRpbmdU
ZXh0KSB7CiAjaWYgUExBVEZPUk0oQ0cpCiAgICAgICAgIGlmICghY3JlYXRlTWFza0FuZFN3YXBD
b250ZXh0Rm9yVGV4dEdyYWRpZW50KGNvbnRleHQsIG1fc2F2ZWRDb250ZXh0LCBtX2ltYWdlQnVm
ZmVyLCBvYmplY3QpKSB7CkBAIC0xOTgsNzkgKzE3Nyw4OSBAQCBib29sIFNWR1BhaW50U2VydmVy
R3JhZGllbnQ6OnNldHVwKEdyYXBoCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg
IH0KICNlbmRpZgotICAgICAgICBjb250ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUoaXNGaWxsZWQg
PyBjVGV4dEZpbGwgOiBjVGV4dFN0cm9rZSk7Ci0gICAgfQogCi0gICAgaWYgKGlzRmlsbGVkKSB7
Ci0gICAgICAgIGNvbnRleHQtPnNldEFscGhhKHN2Z1N0eWxlLT5maWxsT3BhY2l0eSgpKTsKLSAg
ICAgICAgY29udGV4dC0+c2V0RmlsbEdyYWRpZW50KG1fZ3JhZGllbnQpOwotICAgICAgICBjb250
ZXh0LT5zZXRGaWxsUnVsZShzdmdTdHlsZS0+ZmlsbFJ1bGUoKSk7Ci0gICAgfQotICAgIGlmIChp
c1N0cm9rZWQpIHsKLSAgICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3ZnU3R5bGUtPnN0cm9rZU9w
YWNpdHkoKSk7Ci0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUdyYWRpZW50KG1fZ3JhZGllbnQp
OwotICAgICAgICBhcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KGNvbnRleHQsIHN0eWxlLCBvYmpl
Y3QpOworICAgICAgICBjb250ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUocmVzb3VyY2VNb2RlICYg
QXBwbHlUb0ZpbGxNb2RlID8gY1RleHRGaWxsIDogY1RleHRTdHJva2UpOwogICAgIH0KIAotICAg
IEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7Ci0gICAgLy8gQ0cgcGxhdGZvcm1zIHdpbGwgaGFuZGxl
IHRoZSBncmFkaWVudCBzcGFjZSB0cmFuc2Zvcm0gZm9yIHRleHQgaW4KLSAgICAvLyB0ZWFyZG93
biwgc28gd2UgZG9uJ3QgYXBwbHkgaXQgaGVyZS4gIEZvciBub24tQ0cgcGxhdGZvcm1zLCB3ZQot
ICAgIC8vIHdhbnQgdGhlIHRleHQgYm91bmRpbmcgYm94IGFwcGxpZWQgdG8gdGhlIGdyYWRpZW50
IHNwYWNlIHRyYW5zZm9ybSBub3csCi0gICAgLy8gc28gdGhlIGdyYWRpZW50IHNoYWRlciBjYW4g
dXNlIGl0LgorICAgIEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm07CisKKyAgICAvLyBDRyBwbGF0
Zm9ybXMgd2lsbCBoYW5kbGUgdGhlIGdyYWRpZW50IHNwYWNlIHRyYW5zZm9ybSBmb3IgdGV4dCBh
ZnRlciBhcHBseWluZyB0aGUKKyAgICAvLyByZXNvdXJjZSwgc28gZG9uJ3QgYXBwbHkgaXQgaGVy
ZS4gRm9yIG5vbi1DRyBwbGF0Zm9ybXMsIHdlIHdhbnQgdGhlIHRleHQgYm91bmRpbmcKKyAgICAv
LyBib3ggYXBwbGllZCB0byB0aGUgZ3JhZGllbnQgc3BhY2UgdHJhbnNmb3JtIG5vdywgc28gdGhl
IGdyYWRpZW50IHNoYWRlciBjYW4gdXNlIGl0LgogI2lmIFBMQVRGT1JNKENHKQotICAgIGlmIChi
b3VuZGluZ0JveE1vZGUoKSAmJiAhaXNQYWludGluZ1RleHQpIHsKKyAgICBpZiAoZ3JhZGllbnRE
YXRhLT5ib3VuZGluZ0JveE1vZGUgJiYgIWlzUGFpbnRpbmdUZXh0KSB7CiAjZWxzZQotICAgIGlm
IChib3VuZGluZ0JveE1vZGUoKSkgeworICAgIGlmIChncmFkaWVudERhdGEtPmJvdW5kaW5nQm94
TW9kZSkgewogI2VuZGlmCi0gICAgICAgIEZsb2F0UmVjdCBiYm94ID0gb2JqZWN0LT5vYmplY3RC
b3VuZGluZ0JveCgpOwotICAgICAgICBtYXRyaXgudHJhbnNsYXRlKGJib3gueCgpLCBiYm94Lnko
KSk7Ci0gICAgICAgIG1hdHJpeC5zY2FsZU5vblVuaWZvcm0oYmJveC53aWR0aCgpLCBiYm94Lmhl
aWdodCgpKTsKKyAgICAgICAgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94ID0gb2JqZWN0LT5v
YmplY3RCb3VuZGluZ0JveCgpOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKG9iamVjdEJv
dW5kaW5nQm94LngoKSwgb2JqZWN0Qm91bmRpbmdCb3gueSgpKTsKKyAgICAgICAgdHJhbnNmb3Jt
LnNjYWxlTm9uVW5pZm9ybShvYmplY3RCb3VuZGluZ0JveC53aWR0aCgpLCBvYmplY3RCb3VuZGlu
Z0JveC5oZWlnaHQoKSk7CisgICAgfQorCisgICAgdHJhbnNmb3JtLm11bHRpcGx5KGdyYWRpZW50
RGF0YS0+dHJhbnNmb3JtKTsKKyAgICBncmFkaWVudERhdGEtPmdyYWRpZW50LT5zZXRHcmFkaWVu
dFNwYWNlVHJhbnNmb3JtKHRyYW5zZm9ybSk7CisKKyAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSog
c3ZnU3R5bGUgPSBzdHlsZS0+c3ZnU3R5bGUoKTsKKyAgICBBU1NFUlQoc3ZnU3R5bGUpOworCisg
ICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9GaWxsTW9kZSkgeworICAgICAgICBjb250ZXh0
LT5zZXRBbHBoYShzdmdTdHlsZS0+ZmlsbE9wYWNpdHkoKSk7CisgICAgICAgIGNvbnRleHQtPnNl
dEZpbGxHcmFkaWVudChncmFkaWVudERhdGEtPmdyYWRpZW50KTsKKyAgICAgICAgY29udGV4dC0+
c2V0RmlsbFJ1bGUoc3ZnU3R5bGUtPmZpbGxSdWxlKCkpOworICAgIH0gZWxzZSBpZiAocmVzb3Vy
Y2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpIHsKKyAgICAgICAgY29udGV4dC0+c2V0QWxwaGEo
c3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSk7CisgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUdy
YWRpZW50KGdyYWRpZW50RGF0YS0+Z3JhZGllbnQpOworICAgICAgICBhcHBseVN0cm9rZVN0eWxl
VG9Db250ZXh0KGNvbnRleHQsIHN0eWxlLCBvYmplY3QpOwogICAgIH0KLSAgICBtYXRyaXgubXVs
dGlwbHkoZ3JhZGllbnRUcmFuc2Zvcm0oKSk7Ci0gICAgbV9ncmFkaWVudC0+c2V0R3JhZGllbnRT
cGFjZVRyYW5zZm9ybShtYXRyaXgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgU1ZH
UGFpbnRTZXJ2ZXJHcmFkaWVudDo6dGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwg
Y29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBpc1Bh
aW50aW5nVGV4dCkgY29uc3QKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6cG9zdEFw
cGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIEdyYXBoaWNzQ29udGV4dComIGNvbnRl
eHQsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkKIHsKKyAgICBBU1NFUlQoY29udGV4dCk7
CisgICAgQVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOworCisgICAg
aWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9UZXh0TW9kZSkgewogI2lmIFBMQVRGT1JNKENHKQot
ICAgIC8vIHJlbmRlclBhdGgoKSBpcyBub3QgdXNlZCB3aGVuIHBhaW50aW5nIHRleHQsIHNvIHdl
IHBhaW50IHRoZSBncmFkaWVudCBkdXJpbmcgdGVhcmRvd24oKQotICAgIGlmIChpc1BhaW50aW5n
VGV4dCAmJiBtX3NhdmVkQ29udGV4dCkgewotICAgICAgICAvLyBSZXN0b3JlIG9uLXNjcmVlbiBk
cmF3aW5nIGNvbnRleHQKLSAgICAgICAgY29udGV4dCA9IG1fc2F2ZWRDb250ZXh0OwotICAgICAg
ICBtX3NhdmVkQ29udGV4dCA9IDA7Ci0KLSAgICAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeCA9
IGNsaXBUb1RleHRNYXNrKGNvbnRleHQsIG1faW1hZ2VCdWZmZXIsIG9iamVjdCwgdGhpcyk7Ci0g
ICAgICAgIG1fZ3JhZGllbnQtPnNldEdyYWRpZW50U3BhY2VUcmFuc2Zvcm0obWF0cml4KTsKLSAg
ICAgICAgY29udGV4dC0+c2V0RmlsbEdyYWRpZW50KG1fZ3JhZGllbnQpOwotICAgICAgICAKLSAg
ICAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiB0ZXh0Um9vdEJsb2NrID0gZmluZFRleHRSb290T2Jq
ZWN0KG9iamVjdCk7Ci0gICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHRleHRSb290QmxvY2stPnJl
cGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgICAgICAvLyBDRyByZXF1aXJlcyBz
cGVjaWFsIGhhbmRsaW5nIGZvciBncmFkaWVudCBvbiB0ZXh0CisgICAgICAgIGlmIChtX3NhdmVk
Q29udGV4dCAmJiBtX2dyYWRpZW50LmNvbnRhaW5zKG9iamVjdCkpIHsKKyAgICAgICAgICAgIEdy
YWRpZW50RGF0YSogZ3JhZGllbnREYXRhID0gbV9ncmFkaWVudC5nZXQob2JqZWN0KTsKIAotICAg
ICAgICBtX2ltYWdlQnVmZmVyLmNsZWFyKCk7Ci0gICAgfQorICAgICAgICAgICAgLy8gUmVzdG9y
ZSBvbi1zY3JlZW4gZHJhd2luZyBjb250ZXh0CisgICAgICAgICAgICBjb250ZXh0ID0gbV9zYXZl
ZENvbnRleHQ7CisgICAgICAgICAgICBtX3NhdmVkQ29udGV4dCA9IDA7CisKKyAgICAgICAgICAg
IGdyYWRpZW50RGF0YS0+Z3JhZGllbnQtPnNldEdyYWRpZW50U3BhY2VUcmFuc2Zvcm0oY2xpcFRv
VGV4dE1hc2soY29udGV4dCwgbV9pbWFnZUJ1ZmZlciwgb2JqZWN0LCBncmFkaWVudERhdGEpKTsK
KyAgICAgICAgICAgIGNvbnRleHQtPnNldEZpbGxHcmFkaWVudChncmFkaWVudERhdGEtPmdyYWRp
ZW50KTsKKworICAgICAgICAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiB0ZXh0Um9vdEJsb2NrID0g
ZmluZFRleHRSb290T2JqZWN0KG9iamVjdCk7CisgICAgICAgICAgICBjb250ZXh0LT5maWxsUmVj
dCh0ZXh0Um9vdEJsb2NrLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKworICAg
ICAgICAgICAgbV9pbWFnZUJ1ZmZlci5jbGVhcigpOworICAgICAgICB9CisjZWxzZQorICAgICAg
ICBVTlVTRURfUEFSQU0ob2JqZWN0KTsKICNlbmRpZgorICAgIH0gZWxzZSB7CisgICAgICAgIGlm
IChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpCisgICAgICAgICAgICBjb250ZXh0LT5m
aWxsUGF0aCgpOworICAgICAgICBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvU3Ryb2tl
TW9kZSkKKyAgICAgICAgICAgIGNvbnRleHQtPnN0cm9rZVBhdGgoKTsKKyAgICB9CisKICAgICBj
b250ZXh0LT5yZXN0b3JlKCk7CiB9CiAKLVRleHRTdHJlYW0mIFNWR1BhaW50U2VydmVyR3JhZGll
bnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Cit2b2lkIFJl
bmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OmFkZFN0b3BzKEdyYWRpZW50RGF0YSogZ3JhZGllbnRE
YXRhLCBjb25zdCBWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mIHN0b3BzKSBjb25zdAogewot
ICAgIC8vIEdyYWRpZW50cy9wYXR0ZXJucyBhcmVuJ3Qgc2V0dXAsIHVudGlsIHRoZXkgYXJlIHVz
ZWQgZm9yIHBhaW50aW5nLiBXb3JrIGFyb3VuZCB0aGF0IGZhY3QuCi0gICAgbV9vd25lckVsZW1l
bnQtPmJ1aWxkR3JhZGllbnQoKTsKLQotICAgIC8vIGFic3RyYWN0LCBkb24ndCBzdHJlYW0gdHlw
ZQotICAgIHRzICA8PCAiW3N0b3BzPSIgPDwgZ3JhZGllbnRTdG9wcygpIDw8ICJdIjsKLSAgICBp
ZiAobV9ncmFkaWVudC0+c3ByZWFkTWV0aG9kKCkgIT0gU3ByZWFkTWV0aG9kUGFkKQotICAgICAg
ICB0cyA8PCAiW21ldGhvZD0iIDw8IG1fZ3JhZGllbnQtPnNwcmVhZE1ldGhvZCgpIDw8ICJdIjsK
LSAgICBpZiAoIWJvdW5kaW5nQm94TW9kZSgpKQotICAgICAgICB0cyA8PCAiIFtib3VuZGluZyBi
b3ggbW9kZT0iIDw8IGJvdW5kaW5nQm94TW9kZSgpIDw8ICJdIjsKLSAgICBpZiAoIWdyYWRpZW50
VHJhbnNmb3JtKCkuaXNJZGVudGl0eSgpKQotICAgICAgICB0cyA8PCAiIFt0cmFuc2Zvcm09IiA8
PCBncmFkaWVudFRyYW5zZm9ybSgpIDw8ICJdIjsKKyAgICBBU1NFUlQoZ3JhZGllbnREYXRhLT5n
cmFkaWVudCk7CiAKLSAgICByZXR1cm4gdHM7CisgICAgY29uc3QgVmVjdG9yPEdyYWRpZW50OjpD
b2xvclN0b3A+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBzdG9wcy5lbmQoKTsKKyAgICBmb3IgKFZl
Y3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBzdG9wcy5iZWdp
bigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgIGdyYWRpZW50RGF0YS0+Z3JhZGllbnQtPmFk
ZENvbG9yU3RvcCgqaXQpOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9CiAKICNlbmRp
ZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGllbnQu
aAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZUdyYWRpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsOTggKzEsNzUgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAg
KiAgICAgICAgICAgICAgIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAqIENv
cHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
ICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KICAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVS
LCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIs
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAg
Ki8KIAogI2lmbmRlZiBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50X2gKICNkZWZpbmUgUmVuZGVy
U1ZHUmVzb3VyY2VHcmFkaWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotCiAjaW5jbHVkZSAiQWZm
aW5lVHJhbnNmb3JtLmgiCi0jaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJGbG9hdFJlY3Qu
aCIKICNpbmNsdWRlICJHcmFkaWVudC5oIgotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgot
I2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCisjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKKyNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgorI2luY2x1ZGUgIlNWR0dyYWRp
ZW50RWxlbWVudC5oIgogCi0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBJbWFnZUJ1ZmZlcjsKLWNsYXNzIFNWR0dyYWRpZW50RWxlbWVudDsKLQot
dHlwZWRlZiBzdGQ6OnBhaXI8ZmxvYXQsIENvbG9yPiBTVkdHcmFkaWVudFN0b3A7Ci0KLWNsYXNz
IFNWR1BhaW50U2VydmVyR3JhZGllbnQgOiBwdWJsaWMgU1ZHUGFpbnRTZXJ2ZXIgewotcHVibGlj
OgotICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyR3JhZGllbnQoKTsKLQotICAgIHZvaWQgc2V0
R3JhZGllbnQoUGFzc1JlZlB0cjxHcmFkaWVudD4pOwotICAgIEdyYWRpZW50KiBncmFkaWVudCgp
IGNvbnN0Oworc3RydWN0IEdyYWRpZW50RGF0YSB7CisgICAgUmVmUHRyPEdyYWRpZW50PiBncmFk
aWVudDsKIAotICAgIC8vIEdyYWRpZW50IHN0YXJ0IGFuZCBlbmQgcG9pbnRzIGFyZSBwZXJjZW50
YWdlcyB3aGVuIHVzZWQgaW4gYm91bmRpbmdCb3ggbW9kZS4KLSAgICAvLyBGb3IgaW5zdGFuY2Ug
c3RhcnQgcG9pbnQgd2l0aCB2YWx1ZSAoMCwwKSBpcyB0b3AtbGVmdCBhbmQgZW5kIHBvaW50IHdp
dGgKLSAgICAvLyB2YWx1ZSAoMTAwLCAxMDApIGlzIGJvdHRvbS1yaWdodC4gQm91bmRpbmdCb3gg
bW9kZSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCi0gICAgYm9vbCBib3VuZGluZ0JveE1vZGUoKSBj
b25zdDsKLSAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9kZShib29sIG1vZGUgPSB0cnVlKTsKKyAg
ICBib29sIGJvdW5kaW5nQm94TW9kZTsKKyAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtOwor
fTsKIAotICAgIEFmZmluZVRyYW5zZm9ybSBncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0OwotICAg
IHZvaWQgc2V0R3JhZGllbnRUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CitjbGFz
cyBHcmFwaGljc0NvbnRleHQ7CiAKLSAgICB2b2lkIHNldEdyYWRpZW50U3RvcHMoY29uc3QgVmVj
dG9yPFNWR0dyYWRpZW50U3RvcD4mIHN0b3BzKSB7IG1fc3RvcHMgPSBzdG9wczsgfQotICAgIGNv
bnN0IFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+JiBncmFkaWVudFN0b3BzKCkgY29uc3QgeyByZXR1
cm4gbV9zdG9wczsgfQorY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCA6IHB1YmxpYyBS
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CitwdWJsaWM6CisgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudChTVkdHcmFkaWVudEVsZW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5SZW5kZXJTVkdS
ZXNvdXJjZUdyYWRpZW50KCk7CiAKLSAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVw
cmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlk
YXRlQ2xpZW50cygpOworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50KFJlbmRlck9i
amVjdCopOwogCi0gICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dComLCBjb25z
dCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFyZ2V0VHlwZSwg
Ym9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHRlYXJkb3duKEdy
YXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdldFR5cGUs
IGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291
cmNlKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYsIHVuc2ln
bmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBcHBseVJlc291
cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBzaG9ydCByZXNv
dXJjZU1vZGUpOworICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91bmRpbmdCb3goY29u
c3QgRmxvYXRSZWN0JikgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KIAogcHJvdGVjdGVk
OgotICAgIFNWR1BhaW50U2VydmVyR3JhZGllbnQoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBv
d25lcik7Ci0gICAgCisgICAgdm9pZCBhZGRTdG9wcyhHcmFkaWVudERhdGEqLCBjb25zdCBWZWN0
b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgYnVpbGRH
cmFkaWVudChHcmFkaWVudERhdGEqLCBTVkdHcmFkaWVudEVsZW1lbnQqKSBjb25zdCA9IDA7CisK
IHByaXZhdGU6Ci0gICAgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gbV9zdG9wczsKLSAgICBSZWZQ
dHI8R3JhZGllbnQ+IG1fZ3JhZGllbnQ7Ci0gICAgYm9vbCBtX2JvdW5kaW5nQm94TW9kZTsKLSAg
ICBBZmZpbmVUcmFuc2Zvcm0gbV9ncmFkaWVudFRyYW5zZm9ybTsKLSAgICBjb25zdCBTVkdHcmFk
aWVudEVsZW1lbnQqIG1fb3duZXJFbGVtZW50OworICAgIEhhc2hNYXA8UmVuZGVyT2JqZWN0Kiwg
R3JhZGllbnREYXRhKj4gbV9ncmFkaWVudDsKIAogI2lmIFBMQVRGT1JNKENHKQotcHVibGljOgot
ICAgIG11dGFibGUgR3JhcGhpY3NDb250ZXh0KiBtX3NhdmVkQ29udGV4dDsKLSAgICBtdXRhYmxl
IE93blB0cjxJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZlcjsKKyAgICBHcmFwaGljc0NvbnRleHQq
IG1fc2F2ZWRDb250ZXh0OworICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZlcjsK
ICNlbmRpZgogfTsKIAotaW5saW5lIFNWR0dyYWRpZW50U3RvcCBtYWtlR3JhZGllbnRTdG9wKGZs
b2F0IG9mZnNldCwgY29uc3QgQ29sb3ImIGNvbG9yKQotewotICAgIHJldHVybiBzdGQ6Om1ha2Vf
cGFpcihvZmZzZXQsIGNvbG9yKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCiAjZW5k
aWYKLQotI2VuZGlmIC8vIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnRfaAorI2VuZGlmCkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdy
YWRpZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwyNiArMSwy
MiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0
ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMjgsNDgg
KzI0LDQzIEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUxp
bmVhckdyYWRpZW50LmgiCiAKLSNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCisjaW5j
bHVkZSAiTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSAiU1ZHTGluZWFyR3Jh
ZGllbnRFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU1ZHUGFpbnRTZXJ2ZXJM
aW5lYXJHcmFkaWVudDo6U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudChjb25zdCBTVkdHcmFk
aWVudEVsZW1lbnQqIG93bmVyKQotICAgIDogU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudChvd25lcikK
LXsgCi19CitSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFk
aWVudDo6c19yZXNvdXJjZVR5cGUgPSBMaW5lYXJHcmFkaWVudFJlc291cmNlVHlwZTsKIAotU1ZH
UGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6flNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQo
KQorUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6UmVuZGVyU1ZHUmVzb3VyY2VMaW5l
YXJHcmFkaWVudChTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqIG5vZGUpCisgICAgOiBSZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50KG5vZGUpCiB7CiB9CiAKLUZsb2F0UG9pbnQgU1ZHUGFpbnRTZXJ2
ZXJMaW5lYXJHcmFkaWVudDo6Z3JhZGllbnRTdGFydCgpIGNvbnN0CitSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCgpCiB7Ci0g
ICAgcmV0dXJuIG1fc3RhcnQ7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVu
dDo6c2V0R3JhZGllbnRTdGFydChjb25zdCBGbG9hdFBvaW50JiBzdGFydCkKK3ZvaWQgUmVuZGVy
U1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6YnVpbGRHcmFkaWVudChHcmFkaWVudERhdGEqIGdy
YWRpZW50RGF0YSwgU1ZHR3JhZGllbnRFbGVtZW50KiBncmFkaWVudEVsZW1lbnQpIGNvbnN0CiB7
Ci0gICAgbV9zdGFydCA9IHN0YXJ0OwotfQorICAgIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCog
bGluZWFyR3JhZGllbnRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHTGluZWFyR3JhZGllbnRFbGVt
ZW50Kj4oZ3JhZGllbnRFbGVtZW50KTsKKyAgICBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgYXR0
cmlidXRlcyA9IGxpbmVhckdyYWRpZW50RWxlbWVudC0+Y29sbGVjdEdyYWRpZW50UHJvcGVydGll
cygpOwogCi1GbG9hdFBvaW50IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ6OmdyYWRpZW50
RW5kKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9lbmQ7Ci19CisgICAgLy8gRGV0ZXJtaW5lIGdy
YWRpZW50IHN0YXJ0L2VuZCBwb2ludHMKKyAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQ7CisgICAg
RmxvYXRQb2ludCBlbmRQb2ludDsKKyAgICBsaW5lYXJHcmFkaWVudEVsZW1lbnQtPmNhbGN1bGF0
ZVN0YXJ0RW5kUG9pbnRzKGF0dHJpYnV0ZXMsIHN0YXJ0UG9pbnQsIGVuZFBvaW50KTsKIAotdm9p
ZCBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50OjpzZXRHcmFkaWVudEVuZChjb25zdCBGbG9h
dFBvaW50JiBlbmQpCi17Ci0gICAgbV9lbmQgPSBlbmQ7Ci19CisgICAgZ3JhZGllbnREYXRhLT5n
cmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoc3RhcnRQb2ludCwgZW5kUG9pbnQpOworICAgIGdy
YWRpZW50RGF0YS0+Z3JhZGllbnQtPnNldFNwcmVhZE1ldGhvZChhdHRyaWJ1dGVzLnNwcmVhZE1l
dGhvZCgpKTsKIAotVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6ZXh0
ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKLXsKLSAgICB0cyA8PCAi
W3R5cGU9TElORUFSLUdSQURJRU5UXSAiOwotICAgIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OmV4
dGVybmFsUmVwcmVzZW50YXRpb24odHMpOwotICAgIHRzICA8PCAiIFtzdGFydD0iIDw8IGdyYWRp
ZW50U3RhcnQoKSA8PCAiXSIKLSAgICAgICAgPDwgIiBbZW5kPSIgPDwgZ3JhZGllbnRFbmQoKSA8
PCAiXSI7Ci0gICAgcmV0dXJuIHRzOworICAgIC8vIFJlY29yZCBjdXJyZW50IGdyYWRpZW50IHRy
YW5zZm9ybQorICAgIGdyYWRpZW50RGF0YS0+dHJhbnNmb3JtID0gYXR0cmlidXRlcy5ncmFkaWVu
dFRyYW5zZm9ybSgpOworICAgIGdyYWRpZW50RGF0YS0+Ym91bmRpbmdCb3hNb2RlID0gYXR0cmli
dXRlcy5ib3VuZGluZ0JveE1vZGUoKTsKKworICAgIC8vIEFkZCBzdG9wcworICAgIGFkZFN0b3Bz
KGdyYWRpZW50RGF0YSwgYXR0cmlidXRlcy5zdG9wcygpKTsKIH0KIAotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorfQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jl
c291cmNlTGluZWFyR3JhZGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYyICsxLDQ4IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29s
YXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNl
YXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaWZuZGVmIFJl
bmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnRfaAogI2RlZmluZSBSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0KLSNpbmNsdWRlICJGbG9hdFBv
aW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQgOiBwdWJs
aWMgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudD4gY3JlYXRlKGNvbnN0IFNWR0dyYWRpZW50
RWxlbWVudCogb3duZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZlckxpbmVh
ckdyYWRpZW50KG93bmVyKSk7IH0KLSAgICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlckxpbmVhckdy
YWRpZW50KCk7Ci0KLSAgICB2aXJ0dWFsIFNWR1BhaW50U2VydmVyVHlwZSB0eXBlKCkgY29uc3Qg
eyByZXR1cm4gTGluZWFyR3JhZGllbnRQYWludFNlcnZlcjsgfQorY2xhc3MgU1ZHTGluZWFyR3Jh
ZGllbnRFbGVtZW50OwogCi0gICAgRmxvYXRQb2ludCBncmFkaWVudFN0YXJ0KCkgY29uc3Q7Ci0g
ICAgdm9pZCBzZXRHcmFkaWVudFN0YXJ0KGNvbnN0IEZsb2F0UG9pbnQmKTsKLQotICAgIEZsb2F0
UG9pbnQgZ3JhZGllbnRFbmQoKSBjb25zdDsKLSAgICB2b2lkIHNldEdyYWRpZW50RW5kKGNvbnN0
IEZsb2F0UG9pbnQmKTsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQgOiBw
dWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCB7CitwdWJsaWM6CisgICAgUmVuZGVyU1ZH
UmVzb3VyY2VMaW5lYXJHcmFkaWVudChTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqKTsKKyAgICB2
aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KCk7CiAKLSAgICB2aXJ0dWFs
IFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0Owor
ICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IjsgfQogCi1wcml2YXRlOgotICAgIFNWR1BhaW50
U2VydmVyTGluZWFyR3JhZGllbnQoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBvd25lcik7Cisg
ICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlKCkgY29uc3QgeyBy
ZXR1cm4gc19yZXNvdXJjZVR5cGU7IH0KKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2VUeXBl
IHNfcmVzb3VyY2VUeXBlOwogCi0gICAgRmxvYXRQb2ludCBtX3N0YXJ0OwotICAgIEZsb2F0UG9p
bnQgbV9lbmQ7CisgICAgdmlydHVhbCB2b2lkIGJ1aWxkR3JhZGllbnQoR3JhZGllbnREYXRhKiwg
U1ZHR3JhZGllbnRFbGVtZW50KikgY29uc3Q7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Cit9CiAKICNlbmRpZgotCi0jZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVu
dF9oCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFy
a2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZU1hcmtlci5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U1ZHUmVzb3VyY2VNYXJrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIFJlbmRlclNWR1Jlc291
cmNlTWFya2VyOjpzX3Jlc291cmNlVHlwZSA9IE1hcmtlclJlc291cmNlVHlwZTsKIAotUmVuZGVy
U1ZHUmVzb3VyY2VNYXJrZXI6OlJlbmRlclNWR1Jlc291cmNlTWFya2VyKFNWR1N0eWxlZEVsZW1l
bnQqIG5vZGUpCi0gICAgOiBSZW5kZXJTVkdSZXNvdXJjZShub2RlKQorUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXJrZXI6OlJlbmRlclNWR1Jlc291cmNlTWFya2VyKFNWR01hcmtlckVsZW1lbnQqIG5vZGUp
CisgICAgOiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihub2RlKQogewogfQogCkBAIC04Miw2
ICs4Miw3IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmludmFsaWRhdGUKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgbV9tYXJrZXIucmVtb3ZlKG9iamVjdCk7CisgICAgbWFya0Zvckxh
eW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKG9iamVjdCk7CiB9CiAKIHZvaWQgUmVuZGVyU1ZH
UmVzb3VyY2VNYXJrZXI6OmFwcGx5Vmlld3BvcnRDbGlwKFBhaW50SW5mbyYgcGFpbnRJbmZvKQpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oCShyZXZp
c2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFya2Vy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2lu
Y2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1ZGUg
IlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXIuaCIKICNpbmNsdWRlICJTVkdNYXJrZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVk
RWxlbWVudC5oIgogCkBAIC0zNCwxMCArMzQsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEFmZmluZVRyYW5zZm9ybTsKIAotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIgOiBw
dWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2UgewotCitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1hcmtl
ciA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CiBwdWJsaWM6Ci0gICAgUmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXIoU1ZHU3R5bGVkRWxlbWVudCopOworICAgIFJlbmRlclNWR1Jl
c291cmNlTWFya2VyKFNWR01hcmtlckVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJTVkdS
ZXNvdXJjZU1hcmtlcigpOwogCiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkg
Y29uc3QgeyByZXR1cm4gIlJlbmRlclNWR1Jlc291cmNlTWFya2VyIjsgfQpAQCAtNTgsNyArNTcs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGxvY2FsVG9Q
YXJlbnRUcmFuc2Zvcm0oKSBjb25zdDsKICAgICBBZmZpbmVUcmFuc2Zvcm0gbWFya2VyVHJhbnNm
b3JtYXRpb24oY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9hdCBhbmdsZSwgZmxvYXQgc3Ry
b2tlV2lkdGgpIGNvbnN0OwogCi0gICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVy
T2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVh
bCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUqLCBHcmFwaGlj
c0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVh
bCBGbG9hdFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCB7
IHJldHVybiBGbG9hdFJlY3QoKTsgfQogCiAgICAgRmxvYXRQb2ludCByZWZlcmVuY2VQb2ludCgp
IGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFz
a2VyLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdS
ZXNvdXJjZU1hc2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDggKzQyLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VN
YXNrZXI6OnNfcmVzb3VyY2VUeXBlID0gTWFza2VyUmVzb3VyY2VUeXBlOwogCi1SZW5kZXJTVkdS
ZXNvdXJjZU1hc2tlcjo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIoU1ZHU3R5bGVkRWxlbWVudCog
bm9kZSkKLSAgICA6IFJlbmRlclNWR1Jlc291cmNlKG5vZGUpCitSZW5kZXJTVkdSZXNvdXJjZU1h
c2tlcjo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIoU1ZHTWFza0VsZW1lbnQqIG5vZGUpCisgICAg
OiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihub2RlKQogewogfQogCkBAIC03NywxMyArNzcs
MTUgQEAgdm9pZCBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6aW52YWxpZGF0ZQogICAgIGlmICgh
bV9tYXNrZXIuY29udGFpbnMob2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZGVsZXRl
IG1fbWFza2VyLnRha2Uob2JqZWN0KTsgCisgICAgZGVsZXRlIG1fbWFza2VyLnRha2Uob2JqZWN0
KTsKKyAgICBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24ob2JqZWN0KTsKIH0K
IAotYm9vbCBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCkKK2Jvb2wgUmVuZGVyU1ZHUmVz
b3VyY2VNYXNrZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRlclN0
eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VN
b2RlKQogewogICAgIEFTU0VSVChvYmplY3QpOwogICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBB
U1NFUlQocmVzb3VyY2VNb2RlID09IEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAKICAgICBpZiAoIW1f
bWFza2VyLmNvbnRhaW5zKG9iamVjdCkpCiAgICAgICAgIG1fbWFza2VyLnNldChvYmplY3QsIG5l
dyBNYXNrZXJEYXRhKTsKQEAgLTE1MSw3ICsxNTMsNyBAQCB2b2lkIFJlbmRlclNWR1Jlc291cmNl
TWFza2VyOjpjcmVhdGVNYXNrCiAgICAgbWFza0ltYWdlUmVjdC5zZXRMb2NhdGlvbihJbnRQb2lu
dCgpKTsKIAogICAgIC8vIERvbid0IGNyZWF0ZSBJbWFnZUJ1ZmZlcnMgd2l0aCBpbWFnZSBzaXpl
IG9mIDAKLSAgICBpZiAoIW1hc2tJbWFnZVJlY3Qud2lkdGgoKSB8fCAhbWFza0ltYWdlUmVjdC5o
ZWlnaHQoKSkgeworICAgIGlmIChtYXNrSW1hZ2VSZWN0LmlzRW1wdHkoKSkgewogICAgICAgICBt
YXNrZXJEYXRhLT5lbXB0eU1hc2sgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5oCShyZXZpc2lv
biA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyLmgiCiAjaW5jbHVkZSAiU1ZHTWFza0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdV
bml0VHlwZXMuaCIKIApAQCAtMzYsOSArMzYsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBz
dHJ1Y3QgTWFza2VyRGF0YSB7Ci0gICAgTWFza2VyRGF0YShGbG9hdFJlY3QgcmVjdCA9IEZsb2F0
UmVjdCgpLCBib29sIGVtcHR5T2JqZWN0ID0gZmFsc2UpCi0gICAgICAgIDogbWFza1JlY3QocmVj
dCkKLSAgICAgICAgLCBlbXB0eU1hc2soZW1wdHlPYmplY3QpCisgICAgTWFza2VyRGF0YSgpCisg
ICAgICAgIDogZW1wdHlNYXNrKGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTQ3LDEwICs0Niw5
IEBAIHN0cnVjdCBNYXNrZXJEYXRhIHsKICAgICBib29sIGVtcHR5TWFzazsKIH07CiAKLWNsYXNz
IFJlbmRlclNWR1Jlc291cmNlTWFza2VyIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlIHsKLQor
Y2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXIgewogcHVibGljOgotICAgIFJlbmRlclNWR1Jlc291cmNlTWFza2VyKFNWR1N0eWxl
ZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcihTVkdNYXNrRWxlbWVudCop
OwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlTWFza2VyKCk7CiAKICAgICB2aXJ0dWFs
IGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXNrZXIiOyB9CkBAIC01OCw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
aW52YWxpZGF0ZUNsaWVudHMoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChS
ZW5kZXJPYmplY3QqKTsKIAotICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291cmNlKFJlbmRlck9i
amVjdCosIEdyYXBoaWNzQ29udGV4dComKTsKKyAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJj
ZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25l
ZCBzaG9ydCByZXNvdXJjZU1vZGUpOwogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91
bmRpbmdCb3goY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKICAgICBTVkdVbml0VHlwZXM6OlNW
R1VuaXRUeXBlIG1hc2tVbml0cygpIGNvbnN0IHsgcmV0dXJuIHRvVW5pdFR5cGUoc3RhdGljX2Nh
c3Q8U1ZHTWFza0VsZW1lbnQqPihub2RlKCkpLT5tYXNrVW5pdHMoKSk7IH0KSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcAkocmV2aXNpb24g
NTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDI3ICsxLDIyIEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICogICAgICAgICAg
ICAgICAyMDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChD
KSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCkBAIC0yOSwxNTUgKzI0LDMwNiBAQAogI2lmIEVOQUJMRShTVkcpCiAj
aW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgiCiAKLSNpbmNsdWRlICJBZmZpbmVU
cmFuc2Zvcm0uaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJJbWFn
ZS5oIgotI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiUGF0dGVybi5oIgotI2lu
Y2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlNWR1BhdHRlcm5FbGVtZW50LmgiCi0j
aW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgotCi11c2luZyBuYW1lc3BhY2Ugc3RkOwor
I2luY2x1ZGUgIlBhdHRlcm5BdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9y
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1BhaW50U2VydmVyUGF0dGVybjo6U1ZH
UGFpbnRTZXJ2ZXJQYXR0ZXJuKGNvbnN0IFNWR1BhdHRlcm5FbGVtZW50KiBvd25lcikKLSAgICA6
IG1fb3duZXJFbGVtZW50KG93bmVyKQotICAgICwgbV9wYXR0ZXJuKDApCi17Ci0gICAgQVNTRVJU
KG93bmVyKTsKLX0KK1JlbmRlclNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZVBhdHRl
cm46OnNfcmVzb3VyY2VUeXBlID0gUGF0dGVyblJlc291cmNlVHlwZTsKIAotU1ZHUGFpbnRTZXJ2
ZXJQYXR0ZXJuOjp+U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKCkKK1JlbmRlclNWR1Jlc291cmNlUGF0
dGVybjo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuKFNWR1BhdHRlcm5FbGVtZW50KiBub2RlKQor
ICAgIDogUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKIHsKIH0KIAotRmxvYXRSZWN0
IFNWR1BhaW50U2VydmVyUGF0dGVybjo6cGF0dGVybkJvdW5kYXJpZXMoKSBjb25zdAorUmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuOjp+UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuKCkKIHsKLSAgICBy
ZXR1cm4gbV9wYXR0ZXJuQm91bmRhcmllczsKKyAgICBkZWxldGVBbGxWYWx1ZXMobV9wYXR0ZXJu
KTsKKyAgICBtX3BhdHRlcm4uY2xlYXIoKTsKIH0KIAotdm9pZCBTVkdQYWludFNlcnZlclBhdHRl
cm46OnNldFBhdHRlcm5Cb3VuZGFyaWVzKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3ZvaWQgUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjppbnZhbGlkYXRlQ2xpZW50cygpCiB7Ci0gICAgbV9wYXR0
ZXJuQm91bmRhcmllcyA9IHJlY3Q7Ci19CisgICAgY29uc3QgSGFzaE1hcDxSZW5kZXJPYmplY3Qq
LCBQYXR0ZXJuRGF0YSo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3BhdHRlcm4uZW5kKCk7Cisg
ICAgZm9yIChIYXNoTWFwPFJlbmRlck9iamVjdCosIFBhdHRlcm5EYXRhKj46OmNvbnN0X2l0ZXJh
dG9yIGl0ID0gbV9wYXR0ZXJuLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgbWFy
a0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKGl0LT5maXJzdCk7CiAKLUltYWdlQnVm
ZmVyKiBTVkdQYWludFNlcnZlclBhdHRlcm46OnRpbGUoKSBjb25zdAotewotICAgIHJldHVybiBt
X3RpbGUuZ2V0KCk7CisgICAgZGVsZXRlQWxsVmFsdWVzKG1fcGF0dGVybik7CisgICAgbV9wYXR0
ZXJuLmNsZWFyKCk7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpzZXRUaWxlKFBh
c3NPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGUpCit2b2lkIFJlbmRlclNWR1Jlc291cmNlUGF0dGVy
bjo6aW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKLSAgICBtX3RpbGUg
PSB0aWxlOwotfQorICAgIEFTU0VSVChvYmplY3QpOwogCi1BZmZpbmVUcmFuc2Zvcm0gU1ZHUGFp
bnRTZXJ2ZXJQYXR0ZXJuOjpwYXR0ZXJuVHJhbnNmb3JtKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bV9wYXR0ZXJuVHJhbnNmb3JtOwotfQorICAgIC8vIEZJWE1FOiBUaGUgSGFzaE1hcCBzaG91bGQg
YWx3YXlzIGNvbnRhaW4gdGhlIG9iamVjdCBvbiBjYWxsaW5nIGludmFsaWRhdGVDbGllbnQuIEEg
cmFjZSBjb25kaXRpb24KKyAgICAvLyBkdXJpbmcgdGhlIHBhcnNpbmcgY2FuIGNhdXNlcyBhIGNh
bGwgb2YgaW52YWxpZGF0ZUNsaWVudCByaWdodCBiZWZvcmUgdGhlIGNhbGwgb2YgYXBwbHlSZXNv
dXJjZS4KKyAgICAvLyBXZSByZXR1cm4gZWFybGllciBmb3IgdGhlIG1vbWVudC4gVGhpcyBidWcg
c2hvdWxkIGJlIGZpeGVkIGluOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNTE4MQorICAgIGlmICghbV9wYXR0ZXJuLmNvbnRhaW5zKG9iamVjdCkpCisg
ICAgICAgIHJldHVybjsKIAotdm9pZCBTVkdQYWludFNlcnZlclBhdHRlcm46OnNldFBhdHRlcm5U
cmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCi17Ci0gICAgbV9wYXR0
ZXJuVHJhbnNmb3JtID0gdHJhbnNmb3JtOworICAgIGRlbGV0ZSBtX3BhdHRlcm4udGFrZShvYmpl
Y3QpOworICAgIG1hcmtGb3JMYXlvdXRBbmRSZXNvdXJjZUludmFsaWRhdGlvbihvYmplY3QpOwog
fQogCi1UZXh0U3RyZWFtJiBTVkdQYWludFNlcnZlclBhdHRlcm46OmV4dGVybmFsUmVwcmVzZW50
YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Citib29sIFJlbmRlclNWR1Jlc291cmNlUGF0dGVy
bjo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqIHN0eWxl
LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUp
CiB7Ci0gICAgLy8gR3JhZGllbnRzL3BhdHRlcm5zIGFyZW4ndCBzZXR1cCwgdW50aWwgdGhleSBh
cmUgdXNlZCBmb3IgcGFpbnRpbmcuIFdvcmsgYXJvdW5kIHRoYXQgZmFjdC4KLSAgICBtX293bmVy
RWxlbWVudC0+YnVpbGRQYXR0ZXJuKEZsb2F0UmVjdCgwLjBmLCAwLjBmLCAxLjBmLCAxLjBmKSk7
CisgICAgQVNTRVJUKG9iamVjdCk7CisgICAgQVNTRVJUKHN0eWxlKTsKKyAgICBBU1NFUlQoY29u
dGV4dCk7CisgICAgQVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOwog
Ci0gICAgdHMgPDwgIlt0eXBlPVBBVFRFUk5dIgotICAgICAgICA8PCAiIFtiYm94PSIgPDwgcGF0
dGVybkJvdW5kYXJpZXMoKSA8PCAiXSI7Ci0gICAgaWYgKCFwYXR0ZXJuVHJhbnNmb3JtKCkuaXNJ
ZGVudGl0eSgpKQotICAgICAgICB0cyA8PCAiIFtwYXR0ZXJuIHRyYW5zZm9ybT0iIDw8IHBhdHRl
cm5UcmFuc2Zvcm0oKSA8PCAiXSI7Ci0gICAgcmV0dXJuIHRzOwotfQorICAgIC8vIEJlIHN1cmUg
dG8gc3luY2hyb25pemUgYWxsIFNWRyBwcm9wZXJ0aWVzIG9uIHRoZSBwYXR0ZXJuRWxlbWVudCBf
YmVmb3JlXyBwcm9jZXNzaW5nIGFueSBmdXJ0aGVyLgorICAgIC8vIE90aGVyd2hpc2UgdGhlIGNh
bGwgdG8gY29sbGVjdFBhdHRlcm5BdHRyaWJ1dGVzKCkgaW4gY3JlYXRlVGlsZUltYWdlKCksIG1h
eSBjYXVzZSB0aGUgU1ZHIERPTSBwcm9wZXJ0eQorICAgIC8vIHN5bmNocm9uaXphdGlvbiB0byBr
aWNrIGluLCB3aGljaCBjYXVzZXMgaW52YWxpZGF0ZUNsaWVudHMoKSB0byBiZSBjYWxsZWQsIHdo
aWNoIGluIHR1cm4gZGVsZXRlcyBvdXIKKyAgICAvLyBQYXR0ZXJuRGF0YSBvYmplY3QhIExlYXZp
bmcgb3V0IHRoZSBsaW5lIGJlbG93IHdpbGwgY2F1c2Ugc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQ
YXR0ZXJuRWxlbWVudC1zdmdkb20qIHRvIGNyYXNoLgorICAgIFNWR1BhdHRlcm5FbGVtZW50KiBw
YXR0ZXJuRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1BhdHRlcm5FbGVtZW50Kj4obm9kZSgpKTsK
KyAgICBpZiAoIXBhdHRlcm5FbGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLWJvb2wg
U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpzZXR1cChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCBj
b25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBTVkdQ
YWludFRhcmdldFR5cGUgdHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3QKLXsKLSAgICBG
bG9hdFJlY3QgdGFyZ2V0UmVjdCA9IG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKTsKKyAgICBw
YXR0ZXJuRWxlbWVudC0+dXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoYW55UU5hbWUoKSk7CiAK
LSAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBzdHlsZS0+c3ZnU3R5bGUoKTsK
LSAgICBib29sIGlzRmlsbGVkID0gKHR5cGUgJiBBcHBseVRvRmlsbFRhcmdldFR5cGUpICYmIHN2
Z1N0eWxlLT5oYXNGaWxsKCk7Ci0gICAgYm9vbCBpc1N0cm9rZWQgPSAodHlwZSAmIEFwcGx5VG9T
dHJva2VUYXJnZXRUeXBlKSAmJiBzdmdTdHlsZS0+aGFzU3Ryb2tlKCk7CisgICAgaWYgKCFtX3Bh
dHRlcm4uY29udGFpbnMob2JqZWN0KSkKKyAgICAgICAgbV9wYXR0ZXJuLnNldChvYmplY3QsIG5l
dyBQYXR0ZXJuRGF0YSk7CiAKLSAgICBBU1NFUlQoKGlzRmlsbGVkICYmICFpc1N0cm9rZWQpIHx8
ICghaXNGaWxsZWQgJiYgaXNTdHJva2VkKSk7Ci0KLSAgICBtX293bmVyRWxlbWVudC0+YnVpbGRQ
YXR0ZXJuKHRhcmdldFJlY3QpOwotICAgIGlmICghdGlsZSgpKQotICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgUGF0dGVybkRhdGEqIHBhdHRlcm5EYXRhID0gbV9wYXR0ZXJuLmdldChvYmplY3Qp
OworICAgIGlmICghcGF0dGVybkRhdGEtPnBhdHRlcm4pIHsKKyAgICAgICAgRmxvYXRSZWN0IHBh
dHRlcm5Cb3VuZGFyaWVzOworICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5zZm9y
bTsKKworICAgICAgICAvLyBDcmVhdGUgdGlsZSBpbWFnZQorICAgICAgICBPd25QdHI8SW1hZ2VC
dWZmZXI+IHRpbGVJbWFnZSA9IGNyZWF0ZVRpbGVJbWFnZShwYXR0ZXJuQm91bmRhcmllcywgcGF0
dGVyblRyYW5zZm9ybSwgcGF0dGVybkVsZW1lbnQsIG9iamVjdCk7CisgICAgICAgIGlmICghdGls
ZUltYWdlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIC8vIENyZWF0ZSBw
YXR0ZXJuIG9iamVjdAorICAgICAgICBidWlsZFBhdHRlcm4ocGF0dGVybkRhdGEsIHBhdHRlcm5C
b3VuZGFyaWVzLCB0aWxlSW1hZ2UucmVsZWFzZSgpKTsKKworICAgICAgICBpZiAoIXBhdHRlcm5E
YXRhLT5wYXR0ZXJuKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIC8vIENv
bXB1dGUgcGF0dGVybiB0cmFuc2Zvcm1hdGlvbgorICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJh
bnNmb3JtOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzLngo
KSwgcGF0dGVybkJvdW5kYXJpZXMueSgpKTsKKyAgICAgICAgdHJhbnNmb3JtLm11bHRpcGx5KHBh
dHRlcm5UcmFuc2Zvcm0pOworICAgICAgICBwYXR0ZXJuRGF0YS0+cGF0dGVybi0+c2V0UGF0dGVy
blNwYWNlVHJhbnNmb3JtKHRyYW5zZm9ybSk7CisgICAgfQogCisgICAgLy8gRHJhdyBwYXR0ZXJu
CiAgICAgY29udGV4dC0+c2F2ZSgpOwogCi0gICAgQVNTRVJUKCFtX3BhdHRlcm4pOwotCi0gICAg
SW50UmVjdCB0aWxlUmVjdCA9IHRpbGUoKS0+aW1hZ2UoKS0+cmVjdCgpOwotICAgIGlmICh0aWxl
UmVjdC53aWR0aCgpID4gcGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpIHx8IHRpbGVSZWN0Lmhl
aWdodCgpID4gcGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSkgewotICAgICAgICAvLyBEcmF3
IHRoZSBmaXJzdCBjZWxsIG9mIHRoZSBwYXR0ZXJuIG1hbnVhbGx5IHRvIHN1cHBvcnQgb3ZlcmZs
b3c9InZpc2libGUiIG9uIGFsbCBwbGF0Zm9ybXMuCi0gICAgICAgIGludCB0aWxlV2lkdGggPSBz
dGF0aWNfY2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVzKCkud2lkdGgoKSArIDAuNWYpOwotICAg
ICAgICBpbnQgdGlsZUhlaWdodCA9IHN0YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJpZXMo
KS5oZWlnaHQoKSArIDAuNWYpOwotICAgICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGVJbWFn
ZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUoSW50U2l6ZSh0aWxlV2lkdGgsIHRpbGVIZWlnaHQpKTsK
LSAgCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCogdGlsZUltYWdlQ29udGV4dCA9IHRpbGVJbWFn
ZS0+Y29udGV4dCgpOwotCi0gICAgICAgIGludCBudW1ZID0gc3RhdGljX2Nhc3Q8aW50PihjZWls
Zih0aWxlUmVjdC5oZWlnaHQoKSAvIHRpbGVIZWlnaHQpKSArIDE7Ci0gICAgICAgIGludCBudW1Y
ID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZih0aWxlUmVjdC53aWR0aCgpIC8gdGlsZVdpZHRoKSkg
KyAxOwotCi0gICAgICAgIHRpbGVJbWFnZUNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgdGlsZUlt
YWdlQ29udGV4dC0+dHJhbnNsYXRlKC1wYXR0ZXJuQm91bmRhcmllcygpLndpZHRoKCkgKiBudW1Y
LCAtcGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSAqIG51bVkpOwotICAgICAgICBmb3IgKGlu
dCBpID0gbnVtWTsgaSA+IDA7IGktLSkgewotICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4dC0+
dHJhbnNsYXRlKDAsIHBhdHRlcm5Cb3VuZGFyaWVzKCkuaGVpZ2h0KCkpOwotICAgICAgICAgICAg
Zm9yIChpbnQgaiA9IG51bVg7IGogPiAwOyBqLS0pIHsKLSAgICAgICAgICAgICAgICB0aWxlSW1h
Z2VDb250ZXh0LT50cmFuc2xhdGUocGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpLCAwKTsKLSAg
ICAgICAgICAgICAgICB0aWxlSW1hZ2VDb250ZXh0LT5kcmF3SW1hZ2UodGlsZSgpLT5pbWFnZSgp
LCBzdHlsZS0+Y29sb3JTcGFjZSgpLCB0aWxlUmVjdCwgdGlsZVJlY3QpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKC1wYXR0ZXJuQm91bmRh
cmllcygpLndpZHRoKCkgKiBudW1YLCAwKTsKLSAgICAgICAgfQotICAgICAgICB0aWxlSW1hZ2VD
b250ZXh0LT5yZXN0b3JlKCk7Ci0KLSAgICAgICAgbV9wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRl
KHRpbGVJbWFnZS0+aW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7Ci0gICAgfQotICAgIGVsc2UKLSAgICAg
ICAgbV9wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGUoKS0+aW1hZ2UoKSwgdHJ1ZSwgdHJ1
ZSk7CisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2Z1N0eWxl
KCk7CisgICAgQVNTRVJUKHN2Z1N0eWxlKTsKIAotICAgIGlmIChpc0ZpbGxlZCkgeworICAgIGlm
IChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKICAgICAgICAgY29udGV4dC0+c2V0
QWxwaGEoc3ZnU3R5bGUtPmZpbGxPcGFjaXR5KCkpOwotICAgICAgICBjb250ZXh0LT5zZXRGaWxs
UGF0dGVybihtX3BhdHRlcm4pOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsUGF0dGVybihwYXR0
ZXJuRGF0YS0+cGF0dGVybik7CiAgICAgICAgIGNvbnRleHQtPnNldEZpbGxSdWxlKHN2Z1N0eWxl
LT5maWxsUnVsZSgpKTsKLSAgICB9Ci0gICAgaWYgKGlzU3Ryb2tlZCkgeworICAgIH0gZWxzZSBp
ZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpIHsKICAgICAgICAgY29udGV4dC0+
c2V0QWxwaGEoc3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSk7Ci0gICAgICAgIGNvbnRleHQtPnNl
dFN0cm9rZVBhdHRlcm4obV9wYXR0ZXJuKTsKKyAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlUGF0
dGVybihwYXR0ZXJuRGF0YS0+cGF0dGVybik7CiAgICAgICAgIGFwcGx5U3Ryb2tlU3R5bGVUb0Nv
bnRleHQoY29udGV4dCwgc3R5bGUsIG9iamVjdCk7CiAgICAgfQogCi0gICAgQWZmaW5lVHJhbnNm
b3JtIG1hdHJpeDsKLSAgICBtYXRyaXgudHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzKCkueCgp
LCBwYXR0ZXJuQm91bmRhcmllcygpLnkoKSk7Ci0gICAgbWF0cml4Lm11bHRpcGx5KHBhdHRlcm5U
cmFuc2Zvcm0oKSk7Ci0gICAgbV9wYXR0ZXJuLT5zZXRQYXR0ZXJuU3BhY2VUcmFuc2Zvcm0obWF0
cml4KTsKKyAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlKSB7CisgICAgICAg
IGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKKyAgICAgICAgICAgIGNvbnRl
eHQtPnNldFRleHREcmF3aW5nTW9kZShjVGV4dEZpbGwpOwogCi0gICAgaWYgKGlzUGFpbnRpbmdU
ZXh0KSB7Ci0gICAgICAgIGNvbnRleHQtPnNldFRleHREcmF3aW5nTW9kZShpc0ZpbGxlZCA/IGNU
ZXh0RmlsbCA6IGNUZXh0U3Ryb2tlKTsKICNpZiBQTEFURk9STShDRykKLSAgICAgICAgaWYgKGlz
RmlsbGVkKQogICAgICAgICAgICAgY29udGV4dC0+YXBwbHlGaWxsUGF0dGVybigpOwotICAgICAg
ICBlbHNlCisjZW5kaWYKKyAgICAgICAgfSBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRv
U3Ryb2tlTW9kZSkgeworICAgICAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKGNU
ZXh0U3Ryb2tlKTsKKworI2lmIFBMQVRGT1JNKENHKQogICAgICAgICAgICAgY29udGV4dC0+YXBw
bHlTdHJva2VQYXR0ZXJuKCk7CiAjZW5kaWYKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJldHVy
biB0cnVlOwogfQogCi12b2lkIFNWR1BhaW50U2VydmVyUGF0dGVybjo6dGVhcmRvd24oR3JhcGhp
Y3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJnZXRU
eXBlLCBib29sKSBjb25zdAordm9pZCBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OnBvc3RBcHBs
eVJlc291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVuc2ln
bmVkIHNob3J0IHJlc291cmNlTW9kZSkKK3sKKyAgICBBU1NFUlQoY29udGV4dCk7CisgICAgQVNT
RVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOworCisgICAgaWYgKCEocmVz
b3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlKSkgeworICAgICAgICBpZiAocmVzb3VyY2VNb2Rl
ICYgQXBwbHlUb0ZpbGxNb2RlKQorICAgICAgICAgICAgY29udGV4dC0+ZmlsbFBhdGgoKTsKKyAg
ICAgICAgZWxzZSBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpCisgICAgICAg
ICAgICBjb250ZXh0LT5zdHJva2VQYXRoKCk7CisgICAgfQorCisgICAgY29udGV4dC0+cmVzdG9y
ZSgpOworfQorCitzdGF0aWMgaW5saW5lIEZsb2F0UmVjdCBjYWxjdWxhdGVQYXR0ZXJuQm91bmRh
cmllcyhQYXR0ZXJuQXR0cmlidXRlcyYgYXR0cmlidXRlcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91
bmRpbmdCb3gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogcGF0dGVybkVsZW1lbnQpCit7CisgICAgaWYg
KGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpCisgICAgICAgIHJldHVybiBGbG9hdFJlY3Qo
YXR0cmlidXRlcy54KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSAqIG9iamVjdEJvdW5kaW5nQm94Lndp
ZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy55KCkudmFsdWVBc1Bl
cmNlbnRhZ2UoKSAqIG9iamVjdEJvdW5kaW5nQm94LmhlaWdodCgpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZXMud2lkdGgoKS52YWx1ZUFzUGVyY2VudGFnZSgpICogb2JqZWN0
Qm91bmRpbmdCb3gud2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVz
LmhlaWdodCgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiBvYmplY3RCb3VuZGluZ0JveC5oZWlnaHQo
KSk7CisKKyAgICByZXR1cm4gRmxvYXRSZWN0KGF0dHJpYnV0ZXMueCgpLnZhbHVlKHBhdHRlcm5F
bGVtZW50KSwKKyAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMueSgpLnZhbHVlKHBhdHRl
cm5FbGVtZW50KSwKKyAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMud2lkdGgoKS52YWx1
ZShwYXR0ZXJuRWxlbWVudCksCisgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLmhlaWdo
dCgpLnZhbHVlKHBhdHRlcm5FbGVtZW50KSk7Cit9CisKK0Zsb2F0UmVjdCBSZW5kZXJTVkdSZXNv
dXJjZVBhdHRlcm46OmNhbGN1bGF0ZVBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3co
UGF0dGVybkF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbmdCb3gsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdmlld0JveENUTSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcykgY29uc3QKK3sKKyAgICAvLyBF
dmVudHVhbGx5IGNhbGN1bGF0ZSB0aGUgcGF0dGVybiBjb250ZW50IGJvdW5kYXJpZXMgKG9ubHkg
bmVlZGVkIHdpdGggb3ZlcmZsb3c9InZpc2libGUiKS4KKyAgICBGbG9hdFJlY3QgcGF0dGVybkNv
bnRlbnRCb3VuZGFyaWVzOworCisgICAgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlID0gdGhpcy0+
c3R5bGUoKTsKKyAgICBpZiAoc3R5bGUtPm92ZXJmbG93WCgpID09IE9WSVNJQkxFICYmIHN0eWxl
LT5vdmVyZmxvd1koKSA9PSBPVklTSUJMRSkgeworICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBh
dHRyaWJ1dGVzLnBhdHRlcm5Db250ZW50RWxlbWVudCgpLT5maXJzdENoaWxkKCk7IG5vZGU7IG5v
ZGUgPSBub2RlLT5uZXh0U2libGluZygpKSB7CisgICAgICAgICAgICBpZiAoIW5vZGUtPmlzU1ZH
RWxlbWVudCgpIHx8ICFzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4obm9kZSktPmlzU3R5bGVkVHJh
bnNmb3JtYWJsZSgpIHx8ICFub2RlLT5yZW5kZXJlcigpKQorICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAgICAgcGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzLnVuaXRlKG5vZGUtPnJl
bmRlcmVyKCktPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgICAgICB9Cisg
ICAgfQorCisgICAgaWYgKHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy5pc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybiBwYXR0ZXJuQm91bmRhcmllczsKKworICAgIEZsb2F0UmVjdCBwYXR0ZXJuQm91
bmRhcmllc0luY2x1ZGluZ092ZXJmbG93ID0gcGF0dGVybkJvdW5kYXJpZXM7CisKKyAgICAvLyBS
ZXNwZWN0IG9iamVjdEJvdW5kaW5nQm94TW9kZSBmb3IgcGF0dGVybkNvbnRlbnRVbml0cywgaWYg
dmlld0JveCBpcyBub3Qgc2V0LgorICAgIGlmICghdmlld0JveENUTS5pc0lkZW50aXR5KCkpCisg
ICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcyA9IHZpZXdCb3hDVE0ubWFwUmVjdChwYXR0
ZXJuQ29udGVudEJvdW5kYXJpZXMpOworICAgIGVsc2UgaWYgKGF0dHJpYnV0ZXMuYm91bmRpbmdC
b3hNb2RlQ29udGVudCgpKQorICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMgPSBGbG9h
dFJlY3QocGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzLngoKSAqIG9iamVjdEJvdW5kaW5nQm94Lndp
ZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0
ZXJuQ29udGVudEJvdW5kYXJpZXMueSgpICogb2JqZWN0Qm91bmRpbmdCb3guaGVpZ2h0KCksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQ29udGVu
dEJvdW5kYXJpZXMud2lkdGgoKSAqIG9iamVjdEJvdW5kaW5nQm94LndpZHRoKCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5k
YXJpZXMuaGVpZ2h0KCkgKiBvYmplY3RCb3VuZGluZ0JveC5oZWlnaHQoKSk7CisKKyAgICBwYXR0
ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LnVuaXRlKHBhdHRlcm5Db250ZW50Qm91bmRh
cmllcyk7CisgICAgcmV0dXJuIHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3c7Cit9
CisKK1Bhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IFJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6Y3Jl
YXRlVGlsZUltYWdlKEZsb2F0UmVjdCYgcGF0dGVybkJvdW5kYXJpZXMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZmZp
bmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zvcm0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTVkdQYXR0ZXJu
RWxlbWVudCogcGF0dGVybkVsZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIG9iamVjdCkg
Y29uc3QKIHsKLSAgICBtX3BhdHRlcm4gPSAwOworICAgIFBhdHRlcm5BdHRyaWJ1dGVzIGF0dHJp
YnV0ZXMgPSBwYXR0ZXJuRWxlbWVudC0+Y29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKCk7CisKKyAg
ICAvLyBJZiB3ZSBjb3VsZG4ndCBkZXRlcm1pbmUgdGhlIHBhdHRlcm4gY29udGVudCBlbGVtZW50
IHJvb3QsIHN0b3AgaGVyZS4KKyAgICBpZiAoIWF0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRFbGVt
ZW50KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5n
Qm94ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpOyAgICAKKyAgICBwYXR0ZXJuQm91bmRh
cmllcyA9IGNhbGN1bGF0ZVBhdHRlcm5Cb3VuZGFyaWVzKGF0dHJpYnV0ZXMsIG9iamVjdEJvdW5k
aW5nQm94LCBwYXR0ZXJuRWxlbWVudCk7IAorICAgIHBhdHRlcm5UcmFuc2Zvcm0gPSBhdHRyaWJ1
dGVzLnBhdHRlcm5UcmFuc2Zvcm0oKTsKKworICAgIEFmZmluZVRyYW5zZm9ybSB2aWV3Qm94Q1RN
ID0gcGF0dGVybkVsZW1lbnQtPnZpZXdCb3hUb1ZpZXdUcmFuc2Zvcm0ocGF0dGVybkVsZW1lbnQt
PnZpZXdCb3goKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5FbGVtZW50LT5wcmVzZXJ2ZUFzcGVj
dFJhdGlvKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQm91bmRhcmllcy53aWR0aCgpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkpOworCisgICAgRmxvYXRSZWN0
IHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cgPSBjYWxjdWxhdGVQYXR0ZXJuQm91
bmRhcmllc0luY2x1ZGluZ092ZXJmbG93KGF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9iamVjdEJvdW5kaW5nQm94LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2aWV3Qm94Q1RNLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwYXR0ZXJuQm91bmRhcmllcyk7CisKKyAgICBJbnRTaXplIGltYWdlU2l6
ZShscm91bmRmKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cud2lkdGgoKSksIGxy
b3VuZGYocGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy5oZWlnaHQoKSkpOworCisg
ICAgLy8gRklYTUU6IFdlIHNob3VsZCBiZSBhYmxlIHRvIGNsaXAgdGhpcyBtb3JlLCBuZWVkcyBp
bnZlc3RpZ2F0aW9uCisgICAgY2xhbXBJbWFnZUJ1ZmZlclNpemVUb1ZpZXdwb3J0KG9iamVjdC0+
ZG9jdW1lbnQoKS0+dmlldygpLCBpbWFnZVNpemUpOworCisgICAgLy8gRG9uJ3QgY3JlYXRlIElt
YWdlQnVmZmVycyB3aXRoIGltYWdlIHNpemUgb2YgMAorICAgIGlmIChpbWFnZVNpemUuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gdGlsZUlt
YWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShpbWFnZVNpemUpOworCisgICAgR3JhcGhpY3NDb250
ZXh0KiBjb250ZXh0ID0gdGlsZUltYWdlLT5jb250ZXh0KCk7CisgICAgQVNTRVJUKGNvbnRleHQp
OworCisgICAgY29udGV4dC0+c2F2ZSgpOworCisgICAgLy8gVHJhbnNsYXRlIHRvIHBhdHRlcm4g
c3RhcnQgb3JpZ2luCisgICAgaWYgKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cu
bG9jYXRpb24oKSAhPSBwYXR0ZXJuQm91bmRhcmllcy5sb2NhdGlvbigpKSB7CisgICAgICAgIGNv
bnRleHQtPnRyYW5zbGF0ZShwYXR0ZXJuQm91bmRhcmllcy54KCkgLSBwYXR0ZXJuQm91bmRhcmll
c0luY2x1ZGluZ092ZXJmbG93LngoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRl
cm5Cb3VuZGFyaWVzLnkoKSAtIHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cueSgp
KTsKKworICAgICAgICBwYXR0ZXJuQm91bmRhcmllcy5zZXRMb2NhdGlvbihwYXR0ZXJuQm91bmRh
cmllc0luY2x1ZGluZ092ZXJmbG93LmxvY2F0aW9uKCkpOworICAgIH0KKworICAgIC8vIFByb2Nl
c3Mgdmlld0JveCBvciBib3VuZGluZ0JveE1vZGVDb250ZW50IGNvcnJlY3Rpb24KKyAgICBpZiAo
IXZpZXdCb3hDVE0uaXNJZGVudGl0eSgpKQorICAgICAgICBjb250ZXh0LT5jb25jYXRDVE0odmll
d0JveENUTSk7CisgICAgZWxzZSBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGVDb250ZW50
KCkpIHsKKyAgICAgICAgY29udGV4dC0+dHJhbnNsYXRlKG9iamVjdEJvdW5kaW5nQm94LngoKSwg
b2JqZWN0Qm91bmRpbmdCb3gueSgpKTsKKyAgICAgICAgY29udGV4dC0+c2NhbGUoRmxvYXRTaXpl
KG9iamVjdEJvdW5kaW5nQm94LndpZHRoKCksIG9iamVjdEJvdW5kaW5nQm94LmhlaWdodCgpKSk7
CisgICAgfQorCisgICAgLy8gUmVuZGVyIHN1YnRyZWUgaW50byBJbWFnZUJ1ZmZlcgorICAgIGZv
ciAoTm9kZSogbm9kZSA9IGF0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRFbGVtZW50KCktPmZpcnN0
Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYg
KCFub2RlLT5pc1NWR0VsZW1lbnQoKSB8fCAhc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG5vZGUp
LT5pc1N0eWxlZCgpIHx8ICFub2RlLT5yZW5kZXJlcigpKQorICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgIHJlbmRlclN1YnRyZWVUb0ltYWdlKHRpbGVJbWFnZS5nZXQoKSwgbm9kZS0+cmVu
ZGVyZXIoKSk7CisgICAgfQogCiAgICAgY29udGV4dC0+cmVzdG9yZSgpOworICAgIHJldHVybiB0
aWxlSW1hZ2UucmVsZWFzZSgpOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit2b2lkIFJl
bmRlclNWR1Jlc291cmNlUGF0dGVybjo6YnVpbGRQYXR0ZXJuKFBhdHRlcm5EYXRhKiBwYXR0ZXJu
RGF0YSwgY29uc3QgRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcywgUGFzc093blB0cjxJbWFn
ZUJ1ZmZlcj4gdGlsZUltYWdlKSBjb25zdAoreworICAgIGlmICghdGlsZUltYWdlLT5pbWFnZSgp
KSB7CisgICAgICAgIHBhdHRlcm5EYXRhLT5wYXR0ZXJuID0gMDsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIEludFJlY3QgdGlsZVJlY3QgPSB0aWxlSW1hZ2UtPmltYWdlKCktPnJlY3Qo
KTsKKyAgICBpZiAodGlsZVJlY3Qud2lkdGgoKSA8PSBwYXR0ZXJuQm91bmRhcmllcy53aWR0aCgp
ICYmIHRpbGVSZWN0LmhlaWdodCgpIDw9IHBhdHRlcm5Cb3VuZGFyaWVzLmhlaWdodCgpKSB7Cisg
ICAgICAgIHBhdHRlcm5EYXRhLT5wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGVJbWFnZS0+
aW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBE
cmF3IHRoZSBmaXJzdCBjZWxsIG9mIHRoZSBwYXR0ZXJuIG1hbnVhbGx5IHRvIHN1cHBvcnQgb3Zl
cmZsb3c9InZpc2libGUiIG9uIGFsbCBwbGF0Zm9ybXMuCisgICAgaW50IHRpbGVXaWR0aCA9IHN0
YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJpZXMud2lkdGgoKSArIDAuNWYpOworICAgIGlu
dCB0aWxlSGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50PihwYXR0ZXJuQm91bmRhcmllcy5oZWlnaHQo
KSArIDAuNWYpOworCisgICAgLy8gRG9uJ3QgY3JlYXRlIEltYWdlQnVmZmVycyB3aXRoIGltYWdl
IHNpemUgb2YgMAorICAgIGlmICghdGlsZVdpZHRoIHx8ICF0aWxlSGVpZ2h0KSB7CisgICAgICAg
IHBhdHRlcm5EYXRhLT5wYXR0ZXJuID0gMDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IE93blB0cjxJbWFnZUJ1ZmZlcj4gbmV3VGlsZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShJ
bnRTaXplKHRpbGVXaWR0aCwgdGlsZUhlaWdodCkpOworICAgIEdyYXBoaWNzQ29udGV4dCogbmV3
VGlsZUltYWdlQ29udGV4dCA9IG5ld1RpbGVJbWFnZS0+Y29udGV4dCgpOworCisgICAgaW50IG51
bVkgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHRpbGVSZWN0LmhlaWdodCgpIC8gdGlsZUhlaWdo
dCkpICsgMTsKKyAgICBpbnQgbnVtWCA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYodGlsZVJlY3Qu
d2lkdGgoKSAvIHRpbGVXaWR0aCkpICsgMTsKKworICAgIG5ld1RpbGVJbWFnZUNvbnRleHQtPnNh
dmUoKTsKKyAgICBuZXdUaWxlSW1hZ2VDb250ZXh0LT50cmFuc2xhdGUoLXBhdHRlcm5Cb3VuZGFy
aWVzLndpZHRoKCkgKiBudW1YLCAtcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkgKiBudW1ZKTsK
KyAgICBmb3IgKGludCBpID0gbnVtWTsgaSA+IDA7IC0taSkgeworICAgICAgICBuZXdUaWxlSW1h
Z2VDb250ZXh0LT50cmFuc2xhdGUoMCwgcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkpOworICAg
ICAgICBmb3IgKGludCBqID0gbnVtWDsgaiA+IDA7IC0taikgeworICAgICAgICAgICAgbmV3VGls
ZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzLndpZHRoKCksIDApOwor
ICAgICAgICAgICAgbmV3VGlsZUltYWdlQ29udGV4dC0+ZHJhd0ltYWdlKHRpbGVJbWFnZS0+aW1h
Z2UoKSwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpLCB0aWxlUmVjdCwgdGlsZVJlY3QpOworICAgICAg
ICB9CisgICAgICAgIG5ld1RpbGVJbWFnZUNvbnRleHQtPnRyYW5zbGF0ZSgtcGF0dGVybkJvdW5k
YXJpZXMud2lkdGgoKSAqIG51bVgsIDApOworICAgIH0KKyAgICBuZXdUaWxlSW1hZ2VDb250ZXh0
LT5yZXN0b3JlKCk7CisKKyAgICBwYXR0ZXJuRGF0YS0+cGF0dGVybiA9IFBhdHRlcm46OmNyZWF0
ZShuZXdUaWxlSW1hZ2UtPmltYWdlKCksIHRydWUsIHRydWUpOworfQorCit9CiAKICNlbmRpZgpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgJKHJl
dmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0
ZXJuLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsODUgKzEsNzQgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5
cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICov
CiAKICNpZm5kZWYgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuX2gKICNkZWZpbmUgUmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuX2gKIAogI2lmIEVOQUJMRShTVkcpCi0KICNpbmNsdWRlICJBZmZpbmVU
cmFuc2Zvcm0uaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJJbWFnZUJ1ZmZl
ci5oIgogI2luY2x1ZGUgIlBhdHRlcm4uaCIKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlci5oIgot
Ci0jaW5jbHVkZSA8bWVtb3J5PgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
LmgiCisjaW5jbHVkZSAiU1ZHUGF0dGVybkVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdVbml0VHlw
ZXMuaCIKIAorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgR3JhcGhpY3NDb250ZXh0OwotY2xhc3MgSW1hZ2VCdWZmZXI7Ci1jbGFzcyBTVkdQYXR0
ZXJuRWxlbWVudDsKLQotY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuIDogcHVibGljIFNWR1Bh
aW50U2VydmVyIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWludFNlcnZl
clBhdHRlcm4+IGNyZWF0ZShjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogb3duZXIpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZlclBhdHRlcm4ob3duZXIpKTsgfQotCi0gICAgdmly
dHVhbCB+U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKCk7CitzdHJ1Y3QgUGF0dGVybkRhdGEgeworICAg
IFJlZlB0cjxQYXR0ZXJuPiBwYXR0ZXJuOworfTsKIAotICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2
ZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBQYXR0ZXJuUGFpbnRTZXJ2ZXI7IH0KK3N0cnVj
dCBQYXR0ZXJuQXR0cmlidXRlczsKIAotICAgIC8vIFBhdHRlcm4gYm91bmRhcmllcwotICAgIHZv
aWQgc2V0UGF0dGVybkJvdW5kYXJpZXMoY29uc3QgRmxvYXRSZWN0Jik7Ci0gICAgRmxvYXRSZWN0
IHBhdHRlcm5Cb3VuZGFyaWVzKCkgY29uc3Q7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZVBhdHRl
cm4gOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIgeworcHVibGljOgorICAgIFJl
bmRlclNWR1Jlc291cmNlUGF0dGVybihTVkdQYXR0ZXJuRWxlbWVudCopOworICAgIHZpcnR1YWwg
flJlbmRlclNWR1Jlc291cmNlUGF0dGVybigpOwogCi0gICAgSW1hZ2VCdWZmZXIqIHRpbGUoKSBj
b25zdDsKLSAgICB2b2lkIHNldFRpbGUoUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4pOworICAgIHZp
cnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJTVkdS
ZXNvdXJjZVBhdHRlcm4iOyB9CiAKLSAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5zZm9y
bSgpIGNvbnN0OwotICAgIHZvaWQgc2V0UGF0dGVyblRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFu
c2Zvcm0mKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudHMoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmplY3QqKTsKIAotICAgIHZpcnR1YWwg
VGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7Cisg
ICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUq
LCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKKyAgICB2
aXJ0dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250
ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCBGbG9hdFJl
Y3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCB7IHJldHVybiBG
bG9hdFJlY3QoKTsgfQogCi0gICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dCom
LCBjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFyZ2V0
VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHRlYXJk
b3duKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdl
dFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0OworICAgIHZpcnR1YWwgUmVuZGVyU1ZH
UmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHNfcmVzb3VyY2VUeXBl
OyB9CisgICAgc3RhdGljIFJlbmRlclNWR1Jlc291cmNlVHlwZSBzX3Jlc291cmNlVHlwZTsKIAog
cHJpdmF0ZToKLSAgICBTVkdQYWludFNlcnZlclBhdHRlcm4oY29uc3QgU1ZHUGF0dGVybkVsZW1l
bnQqKTsKLSAgICAKLSAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IG1fdGlsZTsKLSAgICBjb25zdCBT
VkdQYXR0ZXJuRWxlbWVudCogbV9vd25lckVsZW1lbnQ7Ci0gICAgQWZmaW5lVHJhbnNmb3JtIG1f
cGF0dGVyblRyYW5zZm9ybTsKLSAgICBGbG9hdFJlY3QgbV9wYXR0ZXJuQm91bmRhcmllczsKKyAg
ICBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBjcmVhdGVUaWxlSW1hZ2UoRmxvYXRSZWN0JiBwYXR0
ZXJuQm91bmRhcmllcywgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBT
VkdQYXR0ZXJuRWxlbWVudCosIFJlbmRlck9iamVjdCopIGNvbnN0OworICAgIHZvaWQgYnVpbGRQ
YXR0ZXJuKFBhdHRlcm5EYXRhKiwgY29uc3QgRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcywg
UGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gdGlsZUltYWdlKSBjb25zdDsKKyAgICBGbG9hdFJlY3Qg
Y2FsY3VsYXRlUGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdyhQYXR0ZXJuQXR0cmli
dXRlcyYsIGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbmdCb3gsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQWZmaW5l
VHJhbnNmb3JtJiB2aWV3Qm94Q1RNLCBjb25zdCBGbG9hdFJlY3QmIHBhdHRlcm5Cb3VuZGFyaWVz
KSBjb25zdDsKIAotICAgIG11dGFibGUgUmVmUHRyPFBhdHRlcm4+IG1fcGF0dGVybjsKKyAgICBI
YXNoTWFwPFJlbmRlck9iamVjdCosIFBhdHRlcm5EYXRhKj4gbV9wYXR0ZXJuOwogfTsKIAotfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorfQogCiAjZW5kaWYKLQotI2VuZGlmIC8vIFJlbmRlclNWR1Jl
c291cmNlUGF0dGVybl9oCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlUmFkaWFsR3JhZGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDI2ICsxLDIyIEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0
IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgog
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCkBAIC0yOCw2MSArMjQsNDggQEAKICNpZiBFTkFCTEUoU1ZHKQog
I2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaCIKIAotI2luY2x1ZGUg
IlNWR1JlbmRlclRyZWVBc1RleHQuaCIKKyNpbmNsdWRlICJSYWRpYWxHcmFkaWVudEF0dHJpYnV0
ZXMuaCIKKyNpbmNsdWRlICJTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpTVkdQYWludFNlcnZl
clJhZGlhbEdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpCi0gICAgOiBT
VkdQYWludFNlcnZlckdyYWRpZW50KG93bmVyKQotICAgICwgbV9yYWRpdXMoMC4wZikKLXsKLX0K
K1JlbmRlclNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Ojpz
X3Jlc291cmNlVHlwZSA9IFJhZGlhbEdyYWRpZW50UmVzb3VyY2VUeXBlOwogCi1TVkdQYWludFNl
cnZlclJhZGlhbEdyYWRpZW50Ojp+U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCgpCitSZW5k
ZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50OjpSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRp
ZW50KFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jlc291
cmNlR3JhZGllbnQobm9kZSkKIHsKIH0KIAotCi1GbG9hdFBvaW50IFNWR1BhaW50U2VydmVyUmFk
aWFsR3JhZGllbnQ6OmdyYWRpZW50Q2VudGVyKCkgY29uc3QKK1JlbmRlclNWR1Jlc291cmNlUmFk
aWFsR3JhZGllbnQ6On5SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50KCkKIHsKLSAgICBy
ZXR1cm4gbV9jZW50ZXI7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6
c2V0R3JhZGllbnRDZW50ZXIoY29uc3QgRmxvYXRQb2ludCYgY2VudGVyKQordm9pZCBSZW5kZXJT
VkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50OjpidWlsZEdyYWRpZW50KEdyYWRpZW50RGF0YSogZ3Jh
ZGllbnREYXRhLCBTVkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50RWxlbWVudCkgY29uc3QKIHsK
LSAgICBtX2NlbnRlciA9IGNlbnRlcjsKLX0KKyAgICBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQq
IHJhZGlhbEdyYWRpZW50RWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1JhZGlhbEdyYWRpZW50RWxl
bWVudCo+KGdyYWRpZW50RWxlbWVudCk7CisgICAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIGF0
dHJpYnV0ZXMgPSByYWRpYWxHcmFkaWVudEVsZW1lbnQtPmNvbGxlY3RHcmFkaWVudFByb3BlcnRp
ZXMoKTsKIAotRmxvYXRQb2ludCBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpncmFkaWVu
dEZvY2FsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9mb2NhbDsKLX0KKyAgICAvLyBEZXRlcm1p
bmUgZ3JhZGllbnQgZm9jYWwvY2VudGVyIHBvaW50cyBhbmQgcmFkaXVzCisgICAgRmxvYXRQb2lu
dCBmb2NhbFBvaW50OworICAgIEZsb2F0UG9pbnQgY2VudGVyUG9pbnQ7CisgICAgZmxvYXQgcmFk
aXVzOworICAgIHJhZGlhbEdyYWRpZW50RWxlbWVudC0+Y2FsY3VsYXRlRm9jYWxDZW50ZXJQb2lu
dHNBbmRSYWRpdXMoYXR0cmlidXRlcywgZm9jYWxQb2ludCwgY2VudGVyUG9pbnQsIHJhZGl1cyk7
CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6c2V0R3JhZGllbnRGb2NhbChj
b25zdCBGbG9hdFBvaW50JiBmb2NhbCkKLXsKLSAgICBtX2ZvY2FsID0gZm9jYWw7Ci19CisgICAg
Z3JhZGllbnREYXRhLT5ncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoZm9jYWxQb2ludCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjBmLCAvLyBTVkcg
ZG9lcyBub3Qgc3VwcG9ydCBhICJmb2N1cyByYWRpdXMiCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyUG9pbnQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaXVzKTsKIAotZmxvYXQgU1ZHUGFpbnRTZXJ2
ZXJSYWRpYWxHcmFkaWVudDo6Z3JhZGllbnRSYWRpdXMoKSBjb25zdAotewotICAgIHJldHVybiBt
X3JhZGl1czsKLX0KKyAgICBncmFkaWVudERhdGEtPmdyYWRpZW50LT5zZXRTcHJlYWRNZXRob2Qo
YXR0cmlidXRlcy5zcHJlYWRNZXRob2QoKSk7CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxH
cmFkaWVudDo6c2V0R3JhZGllbnRSYWRpdXMoZmxvYXQgcmFkaXVzKQotewotICAgIG1fcmFkaXVz
ID0gcmFkaXVzOwotfQorICAgIC8vIFJlY29yZCBjdXJyZW50IGdyYWRpZW50IHRyYW5zZm9ybQor
ICAgIGdyYWRpZW50RGF0YS0+dHJhbnNmb3JtID0gYXR0cmlidXRlcy5ncmFkaWVudFRyYW5zZm9y
bSgpOworICAgIGdyYWRpZW50RGF0YS0+Ym91bmRpbmdCb3hNb2RlID0gYXR0cmlidXRlcy5ib3Vu
ZGluZ0JveE1vZGUoKTsKIAotVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVu
dDo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKLXsKLSAgICB0
cyA8PCAiW3R5cGU9UkFESUFMLUdSQURJRU5UXSAiOwotICAgIFNWR1BhaW50U2VydmVyR3JhZGll
bnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24odHMpOwotICAgIHRzIDw8ICIgW2NlbnRlcj0iIDw8
IGdyYWRpZW50Q2VudGVyKCkgPDwgIl0iCi0gICAgICAgIDw8ICIgW2ZvY2FsPSIgPDwgZ3JhZGll
bnRGb2NhbCgpIDw8ICJdIgotICAgICAgICA8PCAiIFtyYWRpdXM9IiA8PCBncmFkaWVudFJhZGl1
cygpIDw8ICJdIjsKLSAgICByZXR1cm4gdHM7CisgICAgLy8gQWRkIHN0b3BzCisgICAgYWRkU3Rv
cHMoZ3JhZGllbnREYXRhLCBhdHRyaWJ1dGVzLnN0b3BzKCkpOwogfQogCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCit9CiAKICNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNjYgKzEsNDggQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlr
b2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIFJl
c2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKICNpZm5kZWYg
UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudF9oCiAjZGVmaW5lIFJlbmRlclNWR1Jlc291
cmNlUmFkaWFsR3JhZGllbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUgIkZsb2F0
UG9pbnQuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCA6IHB1
YmxpYyBTVkdQYWludFNlcnZlckdyYWRpZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50PiBjcmVhdGUoY29uc3QgU1ZHR3JhZGll
bnRFbGVtZW50KiBvd25lcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhaW50U2VydmVyUmFk
aWFsR3JhZGllbnQob3duZXIpKTsgfQotICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyUmFkaWFs
R3JhZGllbnQoKTsKLQotICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25z
dCB7IHJldHVybiBSYWRpYWxHcmFkaWVudFBhaW50U2VydmVyOyB9CitjbGFzcyBTVkdSYWRpYWxH
cmFkaWVudEVsZW1lbnQ7CiAKLSAgICBGbG9hdFBvaW50IGdyYWRpZW50Q2VudGVyKCkgY29uc3Q7
Ci0gICAgdm9pZCBzZXRHcmFkaWVudENlbnRlcihjb25zdCBGbG9hdFBvaW50Jik7Ci0KLSAgICBG
bG9hdFBvaW50IGdyYWRpZW50Rm9jYWwoKSBjb25zdDsKLSAgICB2b2lkIHNldEdyYWRpZW50Rm9j
YWwoY29uc3QgRmxvYXRQb2ludCYpOwotCi0gICAgZmxvYXQgZ3JhZGllbnRSYWRpdXMoKSBjb25z
dDsKLSAgICB2b2lkIHNldEdyYWRpZW50UmFkaXVzKGZsb2F0KTsKK2NsYXNzIFJlbmRlclNWR1Jl
c291cmNlUmFkaWFsR3JhZGllbnQgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCB7
CitwdWJsaWM6CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudChTVkdSYWRpYWxH
cmFkaWVudEVsZW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdy
YWRpZW50KCk7CiAKLSAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRp
b24oVGV4dFN0cmVhbSYpIGNvbnN0OworICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFt
ZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50IjsgfQog
Ci1wcml2YXRlOgotICAgIFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQoY29uc3QgU1ZHR3Jh
ZGllbnRFbGVtZW50KiBvd25lcik7CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUg
cmVzb3VyY2VUeXBlKCkgY29uc3QgeyByZXR1cm4gc19yZXNvdXJjZVR5cGU7IH0KKyAgICBzdGF0
aWMgUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIHNfcmVzb3VyY2VUeXBlOwogCi0gICAgZmxvYXQgbV9y
YWRpdXM7Ci0gICAgRmxvYXRQb2ludCBtX2NlbnRlcjsKLSAgICBGbG9hdFBvaW50IG1fZm9jYWw7
CisgICAgdmlydHVhbCB2b2lkIGJ1aWxkR3JhZGllbnQoR3JhZGllbnREYXRhKiwgU1ZHR3JhZGll
bnRFbGVtZW50KikgY29uc3Q7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9CiAKICNl
bmRpZgotCi0jZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudF9oCisjZW5k
aWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI3ICsxLDIxIEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFu
bkBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJr
aXQub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEw
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0zMCw2NCArMjQsNzYg
QEAKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCIKIAogI2luY2x1ZGUg
IkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIlJlbmRlclBhdGguaCIKLSNpbmNsdWRlICJT
VkdSZW5kZXJUcmVlQXNUZXh0LmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9ydC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1BhaW50U2VydmVyU29saWQ6OlNWR1BhaW50U2VydmVy
U29saWQoKQotewotfQotCi1TVkdQYWludFNlcnZlclNvbGlkOjp+U1ZHUGFpbnRTZXJ2ZXJTb2xp
ZCgpCi17Ci19CitSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yOjpzX3Jlc291cmNlVHlwZSA9IFNvbGlkQ29sb3JSZXNvdXJjZVR5cGU7CiAKLUNvbG9yIFNW
R1BhaW50U2VydmVyU29saWQ6OmNvbG9yKCkgY29uc3QKK1JlbmRlclNWR1Jlc291cmNlU29saWRD
b2xvcjo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKCkKIHsKLSAgICByZXR1cm4gbV9jb2xv
cjsKIH0KIAotdm9pZCBTVkdQYWludFNlcnZlclNvbGlkOjpzZXRDb2xvcihjb25zdCBDb2xvciYg
Y29sb3IpCitSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6On5SZW5kZXJTVkdSZXNvdXJjZVNv
bGlkQ29sb3IoKQogewotICAgIG1fY29sb3IgPSBjb2xvcjsKIH0KIAotVGV4dFN0cmVhbSYgU1ZH
UGFpbnRTZXJ2ZXJTb2xpZDo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykg
Y29uc3QKK2Jvb2wgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjphcHBseVJlc291cmNlKFJl
bmRlck9iamVjdCogb2JqZWN0LCBSZW5kZXJTdHlsZSogc3R5bGUsIEdyYXBoaWNzQ29udGV4dCom
IGNvbnRleHQsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkKIHsKLSAgICB0cyA8PCAiW3R5
cGU9U09MSURdIgotICAgICAgICA8PCAiIFtjb2xvcj0iPDwgY29sb3IoKSA8PCAiXSI7Ci0gICAg
cmV0dXJuIHRzOwotfQorICAgIC8vIFdlIGFyZSBOT1QgYWxsb3dlZCB0byBBU1NFUlQob2JqZWN0
KSBoZXJlLCB1bmxpa2UgYWxsIG90aGVyIHJlc291cmNlcy4KKyAgICAvLyBSZW5kZXJTVkdSZXNv
dXJjZVNvbGlkQ29sb3IgaXMgdGhlIG9ubHkgcmVzb3VyY2Ugd2hpY2ggbWF5IGJlIHVzZWQgZnJv
bSBIVE1MLCB3aGVuIHJlbmRlcmluZworICAgIC8vIFNWRyBGb250cyBmb3IgYSBIVE1MIGRvY3Vt
ZW50LiBUaGlzIHdpbGwgYmUgaW5kaWNhdGVkIGJ5IGEgbnVsbCBSZW5kZXJPYmplY3QgcG9pbnRl
ci4KKyAgICBBU1NFUlQoY29udGV4dCk7CisgICAgQVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBs
eVRvRGVmYXVsdE1vZGUpOwogCi1ib29sIFNWR1BhaW50U2VydmVyU29saWQ6OnNldHVwKEdyYXBo
aWNzQ29udGV4dComIGNvbnRleHQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBS
ZW5kZXJTdHlsZSogc3R5bGUsIFNWR1BhaW50VGFyZ2V0VHlwZSB0eXBlLCBib29sIGlzUGFpbnRp
bmdUZXh0KSBjb25zdAotewogICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IHN0
eWxlID8gc3R5bGUtPnN2Z1N0eWxlKCkgOiAwOwogICAgIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9
IHN0eWxlID8gc3R5bGUtPmNvbG9yU3BhY2UoKSA6IERldmljZUNvbG9yU3BhY2U7CiAKLSAgICBp
ZiAoKHR5cGUgJiBBcHBseVRvRmlsbFRhcmdldFR5cGUpICYmICghc3R5bGUgfHwgc3ZnU3R5bGUt
Pmhhc0ZpbGwoKSkpIHsKLSAgICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3R5bGUgPyBzdmdTdHls
ZS0+ZmlsbE9wYWNpdHkoKSA6IDEpOwotICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoY29s
b3IoKS5yZ2IoKSwgY29sb3JTcGFjZSk7Ci0gICAgICAgIGNvbnRleHQtPnNldEZpbGxSdWxlKHN0
eWxlID8gc3ZnU3R5bGUtPmZpbGxSdWxlKCkgOiBSVUxFX05PTlpFUk8pOworICAgIGlmIChyZXNv
dXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKKyAgICAgICAgY29udGV4dC0+c2V0QWxwaGEo
c3ZnU3R5bGUgPyBzdmdTdHlsZS0+ZmlsbE9wYWNpdHkoKSA6IDEuMGYpOworICAgICAgICBjb250
ZXh0LT5zZXRGaWxsQ29sb3IobV9jb2xvciwgY29sb3JTcGFjZSk7CisgICAgICAgIGNvbnRleHQt
PnNldEZpbGxSdWxlKHN2Z1N0eWxlID8gc3ZnU3R5bGUtPmZpbGxSdWxlKCkgOiBSVUxFX05PTlpF
Uk8pOwogCi0gICAgICAgIGlmIChpc1BhaW50aW5nVGV4dCkKKyAgICAgICAgaWYgKHJlc291cmNl
TW9kZSAmIEFwcGx5VG9UZXh0TW9kZSkKICAgICAgICAgICAgIGNvbnRleHQtPnNldFRleHREcmF3
aW5nTW9kZShjVGV4dEZpbGwpOwotICAgIH0KLQotICAgIGlmICgodHlwZSAmIEFwcGx5VG9TdHJv
a2VUYXJnZXRUeXBlKSAmJiAoIXN0eWxlIHx8IHN2Z1N0eWxlLT5oYXNTdHJva2UoKSkpIHsKLSAg
ICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3R5bGUgPyBzdmdTdHlsZS0+c3Ryb2tlT3BhY2l0eSgp
IDogMSk7Ci0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKGNvbG9yKCkucmdiKCksIGNv
bG9yU3BhY2UpOworICAgIH0gZWxzZSBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1v
ZGUpIHsKKyAgICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3ZnU3R5bGUgPyBzdmdTdHlsZS0+c3Ry
b2tlT3BhY2l0eSgpIDogMS4wZik7CisgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKG1f
Y29sb3IsIGNvbG9yU3BhY2UpOwogCiAgICAgICAgIGlmIChzdHlsZSkKICAgICAgICAgICAgIGFw
cGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQoY29udGV4dCwgc3R5bGUsIG9iamVjdCk7CiAKLSAgICAg
ICAgaWYgKGlzUGFpbnRpbmdUZXh0KQorICAgICAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlU
b1RleHRNb2RlKQogICAgICAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKGNUZXh0
U3Ryb2tlKTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQordm9pZCBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnBvc3RBcHBseVJlc291
cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVuc2lnbmVkIHNo
b3J0IHJlc291cmNlTW9kZSkKK3sKKyAgICBBU1NFUlQoY29udGV4dCk7CisgICAgQVNTRVJUKHJl
c291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOworCisgICAgaWYgKCEocmVzb3VyY2VN
b2RlICYgQXBwbHlUb1RleHRNb2RlKSkgeworICAgICAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBw
bHlUb0ZpbGxNb2RlKQorICAgICAgICAgICAgY29udGV4dC0+ZmlsbFBhdGgoKTsKKyAgICAgICAg
ZWxzZSBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpCisgICAgICAgICAgICBj
b250ZXh0LT5zdHJva2VQYXRoKCk7CisgICAgfQorCisjaWYgUExBVEZPUk0oU0tJQSkKKyAgICAv
LyBGSVhNRTogTW92ZSB0aGlzIGludG8gdGhlIEdyYXBoaWNzQ29udGV4dAorICAgIC8vIFdlYktp
dCBpbXBsaWNpdGx5IGV4cGVjdHMgdXMgdG8gcmVzZXQgdGhlIHBhdGguCisgICAgLy8gRm9yIGV4
YW1wbGUgaW4gZmlsbEFuZFN0cm9rZVBhdGgoKSBvZiBSZW5kZXJQYXRoLmNwcCB0aGUgcGF0aCBp
cyAKKyAgICAvLyBhZGRlZCBiYWNrIHRvIHRoZSBjb250ZXh0IGFmdGVyIGZpbGxpbmcuIFRoaXMg
aXMgYmVjYXVzZSBpbnRlcm5hbGx5IGl0CisgICAgLy8gY2FsbHMgQ0dDb250ZXh0RmlsbFBhdGgo
KSB3aGljaCBjbG9zZXMgdGhlIHBhdGguCisgICAgY29udGV4dC0+YmVnaW5QYXRoKCk7CisgICAg
Y29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPnNldEZpbGxTaGFkZXIoMCk7CisgICAgY29udGV4
dC0+cGxhdGZvcm1Db250ZXh0KCktPnNldFN0cm9rZVNoYWRlcigwKTsKKyNlbmRpZgorfQorCit9
CiAKICNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VTb2xpZENvbG9yLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNjAgKzEsNTYg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJt
YW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVk
IDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAogICovCiAKICNpZm5kZWYgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yX2gKICNkZWZpbmUgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yX2gKIAogI2lmIEVOQUJM
RShTVkcpCi0KICNpbmNsdWRlICJDb2xvci5oIgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgi
CisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYWludFNlcnZlclNvbGlkIDogcHVi
bGljIFNWR1BhaW50U2VydmVyIHsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciA6
IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8U1ZHUGFpbnRTZXJ2ZXJTb2xpZD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNW
R1BhaW50U2VydmVyU29saWQpOyB9Ci0gICAgdmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJTb2xpZCgp
OworICAgIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcigpOworICAgIHZpcnR1YWwgflJlbmRl
clNWR1Jlc291cmNlU29saWRDb2xvcigpOwogCi0gICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5
cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIFNvbGlkUGFpbnRTZXJ2ZXI7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgaW52YWxpZGF0ZUNsaWVudHMoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0
ZUNsaWVudChSZW5kZXJPYmplY3QqKSB7IH0KIAotICAgIENvbG9yIGNvbG9yKCkgY29uc3Q7Ci0g
ICAgdm9pZCBzZXRDb2xvcihjb25zdCBDb2xvciYpOworICAgIHZpcnR1YWwgYm9vbCBhcHBseVJl
c291cmNlKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYsIHVu
c2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBcHBseVJl
c291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBzaG9ydCBy
ZXNvdXJjZU1vZGUpOworICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91bmRpbmdCb3go
Y29uc3QgRmxvYXRSZWN0JikgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KIAotICAgIHZp
cnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29u
c3Q7CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlKCkgY29u
c3QgeyByZXR1cm4gc19yZXNvdXJjZVR5cGU7IH0KKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3Vy
Y2VUeXBlIHNfcmVzb3VyY2VUeXBlOwogCi0gICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNz
Q29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1Bh
aW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7CisgICAgY29uc3QgQ29s
b3ImIGNvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9jb2xvcjsgfQorICAgIHZvaWQgc2V0Q29sb3Io
Y29uc3QgQ29sb3ImIGNvbG9yKSB7IG1fY29sb3IgPSBjb2xvcjsgfQogCiBwcml2YXRlOgotICAg
IFNWR1BhaW50U2VydmVyU29saWQoKTsKLQogICAgIENvbG9yIG1fY29sb3I7CiB9OwogCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCit9CiAKICNlbmRpZgotCi0jZW5kaWYgLy8gUmVuZGVyU1ZHUmVz
b3VyY2VTb2xpZENvbG9yX2gKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U1ZHVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4
dC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MCw3ICsxNjAsMTAgQEAgdm9pZCBSZW5kZXJTVkdU
ZXh0OjphYnNvbHV0ZVF1YWRzKFZlY3RvcgogfQogCiB2b2lkIFJlbmRlclNWR1RleHQ6OnBhaW50
KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQsIGludCkKLXsgICAKK3sKKyAgICBpZiAocGFpbnRJ
bmZvLmNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAg
UGFpbnRJbmZvIHBpKHBhaW50SW5mbyk7CiAgICAgcGkuY29udGV4dC0+c2F2ZSgpOwogICAgIGFw
cGx5VHJhbnNmb3JtVG9QYWludEluZm8ocGksIGxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKSk7Cklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAkocmV2aXNpb24gNTgxNTkp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTEsNiArNTEsNyBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyUGF0
aC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR0NvbnRhaW5lci5oIgorI2luY2x1ZGUgIlJlbmRlclNW
R0dyYWRpZW50U3RvcC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR0ltYWdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVyU1ZHSW5saW5lVGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jvb3QuaCIKQEAgLTM5
Niw4ICszOTcsMTIgQEAgdm9pZCB3cml0ZShUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyTwog
ICAgICAgICB3cml0ZSh0cywgKnRvUmVuZGVyUGF0aCgmbyksIGluZGVudCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9Ci0gICAgaWYgKG8uaXNTVkdSZXNvdXJjZSgpKSB7Ci0gICAgICAgIHdyaXRl
U1ZHUmVzb3VyY2UodHMsIG8sIGluZGVudCk7CisgICAgaWYgKG8uaXNTVkdHcmFkaWVudFN0b3Ao
KSkgeworICAgICAgICB3cml0ZVNWR0dyYWRpZW50U3RvcCh0cywgKnRvUmVuZGVyU1ZHR3JhZGll
bnRTdG9wKCZvKSwgaW5kZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoby5p
c1NWR1Jlc291cmNlQ29udGFpbmVyKCkpIHsKKyAgICAgICAgd3JpdGVTVkdSZXNvdXJjZUNvbnRh
aW5lcih0cywgbywgaW5kZW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoby5p
c1NWR0NvbnRhaW5lcigpKSB7CkBAIC02MTksOSArNjI0LDYgQEAgU3RyaW5nIGV4dGVybmFsUmVw
cmVzZW50YXRpb24oRnJhbWUqIGZyYQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAKICAgICBU
ZXh0U3RyZWFtIHRzOwotI2lmIEVOQUJMRShTVkcpCi0gICAgd3JpdGVSZW5kZXJSZXNvdXJjZXMo
dHMsIG8tPmRvY3VtZW50KCkpOwotI2VuZGlmCiAgICAgaWYgKG8tPmhhc0xheWVyKCkpIHsKICAg
ICAgICAgUmVuZGVyTGF5ZXIqIGwgPSB0b1JlbmRlckJveChvKS0+bGF5ZXIoKTsKICAgICAgICAg
d3JpdGVMYXllcnModHMsIGwsIGwsIEludFJlY3QobC0+eCgpLCBsLT55KCksIGwtPndpZHRoKCks
IGwtPmhlaWdodCgpKSwgMCwgYmVoYXZpb3IpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
SW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW5s
aW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
SW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJJbmxpbmVGbG93Qm94LmgiCiAjaW5j
bHVkZSAiUmFuZ2UuaCIKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlci5oIgorI2luY2x1ZGUgIlJl
bmRlclNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiU1ZHUm9vdElubGluZUJveC5oIgogI2luY2x1
ZGUgIlRleHQuaCIKIApAQCAtNDE4LDEwICs0MTgsOSBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6
OnBhaW50Q2hhcmFjdGVycyhSCiAgICAgICAgIFRleHRSdW4gcnVuID0gc3ZnVGV4dFJ1bkZvcklu
bGluZVRleHRCb3goY2hhcnMsIGxlbmd0aCwgc3R5bGVUb1VzZSwgdGhpcywgc3ZnQ2hhci54KTsK
IAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCi0gICAgICAgIC8vIFNWRyBGb250cyBuZWVkIGFjY2Vz
cyB0byB0aGUgcGFpbnQgc2VydmVyIHVzZWQgdG8gZHJhdyB0aGUgY3VycmVudCB0ZXh0IGNodW5r
LgotICAgICAgICAvLyBUaGV5IG5lZWQgdG8gYmUgYWJsZSB0byBjYWxsIHJlbmRlclBhdGgoKSBv
biBhIFNWR1BhaW50U2VydmVyIG9iamVjdC4KLSAgICAgICAgQVNTRVJUKHRleHRQYWludEluZm8u
YWN0aXZlUGFpbnRTZXJ2ZXIpOwotICAgICAgICBydW4uc2V0QWN0aXZlUGFpbnRTZXJ2ZXIodGV4
dFBhaW50SW5mby5hY3RpdmVQYWludFNlcnZlcik7CisgICAgICAgIC8vIFNWRyBGb250cyBuZWVk
IGFjY2VzcyB0byB0aGUgcGFpbnRpbmcgcmVzb3VyY2UgdXNlZCB0byBkcmF3IHRoZSBjdXJyZW50
IHRleHQgY2h1bmsuCisgICAgICAgIEFTU0VSVCh0ZXh0UGFpbnRJbmZvLmFjdGl2ZVBhaW50aW5n
UmVzb3VyY2UpOworICAgICAgICBydW4uc2V0QWN0aXZlUGFpbnRpbmdSZXNvdXJjZSh0ZXh0UGFp
bnRJbmZvLmFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOwogI2VuZGlmCiAKICAgICAgICAgaW50IHNl
bGVjdGlvblN0YXJ0ID0gMDsKQEAgLTU2OSwxOCArNTY4LDIwIEBAIHZvaWQgU1ZHSW5saW5lVGV4
dEJveDo6cGFpbnREZWNvcmF0aW9uKEUKIAogICAgIGlmIChpc0ZpbGxlZCkgewogICAgICAgICBp
ZiAoUmVuZGVyT2JqZWN0KiBmaWxsT2JqZWN0ID0gaW5mby5maWxsU2VydmVyTWFwLmdldChkZWNv
cmF0aW9uKSkgewotICAgICAgICAgICAgaWYgKFNWR1BhaW50U2VydmVyKiBmaWxsUGFpbnRTZXJ2
ZXIgPSBTVkdQYWludFNlcnZlcjo6ZmlsbFBhaW50U2VydmVyKGZpbGxPYmplY3QtPnN0eWxlKCks
IGZpbGxPYmplY3QpKSB7CisgICAgICAgICAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2UqIGZpbGxQ
YWludGluZ1Jlc291cmNlID0gUmVuZGVyU1ZHUmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291cmNl
KGZpbGxPYmplY3QsIGZpbGxPYmplY3QtPnN0eWxlKCkpKSB7CiAgICAgICAgICAgICAgICAgY29u
dGV4dC0+YWRkUGF0aChwYXRoRm9yRGVjb3JhdGlvbihkZWNvcmF0aW9uLCBmaWxsT2JqZWN0LCB0
eCwgdHksIHdpZHRoKSk7Ci0gICAgICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyLT5kcmF3KGNv
bnRleHQsIGZpbGxPYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSk7CisgICAgICAgICAgICAg
ICAgaWYgKGZpbGxQYWludGluZ1Jlc291cmNlLT5hcHBseVJlc291cmNlKGZpbGxPYmplY3QsIGZp
bGxPYmplY3QtPnN0eWxlKCksIGNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSkpCisgICAgICAgICAg
ICAgICAgICAgIGZpbGxQYWludGluZ1Jlc291cmNlLT5wb3N0QXBwbHlSZXNvdXJjZShmaWxsT2Jq
ZWN0LCBjb250ZXh0LCBBcHBseVRvRmlsbE1vZGUpOwogICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgfQogCiAgICAgaWYgKGlzU3Ryb2tlZCkgewogICAgICAgICBpZiAoUmVuZGVyT2JqZWN0
KiBzdHJva2VPYmplY3QgPSBpbmZvLnN0cm9rZVNlcnZlck1hcC5nZXQoZGVjb3JhdGlvbikpIHsK
LSAgICAgICAgICAgIGlmIChTVkdQYWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBTVkdQ
YWludFNlcnZlcjo6c3Ryb2tlUGFpbnRTZXJ2ZXIoc3Ryb2tlT2JqZWN0LT5zdHlsZSgpLCBzdHJv
a2VPYmplY3QpKSB7CisgICAgICAgICAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2UqIHN0cm9rZVBh
aW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6c3Ryb2tlUGFpbnRpbmdSZXNvdXJj
ZShzdHJva2VPYmplY3QsIHN0cm9rZU9iamVjdC0+c3R5bGUoKSkpIHsKICAgICAgICAgICAgICAg
ICBjb250ZXh0LT5hZGRQYXRoKHBhdGhGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIHN0cm9rZU9i
amVjdCwgdHgsIHR5LCB3aWR0aCkpOwotICAgICAgICAgICAgICAgIHN0cm9rZVBhaW50U2VydmVy
LT5kcmF3KGNvbnRleHQsIHN0cm9rZU9iamVjdCwgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUpOwor
ICAgICAgICAgICAgICAgIGlmIChzdHJva2VQYWludGluZ1Jlc291cmNlLT5hcHBseVJlc291cmNl
KHN0cm9rZU9iamVjdCwgc3Ryb2tlT2JqZWN0LT5zdHlsZSgpLCBjb250ZXh0LCBBcHBseVRvU3Ry
b2tlTW9kZSkpCisgICAgICAgICAgICAgICAgICAgIHN0cm9rZVBhaW50aW5nUmVzb3VyY2UtPnBv
c3RBcHBseVJlc291cmNlKHN0cm9rZU9iamVjdCwgY29udGV4dCwgQXBwbHlUb1N0cm9rZU1vZGUp
OwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvU1ZHSW5saW5lVGV4dEJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NW
R0lubGluZVRleHRCb3guaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9T
VkdJbmxpbmVUZXh0Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAKIAogI2lm
IEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiSW5saW5lVGV4dEJveC5oIgorI2luY2x1ZGUgIlJlbmRl
clNWR1Jlc291cmNlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsOSArNDMsMTMg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIH07CiAKICAgICBzdHJ1Y3QgU1ZHVGV4dFBhaW50
SW5mbyB7Ci0gICAgICAgIFNWR1RleHRQYWludEluZm8oKSA6IGFjdGl2ZVBhaW50U2VydmVyKDAp
LCBzdWJwaGFzZShTVkdUZXh0UGFpbnRTdWJwaGFzZUJhY2tncm91bmQpIHt9CisgICAgICAgIFNW
R1RleHRQYWludEluZm8oKQorICAgICAgICAgICAgOiBhY3RpdmVQYWludGluZ1Jlc291cmNlKDAp
CisgICAgICAgICAgICAsIHN1YnBoYXNlKFNWR1RleHRQYWludFN1YnBoYXNlQmFja2dyb3VuZCkK
KyAgICAgICAgeworICAgICAgICB9CiAKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXIqIGFjdGl2ZVBh
aW50U2VydmVyOworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZSogYWN0aXZlUGFpbnRpbmdSZXNv
dXJjZTsKICAgICAgICAgU1ZHVGV4dFBhaW50U3VicGhhc2Ugc3VicGhhc2U7CiAgICAgfTsKIApJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHJldmlzaW9uIDU4MTU5
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTkyLDcgKzkyLDcgQEAgYm9vbCBTVkdSZW5kZXJCYXNlOjpwcmVwYXJlVG9SZW5kZXJT
VkdDbwogICAgIEFTU0VSVChzdmdFbGVtZW50ICYmIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCkgJiYg
c3ZnRWxlbWVudC0+aXNTdHlsZWQoKSk7CiAKICAgICBTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWRF
bGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpOwotICAg
IGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSA9IG9iamVjdC0+c3R5bGUoKTsKKyAgICBSZW5kZXJT
dHlsZSogc3R5bGUgPSBvYmplY3QtPnN0eWxlKCk7CiAgICAgQVNTRVJUKHN0eWxlKTsKIAogICAg
IGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5zdmdTdHlsZSgpOwpAQCAt
MTMyLDE5ICsxMzIsMTkgQEAgYm9vbCBTVkdSZW5kZXJCYXNlOjpwcmVwYXJlVG9SZW5kZXJTVkdD
bwogI2VuZGlmCiAKICAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIqIG1hc2tlciA9IGdl
dFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcj4oZG9jdW1lbnQs
IG1hc2tlcklkKSkgewotICAgICAgICBpZiAoIW1hc2tlci0+YXBwbHlSZXNvdXJjZShvYmplY3Qs
IHBhaW50SW5mby5jb250ZXh0KSkKKyAgICAgICAgaWYgKCFtYXNrZXItPmFwcGx5UmVzb3VyY2Uo
b2JqZWN0LCBzdHlsZSwgcGFpbnRJbmZvLmNvbnRleHQsIEFwcGx5VG9EZWZhdWx0TW9kZSkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfSBlbHNlIGlmICghbWFza2VySWQuaXNFbXB0
eSgpKQogICAgICAgICBzdmdFbGVtZW50LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25z
KCktPmFkZFBlbmRpbmdSZXNvdXJjZShtYXNrZXJJZCwgc3R5bGVkRWxlbWVudCk7CiAKICAgICBp
ZiAoUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyKiBjbGlwcGVyID0gZ2V0UmVuZGVyU1ZHUmVzb3Vy
Y2VCeUlkPFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcj4oZG9jdW1lbnQsIGNsaXBwZXJJZCkpCi0g
ICAgICAgIGNsaXBwZXItPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBwYWludEluZm8uY29udGV4dCk7
CisgICAgICAgIGNsaXBwZXItPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBzdHlsZSwgcGFpbnRJbmZv
LmNvbnRleHQsIEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAgICAgZWxzZSBpZiAoIWNsaXBwZXJJZC5p
c0VtcHR5KCkpCiAgICAgICAgIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVu
c2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKGNsaXBwZXJJZCwgc3R5bGVkRWxlbWVudCk7CiAK
ICNpZiBFTkFCTEUoRklMVEVSUykKICAgICBpZiAoZmlsdGVyKSB7Ci0gICAgICAgIGlmICghZmls
dGVyLT5hcHBseVJlc291cmNlKG9iamVjdCwgcGFpbnRJbmZvLmNvbnRleHQpKQorICAgICAgICBp
ZiAoIWZpbHRlci0+YXBwbHlSZXNvdXJjZShvYmplY3QsIHN0eWxlLCBwYWludEluZm8uY29udGV4
dCwgQXBwbHlUb0RlZmF1bHRNb2RlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
IGVsc2UgaWYgKCFmaWx0ZXJJZC5pc0VtcHR5KCkpCiAgICAgICAgIHN2Z0VsZW1lbnQtPmRvY3Vt
ZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKGZpbHRlcklk
LCBzdHlsZWRFbGVtZW50KTsKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lkIFNWR1JlbmRlckJhc2U6
OmZpbmlzaFJlbmRlclNWR0NvbnRlCiAKICNpZiBFTkFCTEUoRklMVEVSUykKICAgICBpZiAoZmls
dGVyKSB7Ci0gICAgICAgIGZpbHRlci0+cG9zdEFwcGx5UmVzb3VyY2Uob2JqZWN0LCBwYWludElu
Zm8uY29udGV4dCk7CisgICAgICAgIGZpbHRlci0+cG9zdEFwcGx5UmVzb3VyY2Uob2JqZWN0LCBw
YWludEluZm8uY29udGV4dCwgQXBwbHlUb0RlZmF1bHRNb2RlKTsKICAgICAgICAgcGFpbnRJbmZv
LmNvbnRleHQgPSBzYXZlZENvbnRleHQ7CiAgICAgfQogI2VuZGlmCkBAIC0zMDYsMjMgKzMwNiw1
NyBAQCBGbG9hdFJlY3QgU1ZHUmVuZGVyQmFzZTo6bWFza2VyQm91bmRpbmdCCiAgICAgcmV0dXJu
IEZsb2F0UmVjdCgpOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgaW52YWxpZGF0ZVBhaW50aW5n
UmVzb3VyY2UoU1ZHUGFpbnQqIHBhaW50LCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sKKyAgICBB
U1NFUlQocGFpbnQpOworCisgICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBw
YWludC0+cGFpbnRUeXBlKCk7CisgICAgaWYgKHBhaW50VHlwZSAhPSBTVkdQYWludDo6U1ZHX1BB
SU5UVFlQRV9VUkkgJiYgcGFpbnRUeXBlICE9IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSV9S
R0JDT0xPUikKKyAgICAgICAgcmV0dXJuOworCisgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJl
ZmVyZW5jZTo6Z2V0VGFyZ2V0KHBhaW50LT51cmkoKSkpOworICAgIGlmIChSZW5kZXJTVkdSZXNv
dXJjZUNvbnRhaW5lciogcGFpbnRpbmdSZXNvdXJjZSA9IGdldFJlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyQnlJZChvYmplY3QtPmRvY3VtZW50KCksIGlkKSkKKyAgICAgICAgcGFpbnRpbmdSZXNv
dXJjZS0+aW52YWxpZGF0ZUNsaWVudChvYmplY3QpOworfQorCiB2b2lkIGRlcmVnaXN0ZXJGcm9t
UmVzb3VyY2VzKFJlbmRlck9iamVjdCogb2JqZWN0KQogewotICAgIC8vIFdlIG9ubHkgaGF2ZSB0
aGUgcmVuZGVyZXIgZm9yIG1hc2tlciBhbmQgY2xpcHBlciBhdCB0aGUgbW9tZW50LgotICAgIGlm
IChSZW5kZXJTVkdSZXNvdXJjZU1hc2tlciogbWFza2VyID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VC
eUlkPFJlbmRlclNWR1Jlc291cmNlTWFza2VyPihvYmplY3QtPmRvY3VtZW50KCksIG9iamVjdC0+
c3R5bGUoKS0+c3ZnU3R5bGUoKS0+bWFza2VyUmVzb3VyY2UoKSkpCisgICAgQVNTRVJUKG9iamVj
dCk7CisgICAgQVNTRVJUKG9iamVjdC0+c3R5bGUoKSk7CisKKyAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBvYmplY3QtPmRvY3VtZW50KCk7CisgICAgQVNTRVJUKGRvY3VtZW50KTsKKworICAgIGNv
bnN0IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IG9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUo
KTsKKyAgICBBU1NFUlQoc3ZnU3R5bGUpOworCisgICAgLy8gTWFza2VyCisgICAgaWYgKFJlbmRl
clNWR1Jlc291cmNlTWFza2VyKiBtYXNrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVu
ZGVyU1ZHUmVzb3VyY2VNYXNrZXI+KGRvY3VtZW50LCBzdmdTdHlsZS0+bWFza2VyUmVzb3VyY2Uo
KSkpCiAgICAgICAgIG1hc2tlci0+aW52YWxpZGF0ZUNsaWVudChvYmplY3QpOwotICAgIGlmIChS
ZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIqIGNsaXBwZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5
SWQ8UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyPihvYmplY3QtPmRvY3VtZW50KCksIG9iamVjdC0+
c3R5bGUoKS0+c3ZnU3R5bGUoKS0+Y2xpcHBlclJlc291cmNlKCkpKQorCisgICAgLy8gQ2xpcHBl
cgorICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIqIGNsaXBwZXIgPSBnZXRSZW5kZXJT
VkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyPihkb2N1bWVudCwgc3ZnU3R5
bGUtPmNsaXBwZXJSZXNvdXJjZSgpKSkKICAgICAgICAgY2xpcHBlci0+aW52YWxpZGF0ZUNsaWVu
dChvYmplY3QpOworCisgICAgLy8gRmlsdGVyCiAjaWYgRU5BQkxFKEZJTFRFUlMpCi0gICAgaWYg
KFJlbmRlclNWR1Jlc291cmNlRmlsdGVyKiBmaWx0ZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5
SWQ8UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI+KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5z
dHlsZSgpLT5zdmdTdHlsZSgpLT5maWx0ZXJSZXNvdXJjZSgpKSkKKyAgICBpZiAoUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXIqIGZpbHRlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJT
VkdSZXNvdXJjZUZpbHRlcj4oZG9jdW1lbnQsIHN2Z1N0eWxlLT5maWx0ZXJSZXNvdXJjZSgpKSkK
ICAgICAgICAgZmlsdGVyLT5pbnZhbGlkYXRlQ2xpZW50KG9iamVjdCk7CiAjZW5kaWYKLSAgICBp
ZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIHN0YXJ0TWFya2VyID0gZ2V0UmVuZGVyU1ZHUmVz
b3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihvYmplY3QtPmRvY3VtZW50KCksIG9i
amVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUoKS0+bWFya2VyU3RhcnRSZXNvdXJjZSgpKSkKKworICAg
IC8vIE1hcmtlcnMKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIHN0YXJ0TWFya2Vy
ID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihkb2N1
bWVudCwgc3ZnU3R5bGUtPm1hcmtlclN0YXJ0UmVzb3VyY2UoKSkpCiAgICAgICAgIHN0YXJ0TWFy
a2VyLT5pbnZhbGlkYXRlQ2xpZW50KG9iamVjdCk7Ci0gICAgaWYgKFJlbmRlclNWR1Jlc291cmNl
TWFya2VyKiBtaWRNYXJrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVz
b3VyY2VNYXJrZXI+KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHls
ZSgpLT5tYXJrZXJNaWRSZXNvdXJjZSgpKSkKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXJr
ZXIqIG1pZE1hcmtlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJj
ZU1hcmtlcj4oZG9jdW1lbnQsIHN2Z1N0eWxlLT5tYXJrZXJNaWRSZXNvdXJjZSgpKSkKICAgICAg
ICAgbWlkTWFya2VyLT5pbnZhbGlkYXRlQ2xpZW50KG9iamVjdCk7Ci0gICAgaWYgKFJlbmRlclNW
R1Jlc291cmNlTWFya2VyKiBlbmRNYXJrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXI+KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgp
LT5zdmdTdHlsZSgpLT5tYXJrZXJFbmRSZXNvdXJjZSgpKSkKKyAgICBpZiAoUmVuZGVyU1ZHUmVz
b3VyY2VNYXJrZXIqIGVuZE1hcmtlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJT
VkdSZXNvdXJjZU1hcmtlcj4oZG9jdW1lbnQsIHN2Z1N0eWxlLT5tYXJrZXJFbmRSZXNvdXJjZSgp
KSkKICAgICAgICAgZW5kTWFya2VyLT5pbnZhbGlkYXRlQ2xpZW50KG9iamVjdCk7CisKKyAgICAv
LyBHcmFkaWVudHMvUGF0dGVybnMKKyAgICBpZiAoc3ZnU3R5bGUtPmhhc0ZpbGwoKSkKKyAgICAg
ICAgaW52YWxpZGF0ZVBhaW50aW5nUmVzb3VyY2Uoc3ZnU3R5bGUtPmZpbGxQYWludCgpLCBvYmpl
Y3QpOworICAgIGlmIChzdmdTdHlsZS0+aGFzU3Ryb2tlKCkpCisgICAgICAgIGludmFsaWRhdGVQ
YWludGluZ1Jlc291cmNlKHN2Z1N0eWxlLT5zdHJva2VQYWludCgpLCBvYmplY3QpOwogfQogCiB2
b2lkIGFwcGx5VHJhbnNmb3JtVG9QYWludEluZm8oUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBsb2NhbFRvQW5jZXN0b3JUcmFuc2Zvcm0p
CkBAIC0zMzQsNiArMzY4LDM5IEBAIHZvaWQgYXBwbHlUcmFuc2Zvcm1Ub1BhaW50SW5mbyhSZW5k
ZXJPYmoKICAgICBwYWludEluZm8ucmVjdCA9IGxvY2FsVG9BbmNlc3RvclRyYW5zZm9ybS5pbnZl
cnNlKCkubWFwUmVjdChwYWludEluZm8ucmVjdCk7CiB9CiAKK0Rhc2hBcnJheSBkYXNoQXJyYXlG
cm9tUmVuZGVyaW5nU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSog
cm9vdFN0eWxlKQoreworICAgIERhc2hBcnJheSBhcnJheTsKKyAgICAKKyAgICBDU1NWYWx1ZUxp
c3QqIGRhc2hlcyA9IHN0eWxlLT5zdmdTdHlsZSgpLT5zdHJva2VEYXNoQXJyYXkoKTsKKyAgICBp
ZiAoZGFzaGVzKSB7CisgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBkYXNoID0gMDsKKyAgICAg
ICAgdW5zaWduZWQgbG9uZyBsZW4gPSBkYXNoZXMtPmxlbmd0aCgpOworICAgICAgICBmb3IgKHVu
c2lnbmVkIGxvbmcgaSA9IDA7IGkgPCBsZW47IGkrKykgeworICAgICAgICAgICAgZGFzaCA9IHN0
YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4oZGFzaGVzLT5pdGVtV2l0aG91dEJvdW5kc0No
ZWNrKGkpKTsKKyAgICAgICAgICAgIGlmICghZGFzaCkKKyAgICAgICAgICAgICAgICBjb250aW51
ZTsKKworICAgICAgICAgICAgYXJyYXkuYXBwZW5kKChmbG9hdCkgZGFzaC0+Y29tcHV0ZUxlbmd0
aEZsb2F0KGNvbnN0X2Nhc3Q8UmVuZGVyU3R5bGUqPihzdHlsZSksIHJvb3RTdHlsZSkpOworICAg
ICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGFycmF5OworfQorCit2b2lkIGFwcGx5U3Ryb2tl
U3R5bGVUb0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZW5kZXJTdHls
ZSogc3R5bGUsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQoreworICAgIGNvbnRleHQtPnNl
dFN0cm9rZVRoaWNrbmVzcyhTVkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgob2Jq
ZWN0LCBzdHlsZS0+c3ZnU3R5bGUoKS0+c3Ryb2tlV2lkdGgoKSwgMS4wZikpOworICAgIGNvbnRl
eHQtPnNldExpbmVDYXAoc3R5bGUtPnN2Z1N0eWxlKCktPmNhcFN0eWxlKCkpOworICAgIGNvbnRl
eHQtPnNldExpbmVKb2luKHN0eWxlLT5zdmdTdHlsZSgpLT5qb2luU3R5bGUoKSk7CisgICAgaWYg
KHN0eWxlLT5zdmdTdHlsZSgpLT5qb2luU3R5bGUoKSA9PSBNaXRlckpvaW4pCisgICAgICAgIGNv
bnRleHQtPnNldE1pdGVyTGltaXQoc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZU1pdGVyTGltaXQo
KSk7CisKKyAgICBjb25zdCBEYXNoQXJyYXkmIGRhc2hlcyA9IGRhc2hBcnJheUZyb21SZW5kZXJp
bmdTdHlsZShvYmplY3QtPnN0eWxlKCksIG9iamVjdC0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVt
ZW50KCktPnJlbmRlclN0eWxlKCkpOworICAgIGZsb2F0IGRhc2hPZmZzZXQgPSBTVkdSZW5kZXJT
dHlsZTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+c3ZnU3R5bGUoKS0+c3Ry
b2tlRGFzaE9mZnNldCgpLCAwLjBmKTsKKyAgICBjb250ZXh0LT5zZXRMaW5lRGFzaChkYXNoZXMs
IGRhc2hPZmZzZXQpOworfQorCiBjb25zdCBSZW5kZXJPYmplY3QqIGZpbmRUZXh0Um9vdE9iamVj
dChjb25zdCBSZW5kZXJPYmplY3QqIHN0YXJ0KQogewogICAgIHdoaWxlIChzdGFydCAmJiAhc3Rh
cnQtPmlzU1ZHVGV4dCgpKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9y
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaAko
cmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAKICNkZWZpbmUgU1ZHUmVuZGVyQmFzZV9o
CiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIkRhc2hBcnJheS5oIgogI2luY2x1ZGUgIlJl
bmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdTdHls
ZWRFbGVtZW50LmgiCkBAIC04NSw3ICs4NiwxMSBAQCB2b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdl
KEltYWdlQnVmZmVyKiwgCiB2b2lkIGRlcmVnaXN0ZXJGcm9tUmVzb3VyY2VzKFJlbmRlck9iamVj
dCopOwogdm9pZCBjbGFtcEltYWdlQnVmZmVyU2l6ZVRvVmlld3BvcnQoRnJhbWVWaWV3KiwgSW50
U2l6ZSYgaW1hZ2VCdWZmZXJTaXplKTsKIAordm9pZCBhcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFJlbmRlclN0eWxlKiwgY29uc3QgUmVuZGVyT2JqZWN0
Kik7CitEYXNoQXJyYXkgZGFzaEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKGNvbnN0IFJlbmRlclN0
eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSk7CisKIGNvbnN0IFJlbmRlck9iamVj
dCogZmluZFRleHRSb290T2JqZWN0KGNvbnN0IFJlbmRlck9iamVjdCogc3RhcnQpOworCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM0LDI2ICszNCwzNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMuaCIKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJbmxpbmVUZXh0Qm94LmgiCisjaW5jbHVkZSAiTGlu
ZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAj
aW5jbHVkZSAiUGF0aC5oIgorI2luY2x1ZGUgIlBhdHRlcm5BdHRyaWJ1dGVzLmgiCisjaW5jbHVk
ZSAiUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIK
ICNpbmNsdWRlICJSZW5kZXJQYXRoLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHQ29udGFpbmVyLmgi
CisjaW5jbHVkZSAiUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZH
SW5saW5lVGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIgogI2lu
Y2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVz
b3VyY2VHcmFkaWVudC5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGll
bnQuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oIgogI2luY2x1ZGUgIlJl
bmRlclNWR1Jlc291cmNlTWFza2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VQYXR0
ZXJuLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oIgogI2lu
Y2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvci5oIgogI2luY2x1ZGUgIlJlbmRlclNW
R1Jvb3QuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJl
ZUFzVGV4dC5oIgogI2luY2x1ZGUgIlNWR0NoYXJhY3RlckxheW91dEluZm8uaCIKICNpbmNsdWRl
ICJTVkdJbmxpbmVUZXh0Qm94LmgiCisjaW5jbHVkZSAiU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50
LmgiCisjaW5jbHVkZSAiU1ZHUGF0dGVybkVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdSYWRpYWxH
cmFkaWVudEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdSb290SW5saW5lQm94LmgiCisjaW5jbHVk
ZSAiU1ZHU3RvcEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCisKICNp
bmNsdWRlIDxtYXRoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMwNyw2ICszMTgsNDcg
QEAgc3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbQogICAgIHJldHVybiB0
czsKIH0KIAorLy8gRklYTUU6IE1heWJlIHRoaXMgc2hvdWxkIGJlIGluIEdyYWRpZW50LmNwcAor
c3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIEdyYWRpZW50U3By
ZWFkTWV0aG9kIG1vZGUpCit7CisgICAgc3dpdGNoIChtb2RlKSB7CisgICAgY2FzZSBTcHJlYWRN
ZXRob2RQYWQ6CisgICAgICAgIHRzIDw8ICJQQUQiOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IFNwcmVhZE1ldGhvZFJlcGVhdDoKKyAgICAgICAgdHMgPDwgIlJFUEVBVCI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgU3ByZWFkTWV0aG9kUmVmbGVjdDoKKyAgICAgICAgdHMgPDwgIlJFRkxF
Q1QiOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gdHM7Cit9CisKK3N0YXRp
YyB2b2lkIHdyaXRlU1ZHUGFpbnRpbmdSZXNvdXJjZShUZXh0U3RyZWFtJiB0cywgUmVuZGVyU1ZH
UmVzb3VyY2UqIHJlc291cmNlKQoreworICAgIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkg
PT0gU29saWRDb2xvclJlc291cmNlVHlwZSkgeworICAgICAgICB0cyA8PCAiW3R5cGU9U09MSURd
IFtjb2xvcj0iIDw8IHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcio+KHJl
c291cmNlKS0+Y29sb3IoKSA8PCAiXSI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAv
LyBBbGwgb3RoZXIgcmVzb3VyY2VzIGRlcml2ZSBmcm9tIFJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyCisgICAgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIGNvbnRhaW5lciA9IHN0YXRpY19j
YXN0PFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKj4ocmVzb3VyY2UpOworICAgIE5vZGUqIG5v
ZGUgPSBjb250YWluZXItPm5vZGUoKTsKKyAgICBBU1NFUlQobm9kZSk7CisgICAgQVNTRVJUKG5v
ZGUtPmlzU1ZHRWxlbWVudCgpKTsKKworICAgIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkg
PT0gUGF0dGVyblJlc291cmNlVHlwZSkKKyAgICAgICAgdHMgPDwgIlt0eXBlPVBBVFRFUk5dIjsK
KyAgICBlbHNlIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gTGluZWFyR3JhZGllbnRS
ZXNvdXJjZVR5cGUpCisgICAgICAgIHRzIDw8ICJbdHlwZT1MSU5FQVItR1JBRElFTlRdIjsKKyAg
ICBlbHNlIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gUmFkaWFsR3JhZGllbnRSZXNv
dXJjZVR5cGUpCisgICAgICAgIHRzIDw8ICJbdHlwZT1SQURJQUwtR1JBRElFTlRdIjsKKworICAg
IHRzIDw8ICIgW2lkPVwiIiA8PCBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4obm9kZSktPmdldElE
QXR0cmlidXRlKCkgPDwgIlwiXSI7Cit9CisKIHN0YXRpYyB2b2lkIHdyaXRlU3R5bGUoVGV4dFN0
cmVhbSYgdHMsIGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0KQogewogICAgIGNvbnN0IFJlbmRl
clN0eWxlKiBzdHlsZSA9IG9iamVjdC5zdHlsZSgpOwpAQCAtMzE4LDEyICszNzAsMTEgQEAgc3Rh
dGljIHZvaWQgd3JpdGVTdHlsZShUZXh0U3RyZWFtJiB0cywgYwogICAgIHdyaXRlSWZOb3REZWZh
dWx0KHRzLCAib3BhY2l0eSIsIHN0eWxlLT5vcGFjaXR5KCksIFJlbmRlclN0eWxlOjppbml0aWFs
T3BhY2l0eSgpKTsKICAgICBpZiAob2JqZWN0LmlzUmVuZGVyUGF0aCgpKSB7CiAgICAgICAgIGNv
bnN0IFJlbmRlclBhdGgmIHBhdGggPSBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJQYXRoJj4ob2Jq
ZWN0KTsKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXIqIHN0cm9rZVBhaW50U2VydmVyID0gU1ZHUGFp
bnRTZXJ2ZXI6OnN0cm9rZVBhaW50U2VydmVyKHN0eWxlLCAmcGF0aCk7Ci0gICAgICAgIGlmIChz
dHJva2VQYWludFNlcnZlcikgeworCisgICAgICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZSogc3Ry
b2tlUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGluZ1Jl
c291cmNlKCZwYXRoLCBwYXRoLnN0eWxlKCkpKSB7CiAgICAgICAgICAgICBUZXh0U3RyZWFtU2Vw
YXJhdG9yIHMoIiAiKTsKLSAgICAgICAgICAgIHRzIDw8ICIgW3N0cm9rZT17IjsKLSAgICAgICAg
ICAgIGlmIChzdHJva2VQYWludFNlcnZlcikKLSAgICAgICAgICAgICAgICB0cyA8PCBzIDw8ICpz
dHJva2VQYWludFNlcnZlcjsKKyAgICAgICAgICAgIHRzIDw8ICIgW3N0cm9rZT17IiA8PCBzOwor
ICAgICAgICAgICAgd3JpdGVTVkdQYWludGluZ1Jlc291cmNlKHRzLCBzdHJva2VQYWludGluZ1Jl
c291cmNlKTsKIAogICAgICAgICAgICAgZG91YmxlIGRhc2hPZmZzZXQgPSBTVkdSZW5kZXJTdHls
ZTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgoJnBhdGgsIHN2Z1N0eWxlLT5zdHJva2VEYXNoT2Zmc2V0
KCksIDAuMGYpOwogICAgICAgICAgICAgY29uc3QgRGFzaEFycmF5JiBkYXNoQXJyYXkgPSBkYXNo
QXJyYXlGcm9tUmVuZGVyaW5nU3R5bGUoc3R5bGUsIG9iamVjdC5kb2N1bWVudCgpLT5kb2N1bWVu
dEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSk7CkBAIC0zNDAsMTIgKzM5MSwxMSBAQCBzdGF0aWMg
dm9pZCB3cml0ZVN0eWxlKFRleHRTdHJlYW0mIHRzLCBjCiAKICAgICAgICAgICAgIHRzIDw8ICJ9
XSI7CiAgICAgICAgIH0KLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNlcnZlciA9
IFNWR1BhaW50U2VydmVyOjpmaWxsUGFpbnRTZXJ2ZXIoc3R5bGUsICZwYXRoKTsKLSAgICAgICAg
aWYgKGZpbGxQYWludFNlcnZlcikgeworCisgICAgICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZSog
ZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6ZmlsbFBhaW50aW5nUmVz
b3VyY2UoJnBhdGgsIHBhdGguc3R5bGUoKSkpIHsKICAgICAgICAgICAgIFRleHRTdHJlYW1TZXBh
cmF0b3IgcygiICIpOwotICAgICAgICAgICAgdHMgPDwgIiBbZmlsbD17IjsKLSAgICAgICAgICAg
IGlmIChmaWxsUGFpbnRTZXJ2ZXIpCi0gICAgICAgICAgICAgICAgdHMgPDwgcyA8PCAqZmlsbFBh
aW50U2VydmVyOworICAgICAgICAgICAgdHMgPDwgIiBbZmlsbD17IiA8PCBzOworICAgICAgICAg
ICAgd3JpdGVTVkdQYWludGluZ1Jlc291cmNlKHRzLCBmaWxsUGFpbnRpbmdSZXNvdXJjZSk7CiAK
ICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAib3BhY2l0eSIsIHN2Z1N0eWxlLT5m
aWxsT3BhY2l0eSgpLCAxLjBmKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAi
ZmlsbCBydWxlIiwgc3ZnU3R5bGUtPmZpbGxSdWxlKCksIFJVTEVfTk9OWkVSTyk7CkBAIC01MTUs
NyArNTY1LDIzIEBAIHN0YXRpYyB2b2lkIHdyaXRlQ2hpbGRyZW4oVGV4dFN0cmVhbSYgdHMKICAg
ICAgICAgd3JpdGUodHMsICpjaGlsZCwgaW5kZW50ICsgMSk7CiB9CiAKLXZvaWQgd3JpdGVTVkdS
ZXNvdXJjZShUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0JiBvYmplY3QsIGludCBp
bmRlbnQpCitzdGF0aWMgaW5saW5lIFN0cmluZyBib3VuZGluZ0JveE1vZGVTdHJpbmcoYm9vbCBi
b3VuZGluZ0JveE1vZGUpCit7CisgICAgcmV0dXJuIGJvdW5kaW5nQm94TW9kZSA/ICJvYmplY3RC
b3VuZGluZ0JveCIgOiAidXNlclNwYWNlT25Vc2UiOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQg
d3JpdGVDb21tb25HcmFkaWVudFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIEdyYWRpZW50U3By
ZWFkTWV0aG9kIHNwcmVhZE1ldGhvZCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBncmFkaWVudFRy
YW5zZm9ybSwgYm9vbCBib3VuZGluZ0JveE1vZGUpCit7CisgICAgd3JpdGVOYW1lVmFsdWVQYWly
KHRzLCAiZ3JhZGllbnRVbml0cyIsIGJvdW5kaW5nQm94TW9kZVN0cmluZyhib3VuZGluZ0JveE1v
ZGUpKTsKKworICAgIGlmIChzcHJlYWRNZXRob2QgIT0gU3ByZWFkTWV0aG9kUGFkKQorICAgICAg
ICB0cyA8PCAiIFtzcHJlYWRNZXRob2Q9IiA8PCBzcHJlYWRNZXRob2QgPDwgIl0iOworCisgICAg
aWYgKCFncmFkaWVudFRyYW5zZm9ybS5pc0lkZW50aXR5KCkpCisgICAgICAgIHRzIDw8ICIgW2dy
YWRpZW50VHJhbnNmb3JtPSIgPDwgZ3JhZGllbnRUcmFuc2Zvcm0gPDwgIl0iOworfQorCit2b2lk
IHdyaXRlU1ZHUmVzb3VyY2VDb250YWluZXIoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlck9i
amVjdCYgb2JqZWN0LCBpbnQgaW5kZW50KQogewogICAgIHdyaXRlU3RhbmRhcmRQcmVmaXgodHMs
IG9iamVjdCwgaW5kZW50KTsKIApAQCAtNTIzLDE2ICs1ODksMTYgQEAgdm9pZCB3cml0ZVNWR1Jl
c291cmNlKFRleHRTdHJlYW0mIHRzLCBjbwogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaWQgPSBl
bGVtZW50LT5nZXRJREF0dHJpYnV0ZSgpOwogICAgIHdyaXRlTmFtZUFuZFF1b3RlZFZhbHVlKHRz
LCAiaWQiLCBpZCk7ICAgIAogCi0gICAgUmVuZGVyU1ZHUmVzb3VyY2UqIHJlc291cmNlID0gY29u
c3RfY2FzdDxSZW5kZXJPYmplY3QmPihvYmplY3QpLnRvUmVuZGVyU1ZHUmVzb3VyY2UoKTsKKyAg
ICBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogcmVzb3VyY2UgPSBjb25zdF9jYXN0PFJlbmRl
ck9iamVjdCY+KG9iamVjdCkudG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpOworICAgIEFT
U0VSVChyZXNvdXJjZSk7CisKICAgICBpZiAocmVzb3VyY2UtPnJlc291cmNlVHlwZSgpID09IE1h
c2tlclJlc291cmNlVHlwZSkgewogICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlciogbWFz
a2VyID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIqPihyZXNvdXJjZSk7Ci0g
ICAgICAgIEFTU0VSVChtYXNrZXIpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJt
YXNrVW5pdHMiLCBtYXNrZXItPm1hc2tVbml0cygpKTsKICAgICAgICAgd3JpdGVOYW1lVmFsdWVQ
YWlyKHRzLCAibWFza0NvbnRlbnRVbml0cyIsIG1hc2tlci0+bWFza0NvbnRlbnRVbml0cygpKTsK
ICNpZiBFTkFCTEUoRklMVEVSUykKICAgICB9IGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJjZVR5
cGUoKSA9PSBGaWx0ZXJSZXNvdXJjZVR5cGUpIHsKICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXIqIGZpbHRlciA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291cmNlRmlsdGVyKj4ocmVz
b3VyY2UpOwotICAgICAgICBBU1NFUlQoZmlsdGVyKTsKICAgICAgICAgd3JpdGVOYW1lVmFsdWVQ
YWlyKHRzLCAiZmlsdGVyVW5pdHMiLCBmaWx0ZXItPmZpbHRlclVuaXRzKCkpOwogICAgICAgICB3
cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJwcmltaXRpdmVVbml0cyIsIGZpbHRlci0+cHJpbWl0aXZl
VW5pdHMoKSk7CiAgICAgICAgIGlmIChPd25QdHI8U1ZHRmlsdGVyQnVpbGRlcj4gYnVpbGRlciA9
IGZpbHRlci0+YnVpbGRQcmltaXRpdmVzKCkpIHsKQEAgLTU1OCwxMSArNjI0LDkgQEAgdm9pZCB3
cml0ZVNWR1Jlc291cmNlKFRleHRTdHJlYW0mIHRzLCBjbwogI2VuZGlmCiAgICAgfSBlbHNlIGlm
IChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gQ2xpcHBlclJlc291cmNlVHlwZSkgewogICAg
ICAgICBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIqIGNsaXBwZXIgPSBzdGF0aWNfY2FzdDxSZW5k
ZXJTVkdSZXNvdXJjZUNsaXBwZXIqPihyZXNvdXJjZSk7Ci0gICAgICAgIEFTU0VSVChjbGlwcGVy
KTsKICAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAiY2xpcFBhdGhVbml0cyIsIGNsaXBw
ZXItPmNsaXBQYXRoVW5pdHMoKSk7CiAgICAgfSBlbHNlIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VU
eXBlKCkgPT0gTWFya2VyUmVzb3VyY2VUeXBlKSB7CiAgICAgICAgIFJlbmRlclNWR1Jlc291cmNl
TWFya2VyKiBtYXJrZXIgPSBzdGF0aWNfY2FzdDxSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcio+KHJl
c291cmNlKTsKLSAgICAgICAgQVNTRVJUKG1hcmtlcik7CiAgICAgICAgIHdyaXRlTmFtZVZhbHVl
UGFpcih0cywgIm1hcmtlclVuaXRzIiwgbWFya2VyLT5tYXJrZXJVbml0cygpKTsKICAgICAgICAg
dHMgPDwgIiBbcmVmIGF0ICIgPDwgbWFya2VyLT5yZWZlcmVuY2VQb2ludCgpIDw8ICJdIjsKICAg
ICAgICAgdHMgPDwgIiBbYW5nbGU9IjsKQEAgLTU3MCw2ICs2MzQsNDkgQEAgdm9pZCB3cml0ZVNW
R1Jlc291cmNlKFRleHRTdHJlYW0mIHRzLCBjbwogICAgICAgICAgICAgdHMgPDwgImF1dG8iIDw8
ICJdIjsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdHMgPDwgbWFya2VyLT5hbmdsZSgpIDw8
ICJdIjsKKyAgICB9IGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBQYXR0ZXJu
UmVzb3VyY2VUeXBlKSB7CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybiogcGF0dGVy
biA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291cmNlUGF0dGVybio+KHJlc291cmNlKTsKKwor
ICAgICAgICAvLyBEdW1wIGZpbmFsIHJlc3VsdHMgdGhhdCBhcmUgdXNlZCBmb3IgcmVuZGVyaW5n
LiBObyB1c2UgaW4gYXNraW5nIFNWR1BhdHRlcm5FbGVtZW50IGZvciBpdHMgcGF0dGVyblVuaXRz
KCksIGFzIGl0IG1heQorICAgICAgICAvLyBsaW5rIHRvIG90aGVyIHBhdHRlcm5zIHVzaW5nIHhs
aW5rOmhyZWYsIHdlIG5lZWQgdG8gYnVpbGQgdGhlIGZ1bGwgaW5oZXJpdGFuY2UgY2hhaW4sIGFr
YS4gY29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKCkKKyAgICAgICAgUGF0dGVybkF0dHJpYnV0ZXMg
YXR0cmlidXRlcyA9IHN0YXRpY19jYXN0PFNWR1BhdHRlcm5FbGVtZW50Kj4ocGF0dGVybi0+bm9k
ZSgpKS0+Y29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKCk7CisgICAgICAgIHdyaXRlTmFtZVZhbHVl
UGFpcih0cywgInBhdHRlcm5Vbml0cyIsIGJvdW5kaW5nQm94TW9kZVN0cmluZyhhdHRyaWJ1dGVz
LmJvdW5kaW5nQm94TW9kZSgpKSk7CisgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgInBh
dHRlcm5Db250ZW50VW5pdHMiLCBib3VuZGluZ0JveE1vZGVTdHJpbmcoYXR0cmlidXRlcy5ib3Vu
ZGluZ0JveE1vZGVDb250ZW50KCkpKTsKKworICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNm
b3JtID0gYXR0cmlidXRlcy5wYXR0ZXJuVHJhbnNmb3JtKCk7CisgICAgICAgIGlmICghdHJhbnNm
b3JtLmlzSWRlbnRpdHkoKSkKKyAgICAgICAgICAgIHRzIDw8ICIgW3BhdHRlcm5UcmFuc2Zvcm09
IiA8PCB0cmFuc2Zvcm0gPDwgIl0iOworICAgIH0gZWxzZSBpZiAocmVzb3VyY2UtPnJlc291cmNl
VHlwZSgpID09IExpbmVhckdyYWRpZW50UmVzb3VyY2VUeXBlKSB7CisgICAgICAgIFJlbmRlclNW
R1Jlc291cmNlTGluZWFyR3JhZGllbnQqIGdyYWRpZW50ID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZH
UmVzb3VyY2VMaW5lYXJHcmFkaWVudCo+KHJlc291cmNlKTsKKworICAgICAgICAvLyBEdW1wIGZp
bmFsIHJlc3VsdHMgdGhhdCBhcmUgdXNlZCBmb3IgcmVuZGVyaW5nLiBObyB1c2UgaW4gYXNraW5n
IFNWR0dyYWRpZW50RWxlbWVudCBmb3IgaXRzIGdyYWRpZW50VW5pdHMoKSwgYXMgaXQgbWF5Cisg
ICAgICAgIC8vIGxpbmsgdG8gb3RoZXIgZ3JhZGllbnRzIHVzaW5nIHhsaW5rOmhyZWYsIHdlIG5l
ZWQgdG8gYnVpbGQgdGhlIGZ1bGwgaW5oZXJpdGFuY2UgY2hhaW4sIGFrYS4gY29sbGVjdEdyYWRp
ZW50UHJvcGVydGllcygpCisgICAgICAgIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCogbGluZWFy
R3JhZGllbnRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Kj4o
Z3JhZGllbnQtPm5vZGUoKSk7CisKKyAgICAgICAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIGF0
dHJpYnV0ZXMgPSBsaW5lYXJHcmFkaWVudEVsZW1lbnQtPmNvbGxlY3RHcmFkaWVudFByb3BlcnRp
ZXMoKTsKKyAgICAgICAgd3JpdGVDb21tb25HcmFkaWVudFByb3BlcnRpZXModHMsIGF0dHJpYnV0
ZXMuc3ByZWFkTWV0aG9kKCksIGF0dHJpYnV0ZXMuZ3JhZGllbnRUcmFuc2Zvcm0oKSwgYXR0cmli
dXRlcy5ib3VuZGluZ0JveE1vZGUoKSk7CisKKyAgICAgICAgRmxvYXRQb2ludCBzdGFydFBvaW50
OworICAgICAgICBGbG9hdFBvaW50IGVuZFBvaW50OworICAgICAgICBsaW5lYXJHcmFkaWVudEVs
ZW1lbnQtPmNhbGN1bGF0ZVN0YXJ0RW5kUG9pbnRzKGF0dHJpYnV0ZXMsIHN0YXJ0UG9pbnQsIGVu
ZFBvaW50KTsKKworICAgICAgICB0cyA8PCAiIFtzdGFydD0iIDw8IHN0YXJ0UG9pbnQgPDwgIl0g
W2VuZD0iIDw8IGVuZFBvaW50IDw8ICJdIjsKKyAgICB9ICBlbHNlIGlmIChyZXNvdXJjZS0+cmVz
b3VyY2VUeXBlKCkgPT0gUmFkaWFsR3JhZGllbnRSZXNvdXJjZVR5cGUpIHsKKyAgICAgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCogZ3JhZGllbnQgPSBzdGF0aWNfY2FzdDxSZW5k
ZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Kj4ocmVzb3VyY2UpOworCisgICAgICAgIC8vIER1
bXAgZmluYWwgcmVzdWx0cyB0aGF0IGFyZSB1c2VkIGZvciByZW5kZXJpbmcuIE5vIHVzZSBpbiBh
c2tpbmcgU1ZHR3JhZGllbnRFbGVtZW50IGZvciBpdHMgZ3JhZGllbnRVbml0cygpLCBhcyBpdCBt
YXkKKyAgICAgICAgLy8gbGluayB0byBvdGhlciBncmFkaWVudHMgdXNpbmcgeGxpbms6aHJlZiwg
d2UgbmVlZCB0byBidWlsZCB0aGUgZnVsbCBpbmhlcml0YW5jZSBjaGFpbiwgYWthLiBjb2xsZWN0
R3JhZGllbnRQcm9wZXJ0aWVzKCkKKyAgICAgICAgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KiBy
YWRpYWxHcmFkaWVudEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdSYWRpYWxHcmFkaWVudEVsZW1l
bnQqPihncmFkaWVudC0+bm9kZSgpKTsKKworICAgICAgICBSYWRpYWxHcmFkaWVudEF0dHJpYnV0
ZXMgYXR0cmlidXRlcyA9IHJhZGlhbEdyYWRpZW50RWxlbWVudC0+Y29sbGVjdEdyYWRpZW50UHJv
cGVydGllcygpOworICAgICAgICB3cml0ZUNvbW1vbkdyYWRpZW50UHJvcGVydGllcyh0cywgYXR0
cmlidXRlcy5zcHJlYWRNZXRob2QoKSwgYXR0cmlidXRlcy5ncmFkaWVudFRyYW5zZm9ybSgpLCBh
dHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKTsKKworICAgICAgICBGbG9hdFBvaW50IGZvY2Fs
UG9pbnQ7CisgICAgICAgIEZsb2F0UG9pbnQgY2VudGVyUG9pbnQ7CisgICAgICAgIGZsb2F0IHJh
ZGl1czsKKyAgICAgICAgcmFkaWFsR3JhZGllbnRFbGVtZW50LT5jYWxjdWxhdGVGb2NhbENlbnRl
clBvaW50c0FuZFJhZGl1cyhhdHRyaWJ1dGVzLCBmb2NhbFBvaW50LCBjZW50ZXJQb2ludCwgcmFk
aXVzKTsKKworICAgICAgICB0cyA8PCAiIFtjZW50ZXI9IiA8PCBjZW50ZXJQb2ludCA8PCAiXSBb
Zm9jYWw9IiA8PCBmb2NhbFBvaW50IDw8ICJdIFtyYWRpdXM9IiA8PCByYWRpdXMgPDwgIl0iOwog
ICAgIH0KIAogICAgIHRzIDw8ICJcbiI7CkBAIC02MjYsNiArNzMzLDIwIEBAIHZvaWQgd3JpdGUo
VGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlclAKICAgICB3cml0ZVJlc291cmNlcyh0cywgcGF0
aCwgaW5kZW50KTsKIH0KIAordm9pZCB3cml0ZVNWR0dyYWRpZW50U3RvcChUZXh0U3RyZWFtJiB0
cywgY29uc3QgUmVuZGVyU1ZHR3JhZGllbnRTdG9wJiBzdG9wLCBpbnQgaW5kZW50KQoreworICAg
IHdyaXRlU3RhbmRhcmRQcmVmaXgodHMsIHN0b3AsIGluZGVudCk7CisKKyAgICBTVkdTdG9wRWxl
bWVudCogc3RvcEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdTdG9wRWxlbWVudCo+KHN0b3Aubm9k
ZSgpKTsKKyAgICBBU1NFUlQoc3RvcEVsZW1lbnQpOworCisgICAgUmVuZGVyU3R5bGUqIHN0eWxl
ID0gc3RvcC5zdHlsZSgpOworICAgIGlmICghc3R5bGUpCisgICAgICAgIHJldHVybjsKKworICAg
IHRzIDw8ICIgW29mZnNldD0iIDw8IHN0b3BFbGVtZW50LT5vZmZzZXQoKSA8PCAiXSBbY29sb3I9
IiA8PCBzdG9wRWxlbWVudC0+c3RvcENvbG9ySW5jbHVkaW5nT3BhY2l0eSgpIDw8ICJdXG4iOwor
fQorCiB2b2lkIHdyaXRlUmVzb3VyY2VzKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJPYmpl
Y3QmIG9iamVjdCwgaW50IGluZGVudCkKIHsKICAgICBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUg
PSBvYmplY3Quc3R5bGUoKTsKQEAgLTY2NSwzMSArNzg2LDYgQEAgdm9pZCB3cml0ZVJlc291cmNl
cyhUZXh0U3RyZWFtJiB0cywgY29ucwogI2VuZGlmCiB9CiAKLXZvaWQgd3JpdGVSZW5kZXJSZXNv
dXJjZXMoVGV4dFN0cmVhbSYgdHMsIE5vZGUqIHBhcmVudCkKLXsKLSAgICBBU1NFUlQocGFyZW50
KTsKLSAgICBOb2RlKiBub2RlID0gcGFyZW50OwotICAgIGRvIHsKLSAgICAgICAgaWYgKCFub2Rl
LT5pc1NWR0VsZW1lbnQoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBTVkdFbGVt
ZW50KiBzdmdFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG5vZGUpOwotICAgICAg
ICBpZiAoIXN2Z0VsZW1lbnQtPmlzU3R5bGVkKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLQot
ICAgICAgICBTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWQgPSBzdGF0aWNfY2FzdDxTVkdTdHlsZWRF
bGVtZW50Kj4oc3ZnRWxlbWVudCk7Ci0gICAgICAgIFJlZlB0cjxTVkdSZXNvdXJjZT4gcmVzb3Vy
Y2Uoc3R5bGVkLT5jYW52YXNSZXNvdXJjZShub2RlLT5yZW5kZXJlcigpKSk7Ci0gICAgICAgIGlm
ICghcmVzb3VyY2UpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBTdHJpbmcgZWxl
bWVudElkID0gc3ZnRWxlbWVudC0+Z2V0QXR0cmlidXRlKHN2Z0VsZW1lbnQtPmlkQXR0cmlidXRl
TmFtZSgpKTsKLSAgICAgICAgLy8gRklYTUU6IFRoZXNlIG5hbWVzIGFyZSBsaWVzIQotICAgICAg
ICBpZiAocmVzb3VyY2UtPmlzUGFpbnRTZXJ2ZXIoKSkgewotICAgICAgICAgICAgUmVmUHRyPFNW
R1BhaW50U2VydmVyPiBwYWludFNlcnZlciA9IFdURjo6c3RhdGljX3BvaW50ZXJfY2FzdDxTVkdQ
YWludFNlcnZlcj4ocmVzb3VyY2UpOwotICAgICAgICAgICAgdHMgPDwgIktSZW5kZXJpbmdQYWlu
dFNlcnZlciB7aWQ9XCIiIDw8IGVsZW1lbnRJZCA8PCAiXCIgIiA8PCAqcGFpbnRTZXJ2ZXIgPDwg
In0iIDw8ICJcbiI7Ci0gICAgICAgIH0KLSAgICB9IHdoaWxlICgobm9kZSA9IG5vZGUtPnRyYXZl
cnNlTmV4dE5vZGUocGFyZW50KSkpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyVHJl
ZUFzVGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVB
c1RleHQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJU
cmVlQXNUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFJlbmRlckltYWdlOwogICAgIGNsYXNzIFJlbmRlck9iamVjdDsK
ICAgICBjbGFzcyBSZW5kZXJQYXRoOworICAgIGNsYXNzIFJlbmRlclNWR0dyYWRpZW50U3RvcDsK
ICAgICBjbGFzcyBSZW5kZXJTVkdSb290OwogICAgIGNsYXNzIFJlbmRlclRleHQ7CiAgICAgY2xh
c3MgQWZmaW5lVHJhbnNmb3JtOwpAQCAtNTEsMTUgKzUyLDE0IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIC8vIGZ1bmN0aW9ucyB1c2VkIGJ5IHRoZSBtYWluIFJlbmRlclRyZWVBc1RleHQgY29kZQog
dm9pZCB3cml0ZShUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyUGF0aCYsIGludCBpbmRlbnQpOwog
dm9pZCB3cml0ZShUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyU1ZHUm9vdCYsIGludCBpbmRlbnQp
Owotdm9pZCB3cml0ZVNWR1Jlc291cmNlKFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJPYmplY3Qm
LCBpbnQgaW5kZW50KTsKK3ZvaWQgd3JpdGVTVkdHcmFkaWVudFN0b3AoVGV4dFN0cmVhbSYsIGNv
bnN0IFJlbmRlclNWR0dyYWRpZW50U3RvcCYsIGludCBpbmRlbnQpOwordm9pZCB3cml0ZVNWR1Jl
c291cmNlQ29udGFpbmVyKFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJPYmplY3QmLCBpbnQgaW5k
ZW50KTsKIHZvaWQgd3JpdGVTVkdDb250YWluZXIoVGV4dFN0cmVhbSYsIGNvbnN0IFJlbmRlck9i
amVjdCYsIGludCBpbmRlbnQpOwogdm9pZCB3cml0ZVNWR0ltYWdlKFRleHRTdHJlYW0mLCBjb25z
dCBSZW5kZXJJbWFnZSYsIGludCBpbmRlbnQpOwogdm9pZCB3cml0ZVNWR0lubGluZVRleHQoVGV4
dFN0cmVhbSYsIGNvbnN0IFJlbmRlclRleHQmLCBpbnQgaW5kZW50KTsKIHZvaWQgd3JpdGVTVkdU
ZXh0KFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJCbG9jayYsIGludCBpbmRlbnQpOwogdm9pZCB3
cml0ZVJlc291cmNlcyhUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyT2JqZWN0JiwgaW50IGluZGVu
dCk7CiAKLXZvaWQgd3JpdGVSZW5kZXJSZXNvdXJjZXMoVGV4dFN0cmVhbSYsIE5vZGUqIHBhcmVu
dCk7Ci0KIC8vIGhlbHBlciBvcGVyYXRvcnMgZGVmaW5lZCB1c2VkIGluIHZhcmlvdXMgY2xhc3Nl
cyB0byBkdW1wIHRoZSByZW5kZXIgdHJlZS4KIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0
cmVhbSYsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChU
ZXh0U3RyZWFtJiwgY29uc3QgSW50UmVjdCYpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
Um9vdElubGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUm9v
dElubGluZUJveC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
Um9vdElubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQsNiArNCw3IEBACiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgT2xpdmVyIEh1bnQgPG9qaDE2QHN0dWRlbnQuY2FudGVyYnVyeS5hYy5u
ej4KICAqICAgICAgICAgICAoQykgMjAwNiBBcHBsZSBDb21wdXRlciBJbmMuCiAgKiAgICAgICAg
ICAgKEMpIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTMyLDEyICszMywxMiBAQAogI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlJl
bmRlclNWR1Jlc291cmNlRmlsdGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgogI2lu
Y2x1ZGUgIlNWR0lubGluZUZsb3dCb3guaCIKICNpbmNsdWRlICJTVkdJbmxpbmVUZXh0Qm94Lmgi
CiAjaW5jbHVkZSAiU1ZHRm9udEVsZW1lbnQuaCIKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlci5o
IgogI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlRGVmcy5oIgogI2luY2x1ZGUgIlNWR1JlbmRlclN1
cHBvcnQuaCIKICNpbmNsdWRlICJTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmgiCkBAIC0zNDUs
MTAgKzM0NiwxMCBAQCBzdHJ1Y3QgU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAgICAg
ICAgLCBtX2JvdW5kaW5nQm94KHR4ICsgcm9vdEJveC0+eCgpLCB0eSArIHJvb3RCb3gtPnkoKSwg
cm9vdEJveC0+d2lkdGgoKSwgcm9vdEJveC0+aGVpZ2h0KCkpCiAgICAgICAgICwgbV9maWx0ZXIo
MCkKICAgICAgICAgLCBtX3Jvb3RGaWx0ZXIocm9vdEZpbHRlcikKLSAgICAgICAgLCBtX2ZpbGxQ
YWludFNlcnZlcigwKQotICAgICAgICAsIG1fc3Ryb2tlUGFpbnRTZXJ2ZXIoMCkKLSAgICAgICAg
LCBtX2ZpbGxQYWludFNlcnZlck9iamVjdCgwKQotICAgICAgICAsIG1fc3Ryb2tlUGFpbnRTZXJ2
ZXJPYmplY3QoMCkKKyAgICAgICAgLCBtX2ZpbGxQYWludGluZ1Jlc291cmNlKDApCisgICAgICAg
ICwgbV9zdHJva2VQYWludGluZ1Jlc291cmNlKDApCisgICAgICAgICwgbV9maWxsUGFpbnRpbmdS
ZXNvdXJjZU9iamVjdCgwKQorICAgICAgICAsIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZU9iamVj
dCgwKQogICAgICAgICAsIG1fdHgodHgpCiAgICAgICAgICwgbV90eSh0eSkKICAgICB7CkBAIC0z
NTcsMTAgKzM1OCwxMCBAQCBzdHJ1Y3QgU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAg
ICB+U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyKCkKICAgICB7CiAgICAgICAgIEFTU0VSVCgh
bV9maWx0ZXIpOwotICAgICAgICBBU1NFUlQoIW1fZmlsbFBhaW50U2VydmVyKTsKLSAgICAgICAg
QVNTRVJUKCFtX2ZpbGxQYWludFNlcnZlck9iamVjdCk7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJv
a2VQYWludFNlcnZlcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJva2VQYWludFNlcnZlck9iamVj
dCk7CisgICAgICAgIEFTU0VSVCghbV9maWxsUGFpbnRpbmdSZXNvdXJjZSk7CisgICAgICAgIEFT
U0VSVCghbV9maWxsUGFpbnRpbmdSZXNvdXJjZU9iamVjdCk7CisgICAgICAgIEFTU0VSVCghbV9z
dHJva2VQYWludGluZ1Jlc291cmNlKTsKKyAgICAgICAgQVNTRVJUKCFtX3N0cm9rZVBhaW50aW5n
UmVzb3VyY2VPYmplY3QpOwogICAgICAgICBBU1NFUlQoIW1fY2h1bmtTdGFydGVkKTsKICAgICB9
CiAKQEAgLTM3MywyNCArMzc0LDIyIEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94UGFpbnRXYWxr
ZXIgewogCiAgICAgdm9pZCB0ZWFyZG93bkZpbGxQYWludFNlcnZlcigpCiAgICAgewotICAgICAg
ICBpZiAoIW1fZmlsbFBhaW50U2VydmVyKQorICAgICAgICBpZiAoIW1fZmlsbFBhaW50aW5nUmVz
b3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXIt
PnRlYXJkb3duKG1fcGFpbnRJbmZvLmNvbnRleHQsIG1fZmlsbFBhaW50U2VydmVyT2JqZWN0LCBB
cHBseVRvRmlsbFRhcmdldFR5cGUsIHRydWUpOwotCi0gICAgICAgIG1fZmlsbFBhaW50U2VydmVy
ID0gMDsKLSAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXJPYmplY3QgPSAwOworICAgICAgICBtX2Zp
bGxQYWludGluZ1Jlc291cmNlLT5wb3N0QXBwbHlSZXNvdXJjZShtX2ZpbGxQYWludGluZ1Jlc291
cmNlT2JqZWN0LCBtX3BhaW50SW5mby5jb250ZXh0LCBBcHBseVRvRmlsbE1vZGUgfCBBcHBseVRv
VGV4dE1vZGUpOworICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlID0gMDsKKyAgICAgICAg
bV9maWxsUGFpbnRpbmdSZXNvdXJjZU9iamVjdCA9IDA7CiAgICAgfQogCiAgICAgdm9pZCB0ZWFy
ZG93blN0cm9rZVBhaW50U2VydmVyKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9zdHJva2VQYWlu
dFNlcnZlcikKKyAgICAgICAgaWYgKCFtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgbV9zdHJva2VQYWludFNlcnZlci0+dGVhcmRvd24obV9w
YWludEluZm8uY29udGV4dCwgbV9zdHJva2VQYWludFNlcnZlck9iamVjdCwgQXBwbHlUb1N0cm9r
ZVRhcmdldFR5cGUsIHRydWUpOwotCi0gICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXIgPSAwOwot
ICAgICAgICBtX3N0cm9rZVBhaW50U2VydmVyT2JqZWN0ID0gMDsKKyAgICAgICAgbV9zdHJva2VQ
YWludGluZ1Jlc291cmNlLT5wb3N0QXBwbHlSZXNvdXJjZShtX3N0cm9rZVBhaW50aW5nUmVzb3Vy
Y2VPYmplY3QsIG1fcGFpbnRJbmZvLmNvbnRleHQsIEFwcGx5VG9TdHJva2VNb2RlIHwgQXBwbHlU
b1RleHRNb2RlKTsKKyAgICAgICAgbV9zdHJva2VQYWludGluZ1Jlc291cmNlID0gMDsKKyAgICAg
ICAgbV9zdHJva2VQYWludGluZ1Jlc291cmNlT2JqZWN0ID0gMDsKICAgICB9CiAKICAgICB2b2lk
IGNodW5rU3RhcnRDYWxsYmFjayhJbmxpbmVCb3gqIGJveCkKQEAgLTQzNyw3ICs0MzYsNyBAQCBz
dHJ1Y3QgU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAgICAgICAgbV9wYWludEluZm8u
cmVjdCA9IG1fc2F2ZWRJbmZvLnJlY3Q7CiAgICAgfQogCi0gICAgYm9vbCBzZXR1cEJhY2tncm91
bmQoU1ZHSW5saW5lVGV4dEJveCogLypib3gqLykKKyAgICBib29sIHNldHVwQmFja2dyb3VuZChT
VkdJbmxpbmVUZXh0Qm94KikKICAgICB7CiAgICAgICAgIG1fdGV4dFBhaW50SW5mby5zdWJwaGFz
ZSA9IFNWR1RleHRQYWludFN1YnBoYXNlQmFja2dyb3VuZDsKICAgICAgICAgcmV0dXJuIHRydWU7
CkBAIC00NTEsMTQgKzQ1MCwxNCBAQCBzdHJ1Y3QgU1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2Vy
IHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBvYmplY3QgPSBmbG93Qm94LT5yZW5kZXJlcigpOwog
ICAgICAgICBBU1NFUlQob2JqZWN0KTsKIAotICAgICAgICBBU1NFUlQoIW1fc3Ryb2tlUGFpbnRT
ZXJ2ZXIpOworICAgICAgICBBU1NFUlQoIW1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSk7CiAgICAg
ICAgIHRlYXJkb3duRmlsbFBhaW50U2VydmVyKCk7CiAKICAgICAgICAgbV90ZXh0UGFpbnRJbmZv
LnN1YnBoYXNlID0gU1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaEZpbGw7Ci0gICAgICAgIG1fZmls
bFBhaW50U2VydmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZlcihvYmplY3QtPnN0
eWxlKCksIG9iamVjdCk7Ci0gICAgICAgIGlmIChtX2ZpbGxQYWludFNlcnZlcikgewotICAgICAg
ICAgICAgbV9maWxsUGFpbnRTZXJ2ZXItPnNldHVwKG1fcGFpbnRJbmZvLmNvbnRleHQsIG9iamVj
dCwgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlLCB0cnVlKTsKLSAgICAgICAgICAgIG1fZmlsbFBhaW50
U2VydmVyT2JqZWN0ID0gb2JqZWN0OworICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlID0g
UmVuZGVyU1ZHUmVzb3VyY2U6OmZpbGxQYWludGluZ1Jlc291cmNlKG9iamVjdCwgb2JqZWN0LT5z
dHlsZSgpKTsKKyAgICAgICAgaWYgKG1fZmlsbFBhaW50aW5nUmVzb3VyY2UpIHsKKyAgICAgICAg
ICAgIG1fZmlsbFBhaW50aW5nUmVzb3VyY2UtPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBvYmplY3Qt
PnN0eWxlKCksIG1fcGFpbnRJbmZvLmNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSB8IEFwcGx5VG9U
ZXh0TW9kZSk7CisgICAgICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlT2JqZWN0ID0gb2Jq
ZWN0OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KIApAQCAtNDc2LDE3ICs0
NzUsMTcgQEAgc3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAgICAgICAgIGlm
ICghc3R5bGUpCiAgICAgICAgICAgICBzdHlsZSA9IG9iamVjdC0+c3R5bGUoKTsKIAotICAgICAg
ICBBU1NFUlQoIW1fc3Ryb2tlUGFpbnRTZXJ2ZXIpOworICAgICAgICBBU1NFUlQoIW1fc3Ryb2tl
UGFpbnRpbmdSZXNvdXJjZSk7CiAgICAgICAgIHRlYXJkb3duRmlsbFBhaW50U2VydmVyKCk7CiAK
ICAgICAgICAgaWYgKCFtYXlIYXZlU2VsZWN0aW9uKGJveCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICAgICAgbV90ZXh0UGFpbnRJbmZvLnN1YnBoYXNlID0gU1ZHVGV4dFBhaW50
U3VicGhhc2VHbHlwaEZpbGxTZWxlY3Rpb247Ci0gICAgICAgIG1fZmlsbFBhaW50U2VydmVyID0g
U1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZlcihzdHlsZSwgb2JqZWN0KTsKLSAgICAgICAg
aWYgKG1fZmlsbFBhaW50U2VydmVyKSB7Ci0gICAgICAgICAgICBtX2ZpbGxQYWludFNlcnZlci0+
c2V0dXAobV9wYWludEluZm8uY29udGV4dCwgb2JqZWN0LCBzdHlsZSwgQXBwbHlUb0ZpbGxUYXJn
ZXRUeXBlLCB0cnVlKTsKLSAgICAgICAgICAgIG1fZmlsbFBhaW50U2VydmVyT2JqZWN0ID0gb2Jq
ZWN0OworICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlID0gUmVuZGVyU1ZHUmVzb3VyY2U6
OmZpbGxQYWludGluZ1Jlc291cmNlKG9iamVjdCwgc3R5bGUpOworICAgICAgICBpZiAobV9maWxs
UGFpbnRpbmdSZXNvdXJjZSkgeworICAgICAgICAgICAgbV9maWxsUGFpbnRpbmdSZXNvdXJjZS0+
YXBwbHlSZXNvdXJjZShvYmplY3QsIHN0eWxlLCBtX3BhaW50SW5mby5jb250ZXh0LCBBcHBseVRv
RmlsbE1vZGUgfCBBcHBseVRvVGV4dE1vZGUpOworICAgICAgICAgICAgbV9maWxsUGFpbnRpbmdS
ZXNvdXJjZU9iamVjdCA9IG9iamVjdDsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICB9CiAKQEAgLTUwNiwxMSArNTA1LDEwIEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94UGFpbnRX
YWxrZXIgewogICAgICAgICB0ZWFyZG93blN0cm9rZVBhaW50U2VydmVyKCk7CiAKICAgICAgICAg
bV90ZXh0UGFpbnRJbmZvLnN1YnBoYXNlID0gU1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaFN0cm9r
ZTsKLSAgICAgICAgbV9zdHJva2VQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpzdHJva2VQ
YWludFNlcnZlcihvYmplY3QtPnN0eWxlKCksIG9iamVjdCk7Ci0KLSAgICAgICAgaWYgKG1fc3Ry
b2tlUGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXItPnNldHVw
KG1fcGFpbnRJbmZvLmNvbnRleHQsIG9iamVjdCwgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUsIHRy
dWUpOwotICAgICAgICAgICAgbV9zdHJva2VQYWludFNlcnZlck9iamVjdCA9IG9iamVjdDsKKyAg
ICAgICAgbV9zdHJva2VQYWludGluZ1Jlc291cmNlID0gUmVuZGVyU1ZHUmVzb3VyY2U6OnN0cm9r
ZVBhaW50aW5nUmVzb3VyY2Uob2JqZWN0LCBvYmplY3QtPnN0eWxlKCkpOworICAgICAgICBpZiAo
bV9zdHJva2VQYWludGluZ1Jlc291cmNlKSB7CisgICAgICAgICAgICBtX3N0cm9rZVBhaW50aW5n
UmVzb3VyY2UtPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBvYmplY3QtPnN0eWxlKCksIG1fcGFpbnRJ
bmZvLmNvbnRleHQsIEFwcGx5VG9TdHJva2VNb2RlIHwgQXBwbHlUb1RleHRNb2RlKTsKKyAgICAg
ICAgICAgIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZU9iamVjdCA9IG9iamVjdDsKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAKQEAgLTUzNiwxNyArNTM0LDE3IEBAIHN0cnVj
dCBTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgICAgIG1fdGV4dFBhaW50SW5mby5zdWJwaGFzZSA9IFNWR1RleHRQYWludFN1YnBo
YXNlR2x5cGhTdHJva2VTZWxlY3Rpb247Ci0gICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBT
VkdQYWludFNlcnZlcjo6c3Ryb2tlUGFpbnRTZXJ2ZXIoc3R5bGUsIG9iamVjdCk7Ci0gICAgICAg
IGlmIChtX3N0cm9rZVBhaW50U2VydmVyKSB7Ci0gICAgICAgICAgICBtX3N0cm9rZVBhaW50U2Vy
dmVyLT5zZXR1cChtX3BhaW50SW5mby5jb250ZXh0LCBvYmplY3QsIHN0eWxlLCBBcHBseVRvU3Ry
b2tlVGFyZ2V0VHlwZSwgdHJ1ZSk7Ci0gICAgICAgICAgICBtX3N0cm9rZVBhaW50U2VydmVyT2Jq
ZWN0ID0gb2JqZWN0OworICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJT
VkdSZXNvdXJjZTo6c3Ryb2tlUGFpbnRpbmdSZXNvdXJjZShvYmplY3QsIHN0eWxlKTsKKyAgICAg
ICAgaWYgKG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSkgeworICAgICAgICAgICAgbV9zdHJva2VQ
YWludGluZ1Jlc291cmNlLT5hcHBseVJlc291cmNlKG9iamVjdCwgc3R5bGUsIG1fcGFpbnRJbmZv
LmNvbnRleHQsIEFwcGx5VG9TdHJva2VNb2RlIHwgQXBwbHlUb1RleHRNb2RlKTsKKyAgICAgICAg
ICAgIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZU9iamVjdCA9IG9iamVjdDsKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
IAotICAgIGJvb2wgc2V0dXBGb3JlZ3JvdW5kKFNWR0lubGluZVRleHRCb3gqIC8qYm94Ki8pCisg
ICAgYm9vbCBzZXR1cEZvcmVncm91bmQoU1ZHSW5saW5lVGV4dEJveCopCiAgICAgewogICAgICAg
ICB0ZWFyZG93bkZpbGxQYWludFNlcnZlcigpOwogICAgICAgICB0ZWFyZG93blN0cm9rZVBhaW50
U2VydmVyKCk7CkBAIC01NTYsMTcgKzU1NCwxNyBAQCBzdHJ1Y3QgU1ZHUm9vdElubGluZUJveFBh
aW50V2Fsa2VyIHsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgU1ZHUGFpbnRT
ZXJ2ZXIqIGFjdGl2ZVBhaW50U2VydmVyKCkgY29uc3QKKyAgICBSZW5kZXJTVkdSZXNvdXJjZSog
YWN0aXZlUGFpbnRpbmdSZXNvdXJjZSgpIGNvbnN0CiAgICAgewogICAgICAgICBzd2l0Y2ggKG1f
dGV4dFBhaW50SW5mby5zdWJwaGFzZSkgewogICAgICAgICBjYXNlIFNWR1RleHRQYWludFN1YnBo
YXNlR2x5cGhGaWxsOgogICAgICAgICBjYXNlIFNWR1RleHRQYWludFN1YnBoYXNlR2x5cGhGaWxs
U2VsZWN0aW9uOgotICAgICAgICAgICAgQVNTRVJUKG1fZmlsbFBhaW50U2VydmVyKTsKLSAgICAg
ICAgICAgIHJldHVybiBtX2ZpbGxQYWludFNlcnZlcjsKKyAgICAgICAgICAgIEFTU0VSVChtX2Zp
bGxQYWludGluZ1Jlc291cmNlKTsKKyAgICAgICAgICAgIHJldHVybiBtX2ZpbGxQYWludGluZ1Jl
c291cmNlOwogICAgICAgICBjYXNlIFNWR1RleHRQYWludFN1YnBoYXNlR2x5cGhTdHJva2U6CiAg
ICAgICAgIGNhc2UgU1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaFN0cm9rZVNlbGVjdGlvbjoKLSAg
ICAgICAgICAgIEFTU0VSVChtX3N0cm9rZVBhaW50U2VydmVyKTsKLSAgICAgICAgICAgIHJldHVy
biBtX3N0cm9rZVBhaW50U2VydmVyOworICAgICAgICAgICAgQVNTRVJUKG1fc3Ryb2tlUGFpbnRp
bmdSZXNvdXJjZSk7CisgICAgICAgICAgICByZXR1cm4gbV9zdHJva2VQYWludGluZ1Jlc291cmNl
OwogICAgICAgICBjYXNlIFNWR1RleHRQYWludFN1YnBoYXNlQmFja2dyb3VuZDoKICAgICAgICAg
Y2FzZSBTVkdUZXh0UGFpbnRTdWJwaGFzZUZvcmVncm91bmQ6CiAgICAgICAgIGRlZmF1bHQ6CkBA
IC02NDYsNyArNjQ0LDcgQEAgc3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAg
ICAgICAgICAgICAgICAgdGV4dEJveC0+cGFpbnREZWNvcmF0aW9uKE9WRVJMSU5FLCBtX3BhaW50
SW5mby5jb250ZXh0LCBkZWNvcmF0aW9uT3JpZ2luLngoKSwgZGVjb3JhdGlvbk9yaWdpbi55KCks
IHRleHRXaWR0aCwgKml0LCBpbmZvKTsKIAogICAgICAgICAgICAgLy8gUGFpbnQgdGV4dAotICAg
ICAgICAgICAgbV90ZXh0UGFpbnRJbmZvLmFjdGl2ZVBhaW50U2VydmVyID0gYWN0aXZlUGFpbnRT
ZXJ2ZXIoKTsKKyAgICAgICAgICAgIG1fdGV4dFBhaW50SW5mby5hY3RpdmVQYWludGluZ1Jlc291
cmNlID0gYWN0aXZlUGFpbnRpbmdSZXNvdXJjZSgpOwogICAgICAgICAgICAgdGV4dEJveC0+cGFp
bnRDaGFyYWN0ZXJzKG1fcGFpbnRJbmZvLCBtX3R4LCBtX3R5LCAqaXQsIHN0cmluZ1N0YXJ0LCBz
dHJpbmdMZW5ndGgsIG1fdGV4dFBhaW50SW5mbyk7CiAKICAgICAgICAgICAgIC8vIFBhaW50IGRl
Y29yYXRpb25zLCB0aGF0IGhhdmUgdG8gYmUgZHJhd24gYWZ0ZXJ3YXJkcwpAQCAtNjcyLDExICs2
NzAsMTEgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciogbV9maWx0ZXI7
CiAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIqIG1fcm9vdEZpbHRlcjsKIAotICAgIFNWR1Bh
aW50U2VydmVyKiBtX2ZpbGxQYWludFNlcnZlcjsKLSAgICBTVkdQYWludFNlcnZlciogbV9zdHJv
a2VQYWludFNlcnZlcjsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZSogbV9maWxsUGFpbnRpbmdSZXNv
dXJjZTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZSogbV9zdHJva2VQYWludGluZ1Jlc291cmNlOwog
Ci0gICAgUmVuZGVyT2JqZWN0KiBtX2ZpbGxQYWludFNlcnZlck9iamVjdDsKLSAgICBSZW5kZXJP
YmplY3QqIG1fc3Ryb2tlUGFpbnRTZXJ2ZXJPYmplY3Q7CisgICAgUmVuZGVyT2JqZWN0KiBtX2Zp
bGxQYWludGluZ1Jlc291cmNlT2JqZWN0OworICAgIFJlbmRlck9iamVjdCogbV9zdHJva2VQYWlu
dGluZ1Jlc291cmNlT2JqZWN0OwogCiAgICAgaW50IG1fdHg7CiAgICAgaW50IG1fdHk7CkluZGV4
OiBXZWJDb3JlL3N2Zy9HcmFkaWVudEF0dHJpYnV0ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9HcmFkaWVudEF0dHJpYnV0ZXMuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2
Zy9HcmFkaWVudEF0dHJpYnV0ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjEsNTEgKzIxLDcyIEBA
CiAjZGVmaW5lIEdyYWRpZW50QXR0cmlidXRlc19oCiAKICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1
ZGUgIkNvbG9yLmgiCisjaW5jbHVkZSAiR3JhZGllbnQuaCIKKyNpbmNsdWRlICJTVkdMZW5ndGgu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIHN0cnVjdCBHcmFkaWVudEF0dHJpYnV0ZXMg
ewotICAgICAgICBHcmFkaWVudEF0dHJpYnV0ZXMoKQotICAgICAgICAgICAgOiBtX3NwcmVhZE1l
dGhvZChTcHJlYWRNZXRob2RQYWQpCi0gICAgICAgICAgICAsIG1fYm91bmRpbmdCb3hNb2RlKHRy
dWUpCi0gICAgICAgICAgICAsIG1fc3ByZWFkTWV0aG9kU2V0KGZhbHNlKQotICAgICAgICAgICAg
LCBtX2JvdW5kaW5nQm94TW9kZVNldChmYWxzZSkKLSAgICAgICAgICAgICwgbV9ncmFkaWVudFRy
YW5zZm9ybVNldChmYWxzZSkKLSAgICAgICAgICAgICwgbV9zdG9wc1NldChmYWxzZSkKLSAgICAg
ICAgewotICAgICAgICB9Ci0KLSAgICAgICAgR3JhZGllbnRTcHJlYWRNZXRob2Qgc3ByZWFkTWV0
aG9kKCkgY29uc3QgeyByZXR1cm4gbV9zcHJlYWRNZXRob2Q7IH0KLSAgICAgICAgYm9vbCBib3Vu
ZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kaW5nQm94TW9kZTsgfQotICAgICAg
ICBBZmZpbmVUcmFuc2Zvcm0gZ3JhZGllbnRUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX2dy
YWRpZW50VHJhbnNmb3JtOyB9Ci0gICAgICAgIGNvbnN0IFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+
JiBzdG9wcygpIGNvbnN0IHsgcmV0dXJuIG1fc3RvcHM7IH0KLQotICAgICAgICB2b2lkIHNldFNw
cmVhZE1ldGhvZChHcmFkaWVudFNwcmVhZE1ldGhvZCB2YWx1ZSkgeyBtX3NwcmVhZE1ldGhvZCA9
IHZhbHVlOyBtX3NwcmVhZE1ldGhvZFNldCA9IHRydWU7IH0KLSAgICAgICAgdm9pZCBzZXRCb3Vu
ZGluZ0JveE1vZGUoYm9vbCB2YWx1ZSkgeyBtX2JvdW5kaW5nQm94TW9kZSA9IHZhbHVlOyBtX2Jv
dW5kaW5nQm94TW9kZVNldCA9IHRydWU7IH0KLSAgICAgICAgdm9pZCBzZXRHcmFkaWVudFRyYW5z
Zm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHZhbHVlKSB7IG1fZ3JhZGllbnRUcmFuc2Zvcm0g
PSB2YWx1ZTsgbV9ncmFkaWVudFRyYW5zZm9ybVNldCA9IHRydWU7IH0KLSAgICAgICAgdm9pZCBz
ZXRTdG9wcyhjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYgdmFsdWUpIHsgbV9zdG9wcyA9
IHZhbHVlOyBtX3N0b3BzU2V0ID0gdHJ1ZTsgfSAKLQotICAgICAgICBib29sIGhhc1NwcmVhZE1l
dGhvZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ByZWFkTWV0aG9kU2V0OyB9Ci0gICAgICAgIGJvb2wg
aGFzQm91bmRpbmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0JveE1vZGVTZXQ7
IH0KLSAgICAgICAgYm9vbCBoYXNHcmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1f
Z3JhZGllbnRUcmFuc2Zvcm1TZXQ7IH0KLSAgICAgICAgYm9vbCBoYXNTdG9wcygpIGNvbnN0IHsg
cmV0dXJuIG1fc3RvcHNTZXQ7IH0KLQotICAgIHByaXZhdGU6Ci0gICAgICAgIC8vIFByb3BlcnRp
ZXMKLSAgICAgICAgR3JhZGllbnRTcHJlYWRNZXRob2QgbV9zcHJlYWRNZXRob2Q7Ci0gICAgICAg
IGJvb2wgbV9ib3VuZGluZ0JveE1vZGU7Ci0gICAgICAgIEFmZmluZVRyYW5zZm9ybSBtX2dyYWRp
ZW50VHJhbnNmb3JtOwotICAgICAgICBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiBtX3N0b3BzOwot
Ci0gICAgICAgIC8vIFByb3BlcnR5IHN0YXRlcwotICAgICAgICBib29sIG1fc3ByZWFkTWV0aG9k
U2V0IDogMTsKLSAgICAgICAgYm9vbCBtX2JvdW5kaW5nQm94TW9kZVNldCA6IDE7Ci0gICAgICAg
IGJvb2wgbV9ncmFkaWVudFRyYW5zZm9ybVNldCA6IDE7Ci0gICAgICAgIGJvb2wgbV9zdG9wc1Nl
dCA6IDE7Ci0gICAgfTsKKworc3RydWN0IEdyYWRpZW50QXR0cmlidXRlcyB7CisgICAgR3JhZGll
bnRBdHRyaWJ1dGVzKCkKKyAgICAgICAgOiBtX3NwcmVhZE1ldGhvZChTcHJlYWRNZXRob2RQYWQp
CisgICAgICAgICwgbV9ib3VuZGluZ0JveE1vZGUodHJ1ZSkKKyAgICAgICAgLCBtX3NwcmVhZE1l
dGhvZFNldChmYWxzZSkKKyAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZVNldChmYWxzZSkKKyAg
ICAgICAgLCBtX2dyYWRpZW50VHJhbnNmb3JtU2V0KGZhbHNlKQorICAgICAgICAsIG1fc3RvcHNT
ZXQoZmFsc2UpCisgICAgeworICAgIH0KKworICAgIEdyYWRpZW50U3ByZWFkTWV0aG9kIHNwcmVh
ZE1ldGhvZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ByZWFkTWV0aG9kOyB9CisgICAgYm9vbCBib3Vu
ZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kaW5nQm94TW9kZTsgfQorICAgIEFm
ZmluZVRyYW5zZm9ybSBncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZ3JhZGll
bnRUcmFuc2Zvcm07IH0KKyAgICBjb25zdCBWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mIHN0
b3BzKCkgY29uc3QgeyByZXR1cm4gbV9zdG9wczsgfQorCisgICAgdm9pZCBzZXRTcHJlYWRNZXRo
b2QoR3JhZGllbnRTcHJlYWRNZXRob2QgdmFsdWUpCisgICAgeworICAgICAgICBtX3NwcmVhZE1l
dGhvZCA9IHZhbHVlOworICAgICAgICBtX3NwcmVhZE1ldGhvZFNldCA9IHRydWU7CisgICAgfQor
CisgICAgdm9pZCBzZXRCb3VuZGluZ0JveE1vZGUoYm9vbCB2YWx1ZSkKKyAgICB7CisgICAgICAg
IG1fYm91bmRpbmdCb3hNb2RlID0gdmFsdWU7CisgICAgICAgIG1fYm91bmRpbmdCb3hNb2RlU2V0
ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldEdyYWRpZW50VHJhbnNmb3JtKGNvbnN0IEFm
ZmluZVRyYW5zZm9ybSYgdmFsdWUpCisgICAgeworICAgICAgICBtX2dyYWRpZW50VHJhbnNmb3Jt
ID0gdmFsdWU7CisgICAgICAgIG1fZ3JhZGllbnRUcmFuc2Zvcm1TZXQgPSB0cnVlOworICAgIH0K
KworICAgIHZvaWQgc2V0U3RvcHMoY29uc3QgVmVjdG9yPEdyYWRpZW50OjpDb2xvclN0b3A+JiB2
YWx1ZSkKKyAgICB7CisgICAgICAgIG1fc3RvcHMgPSB2YWx1ZTsKKyAgICAgICAgbV9zdG9wc1Nl
dCA9IHRydWU7CisgICAgfSAKKworICAgIGJvb2wgaGFzU3ByZWFkTWV0aG9kKCkgY29uc3QgeyBy
ZXR1cm4gbV9zcHJlYWRNZXRob2RTZXQ7IH0KKyAgICBib29sIGhhc0JvdW5kaW5nQm94TW9kZSgp
IGNvbnN0IHsgcmV0dXJuIG1fYm91bmRpbmdCb3hNb2RlU2V0OyB9CisgICAgYm9vbCBoYXNHcmFk
aWVudFRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZ3JhZGllbnRUcmFuc2Zvcm1TZXQ7IH0K
KyAgICBib29sIGhhc1N0b3BzKCkgY29uc3QgeyByZXR1cm4gbV9zdG9wc1NldDsgfQorCitwcml2
YXRlOgorICAgIC8vIFByb3BlcnRpZXMKKyAgICBHcmFkaWVudFNwcmVhZE1ldGhvZCBtX3NwcmVh
ZE1ldGhvZDsKKyAgICBib29sIG1fYm91bmRpbmdCb3hNb2RlOworICAgIEFmZmluZVRyYW5zZm9y
bSBtX2dyYWRpZW50VHJhbnNmb3JtOworICAgIFZlY3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPiBt
X3N0b3BzOworCisgICAgLy8gUHJvcGVydHkgc3RhdGVzCisgICAgYm9vbCBtX3NwcmVhZE1ldGhv
ZFNldCA6IDE7CisgICAgYm9vbCBtX2JvdW5kaW5nQm94TW9kZVNldCA6IDE7CisgICAgYm9vbCBt
X2dyYWRpZW50VHJhbnNmb3JtU2V0IDogMTsKKyAgICBib29sIG1fc3RvcHNTZXQgOiAxOworfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKICNlbmRp
ZgotCi0vLyB2aW06dHM9NDpub2V0CkluZGV4OiBXZWJDb3JlL3N2Zy9MaW5lYXJHcmFkaWVudEF0
dHJpYnV0ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9MaW5lYXJHcmFkaWVudEF0dHJp
YnV0ZXMuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9MaW5lYXJHcmFkaWVudEF0
dHJpYnV0ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjAsOSArMjAsOCBAQAogI2lmbmRlZiBMaW5l
YXJHcmFkaWVudEF0dHJpYnV0ZXNfaAogI2RlZmluZSBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXNf
aAogCi0jaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVzLmgiCi0KICNpZiBFTkFCTEUoU1ZHKQor
I2luY2x1ZGUgIkdyYWRpZW50QXR0cmlidXRlcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgc3RydWN0IExpbmVhckdyYWRpZW50QXR0cmlidXRlcyA6IEdyYWRpZW50QXR0cmlidXRlcyB7
CkluZGV4OiBXZWJDb3JlL3N2Zy9QYXR0ZXJuQXR0cmlidXRlcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1BhdHRlcm5BdHRyaWJ1dGVzLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29y
ZS9zdmcvUGF0dGVybkF0dHJpYnV0ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjEsODAgKzIxLDEy
MSBAQAogI2RlZmluZSBQYXR0ZXJuQXR0cmlidXRlc19oCiAKICNpZiBFTkFCTEUoU1ZHKQorI2lu
Y2x1ZGUgIlNWR0xlbmd0aC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgc3RydWN0IFBh
dHRlcm5BdHRyaWJ1dGVzIHsKLSAgICAgICAgUGF0dGVybkF0dHJpYnV0ZXMoKQotICAgICAgICAg
ICAgOiBtX3goKQotICAgICAgICAgICAgLCBtX3koKQotICAgICAgICAgICAgLCBtX3dpZHRoKCkK
LSAgICAgICAgICAgICwgbV9oZWlnaHQoKQotICAgICAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9k
ZSh0cnVlKQotICAgICAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZUNvbnRlbnQoZmFsc2UpCi0g
ICAgICAgICAgICAsIG1fcGF0dGVybkNvbnRlbnRFbGVtZW50KDApCi0gICAgICAgICAgICAsIG1f
eFNldChmYWxzZSkKLSAgICAgICAgICAgICwgbV95U2V0KGZhbHNlKQotICAgICAgICAgICAgLCBt
X3dpZHRoU2V0KGZhbHNlKQotICAgICAgICAgICAgLCBtX2hlaWdodFNldChmYWxzZSkKLSAgICAg
ICAgICAgICwgbV9ib3VuZGluZ0JveE1vZGVTZXQoZmFsc2UpCi0gICAgICAgICAgICAsIG1fYm91
bmRpbmdCb3hNb2RlQ29udGVudFNldChmYWxzZSkKLSAgICAgICAgICAgICwgbV9wYXR0ZXJuVHJh
bnNmb3JtU2V0KGZhbHNlKQotICAgICAgICAgICAgLCBtX3BhdHRlcm5Db250ZW50RWxlbWVudFNl
dChmYWxzZSkKLSAgICAgICAgewotICAgICAgICB9Ci0KLSAgICAgICAgU1ZHTGVuZ3RoIHgoKSBj
b25zdCB7IHJldHVybiBtX3g7IH0KLSAgICAgICAgU1ZHTGVuZ3RoIHkoKSBjb25zdCB7IHJldHVy
biBtX3k7IH0KLSAgICAgICAgU1ZHTGVuZ3RoIHdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV93aWR0
aDsgfQotICAgICAgICBTVkdMZW5ndGggaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9oZWlnaHQ7
IH0KLSAgICAgICAgYm9vbCBib3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5k
aW5nQm94TW9kZTsgfQotICAgICAgICBib29sIGJvdW5kaW5nQm94TW9kZUNvbnRlbnQoKSBjb25z
dCB7IHJldHVybiBtX2JvdW5kaW5nQm94TW9kZUNvbnRlbnQ7IH0KLSAgICAgICAgQWZmaW5lVHJh
bnNmb3JtIHBhdHRlcm5UcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3BhdHRlcm5UcmFuc2Zv
cm07IH0KLSAgICAgICAgY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIHBhdHRlcm5Db250ZW50RWxl
bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGF0dGVybkNvbnRlbnRFbGVtZW50OyB9Ci0KLSAgICAg
ICAgdm9pZCBzZXRYKGNvbnN0IFNWR0xlbmd0aCYgdmFsdWUpIHsgbV94ID0gdmFsdWU7IG1feFNl
dCA9IHRydWU7IH0KLSAgICAgICAgdm9pZCBzZXRZKGNvbnN0IFNWR0xlbmd0aCYgdmFsdWUpIHsg
bV95ID0gdmFsdWU7IG1feVNldCA9IHRydWU7IH0KLSAgICAgICAgdm9pZCBzZXRXaWR0aChjb25z
dCBTVkdMZW5ndGgmIHZhbHVlKSB7IG1fd2lkdGggPSB2YWx1ZTsgbV93aWR0aFNldCA9IHRydWU7
IH0KLSAgICAgICAgdm9pZCBzZXRIZWlnaHQoY29uc3QgU1ZHTGVuZ3RoJiB2YWx1ZSkgeyBtX2hl
aWdodCA9IHZhbHVlOyBtX2hlaWdodFNldCA9IHRydWU7IH0KLSAgICAgICAgdm9pZCBzZXRCb3Vu
ZGluZ0JveE1vZGUoYm9vbCB2YWx1ZSkgeyBtX2JvdW5kaW5nQm94TW9kZSA9IHZhbHVlOyBtX2Jv
dW5kaW5nQm94TW9kZVNldCA9IHRydWU7IH0KLSAgICAgICAgdm9pZCBzZXRCb3VuZGluZ0JveE1v
ZGVDb250ZW50KGJvb2wgdmFsdWUpIHsgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50ID0gdmFsdWU7
IG1fYm91bmRpbmdCb3hNb2RlQ29udGVudFNldCA9IHRydWU7IH0KLSAgICAgICAgdm9pZCBzZXRQ
YXR0ZXJuVHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdmFsdWUpIHsgbV9wYXR0ZXJu
VHJhbnNmb3JtID0gdmFsdWU7IG1fcGF0dGVyblRyYW5zZm9ybVNldCA9IHRydWU7IH0KLSAgICAg
ICAgdm9pZCBzZXRQYXR0ZXJuQ29udGVudEVsZW1lbnQoY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQq
IHZhbHVlKSB7IG1fcGF0dGVybkNvbnRlbnRFbGVtZW50ID0gdmFsdWU7IG1fcGF0dGVybkNvbnRl
bnRFbGVtZW50U2V0ID0gdHJ1ZTsgfQotCi0gICAgICAgIGJvb2wgaGFzWCgpIGNvbnN0IHsgcmV0
dXJuIG1feFNldDsgfQotICAgICAgICBib29sIGhhc1koKSBjb25zdCB7IHJldHVybiBtX3lTZXQ7
IH0KLSAgICAgICAgYm9vbCBoYXNXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGhTZXQ7IH0K
LSAgICAgICAgYm9vbCBoYXNIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hlaWdodFNldDsgfQot
ICAgICAgICBib29sIGhhc0JvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRp
bmdCb3hNb2RlU2V0OyB9Ci0gICAgICAgIGJvb2wgaGFzQm91bmRpbmdCb3hNb2RlQ29udGVudCgp
IGNvbnN0IHsgcmV0dXJuIG1fYm91bmRpbmdCb3hNb2RlQ29udGVudFNldDsgfQotICAgICAgICBi
b29sIGhhc1BhdHRlcm5UcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3BhdHRlcm5UcmFuc2Zv
cm1TZXQ7IH0KLSAgICAgICAgYm9vbCBoYXNQYXR0ZXJuQ29udGVudEVsZW1lbnQoKSBjb25zdCB7
IHJldHVybiBtX3BhdHRlcm5Db250ZW50RWxlbWVudFNldDsgfQotCi0gICAgcHJpdmF0ZToKLSAg
ICAgICAgLy8gUHJvcGVydGllcwotICAgICAgICBTVkdMZW5ndGggbV94OwotICAgICAgICBTVkdM
ZW5ndGggbV95OwotICAgICAgICBTVkdMZW5ndGggbV93aWR0aDsKLSAgICAgICAgU1ZHTGVuZ3Ro
IG1faGVpZ2h0OwotICAgICAgICBib29sIG1fYm91bmRpbmdCb3hNb2RlOwotICAgICAgICBib29s
IG1fYm91bmRpbmdCb3hNb2RlQ29udGVudDsKLSAgICAgICAgQWZmaW5lVHJhbnNmb3JtIG1fcGF0
dGVyblRyYW5zZm9ybTsKLSAgICAgICAgY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIG1fcGF0dGVy
bkNvbnRlbnRFbGVtZW50OwotCi0gICAgICAgIC8vIFByb3BlcnR5IHN0YXRlcwotICAgICAgICBi
b29sIG1feFNldCA6IDE7Ci0gICAgICAgIGJvb2wgbV95U2V0IDogMTsKLSAgICAgICAgYm9vbCBt
X3dpZHRoU2V0IDogMTsKLSAgICAgICAgYm9vbCBtX2hlaWdodFNldCA6IDE7Ci0gICAgICAgIGJv
b2wgbV9ib3VuZGluZ0JveE1vZGVTZXQgOiAxOwotICAgICAgICBib29sIG1fYm91bmRpbmdCb3hN
b2RlQ29udGVudFNldCA6IDE7Ci0gICAgICAgIGJvb2wgbV9wYXR0ZXJuVHJhbnNmb3JtU2V0IDog
MTsKLSAgICAgICAgYm9vbCBtX3BhdHRlcm5Db250ZW50RWxlbWVudFNldCA6IDE7Ci0gICAgfTsK
KworY2xhc3MgU1ZHUGF0dGVybkVsZW1lbnQ7CisKK3N0cnVjdCBQYXR0ZXJuQXR0cmlidXRlcyB7
CisgICAgUGF0dGVybkF0dHJpYnV0ZXMoKQorICAgICAgICA6IG1feCgpCisgICAgICAgICwgbV95
KCkKKyAgICAgICAgLCBtX3dpZHRoKCkKKyAgICAgICAgLCBtX2hlaWdodCgpCisgICAgICAgICwg
bV9ib3VuZGluZ0JveE1vZGUodHJ1ZSkKKyAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZUNvbnRl
bnQoZmFsc2UpCisgICAgICAgICwgbV9wYXR0ZXJuQ29udGVudEVsZW1lbnQoMCkKKyAgICAgICAg
LCBtX3hTZXQoZmFsc2UpCisgICAgICAgICwgbV95U2V0KGZhbHNlKQorICAgICAgICAsIG1fd2lk
dGhTZXQoZmFsc2UpCisgICAgICAgICwgbV9oZWlnaHRTZXQoZmFsc2UpCisgICAgICAgICwgbV9i
b3VuZGluZ0JveE1vZGVTZXQoZmFsc2UpCisgICAgICAgICwgbV9ib3VuZGluZ0JveE1vZGVDb250
ZW50U2V0KGZhbHNlKQorICAgICAgICAsIG1fcGF0dGVyblRyYW5zZm9ybVNldChmYWxzZSkKKyAg
ICAgICAgLCBtX3BhdHRlcm5Db250ZW50RWxlbWVudFNldChmYWxzZSkKKyAgICB7CisgICAgfQor
CisgICAgU1ZHTGVuZ3RoIHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KKyAgICBTVkdMZW5ndGgg
eSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQorICAgIFNWR0xlbmd0aCB3aWR0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fd2lkdGg7IH0KKyAgICBTVkdMZW5ndGggaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4g
bV9oZWlnaHQ7IH0KKyAgICBib29sIGJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Ym91bmRpbmdCb3hNb2RlOyB9CisgICAgYm9vbCBib3VuZGluZ0JveE1vZGVDb250ZW50KCkgY29u
c3QgeyByZXR1cm4gbV9ib3VuZGluZ0JveE1vZGVDb250ZW50OyB9CisgICAgQWZmaW5lVHJhbnNm
b3JtIHBhdHRlcm5UcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3BhdHRlcm5UcmFuc2Zvcm07
IH0KKyAgICBjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogcGF0dGVybkNvbnRlbnRFbGVtZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9wYXR0ZXJuQ29udGVudEVsZW1lbnQ7IH0KKworICAgIHZvaWQgc2V0
WChjb25zdCBTVkdMZW5ndGgmIHZhbHVlKQorICAgIHsKKyAgICAgICAgbV94ID0gdmFsdWU7Cisg
ICAgICAgIG1feFNldCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRZKGNvbnN0IFNWR0xl
bmd0aCYgdmFsdWUpCisgICAgeworICAgICAgICBtX3kgPSB2YWx1ZTsKKyAgICAgICAgbV95U2V0
ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldFdpZHRoKGNvbnN0IFNWR0xlbmd0aCYgdmFs
dWUpCisgICAgeworICAgICAgICBtX3dpZHRoID0gdmFsdWU7CisgICAgICAgIG1fd2lkdGhTZXQg
PSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0SGVpZ2h0KGNvbnN0IFNWR0xlbmd0aCYgdmFs
dWUpCisgICAgeworICAgICAgICBtX2hlaWdodCA9IHZhbHVlOworICAgICAgICBtX2hlaWdodFNl
dCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRCb3VuZGluZ0JveE1vZGUoYm9vbCB2YWx1
ZSkKKyAgICB7CisgICAgICAgIG1fYm91bmRpbmdCb3hNb2RlID0gdmFsdWU7CisgICAgICAgIG1f
Ym91bmRpbmdCb3hNb2RlU2V0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldEJvdW5kaW5n
Qm94TW9kZUNvbnRlbnQoYm9vbCB2YWx1ZSkKKyAgICB7CisgICAgICAgIG1fYm91bmRpbmdCb3hN
b2RlQ29udGVudCA9IHZhbHVlOworICAgICAgICBtX2JvdW5kaW5nQm94TW9kZUNvbnRlbnRTZXQg
PSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0UGF0dGVyblRyYW5zZm9ybShjb25zdCBBZmZp
bmVUcmFuc2Zvcm0mIHZhbHVlKQorICAgIHsKKyAgICAgICAgbV9wYXR0ZXJuVHJhbnNmb3JtID0g
dmFsdWU7CisgICAgICAgIG1fcGF0dGVyblRyYW5zZm9ybVNldCA9IHRydWU7CisgICAgfQorCisg
ICAgdm9pZCBzZXRQYXR0ZXJuQ29udGVudEVsZW1lbnQoY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQq
IHZhbHVlKQorICAgIHsKKyAgICAgICAgbV9wYXR0ZXJuQ29udGVudEVsZW1lbnQgPSB2YWx1ZTsK
KyAgICAgICAgbV9wYXR0ZXJuQ29udGVudEVsZW1lbnRTZXQgPSB0cnVlOworICAgIH0KKworICAg
IGJvb2wgaGFzWCgpIGNvbnN0IHsgcmV0dXJuIG1feFNldDsgfQorICAgIGJvb2wgaGFzWSgpIGNv
bnN0IHsgcmV0dXJuIG1feVNldDsgfQorICAgIGJvb2wgaGFzV2lkdGgoKSBjb25zdCB7IHJldHVy
biBtX3dpZHRoU2V0OyB9CisgICAgYm9vbCBoYXNIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hl
aWdodFNldDsgfQorICAgIGJvb2wgaGFzQm91bmRpbmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4g
bV9ib3VuZGluZ0JveE1vZGVTZXQ7IH0KKyAgICBib29sIGhhc0JvdW5kaW5nQm94TW9kZUNvbnRl
bnQoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kaW5nQm94TW9kZUNvbnRlbnRTZXQ7IH0KKyAgICBi
b29sIGhhc1BhdHRlcm5UcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBtX3BhdHRlcm5UcmFuc2Zv
cm1TZXQ7IH0KKyAgICBib29sIGhhc1BhdHRlcm5Db250ZW50RWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIG1fcGF0dGVybkNvbnRlbnRFbGVtZW50U2V0OyB9CisKK3ByaXZhdGU6CisgICAgLy8gUHJv
cGVydGllcworICAgIFNWR0xlbmd0aCBtX3g7CisgICAgU1ZHTGVuZ3RoIG1feTsKKyAgICBTVkdM
ZW5ndGggbV93aWR0aDsKKyAgICBTVkdMZW5ndGggbV9oZWlnaHQ7CisgICAgYm9vbCBtX2JvdW5k
aW5nQm94TW9kZTsKKyAgICBib29sIG1fYm91bmRpbmdCb3hNb2RlQ29udGVudDsKKyAgICBBZmZp
bmVUcmFuc2Zvcm0gbV9wYXR0ZXJuVHJhbnNmb3JtOworICAgIGNvbnN0IFNWR1BhdHRlcm5FbGVt
ZW50KiBtX3BhdHRlcm5Db250ZW50RWxlbWVudDsKKworICAgIC8vIFByb3BlcnR5IHN0YXRlcwor
ICAgIGJvb2wgbV94U2V0IDogMTsKKyAgICBib29sIG1feVNldCA6IDE7CisgICAgYm9vbCBtX3dp
ZHRoU2V0IDogMTsKKyAgICBib29sIG1faGVpZ2h0U2V0IDogMTsKKyAgICBib29sIG1fYm91bmRp
bmdCb3hNb2RlU2V0IDogMTsKKyAgICBib29sIG1fYm91bmRpbmdCb3hNb2RlQ29udGVudFNldCA6
IDE7CisgICAgYm9vbCBtX3BhdHRlcm5UcmFuc2Zvcm1TZXQgOiAxOworICAgIGJvb2wgbV9wYXR0
ZXJuQ29udGVudEVsZW1lbnRTZXQgOiAxOworfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKICNlbmRpZgotCi0vLyB2aW06dHM9NDpub2V0CkluZGV4
OiBXZWJDb3JlL3N2Zy9SYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9SYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMuaAkocmV2aXNpb24gNTgxNTkpCisr
KyBXZWJDb3JlL3N2Zy9SYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtMjAsOSArMjAsOCBAQAogI2lmbmRlZiBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXNfaAogI2Rl
ZmluZSBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXNfaAogCi0jaW5jbHVkZSAiR3JhZGllbnRBdHRy
aWJ1dGVzLmgiCi0KICNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgIkdyYWRpZW50QXR0cmlidXRl
cy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IFJhZGlhbEdyYWRpZW50QXR0
cmlidXRlcyA6IEdyYWRpZW50QXR0cmlidXRlcyB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdDbGlw
UGF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxl
bWVudC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzQsNyArNzQsNyBAQCB2b2lkIFNWR0NsaXBQYXRo
RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhCiAgICAgICAgIFNWR0xhbmdTcGFjZTo6aXNLbm93bkF0
dHJpYnV0ZShhdHRyTmFtZSkgfHwKICAgICAgICAgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKICAgICAgICAgU1ZHU3R5bGVkVHJhbnNm
b3JtYWJsZUVsZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpKQotICAgICAgICBpbnZh
bGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVu
dHMoKTsKIH0KIAogdm9pZCBTVkdDbGlwUGF0aEVsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHko
Y29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCkBAIC05Niw3ICs5Niw5IEBAIHZvaWQgU1ZH
Q2xpcFBhdGhFbGVtZW50OjpzeW5jaHJvbml6ZVByb3AKIHZvaWQgU1ZHQ2xpcFBhdGhFbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5n
ZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCiB7CiAgICAgU1ZHU3R5
bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIs
IGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7Ci0gICAgaW52YWxp
ZGF0ZUNhbnZhc1Jlc291cmNlcygpOworCisgICAgaWYgKCFjaGFuZ2VkQnlQYXJzZXIpCisgICAg
ICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogUmVuZGVyT2JqZWN0KiBTVkdD
bGlwUGF0aEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVy
U3R5bGUqKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQor
KysgV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CisKIGNsYXNzIFNWR0NsaXBQYXRoRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRUcmFuc2Zvcm1h
YmxlRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdUZXN0cywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdMYW5nU3BhY2UsCkluZGV4OiBX
ZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2Vi
Q29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIs
NyArNjIsNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVtb3ZlVGltZUNvCiAgICAg
bV90aW1lQ29udGFpbmVycy5yZW1vdmUoZWxlbWVudCk7CiB9CiAKLXZvaWQgU1ZHRG9jdW1lbnRF
eHRlbnNpb25zOjphZGRSZXNvdXJjZShjb25zdCBTdHJpbmcmIGlkLCBSZW5kZXJTVkdSZXNvdXJj
ZSogcmVzb3VyY2UpCit2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6YWRkUmVzb3VyY2UoY29u
c3QgQXRvbWljU3RyaW5nJiBpZCwgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHJlc291cmNl
KQogewogICAgIEFTU0VSVChyZXNvdXJjZSk7CiAKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBTVkdE
b2N1bWVudEV4dGVuc2lvbnM6OmFkZFJlc291cmNlKAogICAgIG1fcmVzb3VyY2VzLnNldChpZCwg
cmVzb3VyY2UpOwogfQogCi12b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVtb3ZlUmVzb3Vy
Y2UoY29uc3QgU3RyaW5nJiBpZCkKK3ZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZW1vdmVS
ZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkKQogewogICAgIGlmIChpZC5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybjsKQEAgLTgyLDcgKzgyLDcgQEAgdm9pZCBTVkdEb2N1bWVudEV4dGVu
c2lvbnM6OnJlbW92ZVJlc291cgogICAgIG1fcmVzb3VyY2VzLnJlbW92ZShpZCk7CiB9CiAKLVJl
bmRlclNWR1Jlc291cmNlKiBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlc291cmNlQnlJZChjb25z
dCBTdHJpbmcmIGlkKSBjb25zdAorUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIFNWR0RvY3Vt
ZW50RXh0ZW5zaW9uczo6cmVzb3VyY2VCeUlkKGNvbnN0IEF0b21pY1N0cmluZyYgaWQpIGNvbnN0
CiB7CiAgICAgaWYgKGlkLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xNDgsNyAr
MTQ4LDcgQEAgdm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmFkZFBlbmRpbmdSZQogICAgIGlm
IChtX3BlbmRpbmdSZXNvdXJjZXMuY29udGFpbnMoaWQpKQogICAgICAgICBtX3BlbmRpbmdSZXNv
dXJjZXMuZ2V0KGlkKS0+YWRkKG9iaik7CiAgICAgZWxzZSB7Ci0gICAgICAgIEhhc2hTZXQ8U1ZH
U3R5bGVkRWxlbWVudCo+KiBzZXQgPSBuZXcgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4oKTsK
KyAgICAgICAgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4qIHNldCA9IG5ldyBIYXNoU2V0PFNW
R1N0eWxlZEVsZW1lbnQqPjsKICAgICAgICAgc2V0LT5hZGQob2JqKTsKIAogICAgICAgICBtX3Bl
bmRpbmdSZXNvdXJjZXMuYWRkKGlkLCBzZXQpOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRG9jdW1l
bnRFeHRlbnNpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDE4ICsyNCwxNiBAQAogI2RlZmluZSBTVkdE
b2N1bWVudEV4dGVuc2lvbnNfaAogCiAjaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotCi0jaW5jbHVkZSAiU3RyaW5nSGFzaC5oIgorI2luY2x1ZGUgIkF0b21pY1N0cmlu
Z0hhc2guaCIKICNpbmNsdWRlICJTdHJpbmdJbXBsLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBSZW5kZXJT
VkdSZXNvdXJjZTsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU3Ry
aW5nOwogY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwpAQCAt
NDksOSArNDcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRUaW1lQ29udGFpbmVyKFNWR1NWR0Vs
ZW1lbnQqKTsKICAgICB2b2lkIHJlbW92ZVRpbWVDb250YWluZXIoU1ZHU1ZHRWxlbWVudCopOwog
Ci0gICAgdm9pZCBhZGRSZXNvdXJjZShjb25zdCBTdHJpbmcmIGlkLCBSZW5kZXJTVkdSZXNvdXJj
ZSopOwotICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2UoY29uc3QgU3RyaW5nJiBpZCk7Ci0gICAgUmVu
ZGVyU1ZHUmVzb3VyY2UqIHJlc291cmNlQnlJZChjb25zdCBTdHJpbmcmIGlkKSBjb25zdDsKKyAg
ICB2b2lkIGFkZFJlc291cmNlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIFJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyKik7CisgICAgdm9pZCByZW1vdmVSZXNvdXJjZShjb25zdCBBdG9taWNTdHJp
bmcmIGlkKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogcmVzb3VyY2VCeUlkKGNv
bnN0IEF0b21pY1N0cmluZyYgaWQpIGNvbnN0OwogCiAgICAgdm9pZCBzdGFydEFuaW1hdGlvbnMo
KTsKICAgICB2b2lkIHBhdXNlQW5pbWF0aW9ucygpOwpAQCAtNjQsOCArNjIsOCBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIERvY3VtZW50KiBtX2RvYzsgLy8gd2VhayByZWZlcmVuY2UKICAgICBI
YXNoU2V0PFNWR1NWR0VsZW1lbnQqPiBtX3RpbWVDb250YWluZXJzOyAvLyBGb3IgU1ZHIDEuMiBz
dXBwb3J0IHRoaXMgd2lsbCBuZWVkIHRvIGJlIG1hZGUgbW9yZSBnZW5lcmFsLgotICAgIEhhc2hN
YXA8U3RyaW5nLCBSZW5kZXJTVkdSZXNvdXJjZSo+IG1fcmVzb3VyY2VzOwotICAgIEhhc2hNYXA8
U3RyaW5nLCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPio+IG1fcGVuZGluZ1Jlc291cmNlczsK
KyAgICBIYXNoTWFwPEF0b21pY1N0cmluZywgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqPiBt
X3Jlc291cmNlczsKKyAgICBIYXNoTWFwPEF0b21pY1N0cmluZywgSGFzaFNldDxTVkdTdHlsZWRF
bGVtZW50Kj4qPiBtX3BlbmRpbmdSZXNvdXJjZXM7CiAKICAgICBTVkdEb2N1bWVudEV4dGVuc2lv
bnMoY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNp
b25zJiBvcGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7CkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNiBAQAogI2luY2x1ZGUgIlNWR0VsZW1lbnRJbnN0
YW5jZS5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnRSYXJlRGF0YS5oIgogI2luY2x1ZGUgIlNWR05h
bWVzLmgiCi0jaW5jbHVkZSAiU1ZHUmVzb3VyY2UuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50
LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiU1ZHVXNlRWxlbWVu
dC5oIgpAQCAtMjkyLDggKzI5MSw2IEBAIHZvaWQgU1ZHRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9j
dW1lbnQoKQogCiAgICAgICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAgICAgICAo
Kml0KS0+YnVpbGRQZW5kaW5nUmVzb3VyY2UoKTsKLQotICAgICAgICBTVkdSZXNvdXJjZTo6aW52
YWxpZGF0ZUNsaWVudHMoKmNsaWVudHMpOwogICAgIH0KIH0KIApAQCAtMzA5LDkgKzMwNiw3IEBA
IHZvaWQgU1ZHRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChBdHRyaWIKIAogdm9pZCBTVkdFbGVt
ZW50Ojp1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1l
KSBjb25zdAogewotICAgIEFTU0VSVCghbV9hcmVTVkdBdHRyaWJ1dGVzVmFsaWQpOwotCi0gICAg
aWYgKG1fc3luY2hyb25pemluZ1NWR0F0dHJpYnV0ZXMpCisgICAgaWYgKG1fc3luY2hyb25pemlu
Z1NWR0F0dHJpYnV0ZXMgfHwgbV9hcmVTVkdBdHRyaWJ1dGVzVmFsaWQpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIG1fc3luY2hyb25pemluZ1NWR0F0dHJpYnV0ZXMgPSB0cnVlOwpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0VsZW1l
bnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTc5LDEzICs3OSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZvaWQgc2V0Q3Vyc29yRWxlbWVudChTVkdDdXJzb3JFbGVtZW50Kik7CiAgICAgICAgIHZvaWQg
c2V0Q3Vyc29ySW1hZ2VWYWx1ZShDU1NDdXJzb3JJbWFnZVZhbHVlKik7CiAKKyAgICAgICAgdmly
dHVhbCB2b2lkIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
KSBjb25zdDsKKwogICAgIHByb3RlY3RlZDoKICAgICAgICAgU1ZHRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFy
c2luZ0NoaWxkcmVuKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVu
dCgpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqLCBi
b29sIHByZXNlcnZlRGVjbHMgPSBmYWxzZSk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVB
bmltYXRlZFNWR0F0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAKICAgICAg
ICAgU1ZHRWxlbWVudFJhcmVEYXRhKiByYXJlU1ZHRGF0YSgpIGNvbnN0OwogICAgICAgICBTVkdF
bGVtZW50UmFyZURhdGEqIGVuc3VyZVJhcmVTVkdEYXRhKCk7CkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdGb250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb250LmNwcAkocmV2aXNp
b24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdGb250LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDcwLDIwICs0NzAsMjAgQEAgdm9pZCBGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udChHcmFwaGlj
cwogICAgICAgICBGbG9hdFBvaW50IGN1cnJlbnRQb2ludCA9IHBvaW50OwogICAgICAgICBmbG9h
dCBzY2FsZSA9IGNvbnZlcnRFbVVuaXRUb1BpeGVsKHNpemUoKSwgZm9udEZhY2VFbGVtZW50LT51
bml0c1BlckVtKCksIDEuMGYpOwogCi0gICAgICAgIFNWR1BhaW50U2VydmVyKiBhY3RpdmVQYWlu
dFNlcnZlciA9IHJ1bi5hY3RpdmVQYWludFNlcnZlcigpOworICAgICAgICBSZW5kZXJTVkdSZXNv
dXJjZSogYWN0aXZlUGFpbnRpbmdSZXNvdXJjZSA9IHJ1bi5hY3RpdmVQYWludGluZ1Jlc291cmNl
KCk7CiAKICAgICAgICAgLy8gSWYgcmVuZGVyT2JqZWN0IGlzIG5vdCBzZXQsIHdlJ3JlIGRlYWxp
bmcgZm9yIEhUTUwgdGV4dCByZW5kZXJlZCB1c2luZyBTVkcgRm9udHMuCiAgICAgICAgIGlmICgh
cnVuLnJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KCkpIHsKLSAgICAgICAgICAgIEFTU0VSVCghYWN0
aXZlUGFpbnRTZXJ2ZXIpOworICAgICAgICAgICAgQVNTRVJUKCFhY3RpdmVQYWludGluZ1Jlc291
cmNlKTsKIAogICAgICAgICAgICAgLy8gVE9ETzogV2UncmUgb25seSBzdXBwb3J0aW5nIHNpbXBs
ZSBmaWxsZWQgSFRNTCB0ZXh0IHNvIGZhci4KLSAgICAgICAgICAgIFNWR1BhaW50U2VydmVyU29s
aWQqIHNvbGlkUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlcjo6c2hhcmVkU29saWRQYWludFNl
cnZlcigpOwotICAgICAgICAgICAgc29saWRQYWludFNlcnZlci0+c2V0Q29sb3IoY29udGV4dC0+
ZmlsbENvbG9yKCkpOworICAgICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKiBz
b2xpZFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6c2hhcmVkU29saWRQYWlu
dGluZ1Jlc291cmNlKCk7CisgICAgICAgICAgICBzb2xpZFBhaW50aW5nUmVzb3VyY2UtPnNldENv
bG9yKGNvbnRleHQtPmZpbGxDb2xvcigpKTsKIAotICAgICAgICAgICAgYWN0aXZlUGFpbnRTZXJ2
ZXIgPSBzb2xpZFBhaW50U2VydmVyOworICAgICAgICAgICAgYWN0aXZlUGFpbnRpbmdSZXNvdXJj
ZSA9IHNvbGlkUGFpbnRpbmdSZXNvdXJjZTsKICAgICAgICAgfQogCi0gICAgICAgIEFTU0VSVChh
Y3RpdmVQYWludFNlcnZlcik7CisgICAgICAgIEFTU0VSVChhY3RpdmVQYWludGluZ1Jlc291cmNl
KTsKIAogICAgICAgICBpbnQgY2hhcnNDb25zdW1lZDsKICAgICAgICAgU3RyaW5nIGdseXBoTmFt
ZTsKQEAgLTUxMiw3ICs1MTIsNyBAQCB2b2lkIEZvbnQ6OmRyYXdUZXh0VXNpbmdTVkdGb250KEdy
YXBoaWNzCiAgICAgICAgIFNWR1RleHRSdW5XYWxrZXI8U1ZHVGV4dFJ1bldhbGtlckRyYXdUZXh0
RGF0YT4gcnVuV2Fsa2VyKGZvbnREYXRhLCBmb250RWxlbWVudCwgZGF0YSwgZHJhd1RleHRVc2lu
Z1NWR0ZvbnRDYWxsYmFjaywgZHJhd1RleHRNaXNzaW5nR2x5cGhDYWxsYmFjayk7CiAgICAgICAg
IHJ1bldhbGtlci53YWxrKHJ1biwgaXNWZXJ0aWNhbFRleHQsIGxhbmd1YWdlLCBmcm9tLCB0byk7
CiAKLSAgICAgICAgU1ZHUGFpbnRUYXJnZXRUeXBlIHRhcmdldFR5cGUgPSBjb250ZXh0LT50ZXh0
RHJhd2luZ01vZGUoKSA9PSBjVGV4dFN0cm9rZSA/IEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlIDog
QXBwbHlUb0ZpbGxUYXJnZXRUeXBlOworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZU1vZGUgcmVz
b3VyY2VNb2RlID0gY29udGV4dC0+dGV4dERyYXdpbmdNb2RlKCkgPT0gY1RleHRTdHJva2UgPyBB
cHBseVRvU3Ryb2tlTW9kZSA6IEFwcGx5VG9GaWxsTW9kZTsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1HbHlwaHMgPSBkYXRhLmdseXBoSWRlbnRpZmllcnMuc2l6ZSgpOwogICAgICAgICB1bnNpZ25l
ZCBmYWxsYmFja0NoYXJhY3RlckluZGV4ID0gMDsKQEAgLTUzNywxMCArNTM3LDEwIEBAIHZvaWQg
Rm9udDo6ZHJhd1RleHRVc2luZ1NWR0ZvbnQoR3JhcGhpY3MKIAogICAgICAgICAgICAgICAgICAg
ICBjb250ZXh0LT5iZWdpblBhdGgoKTsKICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+YWRk
UGF0aChnbHlwaFBhdGgpOwotICAgICAgICAgICAgICAgICAgICBpZiAoYWN0aXZlUGFpbnRTZXJ2
ZXItPnNldHVwKGNvbnRleHQsIHJ1bi5yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgpLCB0YXJnZXRU
eXBlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlUGFpbnRTZXJ2ZXItPnJlbmRl
clBhdGgoY29udGV4dCwgcnVuLnJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KCksIHRhcmdldFR5cGUp
OwotICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlUGFpbnRTZXJ2ZXItPnRlYXJkb3duKGNv
bnRleHQsIHJ1bi5yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgpLCB0YXJnZXRUeXBlKTsKLSAgICAg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIFJlbmRlclN0eWxlKiBzdHls
ZSA9IHJ1bi5yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgpID8gcnVuLnJlZmVyZW5jaW5nUmVuZGVy
T2JqZWN0KCktPnN0eWxlKCkgOiAwOworICAgICAgICAgICAgICAgICAgICBpZiAoYWN0aXZlUGFp
bnRpbmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShydW4ucmVmZXJlbmNpbmdSZW5kZXJPYmplY3Qo
KSwgc3R5bGUsIGNvbnRleHQsIHJlc291cmNlTW9kZSkpCisgICAgICAgICAgICAgICAgICAgICAg
ICBhY3RpdmVQYWludGluZ1Jlc291cmNlLT5wb3N0QXBwbHlSZXNvdXJjZShydW4ucmVmZXJlbmNp
bmdSZW5kZXJPYmplY3QoKSwgY29udGV4dCwgcmVzb3VyY2VNb2RlKTsKIAogICAgICAgICAgICAg
ICAgICAgICBjb250ZXh0LT5yZXN0b3JlKCk7CiAgICAgICAgICAgICAgICAgfQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dF
bGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2lu
Y2x1ZGUgIlNWR0dFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTc5LDE2ICs4MCwxNSBAQCB2b2lkIFNWR0dFbGVtZW50Ojpz
eW5jaHJvbml6ZVByb3BlcnR5KGNvCiAgICAgICAgIHN5bmNocm9uaXplRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCgpOwogfQogCi12b2lkIFNWR0dFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9v
bCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2Us
IGludCBjaGlsZENvdW50RGVsdGEpCitSZW5kZXJPYmplY3QqIFNWR0dFbGVtZW50OjpjcmVhdGVS
ZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKiBzdHlsZSkKIHsKLSAgICBT
VkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBh
cnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKKyAgICAv
LyBTVkcgMS4xIHRlc3RzdWl0ZSBleHBsaWNpdGVseSB1c2VzIGNvbnN0cnVjdHMgbGlrZSA8ZyBk
aXNwbGF5PSJub25lIj48bGluZWFyR3JhZGllbnQ+CisgICAgLy8gV2Ugc3RpbGwgaGF2ZSB0byBj
cmVhdGUgcmVuZGVyZXJzIGZvciB0aGUgPGc+ICYgPGxpbmVhckdyYWRpZW50PiBlbGVtZW50LCB0
aG91Z2ggdGhlCisgICAgLy8gc3VidHJlZSBtYXkgYmUgaGlkZGVuIC0gd2Ugb25seSB3YW50IHRo
ZSByZXNvdXJjZSByZW5kZXJlcnMgdG8gZXhpc3Qgc28gdGhleSBjYW4gYmUKKyAgICAvLyByZWZl
cmVuY2VkIGZyb20gc29tZXdoZXJlIGVsc2UuCisgICAgaWYgKHN0eWxlLT5kaXNwbGF5KCkgPT0g
Tk9ORSkKKyAgICAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5l
cih0aGlzKTsKIAotICAgIGlmIChyZW5kZXJlcigpKQotICAgICAgICByZW5kZXJlcigpLT5zZXRO
ZWVkc0xheW91dCh0cnVlKTsKLX0KLQotUmVuZGVyT2JqZWN0KiBTVkdHRWxlbWVudDo6Y3JlYXRl
UmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCi17CiAgICAgcmV0dXJu
IG5ldyAoYXJlbmEpIFJlbmRlclNWR1RyYW5zZm9ybWFibGVDb250YWluZXIodGhpcyk7CiB9CiAK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHR0VsZW1lbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdHRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw4ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJp
YnV0ZSopOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBR
dWFsaWZpZWROYW1lJik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5
KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hh
bmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAw
LCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKIAorICAg
ICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSopIHsgcmV0dXJu
IHRydWU7IH0KICAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJl
bmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKIAogICAgIHByaXZhdGU6CkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0dyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZH
R3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIC8qCiAg
ICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IE5pa29sYXMgWmltbWVybWFu
biA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwgMjAw
NiwgMjAwNyBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgUmVzZWFy
Y2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogICAgIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwpAQCAtODQsMTYgKzg1LDEzIEBAIHZvaWQgU1ZHR3JhZGllbnRFbGVtZW50Ojpz
dmdBdHRyaWJ1dGVDaGEKIHsKICAgICBTVkdTdHlsZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGF0dHJOYW1lKTsKIAotICAgIGlmICghbV9yZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpncmFkaWVudFVuaXRzQXR0ciB8fAotICAg
ICAgICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6Z3JhZGllbnRUcmFuc2Zvcm1BdHRyIHx8Ci0gICAg
ICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyIHx8Ci0gICAgICAgIFNW
R1VSSVJlZmVyZW5jZTo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKLSAgICAgICAgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwK
LSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkpCi0g
ICAgICAgIG1fcmVzb3VyY2UtPmludmFsaWRhdGUoKTsKKyAgICBpZiAoYXR0ck5hbWUgPT0gU1ZH
TmFtZXM6OmdyYWRpZW50VW5pdHNBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVz
OjpncmFkaWVudFRyYW5zZm9ybUF0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6
OnNwcmVhZE1ldGhvZEF0dHIKKyAgICAgICAgfHwgU1ZHVVJJUmVmZXJlbmNlOjppc0tub3duQXR0
cmlidXRlKGF0dHJOYW1lKQorICAgICAgICB8fCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
Ojppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKQorICAgICAgICB8fCBTVkdTdHlsZWRFbGVtZW50
Ojppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkKKyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNl
Q2xpZW50cygpOwogfQogCiB2b2lkIFNWR0dyYWRpZW50RWxlbWVudDo6c3luY2hyb25pemVQcm9w
ZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKQEAgLTEyNSw2MSArMTIzLDM0IEBA
IHZvaWQgU1ZHR3JhZGllbnRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQKIHsKICAgICBTVkdTdHls
ZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2Us
IGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwogCi0gICAgaWYgKG1fcmVzb3VyY2UpCi0g
ICAgICAgIG1fcmVzb3VyY2UtPmludmFsaWRhdGUoKTsKLX0KLQotUmVuZGVyT2JqZWN0KiBTVkdH
cmFkaWVudEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVy
U3R5bGUqKQotewotICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIodGhpcyk7Ci19Ci0KLVNWR1Jlc291cmNlKiBTVkdHcmFkaWVudEVsZW1lbnQ6OmNhbnZhc1Jl
c291cmNlKGNvbnN0IFJlbmRlck9iamVjdCopCi17Ci0gICAgaWYgKCFtX3Jlc291cmNlKSB7Ci0g
ICAgICAgIGlmIChncmFkaWVudFR5cGUoKSA9PSBMaW5lYXJHcmFkaWVudFBhaW50U2VydmVyKQot
ICAgICAgICAgICAgbV9yZXNvdXJjZSA9IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ6OmNy
ZWF0ZSh0aGlzKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9yZXNvdXJjZSA9IFNWR1Bh
aW50U2VydmVyUmFkaWFsR3JhZGllbnQ6OmNyZWF0ZSh0aGlzKTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gbV9yZXNvdXJjZS5nZXQoKTsKKyAgICBpZiAoIWNoYW5nZWRCeVBhcnNlcikKKyAgICAgICAg
aW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCi1WZWN0b3I8U1ZHR3JhZGllbnRTdG9w
PiBTVkdHcmFkaWVudEVsZW1lbnQ6OmJ1aWxkU3RvcHMoKSBjb25zdAorVmVjdG9yPEdyYWRpZW50
OjpDb2xvclN0b3A+IFNWR0dyYWRpZW50RWxlbWVudDo6YnVpbGRTdG9wcygpCiB7Ci0gICAgVmVj
dG9yPFNWR0dyYWRpZW50U3RvcD4gc3RvcHM7Ci0gICAgUmVmUHRyPFJlbmRlclN0eWxlPiBncmFk
aWVudFN0eWxlOworICAgIFZlY3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPiBzdG9wczsKIAorICAg
IGZsb2F0IHByZXZpb3VzT2Zmc2V0ID0gMC4wZjsKICAgICBmb3IgKE5vZGUqIG4gPSBmaXJzdENo
aWxkKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIFNWR0VsZW1lbnQqIGVs
ZW1lbnQgPSBuLT5pc1NWR0VsZW1lbnQoKSA/IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihuKSA6
IDA7CisgICAgICAgIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC0+aXNHcmFkaWVudFN0b3AoKSkK
KyAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQt
PmlzR3JhZGllbnRTdG9wKCkpIHsKLSAgICAgICAgICAgIFNWR1N0b3BFbGVtZW50KiBzdG9wID0g
c3RhdGljX2Nhc3Q8U1ZHU3RvcEVsZW1lbnQqPihlbGVtZW50KTsKLSAgICAgICAgICAgIGZsb2F0
IHN0b3BPZmZzZXQgPSBzdG9wLT5vZmZzZXQoKTsKLQotICAgICAgICAgICAgQ29sb3IgY29sb3I7
Ci0gICAgICAgICAgICBmbG9hdCBvcGFjaXR5OwotCi0gICAgICAgICAgICBpZiAoc3RvcC0+cmVu
ZGVyZXIoKSkgewotICAgICAgICAgICAgICAgIFJlbmRlclN0eWxlKiBzdG9wU3R5bGUgPSBzdG9w
LT5yZW5kZXJlcigpLT5zdHlsZSgpOwotICAgICAgICAgICAgICAgIGNvbG9yID0gc3RvcFN0eWxl
LT5zdmdTdHlsZSgpLT5zdG9wQ29sb3IoKTsKLSAgICAgICAgICAgICAgICBvcGFjaXR5ID0gc3Rv
cFN0eWxlLT5zdmdTdHlsZSgpLT5zdG9wT3BhY2l0eSgpOwotICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyByZW5kZXJlciBmb3IgdGhpcyBzdG9w
IGVsZW1lbnQsIHRoZW4gYSBwYXJlbnQgZWxlbWVudAotICAgICAgICAgICAgICAgIC8vIHNldCBk
aXNwbGF5PSJub25lIiAtIGllLiA8ZyBkaXNwbGF5PSJub25lIj48bGluZWFyR3JhZGllbnQ+PHN0
b3A+Li4KLSAgICAgICAgICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5IHdlIGhhdmUgdG8gbWFudWFs
bHkgcmVidWlsZCB0aGUgc3RvcCBzdHlsZS4gU2VlIHBzZXJ2ZXJzLWdyYWQtMTktYi5zdmcKLSAg
ICAgICAgICAgICAgICBpZiAoIWdyYWRpZW50U3R5bGUpCi0gICAgICAgICAgICAgICAgICAgIGdy
YWRpZW50U3R5bGUgPSBjb25zdF9jYXN0PFNWR0dyYWRpZW50RWxlbWVudCo+KHRoaXMpLT5zdHls
ZUZvclJlbmRlcmVyKCk7Ci0KLSAgICAgICAgICAgICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IHN0
b3BTdHlsZSA9IHN0b3AtPnJlc29sdmVTdHlsZShncmFkaWVudFN0eWxlLmdldCgpKTsKLQotICAg
ICAgICAgICAgICAgIGNvbG9yID0gc3RvcFN0eWxlLT5zdmdTdHlsZSgpLT5zdG9wQ29sb3IoKTsK
LSAgICAgICAgICAgICAgICBvcGFjaXR5ID0gc3RvcFN0eWxlLT5zdmdTdHlsZSgpLT5zdG9wT3Bh
Y2l0eSgpOwotICAgICAgICAgICAgfQorICAgICAgICBTVkdTdG9wRWxlbWVudCogc3RvcCA9IHN0
YXRpY19jYXN0PFNWR1N0b3BFbGVtZW50Kj4oZWxlbWVudCk7CisgICAgICAgIENvbG9yIGNvbG9y
ID0gc3RvcC0+c3RvcENvbG9ySW5jbHVkaW5nT3BhY2l0eSgpOwogCi0gICAgICAgICAgICBzdG9w
cy5hcHBlbmQobWFrZUdyYWRpZW50U3RvcChzdG9wT2Zmc2V0LCBtYWtlUkdCQShjb2xvci5yZWQo
KSwgY29sb3IuZ3JlZW4oKSwgY29sb3IuYmx1ZSgpLCBpbnQob3BhY2l0eSAqIDI1NS4pKSkpOwot
ICAgICAgICB9CisgICAgICAgIC8vIEZpZ3VyZSBvdXQgcmlnaHQgbW9ub3RvbmljIG9mZnNldAor
ICAgICAgICBmbG9hdCBvZmZzZXQgPSBzdG9wLT5vZmZzZXQoKTsKKyAgICAgICAgb2Zmc2V0ID0g
c3RkOjptaW4oc3RkOjptYXgocHJldmlvdXNPZmZzZXQsIG9mZnNldCksIDEuMGYpOworICAgICAg
ICBwcmV2aW91c09mZnNldCA9IG9mZnNldDsKKworICAgICAgICAvLyBFeHRyYWN0IGluZGl2aWR1
YWwgY2hhbm5lbCB2YWx1ZXMKKyAgICAgICAgLy8gRklYTUU6IFdoeSBkb2Vzbid0IENvbG9yU3Rv
cCB0YWtlIGEgQ29sb3IgYW5kIGFuIG9mZnNldD8/CisgICAgICAgIGZsb2F0IHIsIGcsIGIsIGE7
CisgICAgICAgIGNvbG9yLmdldFJHQkEociwgZywgYiwgYSk7CisKKyAgICAgICAgc3RvcHMuYXBw
ZW5kKEdyYWRpZW50OjpDb2xvclN0b3Aob2Zmc2V0LCByLCBnLCBiLCBhKSk7CiAgICAgfQogCiAg
ICAgcmV0dXJuIHN0b3BzOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmgJKHJldmlzaW9u
IDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIyLDggKzIyLDcgQEAKICNkZWZpbmUgU1ZHR3JhZGllbnRFbGVtZW50X2gKIAogI2lm
IEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiUmVuZGVy
U1ZHUmVzb3VyY2VHcmFkaWVudC5oIgorI2luY2x1ZGUgIkdyYWRpZW50LmgiCiAjaW5jbHVkZSAi
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1l
bnQuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0LmgiCkBAIC00MywyMCArNDIsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3Bl
cnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRy
ZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5n
ZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwot
ICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEq
LCBSZW5kZXJTdHlsZSopOwogCi0gICAgICAgIHZpcnR1YWwgU1ZHUmVzb3VyY2UqIGNhbnZhc1Jl
c291cmNlKGNvbnN0IFJlbmRlck9iamVjdCopOwotCi0gICAgcHJvdGVjdGVkOgotICAgICAgICBm
cmllbmQgY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDsKLSAgICAgICAgZnJpZW5kIGNsYXNz
IFNWR0xpbmVhckdyYWRpZW50RWxlbWVudDsKLSAgICAgICAgZnJpZW5kIGNsYXNzIFNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudDsKLQotICAgICAgICB2aXJ0dWFsIHZvaWQgYnVpbGRHcmFkaWVudCgp
IGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5cGUgZ3JhZGllbnRU
eXBlKCkgY29uc3QgPSAwOwotCi0gICAgICAgIFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+IGJ1aWxk
U3RvcHMoKSBjb25zdDsKLSAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJHcmFk
aWVudD4gbV9yZXNvdXJjZTsKKyAgICAgICAgVmVjdG9yPEdyYWRpZW50OjpDb2xvclN0b3A+IGJ1
aWxkU3RvcHMoKTsKICAKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURf
UFJPUEVSVFkoU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0ciwg
aW50LCBTcHJlYWRNZXRob2QsIHNwcmVhZE1ldGhvZCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xp
bmVhckdyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGlu
ZWFyR3JhZGllbnRFbGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9T
VkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBA
QAogICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBSb2IgQnVpcyA8YnVp
c0BrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJr
aXQub3JnPgogICAgICAgICAgICAgICAgICAgMjAwOCBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0
Lm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTcwLDEyICs3MSwx
MSBAQCB2b2lkIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmliCiB7CiAgICAgU1ZH
R3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKIAotICAgIGlm
ICghbV9yZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGF0dHJOYW1lID09IFNW
R05hbWVzOjp4MUF0dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnkxQXR0ciB8fAotICAgICAg
ICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eDJBdHRyIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp5
MkF0dHIpCi0gICAgICAgIG1fcmVzb3VyY2UtPmludmFsaWRhdGUoKTsKKyAgICBpZiAoYXR0ck5h
bWUgPT0gU1ZHTmFtZXM6OngxQXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6
eTFBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp4MkF0dHIKKyAgICAgICAg
fHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnkyQXR0cikKKyAgICAgICAgaW52YWxpZGF0ZVJlc291
cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6c3luY2hy
b25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKQEAgLTEwMCw1NiAr
MTAwLDE4IEBAIHZvaWQgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpzeW5jaHJvbmkKICAgICAg
ICAgc3luY2hyb25pemVZMigpOwogfQogCi12b2lkIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6
YnVpbGRHcmFkaWVudCgpIGNvbnN0CitSZW5kZXJPYmplY3QqIFNWR0xpbmVhckdyYWRpZW50RWxl
bWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCiB7
Ci0gICAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSBjb2xsZWN0R3JhZGll
bnRQcm9wZXJ0aWVzKCk7Ci0KLSAgICBSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVu
dD4gbGluZWFyR3JhZGllbnQgPSBXVEY6OnN0YXRpY19wb2ludGVyX2Nhc3Q8U1ZHUGFpbnRTZXJ2
ZXJMaW5lYXJHcmFkaWVudD4obV9yZXNvdXJjZSk7Ci0KLSAgICBGbG9hdFBvaW50IHN0YXJ0UG9p
bnQ7Ci0gICAgRmxvYXRQb2ludCBlbmRQb2ludDsKLSAgICBpZiAoYXR0cmlidXRlcy5ib3VuZGlu
Z0JveE1vZGUoKSkgewotICAgICAgICBzdGFydFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVz
LngxKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwgYXR0cmlidXRlcy55MSgpLnZhbHVlQXNQZXJjZW50
YWdlKCkpOwotICAgICAgICBlbmRQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy54MigpLnZh
bHVlQXNQZXJjZW50YWdlKCksIGF0dHJpYnV0ZXMueTIoKS52YWx1ZUFzUGVyY2VudGFnZSgpKTsK
LSAgICB9IGVsc2UgewotICAgICAgICBzdGFydFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVz
LngxKCkudmFsdWUodGhpcyksIGF0dHJpYnV0ZXMueTEoKS52YWx1ZSh0aGlzKSk7Ci0gICAgICAg
IGVuZFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLngyKCkudmFsdWUodGhpcyksIGF0dHJp
YnV0ZXMueTIoKS52YWx1ZSh0aGlzKSk7Ci0gICAgfQotCi0gICAgUmVmUHRyPEdyYWRpZW50PiBn
cmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoc3RhcnRQb2ludCwgZW5kUG9pbnQpOwotICAgIGdy
YWRpZW50LT5zZXRTcHJlYWRNZXRob2QoYXR0cmlidXRlcy5zcHJlYWRNZXRob2QoKSk7Ci0KLSAg
ICBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiBtX3N0b3BzID0gYXR0cmlidXRlcy5zdG9wcygpOwot
ICAgIGZsb2F0IHByZXZpb3VzT2Zmc2V0ID0gMC4wZjsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbV9zdG9wcy5zaXplKCk7ICsraSkgewotICAgICAgICBmbG9hdCBvZmZzZXQgPSBzdGQ6
Om1pbihzdGQ6Om1heChwcmV2aW91c09mZnNldCwgbV9zdG9wc1tpXS5maXJzdCksIDEuMGYpOwot
ICAgICAgICBwcmV2aW91c09mZnNldCA9IG9mZnNldDsKLSAgICAgICAgZ3JhZGllbnQtPmFkZENv
bG9yU3RvcChvZmZzZXQsIG1fc3RvcHNbaV0uc2Vjb25kKTsKLSAgICB9Ci0KLSAgICBsaW5lYXJH
cmFkaWVudC0+c2V0R3JhZGllbnQoZ3JhZGllbnQpOwotCi0gICAgaWYgKGF0dHJpYnV0ZXMuc3Rv
cHMoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFRoaXMgY29kZSBzaG91
bGQgZ28gYXdheS4gIFBhaW50U2VydmVycyBzaG91bGQgZ28gYXdheSB0b28uCi0gICAgLy8gT25s
eSB0aGlzIGNvZGUgc2hvdWxkIGNhcmUgYWJvdXQgYm91bmRpbmcgYm94ZXMKLSAgICBsaW5lYXJH
cmFkaWVudC0+c2V0Qm91bmRpbmdCb3hNb2RlKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkp
OwotICAgIGxpbmVhckdyYWRpZW50LT5zZXRHcmFkaWVudFN0b3BzKGF0dHJpYnV0ZXMuc3RvcHMo
KSk7Ci0KLSAgICAvLyBUaGVzZSBzaG91bGQgcG9zc2libHkgYmUgc3VwcG9ydGVkIG9uIEdyYWRp
ZW50Ci0gICAgbGluZWFyR3JhZGllbnQtPnNldEdyYWRpZW50VHJhbnNmb3JtKGF0dHJpYnV0ZXMu
Z3JhZGllbnRUcmFuc2Zvcm0oKSk7Ci0gICAgbGluZWFyR3JhZGllbnQtPnNldEdyYWRpZW50U3Rh
cnQoc3RhcnRQb2ludCk7Ci0gICAgbGluZWFyR3JhZGllbnQtPnNldEdyYWRpZW50RW5kKGVuZFBv
aW50KTsKKyAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFk
aWVudCh0aGlzKTsKIH0KIAotTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIFNWR0xpbmVhckdyYWRp
ZW50RWxlbWVudDo6Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpIGNvbnN0CitMaW5lYXJHcmFk
aWVudEF0dHJpYnV0ZXMgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQ
cm9wZXJ0aWVzKCkKIHsKICAgICBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgYXR0cmlidXRlczsK
LSAgICBIYXNoU2V0PGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCo+IHByb2Nlc3NlZEdyYWRpZW50
czsKKyAgICBIYXNoU2V0PFNWR0dyYWRpZW50RWxlbWVudCo+IHByb2Nlc3NlZEdyYWRpZW50czsK
IAogICAgIGJvb2wgaXNMaW5lYXIgPSB0cnVlOwotICAgIGNvbnN0IFNWR0dyYWRpZW50RWxlbWVu
dCogY3VycmVudCA9IHRoaXM7CisgICAgU1ZHR3JhZGllbnRFbGVtZW50KiBjdXJyZW50ID0gdGhp
czsKIAogICAgIHdoaWxlIChjdXJyZW50KSB7CiAgICAgICAgIGlmICghYXR0cmlidXRlcy5oYXNT
cHJlYWRNZXRob2QoKSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OnNwcmVhZE1l
dGhvZEF0dHIpKQpAQCAtMTYyLDEzICsxMjQsMTMgQEAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVz
IFNWR0xpbmVhckdyYWRpZQogICAgICAgICAgICAgYXR0cmlidXRlcy5zZXRHcmFkaWVudFRyYW5z
Zm9ybShjdXJyZW50LT5ncmFkaWVudFRyYW5zZm9ybSgpLT5jb25zb2xpZGF0ZSgpLm1hdHJpeCgp
KTsKIAogICAgICAgICBpZiAoIWF0dHJpYnV0ZXMuaGFzU3RvcHMoKSkgewotICAgICAgICAgICAg
Y29uc3QgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIHN0b3BzKGN1cnJlbnQtPmJ1aWxkU3RvcHMo
KSk7CisgICAgICAgICAgICBjb25zdCBWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mIHN0b3Bz
KGN1cnJlbnQtPmJ1aWxkU3RvcHMoKSk7CiAgICAgICAgICAgICBpZiAoIXN0b3BzLmlzRW1wdHko
KSkKICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLnNldFN0b3BzKHN0b3BzKTsKICAgICAgICAg
fQogCiAgICAgICAgIGlmIChpc0xpbmVhcikgewotICAgICAgICAgICAgY29uc3QgU1ZHTGluZWFy
R3JhZGllbnRFbGVtZW50KiBsaW5lYXIgPSBzdGF0aWNfY2FzdDxjb25zdCBTVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQqPihjdXJyZW50KTsKKyAgICAgICAgICAgIFNWR0xpbmVhckdyYWRpZW50RWxl
bWVudCogbGluZWFyID0gc3RhdGljX2Nhc3Q8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Kj4oY3Vy
cmVudCk7CiAKICAgICAgICAgICAgIGlmICghYXR0cmlidXRlcy5oYXNYMSgpICYmIGN1cnJlbnQt
Pmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6eDFBdHRyKSkKICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGVzLnNldFgxKGxpbmVhci0+eDEoKSk7CkBAIC0xODgsMTMgKzE1MCwxMyBAQCBMaW5lYXJHcmFk
aWVudEF0dHJpYnV0ZXMgU1ZHTGluZWFyR3JhZGllCiAgICAgICAgIC8vIFJlc3BlY3QgeGxpbms6
aHJlZiwgdGFrZSBhdHRyaWJ1dGVzIGZyb20gcmVmZXJlbmNlZCBlbGVtZW50CiAgICAgICAgIE5v
ZGUqIHJlZk5vZGUgPSBvd25lckRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlkKFNWR1VSSVJlZmVy
ZW5jZTo6Z2V0VGFyZ2V0KGN1cnJlbnQtPmhyZWYoKSkpOwogICAgICAgICBpZiAocmVmTm9kZSAm
JiAocmVmTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6bGluZWFyR3JhZGllbnRUYWcpIHx8IHJl
Zk5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnJhZGlhbEdyYWRpZW50VGFnKSkpIHsKLSAgICAg
ICAgICAgIGN1cnJlbnQgPSBzdGF0aWNfY2FzdDxjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqPihj
b25zdF9jYXN0PGNvbnN0IE5vZGUqPihyZWZOb2RlKSk7CisgICAgICAgICAgICBjdXJyZW50ID0g
c3RhdGljX2Nhc3Q8U1ZHR3JhZGllbnRFbGVtZW50Kj4ocmVmTm9kZSk7CiAKICAgICAgICAgICAg
IC8vIEN5Y2xlIGRldGVjdGlvbgogICAgICAgICAgICAgaWYgKHByb2Nlc3NlZEdyYWRpZW50cy5j
b250YWlucyhjdXJyZW50KSkKICAgICAgICAgICAgICAgICByZXR1cm4gTGluZWFyR3JhZGllbnRB
dHRyaWJ1dGVzKCk7CiAKLSAgICAgICAgICAgIGlzTGluZWFyID0gY3VycmVudC0+Z3JhZGllbnRU
eXBlKCkgPT0gTGluZWFyR3JhZGllbnRQYWludFNlcnZlcjsKKyAgICAgICAgICAgIGlzTGluZWFy
ID0gY3VycmVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6bGluZWFyR3JhZGllbnRUYWcpOwogICAg
ICAgICB9IGVsc2UKICAgICAgICAgICAgIGN1cnJlbnQgPSAwOwogICAgIH0KQEAgLTIwMiw2ICsx
NjQsMTggQEAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIFNWR0xpbmVhckdyYWRpZQogICAgIHJl
dHVybiBhdHRyaWJ1dGVzOwogfQogCit2b2lkIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6Y2Fs
Y3VsYXRlU3RhcnRFbmRQb2ludHMoY29uc3QgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzJiBhdHRy
aWJ1dGVzLCBGbG9hdFBvaW50JiBzdGFydFBvaW50LCBGbG9hdFBvaW50JiBlbmRQb2ludCkKK3sK
KyAgICAvLyBEZXRlcm1pbmUgZ3JhZGllbnQgc3RhcnQvZW5kIHBvaW50cworICAgIGlmIChhdHRy
aWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKSB7CisgICAgICAgIHN0YXJ0UG9pbnQgPSBGbG9hdFBv
aW50KGF0dHJpYnV0ZXMueDEoKS52YWx1ZUFzUGVyY2VudGFnZSgpLCBhdHRyaWJ1dGVzLnkxKCku
dmFsdWVBc1BlcmNlbnRhZ2UoKSk7CisgICAgICAgIGVuZFBvaW50ID0gRmxvYXRQb2ludChhdHRy
aWJ1dGVzLngyKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwgYXR0cmlidXRlcy55MigpLnZhbHVlQXNQ
ZXJjZW50YWdlKCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHN0YXJ0UG9pbnQgPSBGbG9hdFBv
aW50KGF0dHJpYnV0ZXMueDEoKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRlcy55MSgpLnZhbHVlKHRo
aXMpKTsKKyAgICAgICAgZW5kUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMueDIoKS52YWx1
ZSh0aGlzKSwgYXR0cmlidXRlcy55MigpLnZhbHVlKHRoaXMpKTsKKyAgICB9Cit9CisKIH0KIAog
I2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVu
dEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVs
ZW1lbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVu
dEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTEgKzM4LDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQcm9wZXJ0
eShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBidWlsZEdyYWRpZW50KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU1ZHUGFpbnRT
ZXJ2ZXJUeXBlIGdyYWRpZW50VHlwZSgpIGNvbnN0IHsgcmV0dXJuIExpbmVhckdyYWRpZW50UGFp
bnRTZXJ2ZXI7IH0KKyAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVy
KFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKIAotICAgICAgICBMaW5lYXJHcmFkaWVudEF0
dHJpYnV0ZXMgY29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpIGNvbnN0OworICAgICAgICBMaW5l
YXJHcmFkaWVudEF0dHJpYnV0ZXMgY29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpOworICAgICAg
ICB2b2lkIGNhbGN1bGF0ZVN0YXJ0RW5kUG9pbnRzKGNvbnN0IExpbmVhckdyYWRpZW50QXR0cmli
dXRlcyYsIEZsb2F0UG9pbnQmIHN0YXJ0UG9pbnQsIEZsb2F0UG9pbnQmIGVuZFBvaW50KTsKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHTGluZWFy
R3JhZGllbnRFbGVtZW50LCBTVkdOYW1lczo6eDFBdHRyLCBTVkdMZW5ndGgsIFgxLCB4MSkKSW5k
ZXg6IFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUv
c3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNyArMTExLDcg
QEAgdm9pZCBTVkdNYXJrZXJFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZwogICAgICAgICBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAog
ICAgICAgICBTVkdGaXRUb1ZpZXdCb3g6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8CiAg
ICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpKQotICAg
ICAgICBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisgICAgICAgIGludmFsaWRhdGVSZXNv
dXJjZUNsaWVudHMoKTsKIH0KIAogdm9pZCBTVkdNYXJrZXJFbGVtZW50OjpzeW5jaHJvbml6ZVBy
b3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQpAQCAtMTU3LDcgKzE1Nyw4IEBA
IHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGIKIHsKICAgICBTVkdTdHls
ZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2Us
IGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwogCi0gICAgaW52YWxpZGF0ZUNhbnZhc1Jl
c291cmNlcygpOworICAgIGlmICghY2hhbmdlZEJ5UGFyc2VyKQorICAgICAgICBpbnZhbGlkYXRl
UmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6c2V0T3JpZW50
VG9BdXRvKCkKQEAgLTE2NSw3ICsxNjYsNyBAQCB2b2lkIFNWR01hcmtlckVsZW1lbnQ6OnNldE9y
aWVudFRvQXV0bygpCiAgICAgc2V0T3JpZW50VHlwZUJhc2VWYWx1ZShTVkdfTUFSS0VSX09SSUVO
VF9BVVRPKTsKICAgICBzZXRPcmllbnRBbmdsZUJhc2VWYWx1ZShTVkdBbmdsZSgpKTsKIAotICAg
IGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKTsKKyAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGll
bnRzKCk7CiB9CiAKIHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6c2V0T3JpZW50VG9BbmdsZShjb25z
dCBTVkdBbmdsZSYgYW5nbGUpCkBAIC0xNzMsNyArMTc0LDcgQEAgdm9pZCBTVkdNYXJrZXJFbGVt
ZW50OjpzZXRPcmllbnRUb0FuZ2xlKAogICAgIHNldE9yaWVudFR5cGVCYXNlVmFsdWUoU1ZHX01B
UktFUl9PUklFTlRfQU5HTEUpOwogICAgIHNldE9yaWVudEFuZ2xlQmFzZVZhbHVlKGFuZ2xlKTsK
IAotICAgIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKTsKKyAgICBpbnZhbGlkYXRlUmVzb3Vy
Y2VDbGllbnRzKCk7CiB9CiAKIFJlbmRlck9iamVjdCogU1ZHTWFya2VyRWxlbWVudDo6Y3JlYXRl
UmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFz
a0VsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDcgKzEwNCw3IEBAIHZvaWQgU1ZHTWFza0Vs
ZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQKICAgICAgICAgU1ZHTGFuZ1NwYWNlOjppc0tub3du
QXR0cmlidXRlKGF0dHJOYW1lKSB8fAogICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAogICAgICAgICBTVkdTdHlsZWRFbGVt
ZW50Ojppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkKLSAgICAgICAgaW52YWxpZGF0ZUNhbnZh
c1Jlc291cmNlcygpOworICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAK
IHZvaWQgU1ZHTWFza0VsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0ck5hbWUpCkBAIC0xMzgsNyArMTM4LDkgQEAgdm9pZCBTVkdNYXNrRWxlbWVudDo6
c3luY2hyb25pemVQcm9wZXJ0eQogdm9pZCBTVkdNYXNrRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2Vk
KGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hh
bmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQogewogICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxk
cmVuQ2hhbmdlZChjaGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNo
aWxkQ291bnREZWx0YSk7Ci0gICAgaW52YWxpZGF0ZUNhbnZhc1Jlc291cmNlcygpOworCisgICAg
aWYgKCFjaGFuZ2VkQnlQYXJzZXIpCisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMo
KTsKIH0KIAogRmxvYXRSZWN0IFNWR01hc2tFbGVtZW50OjptYXNrQm91bmRpbmdCb3goY29uc3Qg
RmxvYXRSZWN0JiBvYmplY3RCb3VuZGluZ0JveCkgY29uc3QKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1BhdHRlcm5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJu
RWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogLyoKICAgICBDb3B5cmln
aHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6
aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAyMDA2LCAy
MDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJ
biBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgog
ICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC0xMTksMTkgKzEyMCwyMCBAQCB2b2lkIFNWR1BhdHRlcm5FbGVtZW50OjpzdmdB
dHRyaWJ1dGVDaGFuCiB7CiAgICAgU1ZHU3R5bGVkRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdl
ZChhdHRyTmFtZSk7CiAKLSAgICBpZiAoIW1fcmVzb3VyY2UpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6cGF0dGVyblVuaXRzQXR0ciB8fCBhdHRyTmFt
ZSA9PSBTVkdOYW1lczo6cGF0dGVybkNvbnRlbnRVbml0c0F0dHIgfHwKLSAgICAgICAgYXR0ck5h
bWUgPT0gU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRyIHx8IGF0dHJOYW1lID09IFNWR05h
bWVzOjp4QXR0ciB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eUF0dHIgfHwKLSAgICAgICAgYXR0
ck5hbWUgPT0gU1ZHTmFtZXM6OndpZHRoQXR0ciB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6aGVp
Z2h0QXR0ciB8fAotICAgICAgICBTVkdVUklSZWZlcmVuY2U6OmlzS25vd25BdHRyaWJ1dGUoYXR0
ck5hbWUpIHx8Ci0gICAgICAgIFNWR1Rlc3RzOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8
fCAKLSAgICAgICAgU1ZHTGFuZ1NwYWNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAot
ICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjppc0tub3duQXR0cmlidXRlKGF0
dHJOYW1lKSB8fAotICAgICAgICBTVkdGaXRUb1ZpZXdCb3g6OmlzS25vd25BdHRyaWJ1dGUoYXR0
ck5hbWUpIHx8Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0
ck5hbWUpKQotICAgICAgICBtX3Jlc291cmNlLT5pbnZhbGlkYXRlKCk7CisgICAgaWYgKGF0dHJO
YW1lID09IFNWR05hbWVzOjpwYXR0ZXJuVW5pdHNBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09
IFNWR05hbWVzOjpwYXR0ZXJuQ29udGVudFVuaXRzQXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9
PSBTVkdOYW1lczo6cGF0dGVyblRyYW5zZm9ybUF0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0g
U1ZHTmFtZXM6OnhBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp5QXR0cgor
ICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6d2lkdGhBdHRyCisgICAgICAgIHx8IGF0
dHJOYW1lID09IFNWR05hbWVzOjpoZWlnaHRBdHRyCisgICAgICAgIHx8IFNWR1VSSVJlZmVyZW5j
ZTo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkKKyAgICAgICAgfHwgU1ZHVGVzdHM6OmlzS25v
d25BdHRyaWJ1dGUoYXR0ck5hbWUpCisgICAgICAgIHx8IFNWR0xhbmdTcGFjZTo6aXNLbm93bkF0
dHJpYnV0ZShhdHRyTmFtZSkKKyAgICAgICAgfHwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkKKyAgICAgICAgfHwgU1ZHRml0VG9WaWV3Qm94
Ojppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKQorICAgICAgICB8fCBTVkdTdHlsZWRFbGVtZW50
Ojppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkKKyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNl
Q2xpZW50cygpOwogfQogCiB2b2lkIFNWR1BhdHRlcm5FbGVtZW50OjpzeW5jaHJvbml6ZVByb3Bl
cnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQpAQCAtMTgwLDEyNiArMTgyLDEzIEBA
IHZvaWQgU1ZHUGF0dGVybkVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCgKIHsKICAgICBTVkdTdHls
ZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2Us
IGFmdGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwogCi0gICAgaWYgKCFtX3Jlc291cmNlKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBtX3Jlc291cmNlLT5pbnZhbGlkYXRlKCk7Ci19Ci0KLXZv
aWQgU1ZHUGF0dGVybkVsZW1lbnQ6OmJ1aWxkUGF0dGVybihjb25zdCBGbG9hdFJlY3QmIHRhcmdl
dFJlY3QpIGNvbnN0Ci17Ci0gICAgUGF0dGVybkF0dHJpYnV0ZXMgYXR0cmlidXRlcyA9IGNvbGxl
Y3RQYXR0ZXJuUHJvcGVydGllcygpOwotCi0gICAgLy8gSWYgd2UgZGlkbid0IGZpbmQgYW55IHBh
dHRlcm4gY29udGVudCwgaWdub3JlIHRoZSByZXF1ZXN0LgotICAgIGlmICghYXR0cmlidXRlcy5w
YXR0ZXJuQ29udGVudEVsZW1lbnQoKSB8fCAhcmVuZGVyZXIoKSB8fCAhcmVuZGVyZXIoKS0+c3R5
bGUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRmxvYXRSZWN0IHBhdHRlcm5Cb3VuZGFyaWVz
OyAKLSAgICBGbG9hdFJlY3QgcGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzOwotCi0gICAgLy8gRGV0
ZXJtaW5lIHNwZWNpZmllZCBwYXR0ZXJuIHNpemUKLSAgICBpZiAoYXR0cmlidXRlcy5ib3VuZGlu
Z0JveE1vZGUoKSkKLSAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMgPSBGbG9hdFJlY3QoYXR0cmli
dXRlcy54KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSAqIHRhcmdldFJlY3Qud2lkdGgoKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy55KCkudmFsdWVBc1Bl
cmNlbnRhZ2UoKSAqIHRhcmdldFJlY3QuaGVpZ2h0KCksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMud2lkdGgoKS52YWx1ZUFzUGVyY2VudGFnZSgpICog
dGFyZ2V0UmVjdC53aWR0aCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGVzLmhlaWdodCgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiB0YXJnZXRSZWN0Lmhl
aWdodCgpKTsKLSAgICBlbHNlCi0gICAgICAgIHBhdHRlcm5Cb3VuZGFyaWVzID0gRmxvYXRSZWN0
KGF0dHJpYnV0ZXMueCgpLnZhbHVlKHRoaXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGVzLnkoKS52YWx1ZSh0aGlzKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy53aWR0aCgpLnZhbHVlKHRoaXMpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLmhlaWdodCgpLnZh
bHVlKHRoaXMpKTsKLQotICAgIEludFNpemUgcGF0dGVyblNpemUocGF0dGVybkJvdW5kYXJpZXMu
d2lkdGgoKSwgcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkpOwotICAgIGNsYW1wSW1hZ2VCdWZm
ZXJTaXplVG9WaWV3cG9ydChkb2N1bWVudCgpLT52aWV3KCksIHBhdHRlcm5TaXplKTsKLQotICAg
IGlmIChwYXR0ZXJuU2l6ZS53aWR0aCgpIDwgc3RhdGljX2Nhc3Q8aW50PihwYXR0ZXJuQm91bmRh
cmllcy53aWR0aCgpKSkKLSAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMuc2V0V2lkdGgocGF0dGVy
blNpemUud2lkdGgoKSk7Ci0KLSAgICBpZiAocGF0dGVyblNpemUuaGVpZ2h0KCkgPCBzdGF0aWNf
Y2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVzLmhlaWdodCgpKSkKLSAgICAgICAgcGF0dGVybkJv
dW5kYXJpZXMuc2V0SGVpZ2h0KHBhdHRlcm5TaXplLmhlaWdodCgpKTsKLQotICAgIC8vIEV2ZW50
dWFsbHkgY2FsY3VsYXRlIHRoZSBwYXR0ZXJuIGNvbnRlbnQgYm91bmRhcmllcyAob25seSBuZWVk
ZWQgd2l0aCBvdmVyZmxvdz0idmlzaWJsZSIpLgotICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHJl
bmRlcmVyKCktPnN0eWxlKCk7Ci0gICAgaWYgKHN0eWxlLT5vdmVyZmxvd1goKSA9PSBPVklTSUJM
RSAmJiBzdHlsZS0+b3ZlcmZsb3dZKCkgPT0gT1ZJU0lCTEUpIHsKLSAgICAgICAgZm9yIChOb2Rl
KiBuID0gYXR0cmlidXRlcy5wYXR0ZXJuQ29udGVudEVsZW1lbnQoKS0+Zmlyc3RDaGlsZCgpOyBu
OyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKCFuLT5pc1NWR0VsZW1l
bnQoKSB8fCAhc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG4pLT5pc1N0eWxlZFRyYW5zZm9ybWFi
bGUoKSB8fCAhbi0+cmVuZGVyZXIoKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy51bml0ZShuLT5yZW5kZXJlcigpLT5yZXBh
aW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIEFm
ZmluZVRyYW5zZm9ybSB2aWV3Qm94Q1RNID0gdmlld0JveFRvVmlld1RyYW5zZm9ybSh2aWV3Qm94
KCksIHByZXNlcnZlQXNwZWN0UmF0aW8oKSwgcGF0dGVybkJvdW5kYXJpZXMud2lkdGgoKSwgcGF0
dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkpOyAKLSAgICBGbG9hdFJlY3QgcGF0dGVybkJvdW5kYXJp
ZXNJbmNsdWRpbmdPdmVyZmxvdyA9IHBhdHRlcm5Cb3VuZGFyaWVzOwotCi0gICAgLy8gQXBwbHkg
b2JqZWN0Qm91bmRpbmdCb3hNb2RlIGZpeHVwIGZvciBwYXR0ZXJuQ29udGVudFVuaXRzLCBpZiB2
aWV3Qm94IGlzIG5vdCBzZXQuCi0gICAgaWYgKCFwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMuaXNF
bXB0eSgpKSB7Ci0gICAgICAgIGlmICghdmlld0JveENUTS5pc0lkZW50aXR5KCkpCi0gICAgICAg
ICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMgPSB2aWV3Qm94Q1RNLm1hcFJlY3QocGF0dGVy
bkNvbnRlbnRCb3VuZGFyaWVzKTsKLSAgICAgICAgZWxzZSBpZiAoYXR0cmlidXRlcy5ib3VuZGlu
Z0JveE1vZGVDb250ZW50KCkpCi0gICAgICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMg
PSBGbG9hdFJlY3QocGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzLngoKSAqIHRhcmdldFJlY3Qud2lk
dGgoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXR0ZXJuQ29udGVudEJvdW5kYXJpZXMueSgpICogdGFyZ2V0UmVjdC5oZWlnaHQoKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQ29udGVu
dEJvdW5kYXJpZXMud2lkdGgoKSAqIHRhcmdldFJlY3Qud2lkdGgoKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJp
ZXMuaGVpZ2h0KCkgKiB0YXJnZXRSZWN0LmhlaWdodCgpKTsKLQotICAgICAgICBwYXR0ZXJuQm91
bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LnVuaXRlKHBhdHRlcm5Db250ZW50Qm91bmRhcmllcyk7
Ci0gICAgfQotCi0gICAgSW50U2l6ZSBpbWFnZVNpemUobHJvdW5kZihwYXR0ZXJuQm91bmRhcmll
c0luY2x1ZGluZ092ZXJmbG93LndpZHRoKCkpLCBscm91bmRmKHBhdHRlcm5Cb3VuZGFyaWVzSW5j
bHVkaW5nT3ZlcmZsb3cuaGVpZ2h0KCkpKTsKLSAgICBjbGFtcEltYWdlQnVmZmVyU2l6ZVRvVmll
d3BvcnQoZG9jdW1lbnQoKS0+dmlldygpLCBpbWFnZVNpemUpOwotCi0gICAgT3duUHRyPEltYWdl
QnVmZmVyPiBwYXR0ZXJuSW1hZ2UgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGltYWdlU2l6ZSk7Ci0K
LSAgICBpZiAoIXBhdHRlcm5JbWFnZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0ID0gcGF0dGVybkltYWdlLT5jb250ZXh0KCk7Ci0gICAgQVNTRVJUKGNv
bnRleHQpOwotCi0gICAgY29udGV4dC0+c2F2ZSgpOwotCi0gICAgLy8gTW92ZSB0byBwYXR0ZXJu
IHN0YXJ0IG9yaWdpbgotICAgIGlmIChwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93
LmxvY2F0aW9uKCkgIT0gcGF0dGVybkJvdW5kYXJpZXMubG9jYXRpb24oKSkgewotICAgICAgICBj
b250ZXh0LT50cmFuc2xhdGUocGF0dGVybkJvdW5kYXJpZXMueCgpIC0gcGF0dGVybkJvdW5kYXJp
ZXNJbmNsdWRpbmdPdmVyZmxvdy54KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0
ZXJuQm91bmRhcmllcy55KCkgLSBwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93Lnko
KSk7Ci0KLSAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMuc2V0TG9jYXRpb24ocGF0dGVybkJvdW5k
YXJpZXNJbmNsdWRpbmdPdmVyZmxvdy5sb2NhdGlvbigpKTsKLSAgICB9Ci0KLSAgICAvLyBQcm9j
ZXNzIHZpZXdCb3ggb3IgYm91bmRpbmdCb3hNb2RlQ29udGVudCBjb3JyZWN0aW9uCi0gICAgaWYg
KCF2aWV3Qm94Q1RNLmlzSWRlbnRpdHkoKSkKLSAgICAgICAgY29udGV4dC0+Y29uY2F0Q1RNKHZp
ZXdCb3hDVE0pOwotICAgIGVsc2UgaWYgKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlQ29udGVu
dCgpKSB7Ci0gICAgICAgIGNvbnRleHQtPnRyYW5zbGF0ZSh0YXJnZXRSZWN0LngoKSwgdGFyZ2V0
UmVjdC55KCkpOwotICAgICAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUodGFyZ2V0UmVjdC53
aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpKSk7Ci0gICAgfQotCi0gICAgLy8gUmVuZGVyIHN1
YnRyZWUgaW50byBJbWFnZUJ1ZmZlcgotICAgIGZvciAoTm9kZSogbiA9IGF0dHJpYnV0ZXMucGF0
dGVybkNvbnRlbnRFbGVtZW50KCktPmZpcnN0Q2hpbGQoKTsgbjsgbiA9IG4tPm5leHRTaWJsaW5n
KCkpIHsKLSAgICAgICAgaWYgKCFuLT5pc1NWR0VsZW1lbnQoKSB8fCAhc3RhdGljX2Nhc3Q8U1ZH
RWxlbWVudCo+KG4pLT5pc1N0eWxlZCgpIHx8ICFuLT5yZW5kZXJlcigpKQotICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgIHJlbmRlclN1YnRyZWVUb0ltYWdlKHBhdHRlcm5JbWFnZS5nZXQo
KSwgbi0+cmVuZGVyZXIoKSk7Ci0gICAgfQotCi0gICAgY29udGV4dC0+cmVzdG9yZSgpOwotCi0g
ICAgbV9yZXNvdXJjZS0+c2V0UGF0dGVyblRyYW5zZm9ybShhdHRyaWJ1dGVzLnBhdHRlcm5UcmFu
c2Zvcm0oKSk7Ci0gICAgbV9yZXNvdXJjZS0+c2V0UGF0dGVybkJvdW5kYXJpZXMocGF0dGVybkJv
dW5kYXJpZXMpOyAKLSAgICBtX3Jlc291cmNlLT5zZXRUaWxlKHBhdHRlcm5JbWFnZS5yZWxlYXNl
KCkpOworICAgIGlmICghY2hhbmdlZEJ5UGFyc2VyKQorICAgICAgICBpbnZhbGlkYXRlUmVzb3Vy
Y2VDbGllbnRzKCk7CiB9CiAKIFJlbmRlck9iamVjdCogU1ZHUGF0dGVybkVsZW1lbnQ6OmNyZWF0
ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQogewotICAgIFJlbmRl
clNWR0NvbnRhaW5lciogcGF0dGVybkNvbnRhaW5lciA9IG5ldyAoYXJlbmEpIFJlbmRlclNWR0Nv
bnRhaW5lcih0aGlzKTsKLSAgICBwYXR0ZXJuQ29udGFpbmVyLT5zZXREcmF3c0NvbnRlbnRzKGZh
bHNlKTsKLSAgICByZXR1cm4gcGF0dGVybkNvbnRhaW5lcjsKLX0KLQotU1ZHUmVzb3VyY2UqIFNW
R1BhdHRlcm5FbGVtZW50OjpjYW52YXNSZXNvdXJjZShjb25zdCBSZW5kZXJPYmplY3QqKQotewot
ICAgIGlmICghbV9yZXNvdXJjZSkKLSAgICAgICAgbV9yZXNvdXJjZSA9IFNWR1BhaW50U2VydmVy
UGF0dGVybjo6Y3JlYXRlKHRoaXMpOwotCi0gICAgcmV0dXJuIG1fcmVzb3VyY2UuZ2V0KCk7Cisg
ICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNWR1Jlc291cmNlUGF0dGVybih0aGlzKTsKIH0K
IAogUGF0dGVybkF0dHJpYnV0ZXMgU1ZHUGF0dGVybkVsZW1lbnQ6OmNvbGxlY3RQYXR0ZXJuUHJv
cGVydGllcygpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgJKHJldmlzaW9uIDU4
MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMjIsOCArMjIsNiBAQAogI2RlZmluZSBTVkdQYXR0ZXJuRWxlbWVudF9oCiAKICNpZiBFTkFC
TEUoU1ZHKQotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1Jl
c291cmNlUGF0dGVybi5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQu
aCIKICNpbmNsdWRlICJTVkdGaXRUb1ZpZXdCb3guaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2Uu
aCIKQEAgLTU2LDcgKzU0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFs
IHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUq
IGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnRE
ZWx0YSA9IDApOwogCiAgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7Ci0gICAgICAgIHZpcnR1YWwgU1ZHUmVzb3Vy
Y2UqIGNhbnZhc1Jlc291cmNlKGNvbnN0IFJlbmRlck9iamVjdCopOworCisgICAgICAgIFBhdHRl
cm5BdHRyaWJ1dGVzIGNvbGxlY3RQYXR0ZXJuUHJvcGVydGllcygpIGNvbnN0OwogCiAgICAgcHJp
dmF0ZToKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdQYXR0ZXJuRWxlbWVu
dCwgU1ZHTmFtZXM6OnhBdHRyLCBTVkdMZW5ndGgsIFgsIHgpCkBAIC03NSwxNSArNzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8gU1ZHUGF0dGVybkVsZW1lbnQKICAgICAg
ICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6
OnZpZXdCb3hBdHRyLCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0gICAgICAgIERFQ0xB
UkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR05hbWVzOjpwcmVzZXJ2
ZUFzcGVjdFJhdGlvQXR0ciwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RS
YXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKLSAKLSAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZH
UGFpbnRTZXJ2ZXJQYXR0ZXJuPiBtX3Jlc291cmNlOwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAg
ZnJpZW5kIGNsYXNzIFNWR1BhaW50U2VydmVyUGF0dGVybjsKLSAgICAgICAgdm9pZCBidWlsZFBh
dHRlcm4oY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0KSBjb25zdDsKLQotICAgICAgICBQYXR0
ZXJuQXR0cmlidXRlcyBjb2xsZWN0UGF0dGVyblByb3BlcnRpZXMoKSBjb25zdDsKKyAgICAgICAg
REVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnBy
ZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFz
cGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKSAKICAgICB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2Vi
Q29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNo
cm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCi0gICAgICAgIHZpcnR1YWwg
Ym9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKiBzdHlsZSkgeyByZXR1cm4gU3R5bGVk
RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7IH0KICAgICAgICAgdmlydHVhbCBib29s
IHN1cHBvcnRzTWFya2VycygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHByaXZhdGU6
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHAJKHJldmlzaW9u
IDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAKICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUs
IDIwMDYsIDIwMDcgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIw
MDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDgg
RGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+CisgICAgQ29weXJpZ2h0IChDKSBSZXNlYXJj
aCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC0yOSw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2lu
Y2x1ZGUgIk1hcHBlZEF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIlJhZGlhbEdyYWRpZW50QXR0cmli
dXRlcy5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jl
c291cmNlUmFkaWFsR3JhZGllbnQuaCIKICNpbmNsdWRlICJTVkdMZW5ndGguaCIKICNpbmNsdWRl
ICJTVkdOYW1lcy5oIgpAQCAtNzcsMTMgKzc3LDEyIEBAIHZvaWQgU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50OjpzdmdBdHRyaWIKIHsKICAgICBTVkdHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJpYnV0
ZUNoYW5nZWQoYXR0ck5hbWUpOwogCi0gICAgaWYgKCFtX3Jlc291cmNlKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmN4QXR0ciB8fCBhdHRyTmFtZSA9
PSBTVkdOYW1lczo6Y3lBdHRyIHx8Ci0gICAgICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjpmeEF0
dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmZ5QXR0ciB8fAotICAgICAgICBhdHRyTmFtZSA9
PSBTVkdOYW1lczo6ckF0dHIpCi0gICAgICAgIG1fcmVzb3VyY2UtPmludmFsaWRhdGUoKTsKKyAg
ICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmN4QXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9
PSBTVkdOYW1lczo6Y3lBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpmeEF0
dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmZ5QXR0cgorICAgICAgICB8fCBh
dHRyTmFtZSA9PSBTVkdOYW1lczo6ckF0dHIpCisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZUNs
aWVudHMoKTsKIH0KIAogdm9pZCBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OnN5bmNocm9uaXpl
UHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCkBAIC0xMTEsNzcgKzExMCwx
OCBAQCB2b2lkIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6c3luY2hyb25pCiAgICAgICAgIHN5
bmNocm9uaXplUigpOwogfQogCi12b2lkIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6YnVpbGRH
cmFkaWVudCgpIGNvbnN0CitSZW5kZXJPYmplY3QqIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6
Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCiB7Ci0gICAg
UmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSBjb2xsZWN0R3JhZGllbnRQcm9w
ZXJ0aWVzKCk7Ci0KLSAgICBSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudD4gcmFk
aWFsR3JhZGllbnQgPSBXVEY6OnN0YXRpY19wb2ludGVyX2Nhc3Q8U1ZHUGFpbnRTZXJ2ZXJSYWRp
YWxHcmFkaWVudD4obV9yZXNvdXJjZSk7Ci0KLSAgICBGbG9hdFBvaW50IGZvY2FsUG9pbnQ7Ci0g
ICAgRmxvYXRQb2ludCBjZW50ZXJQb2ludDsKLSAgICBmbG9hdCByYWRpdXM7Ci0gICAgaWYgKGF0
dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpIHsKLSAgICAgICAgZm9jYWxQb2ludCA9IEZsb2F0
UG9pbnQoYXR0cmlidXRlcy5meCgpLnZhbHVlQXNQZXJjZW50YWdlKCksIGF0dHJpYnV0ZXMuZnko
KS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKLSAgICAgICAgY2VudGVyUG9pbnQgPSBGbG9hdFBvaW50
KGF0dHJpYnV0ZXMuY3goKS52YWx1ZUFzUGVyY2VudGFnZSgpLCBhdHRyaWJ1dGVzLmN5KCkudmFs
dWVBc1BlcmNlbnRhZ2UoKSk7Ci0gICAgICAgIHJhZGl1cyA9IGF0dHJpYnV0ZXMucigpLnZhbHVl
QXNQZXJjZW50YWdlKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgZm9jYWxQb2ludCA9IEZsb2F0
UG9pbnQoYXR0cmlidXRlcy5meCgpLnZhbHVlKHRoaXMpLCBhdHRyaWJ1dGVzLmZ5KCkudmFsdWUo
dGhpcykpOwotICAgICAgICBjZW50ZXJQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy5jeCgp
LnZhbHVlKHRoaXMpLCBhdHRyaWJ1dGVzLmN5KCkudmFsdWUodGhpcykpOwotICAgICAgICByYWRp
dXMgPSBhdHRyaWJ1dGVzLnIoKS52YWx1ZSh0aGlzKTsKLSAgICB9Ci0KLSAgICBGbG9hdFBvaW50
IGFkanVzdGVkRm9jYWxQb2ludCA9IGZvY2FsUG9pbnQ7Ci0gICAgZmxvYXQgZGZ4ID0gZm9jYWxQ
b2ludC54KCkgLSBjZW50ZXJQb2ludC54KCk7Ci0gICAgZmxvYXQgZGZ5ID0gZm9jYWxQb2ludC55
KCkgLSBjZW50ZXJQb2ludC55KCk7Ci0gICAgZmxvYXQgck1heCA9IDAuOTlmICogcmFkaXVzOwot
Ci0gICAgLy8gU3BlYzogSWYgKGZ4LCBmeSkgbGllcyBvdXRzaWRlIHRoZSBjaXJjbGUgZGVmaW5l
ZCBieSAoY3gsIGN5KSBhbmQKLSAgICAvLyByLCBzZXQgKGZ4LCBmeSkgdG8gdGhlIHBvaW50IG9m
IGludGVyc2VjdGlvbiBvZiB0aGUgbGluZSB0aHJvdWdoCi0gICAgLy8gKGZ4LCBmeSkgYW5kIHRo
ZSBjaXJjbGUuCi0gICAgLy8gV2Ugc2NhbGUgdGhlIHJhZGl1cyBieSAwLjk5IHRvIG1hdGNoIHRo
ZSBiZWhhdmlvciBvZiBGaXJlRm94LgotICAgIGlmIChzcXJ0KGRmeCAqIGRmeCArIGRmeSAqIGRm
eSkgPiByTWF4KSB7Ci0gICAgICAgIGZsb2F0IGFuZ2xlID0gYXRhbjJmKGRmeSwgZGZ4KTsKLQot
ICAgICAgICBkZnggPSBjb3NmKGFuZ2xlKSAqIHJNYXg7Ci0gICAgICAgIGRmeSA9IHNpbmYoYW5n
bGUpICogck1heDsKLSAgICAgICAgYWRqdXN0ZWRGb2NhbFBvaW50ID0gRmxvYXRQb2ludChkZngg
KyBjZW50ZXJQb2ludC54KCksIGRmeSArIGNlbnRlclBvaW50LnkoKSk7Ci0gICAgfQotCi0gICAg
UmVmUHRyPEdyYWRpZW50PiBncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoCi0gICAgICAgIGFk
anVzdGVkRm9jYWxQb2ludCwKLSAgICAgICAgMC5mLCAvLyBTVkcgZG9lcyBub3Qgc3VwcG9ydCBh
ICJmb2N1cyByYWRpdXMiCi0gICAgICAgIGNlbnRlclBvaW50LAotICAgICAgICByYWRpdXMpOwot
ICAgIGdyYWRpZW50LT5zZXRTcHJlYWRNZXRob2QoYXR0cmlidXRlcy5zcHJlYWRNZXRob2QoKSk7
Ci0KLSAgICBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiBzdG9wcyA9IGF0dHJpYnV0ZXMuc3RvcHMo
KTsKLSAgICBmbG9hdCBwcmV2aW91c09mZnNldCA9IDAuMGY7Ci0gICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IHN0b3BzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICBmbG9hdCBvZmZzZXQgPSBz
dGQ6Om1pbihzdGQ6Om1heChwcmV2aW91c09mZnNldCwgc3RvcHNbaV0uZmlyc3QpLCAxLjBmKTsK
LSAgICAgICAgIHByZXZpb3VzT2Zmc2V0ID0gb2Zmc2V0OwotICAgICAgICAgZ3JhZGllbnQtPmFk
ZENvbG9yU3RvcChvZmZzZXQsIHN0b3BzW2ldLnNlY29uZCk7Ci0gICAgfQotCi0gICAgcmFkaWFs
R3JhZGllbnQtPnNldEdyYWRpZW50KGdyYWRpZW50KTsKLQotICAgIGlmIChhdHRyaWJ1dGVzLnN0
b3BzKCkuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICByYWRpYWxHcmFkaWVudC0+
c2V0Qm91bmRpbmdCb3hNb2RlKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpOwotICAgIHJh
ZGlhbEdyYWRpZW50LT5zZXRHcmFkaWVudFRyYW5zZm9ybShhdHRyaWJ1dGVzLmdyYWRpZW50VHJh
bnNmb3JtKCkpOwotICAgIHJhZGlhbEdyYWRpZW50LT5zZXRHcmFkaWVudENlbnRlcihjZW50ZXJQ
b2ludCk7Ci0gICAgcmFkaWFsR3JhZGllbnQtPnNldEdyYWRpZW50Rm9jYWwoZm9jYWxQb2ludCk7
Ci0gICAgcmFkaWFsR3JhZGllbnQtPnNldEdyYWRpZW50UmFkaXVzKHJhZGl1cyk7Ci0gICAgcmFk
aWFsR3JhZGllbnQtPnNldEdyYWRpZW50U3RvcHMoYXR0cmlidXRlcy5zdG9wcygpKTsKKyAgICBy
ZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCh0aGlzKTsK
IH0KIAotUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6
Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpIGNvbnN0CitSYWRpYWxHcmFkaWVudEF0dHJpYnV0
ZXMgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCkK
IHsKICAgICBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMgYXR0cmlidXRlczsKLSAgICBIYXNoU2V0
PGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCo+IHByb2Nlc3NlZEdyYWRpZW50czsKKyAgICBIYXNo
U2V0PFNWR0dyYWRpZW50RWxlbWVudCo+IHByb2Nlc3NlZEdyYWRpZW50czsKIAogICAgIGJvb2wg
aXNSYWRpYWwgPSB0cnVlOwotICAgIGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogY3VycmVudCA9
IHRoaXM7CisgICAgU1ZHR3JhZGllbnRFbGVtZW50KiBjdXJyZW50ID0gdGhpczsKIAogICAgIHdo
aWxlIChjdXJyZW50KSB7CiAgICAgICAgIGlmICghYXR0cmlidXRlcy5oYXNTcHJlYWRNZXRob2Qo
KSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OnNwcmVhZE1ldGhvZEF0dHIpKQpA
QCAtMTk0LDEzICsxMzQsMTMgQEAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIFNWR1JhZGlhbEdy
YWRpZQogICAgICAgICAgICAgYXR0cmlidXRlcy5zZXRHcmFkaWVudFRyYW5zZm9ybShjdXJyZW50
LT5ncmFkaWVudFRyYW5zZm9ybSgpLT5jb25zb2xpZGF0ZSgpLm1hdHJpeCgpKTsKIAogICAgICAg
ICBpZiAoIWF0dHJpYnV0ZXMuaGFzU3RvcHMoKSkgewotICAgICAgICAgICAgY29uc3QgVmVjdG9y
PFNWR0dyYWRpZW50U3RvcD4mIHN0b3BzKGN1cnJlbnQtPmJ1aWxkU3RvcHMoKSk7CisgICAgICAg
ICAgICBjb25zdCBWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mIHN0b3BzKGN1cnJlbnQtPmJ1
aWxkU3RvcHMoKSk7CiAgICAgICAgICAgICBpZiAoIXN0b3BzLmlzRW1wdHkoKSkKICAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGVzLnNldFN0b3BzKHN0b3BzKTsKICAgICAgICAgfQogCiAgICAgICAg
IGlmIChpc1JhZGlhbCkgewotICAgICAgICAgICAgY29uc3QgU1ZHUmFkaWFsR3JhZGllbnRFbGVt
ZW50KiByYWRpYWwgPSBzdGF0aWNfY2FzdDxjb25zdCBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQq
PihjdXJyZW50KTsKKyAgICAgICAgICAgIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCogcmFkaWFs
ID0gc3RhdGljX2Nhc3Q8U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Kj4oY3VycmVudCk7CiAKICAg
ICAgICAgICAgIGlmICghYXR0cmlidXRlcy5oYXNDeCgpICYmIGN1cnJlbnQtPmhhc0F0dHJpYnV0
ZShTVkdOYW1lczo6Y3hBdHRyKSkKICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLnNldEN4KHJh
ZGlhbC0+Y3goKSk7CkBAIC0yMjMsMTMgKzE2MywxMyBAQCBSYWRpYWxHcmFkaWVudEF0dHJpYnV0
ZXMgU1ZHUmFkaWFsR3JhZGllCiAgICAgICAgIC8vIFJlc3BlY3QgeGxpbms6aHJlZiwgdGFrZSBh
dHRyaWJ1dGVzIGZyb20gcmVmZXJlbmNlZCBlbGVtZW50CiAgICAgICAgIE5vZGUqIHJlZk5vZGUg
PSBvd25lckRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFy
Z2V0KGN1cnJlbnQtPmhyZWYoKSkpOwogICAgICAgICBpZiAocmVmTm9kZSAmJiAocmVmTm9kZS0+
aGFzVGFnTmFtZShTVkdOYW1lczo6cmFkaWFsR3JhZGllbnRUYWcpIHx8IHJlZk5vZGUtPmhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OmxpbmVhckdyYWRpZW50VGFnKSkpIHsKLSAgICAgICAgICAgIGN1cnJl
bnQgPSBzdGF0aWNfY2FzdDxjb25zdCBTVkdHcmFkaWVudEVsZW1lbnQqPihjb25zdF9jYXN0PGNv
bnN0IE5vZGUqPihyZWZOb2RlKSk7CisgICAgICAgICAgICBjdXJyZW50ID0gc3RhdGljX2Nhc3Q8
U1ZHR3JhZGllbnRFbGVtZW50Kj4ocmVmTm9kZSk7CiAKICAgICAgICAgICAgIC8vIEN5Y2xlIGRl
dGVjdGlvbgogICAgICAgICAgICAgaWYgKHByb2Nlc3NlZEdyYWRpZW50cy5jb250YWlucyhjdXJy
ZW50KSkKICAgICAgICAgICAgICAgICByZXR1cm4gUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzKCk7
CiAKLSAgICAgICAgICAgIGlzUmFkaWFsID0gY3VycmVudC0+Z3JhZGllbnRUeXBlKCkgPT0gUmFk
aWFsR3JhZGllbnRQYWludFNlcnZlcjsKKyAgICAgICAgICAgIGlzUmFkaWFsID0gY3VycmVudC0+
aGFzVGFnTmFtZShTVkdOYW1lczo6cmFkaWFsR3JhZGllbnRUYWcpOwogICAgICAgICB9IGVsc2UK
ICAgICAgICAgICAgIGN1cnJlbnQgPSAwOwogICAgIH0KQEAgLTI0Myw2ICsxODMsMzcgQEAgUmFk
aWFsR3JhZGllbnRBdHRyaWJ1dGVzIFNWR1JhZGlhbEdyYWRpZQogCiAgICAgcmV0dXJuIGF0dHJp
YnV0ZXM7CiB9CisKK3ZvaWQgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OjpjYWxjdWxhdGVGb2Nh
bENlbnRlclBvaW50c0FuZFJhZGl1cyhjb25zdCBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMmIGF0
dHJpYnV0ZXMsIEZsb2F0UG9pbnQmIGZvY2FsUG9pbnQsIEZsb2F0UG9pbnQmIGNlbnRlclBvaW50
LCBmbG9hdCYgcmFkaXVzKQoreworICAgIC8vIERldGVybWluZSBncmFkaWVudCBmb2NhbC9jZW50
ZXIgcG9pbnRzIGFuZCByYWRpdXMKKyAgICBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUo
KSkgeworICAgICAgICBmb2NhbFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmZ4KCkudmFs
dWVBc1BlcmNlbnRhZ2UoKSwgYXR0cmlidXRlcy5meSgpLnZhbHVlQXNQZXJjZW50YWdlKCkpOwor
ICAgICAgICBjZW50ZXJQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy5jeCgpLnZhbHVlQXNQ
ZXJjZW50YWdlKCksIGF0dHJpYnV0ZXMuY3koKS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKKyAgICAg
ICAgcmFkaXVzID0gYXR0cmlidXRlcy5yKCkudmFsdWVBc1BlcmNlbnRhZ2UoKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBmb2NhbFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmZ4KCkudmFs
dWUodGhpcyksIGF0dHJpYnV0ZXMuZnkoKS52YWx1ZSh0aGlzKSk7CisgICAgICAgIGNlbnRlclBv
aW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmN4KCkudmFsdWUodGhpcyksIGF0dHJpYnV0ZXMu
Y3koKS52YWx1ZSh0aGlzKSk7CisgICAgICAgIHJhZGl1cyA9IGF0dHJpYnV0ZXMucigpLnZhbHVl
KHRoaXMpOworICAgIH0KKworICAgIC8vIEV2ZW50dWFsbHkgYWRqdXN0IGZvY2FsIHBvaW50cywg
YXMgZGVzY3JpYmVkIGJlbG93CisgICAgZmxvYXQgZGVsdGFYID0gZm9jYWxQb2ludC54KCkgLSBj
ZW50ZXJQb2ludC54KCk7CisgICAgZmxvYXQgZGVsdGFZID0gZm9jYWxQb2ludC55KCkgLSBjZW50
ZXJQb2ludC55KCk7CisgICAgZmxvYXQgcmFkaXVzTWF4ID0gMC45OWYgKiByYWRpdXM7CisKKyAg
ICAvLyBTcGVjOiBJZiAoZngsIGZ5KSBsaWVzIG91dHNpZGUgdGhlIGNpcmNsZSBkZWZpbmVkIGJ5
IChjeCwgY3kpIGFuZCByLCBzZXQKKyAgICAvLyAoZngsIGZ5KSB0byB0aGUgcG9pbnQgb2YgaW50
ZXJzZWN0aW9uIG9mIHRoZSBsaW5lIHRocm91Z2ggKGZ4LCBmeSkgYW5kIHRoZSBjaXJjbGUuCisg
ICAgLy8gV2Ugc2NhbGUgdGhlIHJhZGl1cyBieSAwLjk5IHRvIG1hdGNoIHRoZSBiZWhhdmlvciBv
ZiBGaXJlRm94LgorICAgIGlmIChzcXJ0KGRlbHRhWCAqIGRlbHRhWCArIGRlbHRhWSAqIGRlbHRh
WSkgPiByYWRpdXNNYXgpIHsKKyAgICAgICAgZmxvYXQgYW5nbGUgPSBhdGFuMmYoZGVsdGFZLCBk
ZWx0YVgpOworCisgICAgICAgIGRlbHRhWCA9IGNvc2YoYW5nbGUpICogcmFkaXVzTWF4OworICAg
ICAgICBkZWx0YVkgPSBzaW5mKGFuZ2xlKSAqIHJhZGl1c01heDsKKyAgICAgICAgZm9jYWxQb2lu
dCA9IEZsb2F0UG9pbnQoZGVsdGFYICsgY2VudGVyUG9pbnQueCgpLCBkZWx0YVkgKyBjZW50ZXJQ
b2ludC55KCkpOworICAgIH0KK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysr
IFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCwxMSArMzgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZv
aWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAot
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCB2b2lkIGJ1aWxkR3JhZGllbnQoKSBjb25z
dDsKLSAgICAgICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5cGUgZ3JhZGllbnRUeXBlKCkgY29u
c3QgeyByZXR1cm4gUmFkaWFsR3JhZGllbnRQYWludFNlcnZlcjsgfQorICAgICAgICB2aXJ0dWFs
IFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSop
OwogCi0gICAgICAgIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBjb2xsZWN0R3JhZGllbnRQcm9w
ZXJ0aWVzKCkgY29uc3Q7CisgICAgICAgIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBjb2xsZWN0
R3JhZGllbnRQcm9wZXJ0aWVzKCk7CisgICAgICAgIHZvaWQgY2FsY3VsYXRlRm9jYWxDZW50ZXJQ
b2ludHNBbmRSYWRpdXMoY29uc3QgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzJiwgRmxvYXRQb2lu
dCYgZm9jYWxQb2ludCwgRmxvYXRQb2ludCYgY2VudGVyUG9pbnQsIGZsb2F0JiByYWRpdXMpOwog
CiAgICAgcHJpdmF0ZToKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdSYWRp
YWxHcmFkaWVudEVsZW1lbnQsIFNWR05hbWVzOjpjeEF0dHIsIFNWR0xlbmd0aCwgQ3gsIGN4KQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2
Zy9TVkdTdG9wRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDggKzQ5LDYgQEAgdm9p
ZCBTVkdTdG9wRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dAogICAgICAgICAgICAgc2V0T2Zm
c2V0QmFzZVZhbHVlKHZhbHVlLmxlZnQodmFsdWUubGVuZ3RoKCkgLSAxKS50b0Zsb2F0KCkgLyAx
MDAuMGYpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBzZXRPZmZzZXRCYXNlVmFsdWUodmFs
dWUudG9GbG9hdCgpKTsKLQotICAgICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7CiAgICAgfSBl
bHNlCiAgICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIp
OwogfQpAQCAtNjgsNiArNjYsMTUgQEAgUmVuZGVyT2JqZWN0KiBTVkdTdG9wRWxlbWVudDo6Y3Jl
YXRlUmVuZAogICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJTVkdHcmFkaWVudFN0b3AodGhp
cyk7CiB9CiAKK0NvbG9yIFNWR1N0b3BFbGVtZW50OjpzdG9wQ29sb3JJbmNsdWRpbmdPcGFjaXR5
KCkgY29uc3QKK3sKKyAgICBBU1NFUlQocmVuZGVyZXIoKSk7CisgICAgQVNTRVJUKHJlbmRlcmVy
KCktPnN0eWxlKCkpOworCisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gcmVu
ZGVyZXIoKS0+c3R5bGUoKS0+c3ZnU3R5bGUoKTsKKyAgICByZXR1cm4gY29sb3JXaXRoT3ZlcnJp
ZGVBbHBoYShzdmdTdHlsZS0+c3RvcENvbG9yKCkucmdiKCksIHN2Z1N0eWxlLT5zdG9wT3BhY2l0
eSgpKTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR1N0b3BFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1l
bnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMiwxMyArMzIsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBTVkdTdG9wRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKICAg
ICAgICAgdmlydHVhbCB+U1ZHU3RvcEVsZW1lbnQoKTsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQg
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAorICAgICAg
ICBDb2xvciBzdG9wQ29sb3JJbmNsdWRpbmdPcGFjaXR5KCkgY29uc3Q7CisKICAgICBwcml2YXRl
OgogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNHcmFkaWVudFN0b3AoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBl
ZEF0dHJpYnV0ZSopOwotCiAgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5k
ZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKICAgICAgICAgREVDTEFSRV9BTklN
QVRFRF9QUk9QRVJUWShTVkdTdG9wRWxlbWVudCwgU1ZHTmFtZXM6Om9mZnNldEF0dHIsIGZsb2F0
LCBPZmZzZXQsIG9mZnNldCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCShyZXZpc2lv
biA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MSw3ICs0MSw2IEBACiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJT
VkdSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKLSNpbmNsdWRl
ICJTVkdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgogCkBAIC02Myw3ICs2Miw2IEBAIFNWR1N0eWxlZEVsZW1lbnQ6OlNW
R1N0eWxlZEVsZW1lbnQoY29uc3QKIAogU1ZHU3R5bGVkRWxlbWVudDo6flNWR1N0eWxlZEVsZW1l
bnQoKQogewotICAgIFNWR1Jlc291cmNlOjpyZW1vdmVDbGllbnQodGhpcyk7CiB9CiAKIGJvb2wg
U1ZHU3R5bGVkRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSogc3R5bGUpCkBA
IC0yMDAsMTkgKzE5OCwyMSBAQCB2b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNo
YW5nCiAgICAgaWYgKGF0dHJOYW1lLm1hdGNoZXMoSFRNTE5hbWVzOjpjbGFzc0F0dHIpKQogICAg
ICAgICBjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY2xhc3NOYW1lKCkpOwogCisgICAgUmVuZGVyT2Jq
ZWN0KiBvYmplY3QgPSByZW5kZXJlcigpOworCiAgICAgaWYgKGF0dHJOYW1lID09IGlkQXR0cmli
dXRlTmFtZSgpKSB7CiAgICAgICAgIC8vIE5vdGlmeSByZXNvdXJjZXMgYWJvdXQgaWQgY2hhbmdl
cywgdGhpcyBpcyBpbXBvcnRhbnQgYXMgd2UgY2FjaGUgcmVzb3VyY2VzIGJ5IGlkIGluIFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucwotICAgICAgICBpZiAocmVuZGVyZXIoKSAmJiByZW5kZXJlcigpLT5p
c1NWR1Jlc291cmNlKCkpIHsKLSAgICAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlKiByZXNvdXJj
ZSA9IHJlbmRlcmVyKCktPnRvUmVuZGVyU1ZHUmVzb3VyY2UoKTsKLSAgICAgICAgICAgIHJlc291
cmNlLT5pZENoYW5nZWQoKTsKLSAgICAgICAgfQorICAgICAgICBpZiAob2JqZWN0ICYmIG9iamVj
dC0+aXNTVkdSZXNvdXJjZUNvbnRhaW5lcigpKQorICAgICAgICAgICAgb2JqZWN0LT50b1JlbmRl
clNWR1Jlc291cmNlQ29udGFpbmVyKCktPmlkQ2hhbmdlZCgpOwogICAgIH0KIAotICAgIC8vIElm
IHdlJ3JlIHRoZSBjaGlsZCBvZiBhIHJlc291cmNlIGVsZW1lbnQsIGJlIHN1cmUgdG8gaW52YWxp
ZGF0ZSBpdC4KLSAgICBpbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3RvckNoYWluKCk7CisgICAg
aWYgKCFkb2N1bWVudCgpLT5wYXJzaW5nKCkgJiYgb2JqZWN0KSB7CisgICAgICAgIC8vIElmIHdl
J3JlIHRoZSBjaGlsZCBvZiBhIHJlc291cmNlIGVsZW1lbnQsIHRlbGwgdGhlIHJlc291cmNlIChh
bmQgZXZlbnR1YWxseSBpdHMgcmVzb3VyY2VzKSB0aGF0IHdlJ3ZlIGNoYW5nZWQuCisgICAgICAg
IGludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4oKTsKIAotICAgIC8vIElmIHRoZSBl
bGVtZW50IGlzIHVzaW5nIHJlc291cmNlcywgaW52YWxpZGF0ZSB0aGVtLgotICAgIGludmFsaWRh
dGVSZXNvdXJjZXMoKTsKKyAgICAgICAgLy8gSWYgd2UncmUgcmVmZXJlbmNpbmcgcmVzb3VyY2Vz
LCB0ZWxsIHRoZW0gd2UndmUgY2hhbmdlZC4KKyAgICAgICAgZGVyZWdpc3RlckZyb21SZXNvdXJj
ZXMob2JqZWN0KTsKKyAgICB9CiAKICAgICAvLyBJbnZhbGlkYXRlIGFsbCBTVkdFbGVtZW50SW5z
dGFuY2VzIGFzc29jaWF0ZWQgd2l0aCB1cwogICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxp
ZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudCh0aGlzKTsKQEAgLTIyNiwyMCArMjI2LDYgQEAgdm9p
ZCBTVkdTdHlsZWRFbGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcgogICAgICAgICBzeW5jaHJvbml6
ZUNsYXNzTmFtZSgpOwogfQogCi12b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVSZXNv
dXJjZXMoKQotewotICAgIFJlbmRlck9iamVjdCogb2JqZWN0ID0gcmVuZGVyZXIoKTsKLSAgICBp
ZiAoIW9iamVjdCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRG9jdW1lbnQqIGRvY3VtZW50ID0g
dGhpcy0+ZG9jdW1lbnQoKTsKLQotICAgIGlmIChkb2N1bWVudC0+cGFyc2luZygpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBkZXJlZ2lzdGVyRnJvbVJlc291cmNlcyhvYmplY3QpOwotfQotCiB2
b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4o
KSBjb25zdAogewogICAgIE5vZGUqIG5vZGUgPSBwYXJlbnROb2RlKCk7CkBAIC0yNDgsMjUgKzIz
NCwyNSBAQCB2b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVSZXNvdXJjCiAgICAgICAg
ICAgICBicmVhazsKIAogICAgICAgICBTVkdFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8
U1ZHRWxlbWVudCo+KG5vZGUpOwotICAgICAgICBpZiAoU1ZHU3R5bGVkRWxlbWVudCogc3R5bGVk
RWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihlbGVtZW50LT5pc1N0eWxl
ZCgpID8gZWxlbWVudCA6IDApKQotICAgICAgICAgICAgc3R5bGVkRWxlbWVudC0+aW52YWxpZGF0
ZUNhbnZhc1Jlc291cmNlcygpOworICAgICAgICBpZiAoU1ZHU3R5bGVkRWxlbWVudCogc3R5bGVk
RWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihlbGVtZW50LT5pc1N0eWxl
ZCgpID8gZWxlbWVudCA6IDApKSB7CisgICAgICAgICAgICBzdHlsZWRFbGVtZW50LT5pbnZhbGlk
YXRlUmVzb3VyY2VDbGllbnRzKCk7CisKKyAgICAgICAgICAgIC8vIElmIHdlIGZvdW5kIHRoZSBm
aXJzdCByZXNvdXJjZSBpbiB0aGUgYW5jZXN0b3IgY2hhaW4sIGltbWVkaWF0ZWx5IHN0b3AuCisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogCiAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJl
bnROb2RlKCk7CiAgICAgfQogfQogCi12b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVD
YW52YXNSZXNvdXJjZXMoKQordm9pZCBTVkdTdHlsZWRFbGVtZW50OjppbnZhbGlkYXRlUmVzb3Vy
Y2VDbGllbnRzKCkKIHsKICAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRlcmVyKCk7CiAg
ICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChvYmplY3QtPmlzU1ZH
UmVzb3VyY2UoKSkKLSAgICAgICAgb2JqZWN0LT50b1JlbmRlclNWR1Jlc291cmNlKCktPmludmFs
aWRhdGVDbGllbnRzKCk7Ci0KLSAgICAvLyBUaGUgZm9sbG93aW5nIGxpbmVzIHdpbGwgYmUgcmVt
b3ZlZCBzb29uLCBvbmNlIGFsbCByZXNvdXJjZXMgYXJlIGhhbmRsZWQgYnkgcmVuZGVyZXJzLgot
ICAgIGlmIChTVkdSZXNvdXJjZSogcmVzb3VyY2UgPSBjYW52YXNSZXNvdXJjZShvYmplY3QpKQot
ICAgICAgICByZXNvdXJjZS0+aW52YWxpZGF0ZSgpOworICAgIGlmIChvYmplY3QtPmlzU1ZHUmVz
b3VyY2VDb250YWluZXIoKSkKKyAgICAgICAgb2JqZWN0LT50b1JlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyKCktPmludmFsaWRhdGVDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZHU3R5bGVkRWxlbWVu
dDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFu
Z2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQpAQCAtMjc0LDcgKzI2
MCw4IEBAIHZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGIKICAgICBTVkdF
bGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFm
dGVyQ2hhbmdlLCBjaGlsZENvdW50RGVsdGEpOwogCiAgICAgLy8gSW52YWxpZGF0ZSBhbGwgU1ZH
RWxlbWVudEluc3RhbmNlcyBhc3NvY2lhdGVkIHdpdGggdXMKLSAgICBTVkdFbGVtZW50SW5zdGFu
Y2U6OmludmFsaWRhdGVBbGxJbnN0YW5jZXNPZkVsZW1lbnQodGhpcyk7CisgICAgaWYgKCFjaGFu
Z2VkQnlQYXJzZXIpCisgICAgICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbElu
c3RhbmNlc09mRWxlbWVudCh0aGlzKTsKIH0KIAogUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gU1ZH
U3R5bGVkRWxlbWVudDo6cmVzb2x2ZVN0eWxlKFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkKQEAg
LTMwOSwxMiArMjk2LDYgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gU1ZHU3R5bGVkRWxlbWVudDo6
ZwogICAgIHJldHVybiBjc3NTVkdBdHRyLT5zdHlsZSgpLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKG5h
bWUpOwogfQogCi12b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OmRldGFjaCgpCi17Ci0gICAgU1ZHUmVz
b3VyY2U6OnJlbW92ZUNsaWVudCh0aGlzKTsKLSAgICBTVkdFbGVtZW50OjpkZXRhY2goKTsKLX0K
LQogYm9vbCBTVkdTdHlsZWRFbGVtZW50OjppbnN0YW5jZVVwZGF0ZXNCbG9ja2VkKCkgY29uc3QK
IHsKICAgICByZXR1cm4gaGFzUmFyZVNWR0RhdGEoKSAmJiByYXJlU1ZHRGF0YSgpLT5pbnN0YW5j
ZVVwZGF0ZXNCbG9ja2VkKCk7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5oCShyZXZpc2lvbiA1
ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMjksOCArMjksNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTVkdS
ZXNvdXJjZTsKLQogICAgIHZvaWQgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNoTWFwPEF0
b21pY1N0cmluZ0ltcGwqLCBpbnQ+KiBwcm9wZXJ0eU5hbWVUb0lkTWFwLCBjb25zdCBRdWFsaWZp
ZWROYW1lJiBhdHRyTmFtZSk7CiAKICAgICBjbGFzcyBTVkdTdHlsZWRFbGVtZW50IDogcHVibGlj
IFNWR0VsZW1lbnQsCkBAIC00OSw3ICs0Nyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAgICAg
ICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSopOwotICAgICAgICB2
aXJ0dWFsIFNWR1Jlc291cmNlKiBjYW52YXNSZXNvdXJjZShjb25zdCBSZW5kZXJPYmplY3QqKSB7
IHJldHVybiAwOyB9CiAKICAgICAgICAgdmlydHVhbCBib29sIG1hcFRvRW50cnkoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIE1hcHBlZEF0dHJpYnV0ZUVudHJ5JikgY29uc3Q7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqKTsKQEAgLTYxLDEw
ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gQ2VudHJhbGl6ZWQgcGxh
Y2UgdG8gZm9yY2UgYSBtYW51YWwgc3R5bGUgcmVzb2x1dGlvbi4gSGFja3kgYnV0IG5lZWRlZCBm
b3Igbm93LgogICAgICAgICBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiByZXNvbHZlU3R5bGUoUmVu
ZGVyU3R5bGUqIHBhcmVudFN0eWxlKTsKIAorICAgICAgICB2b2lkIGludmFsaWRhdGVSZXNvdXJj
ZUNsaWVudHMoKTsKICAgICAgICAgdm9pZCBpbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3RvckNo
YWluKCkgY29uc3Q7Ci0gICAgICAgIHZvaWQgaW52YWxpZGF0ZVJlc291cmNlcygpOwotCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKIAogICAgICAgICBib29sIGluc3RhbmNlVXBkYXRl
c0Jsb2NrZWQoKSBjb25zdDsKICAgICAgICAgdm9pZCBzZXRJbnN0YW5jZVVwZGF0ZXNCbG9ja2Vk
KGJvb2wpOwpAQCAtNzQsOCArNjksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHJvdGVj
dGVkOiAKICAgICAgICAgc3RhdGljIGludCBjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0cmlidXRlTmFt
ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKLSAgICAgICAgdm9pZCBpbnZhbGlkYXRlQ2FudmFz
UmVzb3VyY2VzKCk7Ci0KICAgICBwcml2YXRlOgogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BS
T1BFUlRZKFNWR1N0eWxlZEVsZW1lbnQsIEhUTUxOYW1lczo6Y2xhc3NBdHRyLCBTdHJpbmcsIENs
YXNzTmFtZSwgY2xhc3NOYW1lKQogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0
aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQu
aAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSop
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZp
ZWROYW1lJik7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0
eWxlKiBzdHlsZSkgeyByZXR1cm4gU3R5bGVkRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChzdHls
ZSk7IH0KICAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRl
ckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKIAogICAgICAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoTm9kZSopIGNvbnN0OwpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFp
bnRTZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWludFNl
cnZlci5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50
U2VydmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsOTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8K
LQotI2lmbmRlZiBTVkdQYWludFNlcnZlcl9oCi0jZGVmaW5lIFNWR1BhaW50U2VydmVyX2gKLQot
I2lmIEVOQUJMRShTVkcpCi0KLSNpbmNsdWRlICJEYXNoQXJyYXkuaCIKLSNpbmNsdWRlICJSZW5k
ZXJPYmplY3QuaCIKLSNpbmNsdWRlICJTVkdSZXNvdXJjZS5oIgotCi0jaWYgUExBVEZPUk0oQ0cp
Ci0jaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+Ci0j
ZW5kaWYKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0gICAgZW51bSBTVkdQYWludFNlcnZlclR5
cGUgewotICAgICAgICAvLyBQYWludGluZyBtb2RlCi0gICAgICAgIFNvbGlkUGFpbnRTZXJ2ZXIg
PSAwLAotICAgICAgICBQYXR0ZXJuUGFpbnRTZXJ2ZXIgPSAxLAotICAgICAgICBMaW5lYXJHcmFk
aWVudFBhaW50U2VydmVyID0gMiwKLSAgICAgICAgUmFkaWFsR3JhZGllbnRQYWludFNlcnZlciA9
IDMKLSAgICB9OwotCi0gICAgZW51bSBTVkdQYWludFRhcmdldFR5cGUgewotICAgICAgICAvLyBU
YXJnZXQgbW9kZQotICAgICAgICBBcHBseVRvRmlsbFRhcmdldFR5cGUgPSAxLAotICAgICAgICBB
cHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSA9IDIKLSAgICB9OwotCi0gICAgY2xhc3MgR3JhcGhpY3ND
b250ZXh0OwotICAgIGNsYXNzIFJlbmRlck9iamVjdDsKLSAgICBjbGFzcyBSZW5kZXJTdHlsZTsK
LSAgICBjbGFzcyBTVkdQYWludFNlcnZlclNvbGlkOwotCi0gICAgY2xhc3MgU1ZHUGFpbnRTZXJ2
ZXIgOiBwdWJsaWMgU1ZHUmVzb3VyY2UgewotICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+
U1ZHUGFpbnRTZXJ2ZXIoKTsKLQotICAgICAgICB2aXJ0dWFsIFNWR1Jlc291cmNlVHlwZSByZXNv
dXJjZVR5cGUoKSBjb25zdCB7IHJldHVybiBQYWludFNlcnZlclJlc291cmNlVHlwZTsgfQotCi0g
ICAgICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCA9IDA7Ci0gICAg
ICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFt
JikgY29uc3QgPSAwOwotCi0gICAgICAgIC8vIFRvIGJlIGltcGxlbWVudGVkIGluIHBsYXRmb3Jt
IHNwZWNpZmljIGNvZGUuCi0gICAgICAgIHZpcnR1YWwgdm9pZCBkcmF3KEdyYXBoaWNzQ29udGV4
dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdldFR5cGUpIGNvbnN0OwotICAg
ICAgICB2aXJ0dWFsIHZvaWQgdGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRl
ck9iamVjdCosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCA9IGZhbHNl
KSBjb25zdDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHJlbmRlclBhdGgoR3JhcGhpY3NDb250ZXh0
KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIFNWR1BhaW50VGFyZ2V0VHlwZSkgY29uc3Q7Ci0KLSAg
ICAgICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJP
YmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBpc1Bh
aW50aW5nVGV4dCA9IGZhbHNlKSBjb25zdCA9IDA7Ci0KLSAgICAgICAgYm9vbCBzZXR1cChHcmFw
aGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBi
b29sIGlzUGFpbnRpbmdUZXh0ID0gZmFsc2UpIGNvbnN0OwotCi0gICAgICAgIHN0YXRpYyBTVkdQ
YWludFNlcnZlciogc3Ryb2tlUGFpbnRTZXJ2ZXIoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBS
ZW5kZXJPYmplY3QqKTsKLSAgICAgICAgc3RhdGljIFNWR1BhaW50U2VydmVyKiBmaWxsUGFpbnRT
ZXJ2ZXIoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJPYmplY3QqKTsKLSAgICAgICAg
c3RhdGljIFNWR1BhaW50U2VydmVyU29saWQqIHNoYXJlZFNvbGlkUGFpbnRTZXJ2ZXIoKTsKLQot
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXIoKTsgICAgICAgIAotICAgIH07
Ci0KLSAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mLCBjb25zdCBTVkdQYWlu
dFNlcnZlciYpOwotCi0gICAgU1ZHUGFpbnRTZXJ2ZXIqIGdldFBhaW50U2VydmVyQnlJZChEb2N1
bWVudCosIGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IFJlbmRlck9iamVjdCopOwotCi0gICAg
dm9pZCBhcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFJl
bmRlclN0eWxlKiwgY29uc3QgUmVuZGVyT2JqZWN0Kik7Ci0gICAgRGFzaEFycmF5IGRhc2hBcnJh
eUZyb21SZW5kZXJpbmdTdHlsZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxl
KiByb290U3R5bGUpOwotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKLQotI2VuZGlm
IC8vIFNWR1BhaW50U2VydmVyX2gKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291
cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5j
cHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA2LCAyMDA4IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIs
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNW
R1Jlc291cmNlLmgiCi0KLSNpbmNsdWRlICJSZW5kZXJQYXRoLmgiCi0jaW5jbHVkZSAiU1ZHRWxl
bWVudC5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi10eXBlZGVmIEhhc2hTZXQ8U1ZHUmVzb3VyY2UqPiBSZXNvdXJjZVNldDsKLQotc3Rh
dGljIFJlc291cmNlU2V0JiByZXNvdXJjZVNldCgpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChSZXNvdXJjZVNldCwgc2V0LCAoKSk7Ci0gICAgcmV0dXJuIHNldDsKLX0KLQotU1ZHUmVzb3Vy
Y2U6OlNWR1Jlc291cmNlKCkKLXsKLSAgICBBU1NFUlQoIXJlc291cmNlU2V0KCkuY29udGFpbnMo
dGhpcykpOwotICAgIHJlc291cmNlU2V0KCkuYWRkKHRoaXMpOwotfQotCi1TVkdSZXNvdXJjZTo6
flNWR1Jlc291cmNlKCkKLXsKLSAgICBBU1NFUlQocmVzb3VyY2VTZXQoKS5jb250YWlucyh0aGlz
KSk7Ci0gICAgcmVzb3VyY2VTZXQoKS5yZW1vdmUodGhpcyk7Ci19Ci0KLXZvaWQgU1ZHUmVzb3Vy
Y2U6OmludmFsaWRhdGUoKQotewotICAgIEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+Ojpjb25z
dF9pdGVyYXRvciBpdCA9IG1fY2xpZW50cy5iZWdpbigpOwotICAgIGNvbnN0IEhhc2hTZXQ8U1ZH
U3R5bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX2NsaWVudHMuZW5kKCk7Ci0K
LSAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQq
IGN1ciA9ICppdDsKLQotICAgICAgICBpZiAoY3VyLT5yZW5kZXJlcigpKQotICAgICAgICAgICAg
Y3VyLT5yZW5kZXJlcigpLT5zZXROZWVkc0xheW91dCh0cnVlKTsKLQotICAgICAgICBjdXItPmlu
dmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4oKTsKLSAgICB9Ci19Ci0KLXZvaWQgU1ZH
UmVzb3VyY2U6OmludmFsaWRhdGVDbGllbnRzKEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+IGNs
aWVudHMpCi17Ci0gICAgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj46OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gY2xpZW50cy5iZWdpbigpOwotICAgIGNvbnN0IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVu
dCo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBjbGllbnRzLmVuZCgpOwotCi0gICAgZm9yICg7IGl0
ICE9IGVuZDsgKytpdCkgewotICAgICAgICBTVkdTdHlsZWRFbGVtZW50KiBjdXIgPSAqaXQ7Ci0K
LSAgICAgICAgaWYgKGN1ci0+cmVuZGVyZXIoKSkKLSAgICAgICAgICAgIGN1ci0+cmVuZGVyZXIo
KS0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7Ci0KLSAgICAgICAgY3VyLT5pbnZhbGlkYXRlUmVzb3Vy
Y2VzSW5BbmNlc3RvckNoYWluKCk7Ci0gICAgfQotfQotCi12b2lkIFNWR1Jlc291cmNlOjpyZW1v
dmVDbGllbnQoU1ZHU3R5bGVkRWxlbWVudCogaXRlbSkgCi17Ci0gICAgUmVzb3VyY2VTZXQ6Oml0
ZXJhdG9yIGl0ID0gcmVzb3VyY2VTZXQoKS5iZWdpbigpOwotICAgIFJlc291cmNlU2V0OjppdGVy
YXRvciBlbmQgPSByZXNvdXJjZVNldCgpLmVuZCgpOwotCi0gICAgZm9yICg7IGl0ICE9IGVuZDsg
KytpdCkgewotICAgICAgICBTVkdSZXNvdXJjZSogcmVzb3VyY2UgPSAqaXQ7Ci0gICAgICAgIGlm
ICghcmVzb3VyY2UtPm1fY2xpZW50cy5jb250YWlucyhpdGVtKSkKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICByZXNvdXJjZS0+bV9jbGllbnRzLnJlbW92ZShpdGVtKTsKLSAgICB9Ci19
Ci0KLXZvaWQgU1ZHUmVzb3VyY2U6OmFkZENsaWVudChTVkdTdHlsZWRFbGVtZW50KiBpdGVtKQot
ewotICAgIGlmIChtX2NsaWVudHMuY29udGFpbnMoaXRlbSkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIG1fY2xpZW50cy5hZGQoaXRlbSk7Ci19Ci0KLVRleHRTdHJlYW0mIFNWR1Jlc291cmNlOjpl
eHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mIHRzKSBjb25zdAotewotICAgIHJldHVy
biB0czsKLX0KLQotU1ZHUmVzb3VyY2UqIGdldFJlc291cmNlQnlJZChEb2N1bWVudCogZG9jdW1l
bnQsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQot
ewotICAgIGlmIChpZC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgRWxlbWVu
dCogZWxlbWVudCA9IGRvY3VtZW50LT5nZXRFbGVtZW50QnlJZChpZCk7Ci0gICAgU1ZHRWxlbWVu
dCogc3ZnRWxlbWVudCA9IDA7Ci0gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aXNTVkdFbGVt
ZW50KCkpCi0gICAgICAgIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oZWxl
bWVudCk7Ci0KLSAgICBpZiAoc3ZnRWxlbWVudCAmJiBzdmdFbGVtZW50LT5pc1N0eWxlZCgpKQot
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQp
LT5jYW52YXNSZXNvdXJjZShvYmplY3QpOwotCi0gICAgcmV0dXJuIDA7Ci19Ci0KLVRleHRTdHJl
YW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFNWR1Jlc291cmNlJiByKQotewot
ICAgIHJldHVybiByLmV4dGVybmFsUmVwcmVzZW50YXRpb24odHMpOwotfQotCi19Ci0KLSNlbmRp
ZgpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5oCShyZXZpc2lvbiA1ODE1OSkKKysr
IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEs
OTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCBOaWtvbGFzIFppbW1l
cm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBTVkdSZXNvdXJjZV9o
Ci0jZGVmaW5lIFNWR1Jlc291cmNlX2gKLQotI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKLSNpbmNsdWRlICJTdHJp
bmdIYXNoLmgiCi0KLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1jbGFzcyBBdG9taWNTdHJpbmc7IAotY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBTVkdTdHls
ZWRFbGVtZW50OwotY2xhc3MgVGV4dFN0cmVhbTsKLQotZW51bSBTVkdSZXNvdXJjZVR5cGUgewot
ICAgIC8vIFBhaW50aW5nIG1vZGUKLSAgICBJbWFnZVJlc291cmNlVHlwZSwKLSAgICBQYWludFNl
cnZlclJlc291cmNlVHlwZSwKLSAgICAKLSAgICAvLyBGb3IgcmVzb3VyY2UgdHJhY2tpbmcgd2Ug
bmVlZCB0byBrbm93IGhvdyBtYW55IHR5cGVzIG9mIHJlc291cmNlIHRoZXJlIGFyZQotICAgIF9S
ZXNvdXJjZVR5cGVDb3VudAotfTsKLQotLy8gVGhlIFNWR1Jlc291cmNlIGZpbGUgcmVwcmVzZW50
IHZhcmlvdXMgZ3JhcGhpY3MgcmVzb3VyY2VzOgotLy8gLSBQYXR0ZXJuIHJlc291cmNlCi0vLyAt
IExpbmVhci9SYWRpYWwgZ3JhZGllbnQgcmVzb3VyY2UKLS8vCi0vLyBTVkcgY3JlYXRlcy91c2Vz
IHRoZXNlIHJlc291cmNlcy4KLQotY2xhc3MgU1ZHUmVzb3VyY2UgOiBwdWJsaWMgUmVmQ291bnRl
ZDxTVkdSZXNvdXJjZT4gewotcHVibGljOgotICAgIHZpcnR1YWwgflNWR1Jlc291cmNlKCk7Ci0g
IAotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCk7Ci0KLSAgICB2b2lkIGFkZENsaWVudChT
VkdTdHlsZWRFbGVtZW50Kik7Ci0gICAgdmlydHVhbCBTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VU
eXBlKCkgY29uc3QgPSAwOwotICAgIAotICAgIGJvb2wgaXNQYWludFNlcnZlcigpIGNvbnN0IHsg
cmV0dXJuIHJlc291cmNlVHlwZSgpID09IFBhaW50U2VydmVyUmVzb3VyY2VUeXBlOyB9Ci0KLSAg
ICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYp
IGNvbnN0OwotCi0gICAgc3RhdGljIHZvaWQgaW52YWxpZGF0ZUNsaWVudHMoSGFzaFNldDxTVkdT
dHlsZWRFbGVtZW50Kj4pOwotICAgIHN0YXRpYyB2b2lkIHJlbW92ZUNsaWVudChTVkdTdHlsZWRF
bGVtZW50Kik7Ci0KLXByb3RlY3RlZDoKLSAgICBTVkdSZXNvdXJjZSgpOwotCi1wcml2YXRlOgot
ICAgIEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+IG1fY2xpZW50czsKLX07Ci0KLVNWR1Jlc291
cmNlKiBnZXRSZXNvdXJjZUJ5SWQoRG9jdW1lbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmLCBjb25z
dCBSZW5kZXJPYmplY3QqKTsKLQotVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiwg
Y29uc3QgU1ZHUmVzb3VyY2UmKTsKLQotfQotCi0jZW5kaWYKLSNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54150</attachid>
            <date>2010-04-23 04:58:50 -0700</date>
            <delta_ts>2010-04-23 05:39:54 -0700</delta_ts>
            <desc>WebCore changes - v4</desc>
            <filename>WebCoreSide-v4.diff</filename>
            <type>text/plain</type>
            <size>272533</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYyIEBACisyMDEwLTA0LTIzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNWR1BhaW50U2VydmVyIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgbmV3IFJl
bmRlclNWR1Jlc291cmNlKiBzeXN0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM3OTg2CisKKyAgICAgICAgSHVnZSBzcGVlZHVwIGZvciBTVkcgcGFp
bnRpbmcgdXNpbmcgcGFpbnQgc2VydmVycyAoZ3JhZGllbnQvcGF0dGVybnMpLiBDYWNoZSB1bmRl
cmx5aW5nCisgICAgICAgIFdlYkNvcmU6OkdyYWRpZW50L1BhdHRlcm4gZGF0YXN0cnVjdHVyZXMs
IGRvIG5vdCByZWJ1aWxkIHRoZW0gb24gZXZlcnkgcGFpbnRpbmcuIFRoaXMgbWFya3MKKyAgICAg
ICAgdGhlIGZpbmlzaCBvZiB0aGUgU1ZHUmVzb3VyY2UgLT4gUmVuZGVyU1ZHUmVzb3VyY2UgdHJh
bnNpdGlvbi4KKworICAgICAgICBPdXRsaW5lIG9mIHNhbWUga2V5IGNoYW5nZXM6CisgICAgICAg
IC0gUmVuZGVyU1ZHUmVzb3VyY2UgaXMgYW4gYWJzdHJhY3QgYmFzZSBjbGFzcyBub3csIGFuZCB0
aGUgcHJldmlvdXMgY2xhc3MgaXMgbm93IG5hbWVkIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
CisgICAgICAgICAgQWxsIHJlc291cmNlcyBleGNlcHQgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yIG5vdyBpbmhlcml0IGZyb20gUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIsIGFzIHRoZXkg
YXJlIGFsbAorICAgICAgICAgIGFzc29jaWF0ZWQgd2l0aCBhIFNWRypFbGVtZW50IGNsYXNzLiBS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IgaW5oZXJpdHMgZnJvbSBSZW5kZXJTVkdSZXNvdXJj
ZSwgYW5kIGlzIG5vdAorICAgICAgICAgIGFzc29jaWF0ZWQgd2l0aCBhbnkgU1ZHKkVsZW1lbnQg
Y2xhc3MuIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciBpcyBub3QgYSByZW5kZXIgdHJlZSBv
YmplY3QsIGRlc3BpdGUgaXRzIG5hbWUuCisgICAgICAgICAgVGhlIHJlYXNvbiBmb3IgdGhhdCBp
cyBjb25zaXN0ZW5jeSB3aXRoIGFsbCBvdGhlciBwYWludGluZyByZXNvdXJjZXMuCisgICAgICAg
IC0gUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yIGRvZXMgbm90IGxpdmUgaW4gdGhlIHJlbmRl
ciB0cmVlLCBhbmQgZXhpc3RzIG9ubHkgYXMgc3RhdGljIG9iamVjdCwgd2hpY2ggaXMgc2hhcmVk
CisgICAgICAgICAgYW5kIGFsd2F5cyB1c2VkIHdoZW4gZmlsbGluZy9zdHJva2luZyB3aXRoIHNv
bGlkIGNvbG9ycyAtIGp1c3QgbGlrZSB0aGUgb2xkIFNWR1BhaW50U2VydmVyU29saWQuCisgICAg
ICAgIC0gUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4g
bm93IHN0b3JlIHRoZSB1bmRlcmx5aW5nIFdlYkNvcmU6OkdyYWRpZW50L1BhdHRlcm4gb2JqZWN0
CisgICAgICAgICAgaW5zdGVhZCBvZiByZWJ1aWxkaW5nIGl0IGV2ZXJ5dGltZSB3ZSdyZSBhc2tl
ZCB0byBwYWludCAtPiB0aGlzIGlzIHRoZSBtYWluIGRpZmZlcmVuY2Ugd2l0aCB0aGUgb2xkIGNv
bmNlcHQsIGxlYWRpbmcKKyAgICAgICAgICB0byBtdWNoIGZhc3RlciBzcGVlZC4KKyAgICAgICAg
LSBTVkdSZXNvdXJjZSBoYXMgdmFuaXNoZWQuIEFsbCByZXNvdXJjZXMgKGNsaXBwZXIvZmlsdGVy
L21hcmtlci9tYXNrZXIvZ3JhZGllbnQvcGF0dGVybikgbm93IHNoYXJlIHRoZSBzYW1lIGNvZGVw
YXRocworICAgICAgICAgIHRvIGhhbmRsZSB1cGRhdGVzIGFuZCBjbGllbnQgaW52YWxpZGF0aW9u
IC0gd2hpY2ggaXMgYSBodWdlIGJlbmVmaXQsIGFuZCBtYWtlcyB0aGUgY29kZSBlYXNpZXIgdG8g
dW5kZXJzdGFuZC4KKworICAgICAgICAqIEFuZHJvaWQubWs6IFJlbW92ZSBzdmcvZ3JhcGhpY3Mv
U1ZHUmVzb3VyY2UqLCBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaCBmcm9tIGJ1aWxkLgor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9H
cmFkaWVudC5jcHA6IEFkZCBhZGRDb2xvclN0b3AoKSBtZXRob2QgdGFraW5nIGEgQ29sb3JTdG9w
IGNvbnN0LXJlZmVyZW5jZS4KKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50OjphZGRDb2xvclN0
b3ApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50Lmg6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaDogUmVuYW1lIFNWR1BhaW50U2VydmVy
IHRvIFJlbmRlclNWR1Jlc291cmNlCisgICAgICAgIChXZWJDb3JlOjpUZXh0UnVuOjpUZXh0UnVu
KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSdW46OmFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOiBS
ZW5hbWVkIGZyb20gYWN0aXZlUGFpbnRTZXJ2ZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0UnVu
OjpzZXRBY3RpdmVQYWludGluZ1Jlc291cmNlKTogUmVuYW1lZCBmcm9tIHNldEFjdGl2ZVBhaW50
U2VydmVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRX
aW4uY3BwOiBSZW1vdmUgcmVmZXJlbmNlcyB0byBTVkdSZXNvdXJjZUltYWdlLCB3aGljaCB3YXMg
cmVtb3ZlZCBhIGxvbmcgdGltZSBhZ28uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnRvUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIpOiBSZW5hbWVkIGZyb20gdG9SZW5kZXJTVkdSZXNvdXJjZSgpLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6aXNTVkdHcmFkaWVudFN0b3ApOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6aXNTVkdSZXNvdXJjZUNvbnRhaW5lcik6IFJlbmFtZWQgZnJvbSBpc1NWR1Jlc291
cmNlKCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclBhdGguY3BwOiBVdGlsaXplIFJlbmRl
clNWR1Jlc291cmNlOjpmaWxsL3N0cm9rZVBhaW50aW5nUmVzb3VyY2UgdG8gcmVxdWVzdCBwYWlu
dCBzZXJ2ZXJzLCBpbnN0ZWFkIG9mIFNWR1BhaW50U2VydmVyLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyUGF0aDo6ZmlsbENvbnRhaW5zKTogQWRhcHQgdG8gbmV3IGNvbmNlcHQuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJQYXRoOjpzdHJva2VDb250YWlucyk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6ZmlsbEFuZFN0cm9rZVBhdGgpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclBhdGg6OnBhaW50KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR0dy
YWRpZW50U3RvcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdHcmFkaWVudFN0b3A6
OnN0eWxlRGlkQ2hhbmdlKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR0dy
YWRpZW50U3RvcC5oOiBGaXhlZCBpbmRlbnRpb24uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlLmNwcDogUmVmYWN0b3JlZCBvbGQgU1ZHUGFpbnRTZXJ2ZXIgY29kZSB0byBy
ZXF1ZXN0IGZpbGwvc3Ryb2tlIHBhaW50aW5nIHJlc291cmNlcywgc3BsaXR0ZWQgdXAgaW4gc2V2
ZXJhbCBtZXRob2RzIHRvIGFpZCByZWFkYWJpbGl0eS4gCisgICAgICAgIChXZWJDb3JlOjpyZWdp
c3RlclBlbmRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjphZGp1c3RDb2xvckZvclBz
ZXVkb1J1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjpmaWxsUGFp
bnRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZTo6c3Ry
b2tlUGFpbnRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZTo6c2hhcmVkU29saWRQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jlc291cmNlOjptYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24pOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZS5oOiBNYWtlIFJlbmRlclNWR1Jlc291
cmNlIGFuIGFic3RyYWN0IGJhc2UgY2xhc3MsIHNlZSBhYm92ZSBmb3IgdGhlIHJlYXNvbmluZy4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjpSZW5kZXJTVkdSZXNvdXJjZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZTo6flJlbmRlclNWR1Jlc291cmNl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjpwb3N0QXBwbHlSZXNvdXJj
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHA6IElu
aGVyaXQgZnJvbSBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciBpbnN0ZWFkIG9mIFJlbmRlclNW
R1Jlc291cmNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjpS
ZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVz
b3VyY2VDbGlwcGVyOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jlc291cmNlQ2xpcHBlcjo6YXBwbHlSZXNvdXJjZSk6IEFkYXB0IHRvIHNpZ25hdHVyZSBj
aGFuZ2VzIChhZGQgUmVuZGVyU3R5bGUqIGFuZCByZXNvdXJjZSBtb2RlIHBhcmFtZXRlcnMpCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmFwcGx5Q2xpcHBpbmdU
b0NvbnRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaDogQWRk
ZWQuIFJlbmFtZWQgZnJvbSBSZW5kZXJTVkdSZXNvdXJjZS4gTm93IGluaGVyaXRzIGZyb20gUmVu
ZGVyU1ZHSGlkZGVuQ29udGFpbmVyIGFuZCBSZW5kZXJTVkdSZXNvdXJjZS4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRh
aW5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjo6flJl
bmRlclNWR1Jlc291cmNlQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyOjppZENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXI6OmlzU1ZHUmVzb3VyY2VDb250YWluZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OmRyYXdzQ29udGVudHMpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OnRvUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXJCeUlkKToKKyAgICAgICAgKFdlYkNvcmU6OmdldFJlbmRlclNWR1Jlc291cmNlQnlJZCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcDogSW5oZXJp
dCBmcm9tIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyIGluc3RlYWQgb2YgUmVuZGVyU1ZHUmVz
b3VyY2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6UmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXI6OmludmFsaWRhdGVDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3VyY2UpOiBBZGFwdCB0byBzaWduYXR1cmUgY2hhbmdlcyAo
YWRkIFJlbmRlclN0eWxlKiBhbmQgcmVzb3VyY2UgbW9kZSBwYXJhbWV0ZXJzKQorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHA6IE1vdmVkIGZyb20gU1ZHUGFp
bnRTZXJ2ZXJHcmFkaWVudCwgY2xlYW5lZCB1cCBhbmQgcmVmYWN0b3JlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OlJlbmRlclNWR1Jlc291cmNlR3JhZGll
bnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6flJlbmRl
clNWR1Jlc291cmNlR3JhZGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudDo6aW52YWxpZGF0ZUNsaWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VHcmFkaWVudDo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6Y2xpcFRvVGV4dE1hc2spOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudDo6YXBwbHlSZXNvdXJjZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlR3JhZGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
R3JhZGllbnQ6OnJlc291cmNlQm91bmRpbmdCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcDogTW92ZWQgZnJvbSBTVkdQYWludFNlcnZl
ckxpbmVhckdyYWRpZW50LCBjbGVhbmVkIHVwIGFuZCByZWZhY3RvcmVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6UmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50OjpidWlsZEdyYWRpZW50KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6cmVuZGVy
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50
OjpyZXNvdXJjZVR5cGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1h
cmtlci5jcHA6IEluaGVyaXQgZnJvbSBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciBpbnN0ZWFk
IG9mIFJlbmRlclNWR1Jlc291cmNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2VNYXJrZXI6OlJlbmRlclNWR1Jlc291cmNlTWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jlc291cmNlTWFya2VyOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jlc291cmNlTWFya2VyOjphcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwOiBJbmhlcml0IGZyb20gUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIgaW5zdGVhZCBvZiBSZW5kZXJTVkdSZXNvdXJjZS4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1Jlc291cmNlTWFza2VyOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6aW52YWxpZGF0ZUNsaWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6YXBwbHlSZXNv
dXJjZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpNYXNrZXJEYXRhOjpNYXNrZXJEYXRhKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcDogTW92ZWQgZnJvbSBTVkdQYWludFNl
cnZlclBhdHRlcm4sIGNsZWFuZWQgdXAgYW5kIHJlZmFjdG9yZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46On5SZW5kZXJTVkdSZXNv
dXJjZVBhdHRlcm4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJu
OjppbnZhbGlkYXRlQ2xpZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZVBhdHRlcm46OmludmFsaWRhdGVDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuOjphcHBseVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jlc291cmNlUGF0dGVybjo6cG9zdEFwcGx5UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29y
ZTo6Y2FsY3VsYXRlUGF0dGVybkJvdW5kYXJpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuOjpjYWxjdWxhdGVQYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092
ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6Y3Jl
YXRlVGlsZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVy
bjo6YnVpbGRQYXR0ZXJuKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQ
YXR0ZXJuLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OnJl
bmRlck5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpy
ZXNvdXJjZUJvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
UGF0dGVybjo6cmVzb3VyY2VUeXBlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VSYWRpYWxHcmFkaWVudC5jcHA6IE1vdmVkIGZyb20gU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxH
cmFkaWVudCwgY2xlYW5lZCB1cCBhbmQgcmVmYWN0b3JlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3Jh
ZGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVu
dDo6flJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6YnVpbGRHcmFkaWVudCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6OnJlbmRlck5hbWUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6cmVzb3Vy
Y2VUeXBlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9y
LmNwcDogTW92ZWQgZnJvbSBTVkdQYWludFNlcnZlclNvbGlkLCBjbGVhbmVkIHVwIGFuZCByZWZh
Y3RvcmVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
UmVzb3VyY2VTb2xpZENvbG9yOjp+UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcjo6YXBwbHlSZXNvdXJjZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnBvc3RBcHBs
eVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6Omlu
dmFsaWRhdGVDbGllbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29s
aWRDb2xvcjo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdS
ZXNvdXJjZVNvbGlkQ29sb3I6OnJlc291cmNlQm91bmRpbmdCb3gpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpyZXNvdXJjZVR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpjb2xvcik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnNldENvbG9yKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdUZXh0OjpwYWludCk6IEVhcmx5IGV4aXQgaWYgcGFpbnRpbmcgaXMgZGlzYWJsZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
d3JpdGUpOiBBZGQgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIGR1bXBpbmcuCisgICAgICAgIChXZWJD
b3JlOjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKTogUmVtb3ZlIFNWR1Jlc291cmNlIGR1bXBpbmcu
CisgICAgICAgICogcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guY3BwOiBBZGFwdCB0byBTVkdQ
YWludFNlcnZlciBjaGFuZ2VzIChwYWludCBzZXJ2ZXIgcmVxdWVzdCkuCisgICAgICAgIChXZWJD
b3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludENoYXJhY3RlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToKKyAgICAgICAgKiByZW5kZXJp
bmcvU1ZHSW5saW5lVGV4dEJveC5oOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRQ
YWludEluZm86OlNWR1RleHRQYWludEluZm8pOgorICAgICAgICAqIHJlbmRlcmluZy9TVkdSZW5k
ZXJTdXBwb3J0LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJCYXNlOjpw
cmVwYXJlVG9SZW5kZXJTVkdDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlckJh
c2U6OmZpbmlzaFJlbmRlclNWR0NvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6aW52YWxpZGF0
ZVBhaW50aW5nUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6ZGVyZWdpc3RlckZyb21SZXNv
dXJjZXMpOgorICAgICAgICAoV2ViQ29yZTo6ZGFzaEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKTog
TW92ZWQgaGVyZSBmcm9tIFNWR1BhaW50U2VydmVyLgorICAgICAgICAoV2ViQ29yZTo6YXBwbHlT
dHJva2VTdHlsZVRvQ29udGV4dCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9TVkdSZW5k
ZXJTdXBwb3J0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuY3Bw
OiBBZGQgbmV3IGdyYWRpZW50L3BhdHRlcm4gZHVtcGluZyBjb2RlLiBTdG9wcyBhcmUgbm93IHBy
b3Blcmx5IGR1bXBlZCBhcyB3ZWxsIQorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6Cisg
ICAgICAgIChXZWJDb3JlOjp3cml0ZVNWR1BhaW50aW5nUmVzb3VyY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6d3JpdGVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpib3VuZGluZ0JveE1vZGVTdHJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVDb21tb25HcmFkaWVudFByb3BlcnRpZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6d3JpdGVTVkdSZXNvdXJjZUNvbnRhaW5lcik6CisgICAgICAgIChX
ZWJDb3JlOjp3cml0ZVNWR0dyYWRpZW50U3RvcCk6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1Jl
bmRlclRyZWVBc1RleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5j
cHA6IEFkYXB0IHRvIFNWR1BhaW50U2VydmVyIGNoYW5nZXMgKHBhaW50IHNlcnZlciByZXF1ZXN0
KS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6U1ZHUm9v
dElubGluZUJveFBhaW50V2Fsa2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVC
b3hQYWludFdhbGtlcjo6flNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OnRlYXJkb3duRmlsbFBhaW50U2Vy
dmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6dGVh
cmRvd25TdHJva2VQYWludFNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5saW5l
Qm94UGFpbnRXYWxrZXI6OnNldHVwQmFja2dyb3VuZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdS
b290SW5saW5lQm94UGFpbnRXYWxrZXI6OnNldHVwRmlsbCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OnNldHVwRmlsbFNlbGVjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OnNldHVwU3Ryb2tlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBTdHJva2VT
ZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2Vy
OjpzZXR1cEZvcmVncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBh
aW50V2Fsa2VyOjphY3RpdmVQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6cGFpbnRDaHVuayk6CisgICAgICAgICogc3ZnL0dy
YWRpZW50QXR0cmlidXRlcy5oOiBSZW1vdmUgU1ZHR3JhZGllbnRTdG9wLCB1c2UgR3JhZGllbnQ6
OkNvbG9yU3RvcCB2ZWN0b3IuIENsZWFudXAuCisgICAgICAgIChXZWJDb3JlOjpHcmFkaWVudEF0
dHJpYnV0ZXM6OnN0b3BzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50QXR0cmlidXRlczo6
c2V0U3RvcHMpOgorICAgICAgICAqIHN2Zy9MaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaDogTW92
ZSBFTkFCTEUoU1ZHKSBndWFyZCB0byBjb3JyZWN0IGxvY2F0aW9uLgorICAgICAgICAqIHN2Zy9Q
YXR0ZXJuQXR0cmlidXRlcy5oOiBBZGQgbWlzc2luZyBpbmNsdWRlcyBhbmQgY2xhc3MgZm9yd2Fy
ZHMuCisgICAgICAgICogc3ZnL1JhZGlhbEdyYWRpZW50QXR0cmlidXRlcy5oOiBNb3ZlIEVOQUJM
RShTVkcpIGd1YXJkIHRvIGNvcnJlY3QgbG9jYXRpb24uCisgICAgICAgICogc3ZnL1NWR0NsaXBQ
YXRoRWxlbWVudC5jcHA6IFJlbmFtZSBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCkgdG8gaW52
YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2xpcFBhdGhF
bGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NsaXBQ
YXRoRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKTogT25seSBjYWxsIGludmFsaWRhdGVSZXNvdXJj
ZUNsaWVudHMoKSB3aGVuICFjaGFuZ2VkQnlQYXJzZXIgaXMgc2V0LgorICAgICAgICAqIHN2Zy9T
VkdDbGlwUGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmNwcDogQ2hhbmdlIEhhc2hNYXBzIHRvIGhhc2ggQXRvbWljU3RyaW5ncyBpbnN0ZWFkIG9mIFN0
cmluZ3MuIFJlbmFtZSBSZW5kZXJTVkdSZXNvdXJjZSB0byBSZW5kZXJTVkdSZXNvdXJjZUNvbnRh
aW5lci4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0RvY3VtZW50RXh0ZW5zaW9uczo6YWRkUmVzb3Vy
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZW1vdmVSZXNv
dXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlc291cmNl
QnlJZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmFkZFBlbmRp
bmdSZXNvdXJjZSk6CisgICAgICAgICogc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oOgorICAg
ICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
Omluc2VydGVkSW50b0RvY3VtZW50KTogUmVtb3ZlIHJlZmVyZW5jZSB0byBTVkdSZXNvdXJjZTo6
aW52YWxpZGF0ZUNsaWVudHMoKSwgaGFuZGxlZCBkaWZmZXJlbnRseSBub3cuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbGVtZW50Ojp1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZSk6IENoYW5nZSBh
c3NlcnRpb24sIHRoYXQgaXMgaW5jb3JyZWN0IG5vdy4KKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVu
dC5oOiBNYWtlIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKCkgcHVibGljLgorICAgICAgICAq
IHN2Zy9TVkdGb250LmNwcDogQWRhcHQgdG8gU1ZHUGFpbnRTZXJ2ZXIgY2hhbmdlcyAocGFpbnQg
c2VydmVyIHJlcXVlc3QpLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd1RleHRVc2luZ1NW
R0ZvbnQpOgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVudC5jcHA6IElmIHN0eWxlKCktPmRpc3Bs
YXkoKSBpcyBOT05FLCBjcmVhdGUgYSBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIsIHJlbW92aW5n
IGhhY2tzIGluIFNWR1N0b3BFbGVtZW50IGZvciBwc2VydmVycy1ncmFkLTE5LWIuc3ZnICh5ZXMs
IFNWRyBpcyBjcmF6eS4pCisgICAgICAgIChXZWJDb3JlOjpTVkdHRWxlbWVudDo6Y3JlYXRlUmVu
ZGVyZXIpOgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVudC5oOiBSZW1vdmUgY2hpbGRyZW5DaGFu
Z2VkKCkgbWV0aG9kIHdoaWNoIF9hbHdheXNfIGNhbGxlZCByZW5kZXJlci0+c2V0TmVlZHNMYXlv
dXQodHJ1ZSksIHdoaWNoIGlzIGNvbXBsZXRseSB3cm9uZyBhbmQgdW5uZWNlc3NhcnkuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdHRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZCk6IEFsd2F5cyByZXR1
cm4gdHJ1ZS4KKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcDogQWRhcHQgdG8g
bmV3IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R0dyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdHcmFkaWVudEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IE9ubHkgY2FsbCBpbnZhbGlk
YXRlUmVzb3VyY2VDbGllbnRzKCkgd2hlbiAhY2hhbmdlZEJ5UGFyc2VyIGlzIHNldC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0dyYWRpZW50RWxlbWVudDo6YnVpbGRTdG9wcyk6CisgICAgICAgICog
c3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVu
dEVsZW1lbnQuY3BwOiBBZGFwdCB0byBuZXcgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVu
dCBjb2RlLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpzdmdB
dHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xpbmVhckdyYWRpZW50RWxl
bWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGluZWFyR3JhZGll
bnRFbGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6Y2FsY3VsYXRlU3RhcnRFbmRQb2ludHMpOgorICAg
ICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
TWFya2VyRWxlbWVudC5jcHA6IFJlbmFtZSBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCkgdG8g
aW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFya2Vy
RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXJr
ZXJFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOiBPbmx5IGNhbGwgaW52YWxpZGF0ZVJlc291cmNl
Q2xpZW50cygpIHdoZW4gIWNoYW5nZWRCeVBhcnNlciBpcyBzZXQuCisgICAgICAgIChXZWJDb3Jl
OjpTVkdNYXJrZXJFbGVtZW50OjpzZXRPcmllbnRUb0F1dG8pOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHTWFya2VyRWxlbWVudDo6c2V0T3JpZW50VG9BbmdsZSk6CisgICAgICAgICogc3ZnL1NWR01h
c2tFbGVtZW50LmNwcDogUmVuYW1lIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKSB0byBpbnZh
bGlkYXRlUmVzb3VyY2VDbGllbnRzKCkuCisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNrRWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNrRWxlbWVu
dDo6Y2hpbGRyZW5DaGFuZ2VkKTogT25seSBjYWxsIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMo
KSB3aGVuICFjaGFuZ2VkQnlQYXJzZXIgaXMgc2V0LgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJu
RWxlbWVudC5jcHA6IFJlbmFtZSBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCkgdG8gaW52YWxp
ZGF0ZVJlc291cmNlQ2xpZW50cygpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1l
bnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVs
ZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IE9ubHkgY2FsbCBpbnZhbGlkYXRlUmVzb3VyY2VDbGll
bnRzKCkgd2hlbiAhY2hhbmdlZEJ5UGFyc2VyIGlzIHNldC4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R1BhdHRlcm5FbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICogc3ZnL1NWR1BhdHRl
cm5FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1BvbHlFbGVtZW50Lmg6IFJlbW92ZSB1bm5l
ZGVkIHJlbmRlcmVySXNOZWVkZWQoKSBvdmVycmlkZS4KKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmNwcDogQWRhcHQgdG8gbmV3IFJlbmRlclNWR1Jlc291cmNlUmFkaWFs
R3JhZGllbnQgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudDo6Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OmNhbGN1bGF0ZUZvY2FsQ2VudGVyUG9p
bnRzQW5kUmFkaXVzKToKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Lmg6
CisgICAgICAgICogc3ZnL1NWR1N0b3BFbGVtZW50LmNwcDogQ2xlYW4gdXAgY29kZSwgbW92ZWQg
c3RvcCBjb2xvciBjYWxjdWxhdGlvbiBmcm9tIFNWR0dyYWRpZW50RWxlbWVudCB0byBoZXJlLCB3
aGVyZSBpdCBiZWxvbmdzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3RvcEVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0b3BFbGVtZW50OjpzdG9w
Q29sb3JJbmNsdWRpbmdPcGFjaXR5KToKKyAgICAgICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdTdHlsZWRFbGVtZW50Ojp+U1ZHU3R5bGVkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdTdHlsZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKTogT25seSBpbnZhbGlkYXRlUmVz
b3VyY2VzSW5BbmNlc3RvckNoYWluKCkvZGVyZWdpc3RlckZyb21SZXNvdXJjZXMoKSB3aGVuIHdl
J3JlIG5vdCBwYXJzaW5nLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3R5bGVkRWxlbWVudDo6aW52
YWxpZGF0ZVJlc291cmNlc0luQW5jZXN0b3JDaGFpbik6IEVhcmx5IGV4aXQgaWYgd2UgZmluZCBh
IHBhcmVudCByZXNvdXJjZXMsIHRoZXJlIGlzIG5vIHJlc291cmNlIG5lc3RpbmcuCisgICAgICAg
IChXZWJDb3JlOjpTVkdTdHlsZWRFbGVtZW50OjppbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKTog
UmVuYW1lZCBmcm9tIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKQorICAgICAgICAoV2ViQ29y
ZTo6U1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKTogT25seSBpbnZhbGlkYXRlIFNW
R0VsZW1lbnRJbnN0YW5jZXMgd2hlbiAhY2hhbmdlZEJ5UGFyc2VyIGlzIHNldC4KKyAgICAgICAg
KiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5oOiBSZW1vdmUgY2FudmFzUmVzb3VyY2UoKSBsb2dpYywg
cmVtb3ZlIGRldGFjaCgpIG1ldGhvZC4KKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyLmg6IFJlbW92ZWQuCisg
ICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAg
KiBzdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2UuaDogUmVtb3ZlZC4KKwogMjAxMC0wNC0yMyAgRGF2
aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzM4MDMyPiBObyBuZWVkIHRvIGNvbnRlbnQgc25pZmYgMzA0IHJlc3BvbnNlcwpJbmRl
eDogV2ViQ29yZS9BbmRyb2lkLm1rCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQW5kcm9pZC5tawko
cmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL0FuZHJvaWQubWsJKHdvcmtpbmcgY29weSkKQEAg
LTg2MSw3ICs4NjEsNiBAQCBMT0NBTF9TUkNfRklMRVMgOj0gJChMT0NBTF9TUkNfRklMRVMpIFwK
IAlzdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcCBcCiAJXAogCXN2Zy9ncmFwaGljcy9T
VkdJbWFnZS5jcHAgXAotCXN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHAgXAogCVwKIAlzdmcv
Z3JhcGhpY3MvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4LmNwcCBcCiAJc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHRkVEaWZmdXNlTGlnaHRpbmcuY3BwIFwKSW5kZXg6IFdlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24g
NTgxNTkpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zNDYy
LDggKzM0NjIsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TVkdTTUlMRWxlbWVudC5oIFwKIAlXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAg
XAogCVdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmggXAotCVdlYkNvcmUvc3ZnL2dyYXBo
aWNzL1NWR1BhaW50U2VydmVyLmggXAotCVdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNl
LmNwcCBcCiAJV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdEaXN0YW50TGlnaHRTb3Vy
Y2UuaCBcCiAJV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4
LmNwcCBcCiAJV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4
LmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9X
ZWJDb3JlLmd5cGkJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdv
cmtpbmcgY29weSkKQEAgLTM0MDMsOSArMzQwMyw2IEBACiAgICAgICAgICAgICAnc3ZnL2dyYXBo
aWNzL2ZpbHRlcnMvU1ZHU3BvdExpZ2h0U291cmNlLmgnLAogICAgICAgICAgICAgJ3N2Zy9ncmFw
aGljcy9TVkdJbWFnZS5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5o
JywKLSAgICAgICAgICAgICdzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaCcsCi0gICAgICAg
ICAgICAnc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcCcsCi0gICAgICAgICAgICAnc3ZnL2dy
YXBoaWNzL1NWR1Jlc291cmNlLmgnLAogICAgICAgICAgICAgJ3N2Zy9Db2xvckRpc3RhbmNlLmNw
cCcsCiAgICAgICAgICAgICAnc3ZnL0NvbG9yRGlzdGFuY2UuaCcsCiAgICAgICAgICAgICAnc3Zn
L0VsZW1lbnRUaW1lQ29udHJvbC5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3Jl
L1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xODE5LDggKzE4MTksNiBAQCBIRUFERVJT
ICs9IFwKICAgICBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaCBcCiAgICAgc3ZnL2dy
YXBoaWNzL2ZpbHRlcnMvU1ZHTGlnaHRTb3VyY2UuaCBcCiAgICAgc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmggXAotICAgIHN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlci5oIFwKLSAgICBzdmcvZ3Jh
cGhpY3MvU1ZHUmVzb3VyY2UuaCBcCiAgICAgc3ZnL1NWR0FFbGVtZW50LmggXAogICAgIHN2Zy9T
VkdBbHRHbHlwaEVsZW1lbnQuaCBcCiAgICAgc3ZnL1NWR0FuZ2xlLmggXApAQCAtMjY4NSw3ICsy
NjgzLDYgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7CiAgICAgICAgIHN2Zy9n
cmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlckJ1aWxkZXIuY3BwIFwKICAgICAgICAgc3ZnL2dyYXBo
aWNzL2ZpbHRlcnMvU1ZHTGlnaHRTb3VyY2UuY3BwIFwKICAgICAgICAgc3ZnL2dyYXBoaWNzL1NW
R0ltYWdlLmNwcCBcCi0gICAgICAgIHN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHAgXAogICAg
ICAgICByZW5kZXJpbmcvUmVuZGVyRm9yZWlnbk9iamVjdC5jcHAgXAogICAgICAgICByZW5kZXJp
bmcvUmVuZGVyUGF0aC5jcHAgXAogICAgICAgICByZW5kZXJpbmcvUmVuZGVyU1ZHQmxvY2suY3Bw
IFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNTgx
NTkpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC00MjM1MywxOCArNDIzNTMsNiBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xn
cmFwaGljc1xTVkdJbWFnZS5oIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQot
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xncmFwaGljc1xTVkdQYWludFNlcnZlci5oIg0KLQkJ
CQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2
Z1xncmFwaGljc1xTVkdSZXNvdXJjZS5jcHAiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJ
PEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3ZnXGdyYXBoaWNzXFNWR1Jlc291cmNlLmgi
DQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCiAJCQkJPEZpbHRlcg0KIAkJCQkJTmFtZT0iZmlsdGVy
cyINCiAJCQkJCT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTQzLDkgKzE0Myw2IEBACiAJCTA4QTQ4NDc3
MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QTQ4NDc1MEU1MjcyQzUwMEMzRkU3NiAvKiBT
Y3JpcHRFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDhBNDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNj
cmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA4QTQ4NDc2MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmggKi87IH07CiAJ
CTA4QTQ4QTZFMEU4NkNGNkQwMEUyMjVERCAvKiBKU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEE0OEE2
RDBFODZDRjZEMDBFMjI1REQgLyogSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwICovOyB9
OwotCQkwOEE3RTkyNzExODA1RURBMDBEMEI4NzAgLyogU1ZHUGFpbnRTZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QTdFOTI2MTE4MDVFREEw
MEQwQjg3MCAvKiBTVkdQYWludFNlcnZlci5oICovOyB9OwotCQkwOEE3RTkyQjExODA1RUYxMDBE
MEI4NzAgLyogU1ZHUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA4QTdFOTJBMTE4MDVFRjEwMEQwQjg3MCAvKiBTVkdSZXNvdXJjZS5oICov
OyB9OwotCQkwOEE3RTkyRjExODA1RUZEMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhBN0U5MkUxMTgwNUVG
RDAwRDBCODcwIC8qIFNWR1Jlc291cmNlLmNwcCAqLzsgfTsKIAkJMDhDMzRBRjUxMTc5QzA1NzAw
MkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjExMTc5QzA1NjAwMkQ3NDU2IC8q
IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwICovOyB9OwogCQkwOEMzNEFGNjExNzlDMDU3
MDAyRDc0NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjIxMTc5QzA1NzAwMkQ3NDU2IC8q
IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCAqLzsgfTsKIAkJMDhDMzRBRjcxMTc5QzA1NzAw
MkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjMxMTc5QzA1NzAwMkQ3
NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwICovOyB9OwpAQCAtNTUx
NCw5ICs1NTExLDYgQEAKIAkJMDhBNDg0NzUwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1l
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0RWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4QTQ4NDc2MEU1MjcyQzUwMEMz
RkU3NiAvKiBTY3JpcHRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjcmlwdEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhBNDhBNkQw
RTg2Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9t
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDhBN0U5MjYxMTgwNUVEQTAwRDBC
ODcwIC8qIFNWR1BhaW50U2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNWR1BhaW50U2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4QTdFOTJB
MTE4MDVFRjEwMEQwQjg3MCAvKiBTVkdSZXNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkw
OEE3RTkyRTExODA1RUZEMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUmVzb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwOEMzNEFGMTExNzlDMDU2MDAyRDc0NTYgLyogUmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5k
ZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDhDMzRBRjIxMTc5QzA1NzAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEMzNEFGMzExNzlDMDU3MDAyRDc0
NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTEwLDkgKzE0NTA0LDYgQEAKIAkJ
CQlCMjU1OTg5QzBEMDBEOEI4MDBCQjgyNUMgLyogZmlsdGVycyAqLywKIAkJCQlCMjU1OTkwQjBE
MDBEOEI5MDBCQjgyNUMgLyogU1ZHSW1hZ2UuY3BwICovLAogCQkJCUIyNTU5OTBDMEQwMEQ4Qjkw
MEJCODI1QyAvKiBTVkdJbWFnZS5oICovLAotCQkJCTA4QTdFOTI2MTE4MDVFREEwMEQwQjg3MCAv
KiBTVkdQYWludFNlcnZlci5oICovLAotCQkJCTA4QTdFOTJFMTE4MDVFRkQwMEQwQjg3MCAvKiBT
VkdSZXNvdXJjZS5jcHAgKi8sCi0JCQkJMDhBN0U5MkExMTgwNUVGMTAwRDBCODcwIC8qIFNWR1Jl
c291cmNlLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGdyYXBoaWNzOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKQEAgLTE4ODY3LDggKzE4ODU4LDYgQEAKIAkJCQkwRkQzMDgwRjExN0NGN0U3
MDBBNzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkQzMDhE
NjExN0QxNjg1MDBBNzkxRjcgLyogUmVuZGVySUZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
OEM2QTdBQzExN0RGQkFCMDBGRUExQTIgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmgg
aW4gSGVhZGVycyAqLywKLQkJCQkwOEE3RTkyNzExODA1RURBMDBEMEI4NzAgLyogU1ZHUGFpbnRT
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4QTdFOTJCMTE4MDVFRjEwMEQwQjg3MCAvKiBT
VkdSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMTEwNCw3ICsyMTA5Myw2IEBACiAJCQkJ
MEZEMzA4RDUxMTdEMTY4NTAwQTc5MUY3IC8qIFJlbmRlcklGcmFtZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwOEM2QTdBQjExN0RGQkFCMDBGRUExQTIgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3Mzg4OUEwMTE2RUE5REMwMEFERjMxMyAv
KiBEb2N1bWVudFdyaXRlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwOEE3RTkyRjExODA1RUZE
MDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyAr
OTYsMTQgQEAgdm9pZCBHcmFkaWVudDo6YWRkQ29sb3JTdG9wKGZsb2F0IHZhbHVlLAogICAgIG1f
c3RvcHMuYXBwZW5kKENvbG9yU3RvcCh2YWx1ZSwgciwgZywgYiwgYSkpOwogCiAgICAgbV9zdG9w
c1NvcnRlZCA9IGZhbHNlOworICAgIHBsYXRmb3JtRGVzdHJveSgpOworfQogCit2b2lkIEdyYWRp
ZW50OjphZGRDb2xvclN0b3AoY29uc3QgR3JhZGllbnQ6OkNvbG9yU3RvcCYgc3RvcCkKK3sKKyAg
ICBtX3N0b3BzLmFwcGVuZChzdG9wKTsKKworICAgIG1fc3RvcHNTb3J0ZWQgPSBmYWxzZTsKICAg
ICBwbGF0Zm9ybURlc3Ryb3koKTsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFkaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
ZGllbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YWRpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB9CiAgICAgICAgIHZpcnR1YWwgfkdyYWRpZW50KCk7CiAKKyAgICAgICAg
c3RydWN0IENvbG9yU3RvcDsKKyAgICAgICAgdm9pZCBhZGRDb2xvclN0b3AoY29uc3QgQ29sb3JT
dG9wJik7CiAgICAgICAgIHZvaWQgYWRkQ29sb3JTdG9wKGZsb2F0LCBjb25zdCBDb2xvciYpOwog
CiAgICAgICAgIHZvaWQgZ2V0Q29sb3IoZmxvYXQgdmFsdWUsIGZsb2F0KiByLCBmbG9hdCogZywg
ZmxvYXQqIGIsIGZsb2F0KiBhKSBjb25zdDsKQEAgLTkyLDcgKzk0LDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBmbG9hdCByMCgpIGNvbnN0IHsgcmV0dXJuIG1fcjA7IH0KICAgICAg
ICAgZmxvYXQgcjEoKSBjb25zdCB7IHJldHVybiBtX3IxOyB9CiAgICAgICAgIGJvb2wgaXNSYWRp
YWwoKSBjb25zdCB7IHJldHVybiBtX3JhZGlhbDsgfQotICAgICAgICBzdHJ1Y3QgQ29sb3JTdG9w
OwogICAgICAgICBjb25zdCBWZWN0b3I8Q29sb3JTdG9wPiYgZ2V0U3RvcHMoKSBjb25zdDsKICNl
bHNlCiAgICAgICAgIFBsYXRmb3JtR3JhZGllbnQgcGxhdGZvcm1HcmFkaWVudCgpOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0OwotY2xhc3Mg
U1ZHUGFpbnRTZXJ2ZXI7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZTsKIAogY2xhc3MgVGV4dFJ1
biB7CiBwdWJsaWM6CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2Rpc2Fi
bGVTcGFjaW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZl
cmVuY2luZ1JlbmRlck9iamVjdCgwKQotICAgICAgICAsIG1fYWN0aXZlUGFpbnRTZXJ2ZXIoMCkK
KyAgICAgICAgLCBtX2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UoMCkKICNlbmRpZgogICAgIHsKICAg
ICB9CkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5n
KGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1Jl
bmRlck9iamVjdCgwKQotICAgICAgICAsIG1fYWN0aXZlUGFpbnRTZXJ2ZXIoMCkKKyAgICAgICAg
LCBtX2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UoMCkKICNlbmRpZgogICAgIHsKICAgICB9CkBAIC05
OCw4ICs5OCw4IEBAIHB1YmxpYzoKICAgICBSZW5kZXJPYmplY3QqIHJlZmVyZW5jaW5nUmVuZGVy
T2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWZlcmVuY2luZ1JlbmRlck9iamVjdDsgfQogICAg
IHZvaWQgc2V0UmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoUmVuZGVyT2JqZWN0KiBvYmplY3QpIHsg
bV9yZWZlcmVuY2luZ1JlbmRlck9iamVjdCA9IG9iamVjdDsgfQogCi0gICAgU1ZHUGFpbnRTZXJ2
ZXIqIGFjdGl2ZVBhaW50U2VydmVyKCkgY29uc3QgeyByZXR1cm4gbV9hY3RpdmVQYWludFNlcnZl
cjsgfQotICAgIHZvaWQgc2V0QWN0aXZlUGFpbnRTZXJ2ZXIoU1ZHUGFpbnRTZXJ2ZXIqIG9iamVj
dCkgeyBtX2FjdGl2ZVBhaW50U2VydmVyID0gb2JqZWN0OyB9CisgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2UqIGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX2FjdGl2ZVBhaW50
aW5nUmVzb3VyY2U7IH0KKyAgICB2b2lkIHNldEFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoUmVuZGVy
U1ZHUmVzb3VyY2UqIG9iamVjdCkgeyBtX2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UgPSBvYmplY3Q7
IH0KICNlbmRpZgogCiBwcml2YXRlOgpAQCAtMTE3LDcgKzExNyw3IEBAIHByaXZhdGU6CiAKICNp
ZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIFJlbmRlck9iamVjdCogbV9yZWZlcmVuY2luZ1JlbmRl
ck9iamVjdDsKLSAgICBTVkdQYWludFNlcnZlciogbV9hY3RpdmVQYWludFNlcnZlcjsKKyAgICBS
ZW5kZXJTVkdSZXNvdXJjZSogbV9hY3RpdmVQYWludGluZ1Jlc291cmNlOwogI2VuZGlmCiB9Owog
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRXaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNz
Q29udGV4dFdpbi5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsOCAr
NDMsNiBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR1Jlc291cmNlSW1hZ2U7Ci0KIHN0YXRpYyB2b2lkIGZpbGxXaXRoQ2xlYXJDb2xvcihI
QklUTUFQIGJpdG1hcCkKIHsKICAgICBCSVRNQVAgYm1wSW5mbzsKQEAgLTE5OSwxMyArMTk3LDQg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGU6OmNvbgogICAgIE1vZGlmeVdv
cmxkVHJhbnNmb3JtKG1faGRjLCAmeGZvcm0sIE1XVF9MRUZUTVVMVElQTFkpOwogfQogCi0jaWYg
RU5BQkxFKFNWRykKLUdyYXBoaWNzQ29udGV4dCogY29udGV4dEZvckltYWdlKFNWR1Jlc291cmNl
SW1hZ2UqKQotewotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBnbyBpbiBHcmFwaGljc0NvbnRl
eHRDRy5jcHAKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOwotfQotI2VuZGlm
Ci0KIH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAkocmV2aXNpb24gNTgxNTkp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02Niw3ICs2Niw3IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVu
ZGVyU1ZHUmVzb3VyY2UuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5o
IgogI2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKICNlbmRpZgogCkBAIC0yNDk3LDcgKzI0
OTcsNyBAQCBjb25zdCBTVkdSZW5kZXJCYXNlKiBSZW5kZXJPYmplY3Q6OnRvU1ZHCiAgICAgcmV0
dXJuIDA7CiB9CiAKLVJlbmRlclNWR1Jlc291cmNlKiBSZW5kZXJPYmplY3Q6OnRvUmVuZGVyU1ZH
UmVzb3VyY2UoKQorUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIFJlbmRlck9iamVjdDo6dG9S
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgcmV0dXJuIDA7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24g
NTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBjb3B5
KQpAQCAtNTQsNyArNTQsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZTsKIGNsYXNzIFRyYW5zZm9ybVN0
YXRlOwogY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogI2lmIEVOQUJMRShTVkcpCi1jbGFzcyBSZW5k
ZXJTVkdSZXNvdXJjZTsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3Mg
U1ZHUmVuZGVyQmFzZTsKICNlbmRpZgogCkBAIC0zMzIsMTYgKzMzMiwxNyBAQCBwdWJsaWM6CiAg
ICAgLy8gdG8gYWRkIFNWRyByZW5kZXJlciBtZXRob2RzIHRvIFJlbmRlck9iamVjdCB3aXRoIGFu
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCiAgICAgdmlydHVh
bCBib29sIGlzU1ZHUm9vdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBi
b29sIGlzU1ZHQ29udGFpbmVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFs
IGJvb2wgaXNTVkdHcmFkaWVudFN0b3AoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCBpc1NWR0hpZGRlbkNvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyUGF0aCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzU1ZHVGV4dCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCBib29sIGlzU1ZHSW1hZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgYm9vbCBpc1NWR0ZvcmVpZ25PYmplY3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQotICAgIHZpcnR1YWwgYm9vbCBpc1NWR1Jlc291cmNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdSZXNvdXJjZUNvbnRhaW5lcigpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU1ZHU2hhZG93VHJlZVJvb3RDb250YWlu
ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCBjb25zdCBTVkdSZW5k
ZXJCYXNlKiB0b1NWR1JlbmRlckJhc2UoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFJlbmRlclNWR1Jl
c291cmNlKiB0b1JlbmRlclNWR1Jlc291cmNlKCk7CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNv
dXJjZUNvbnRhaW5lciogdG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpOwogCiAgICAgLy8g
RklYTUU6IFRob3NlIGJlbG9uZyBpbnRvIGEgU1ZHIHNwZWNpZmljIGJhc2UtY2xhc3MgZm9yIGFs
bCByZW5kZXJlcnMgKHNlZSBhYm92ZSkKICAgICAvLyBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhh
dmUgc3VjaCBhIGNsYXNzIHlldCwgYmVjYXVzZSBpdCdzIG5vdCBwb3NzaWJsZSBmb3IgYWxsIHJl
bmRlcmVycwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAJKHJldmlzaW9uIDU4MTU5KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQs
NiArNCw3IEBACiAgICAgICAgICAgICAgICAgICAyMDA1LCAyMDA3IEVyaWMgU2VpZGVsIDxlcmlj
QHdlYmtpdC5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA5IEdvb2dsZSwgSW5jLgogICAgICAg
ICAgICAgICAgICAgMjAwOSBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KKyAgICBDb3B5
cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTM0LDcgKzM1LDYgQEAKICNpbmNsdWRlICJS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTWFy
a2VyLmgiCiAjaW5jbHVkZSAiU3Ryb2tlU3R5bGVBcHBsaWVyLmgiCi0jaW5jbHVkZSAiU1ZHUGFp
bnRTZXJ2ZXIuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCiAjaW5jbHVkZSAiU1ZH
U3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0
LmgiCkBAIC03Niw3ICs3Niw3IEBAIGJvb2wgUmVuZGVyUGF0aDo6ZmlsbENvbnRhaW5zKGNvbnN0
IEZsb2EKICAgICBpZiAobV9wYXRoLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgaWYgKHJlcXVpcmVzRmlsbCAmJiAhU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZl
cihzdHlsZSgpLCB0aGlzKSkKKyAgICBpZiAocmVxdWlyZXNGaWxsICYmICFSZW5kZXJTVkdSZXNv
dXJjZTo6ZmlsbFBhaW50aW5nUmVzb3VyY2UodGhpcywgc3R5bGUoKSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIHJldHVybiBtX3BhdGguY29udGFpbnMocG9pbnQsIHN0eWxlKCktPnN2
Z1N0eWxlKCktPmZpbGxSdWxlKCkpOwpAQCAtODcsNyArODcsNyBAQCBib29sIFJlbmRlclBhdGg6
OnN0cm9rZUNvbnRhaW5zKGNvbnN0IEZsCiAgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChyZXF1aXJlc1N0cm9rZSAmJiAhU1ZHUGFpbnRT
ZXJ2ZXI6OnN0cm9rZVBhaW50U2VydmVyKHN0eWxlKCksIHRoaXMpKQorICAgIGlmIChyZXF1aXJl
c1N0cm9rZSAmJiAhUmVuZGVyU1ZHUmVzb3VyY2U6OnN0cm9rZVBhaW50aW5nUmVzb3VyY2UodGhp
cywgc3R5bGUoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEJvdW5kaW5nUmVjdFN0
cm9rZVN0eWxlQXBwbGllciBzdHJva2VTdHlsZSh0aGlzLCBzdHlsZSgpKTsKQEAgLTE5OCwyMCAr
MTk4LDIwIEBAIHZvaWQgUmVuZGVyUGF0aDo6bGF5b3V0KCkKICAgICBzZXROZWVkc0xheW91dChm
YWxzZSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBmaWxsQW5kU3Ryb2tlUGF0aChjb25zdCBQ
YXRoJiBwYXRoLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFJlbmRlclN0eWxlKiBzdHlsZSwg
UmVuZGVyUGF0aCogb2JqZWN0KQorc3RhdGljIGlubGluZSB2b2lkIGZpbGxBbmRTdHJva2VQYXRo
KGNvbnN0IFBhdGgmIHBhdGgsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgUmVuZGVyUGF0aCog
b2JqZWN0KQogewogICAgIGNvbnRleHQtPmJlZ2luUGF0aCgpOwogCi0gICAgU1ZHUGFpbnRTZXJ2
ZXIqIGZpbGxQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpmaWxsUGFpbnRTZXJ2ZXIoc3R5
bGUsIG9iamVjdCk7Ci0gICAgaWYgKGZpbGxQYWludFNlcnZlcikgeworICAgIGlmIChSZW5kZXJT
VkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6Zmls
bFBhaW50aW5nUmVzb3VyY2Uob2JqZWN0LCBvYmplY3QtPnN0eWxlKCkpKSB7CiAgICAgICAgIGNv
bnRleHQtPmFkZFBhdGgocGF0aCk7Ci0gICAgICAgIGZpbGxQYWludFNlcnZlci0+ZHJhdyhjb250
ZXh0LCBvYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSk7CisgICAgICAgIGlmIChmaWxsUGFp
bnRpbmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSwgY29u
dGV4dCwgQXBwbHlUb0ZpbGxNb2RlKSkKKyAgICAgICAgICAgIGZpbGxQYWludGluZ1Jlc291cmNl
LT5wb3N0QXBwbHlSZXNvdXJjZShvYmplY3QsIGNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSk7CiAg
ICAgfQotICAgIAotICAgIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZlciA9IFNWR1Bh
aW50U2VydmVyOjpzdHJva2VQYWludFNlcnZlcihzdHlsZSwgb2JqZWN0KTsKLSAgICBpZiAoc3Ry
b2tlUGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgY29udGV4dC0+YWRkUGF0aChwYXRoKTsgLy8gcGF0
aCBpcyBjbGVhcmVkIHdoZW4gZmlsbGVkLgotICAgICAgICBzdHJva2VQYWludFNlcnZlci0+ZHJh
dyhjb250ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlKTsKKworICAgIGlmIChS
ZW5kZXJTVkdSZXNvdXJjZSogc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jlc291
cmNlOjpzdHJva2VQYWludGluZ1Jlc291cmNlKG9iamVjdCwgb2JqZWN0LT5zdHlsZSgpKSkgewor
ICAgICAgICBjb250ZXh0LT5hZGRQYXRoKHBhdGgpOworICAgICAgICBpZiAoc3Ryb2tlUGFpbnRp
bmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSwgY29udGV4
dCwgQXBwbHlUb1N0cm9rZU1vZGUpKQorICAgICAgICAgICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJj
ZS0+cG9zdEFwcGx5UmVzb3VyY2Uob2JqZWN0LCBjb250ZXh0LCBBcHBseVRvU3Ryb2tlTW9kZSk7
CiAgICAgfQogfQogCkBAIC0yNDEsNyArMjQxLDcgQEAgdm9pZCBSZW5kZXJQYXRoOjpwYWludChQ
YWludEluZm8mIHBhaW50SQogICAgICAgICAgICAgaWYgKHByZXBhcmVUb1JlbmRlclNWR0NvbnRl
bnQodGhpcywgY2hpbGRQYWludEluZm8sIGJvdW5kaW5nQm94LCBmaWx0ZXIpKSB7CiAgICAgICAg
ICAgICAgICAgaWYgKHN0eWxlKCktPnN2Z1N0eWxlKCktPnNoYXBlUmVuZGVyaW5nKCkgPT0gU1Jf
Q1JJU1BFREdFUykKICAgICAgICAgICAgICAgICAgICAgY2hpbGRQYWludEluZm8uY29udGV4dC0+
c2V0U2hvdWxkQW50aWFsaWFzKGZhbHNlKTsKLSAgICAgICAgICAgICAgICBmaWxsQW5kU3Ryb2tl
UGF0aChtX3BhdGgsIGNoaWxkUGFpbnRJbmZvLmNvbnRleHQsIHN0eWxlKCksIHRoaXMpOworICAg
ICAgICAgICAgICAgIGZpbGxBbmRTdHJva2VQYXRoKG1fcGF0aCwgY2hpbGRQYWludEluZm8uY29u
dGV4dCwgdGhpcyk7CiAKICAgICAgICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8U1ZHU3R5bGVk
RWxlbWVudCo+KG5vZGUoKSktPnN1cHBvcnRzTWFya2VycygpKQogICAgICAgICAgICAgICAgICAg
ICBtX21hcmtlckxheW91dEluZm8uZHJhd01hcmtlcnMoY2hpbGRQYWludEluZm8pOwpJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuY3BwCShyZXZpc2lvbiA1
ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRpZW50U3RvcC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ4LDEwICs0OCw4IEBAIHZvaWQgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
OjpzdHlsZURpZENoYW4KIAogICAgIC8vIDxzdG9wPiBlbGVtZW50cyBzaG91bGQgb25seSBiZSBh
bGxvd2VkIHRvIG1ha2UgcmVuZGVyZXJzIHVuZGVyIGdyYWRpZW50IGVsZW1lbnRzCiAgICAgLy8g
YnV0IEkgY2FuIGltYWdpbmUgYSBmZXcgY2FzZXMgd2UgbWlnaHQgbm90IGJlIGNhdGNoaW5nLCBz
byBsZXQncyBub3QgY3Jhc2ggaWYgb3VyIHBhcmVudCBpc24ndCBhIGdyYWRpZW50LgotICAgIGlm
IChTVkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50ID0gZ3JhZGllbnRFbGVtZW50KCkpIHsKLSAg
ICAgICAgaWYgKFNWR1Jlc291cmNlKiByZXNvdXJjZSA9IGdyYWRpZW50LT5jYW52YXNSZXNvdXJj
ZSh0aGlzKSkKLSAgICAgICAgICAgIHJlc291cmNlLT5pbnZhbGlkYXRlKCk7Ci0gICAgfQorICAg
IGlmIChTVkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50ID0gZ3JhZGllbnRFbGVtZW50KCkpCisg
ICAgICAgIGdyYWRpZW50LT5pbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wOjpsYXlvdXQoKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDMyICsy
Nyw0MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgU1ZHR3JhZGll
bnRFbGVtZW50OwotICAgIGNsYXNzIFNWR1N0b3BFbGVtZW50OwotICAgIAotICAgIC8vIFRoaXMg
Y2xhc3MgZXhpc3RzIG1vc3RseSBzbyB3ZSBjYW4gaGVhciBhYm91dCBncmFkaWVudCBzdG9wIHN0
eWxlIGNoYW5nZXMKLSAgICBjbGFzcyBSZW5kZXJTVkdHcmFkaWVudFN0b3AgOiBwdWJsaWMgUmVu
ZGVyT2JqZWN0IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcChT
VkdTdG9wRWxlbWVudCopOwotICAgICAgICB2aXJ0dWFsIH5SZW5kZXJTVkdHcmFkaWVudFN0b3Ao
KTsKLQotICAgICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJl
dHVybiAiUmVuZGVyU1ZHR3JhZGllbnRTdG9wIjsgfQotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBs
YXlvdXQoKTsKLQotICAgICAgICAvLyBUaGlzIG92ZXJyaWRlcyBhcmUgbmVlZGVkIHRvIHByZXZl
bnQgQVNTRVJUcyBvbiA8c3ZnPjxzdG9wIC8+PC9zdmc+Ci0gICAgICAgIC8vIFJlbmRlck9iamVj
dCdzIGRlZmF1bHQgaW1wbGVtZW50YXRpb25zIEFTU0VSVF9OT1RfUkVBQ0hFRCgpCi0gICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQwMAotICAgICAg
ICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94
TW9kZWxPYmplY3QqKSB7IHJldHVybiBJbnRSZWN0KCk7IH0KLSAgICAgICAgdmlydHVhbCBGbG9h
dFJlY3Qgb2JqZWN0Qm91bmRpbmdCb3goKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQot
ICAgICAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
IGNvbnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9Ci0KLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRl
clN0eWxlKiBvbGRTdHlsZSk7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTVkdHcmFkaWVudEVs
ZW1lbnQqIGdyYWRpZW50RWxlbWVudCgpIGNvbnN0OwotICAgIH07CitjbGFzcyBTVkdHcmFkaWVu
dEVsZW1lbnQ7CitjbGFzcyBTVkdTdG9wRWxlbWVudDsKKworLy8gVGhpcyBjbGFzcyBleGlzdHMg
bW9zdGx5IHNvIHdlIGNhbiBoZWFyIGFib3V0IGdyYWRpZW50IHN0b3Agc3R5bGUgY2hhbmdlcwor
Y2xhc3MgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIDogcHVibGljIFJlbmRlck9iamVjdCB7CitwdWJs
aWM6CisgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wKFNWR1N0b3BFbGVtZW50Kik7CisgICAgdmly
dHVhbCB+UmVuZGVyU1ZHR3JhZGllbnRTdG9wKCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdH
cmFkaWVudFN0b3AoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBjb25zdCBj
aGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR0dyYWRpZW50U3RvcCI7
IH0KKworICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKKworICAgIC8vIFRoaXMgb3ZlcnJpZGVz
IGFyZSBuZWVkZWQgdG8gcHJldmVudCBBU1NFUlRzIG9uIDxzdmc+PHN0b3AgLz48L3N2Zz4KKyAg
ICAvLyBSZW5kZXJPYmplY3QncyBkZWZhdWx0IGltcGxlbWVudGF0aW9ucyBBU1NFUlRfTk9UX1JF
QUNIRUQoKQorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDQwMAorICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChS
ZW5kZXJCb3hNb2RlbE9iamVjdCopIHsgcmV0dXJuIEludFJlY3QoKTsgfQorICAgIHZpcnR1YWwg
RmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7
IH0KKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
IGNvbnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFs
IHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSog
b2xkU3R5bGUpOworCitwcml2YXRlOgorICAgIFNWR0dyYWRpZW50RWxlbWVudCogZ3JhZGllbnRF
bGVtZW50KCkgY29uc3Q7Cit9OworCitpbmxpbmUgY29uc3QgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
KiB0b1JlbmRlclNWR0dyYWRpZW50U3RvcChjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sK
KyAgICBBU1NFUlQoIW9iamVjdCB8fCBvYmplY3QtPmlzU1ZHR3JhZGllbnRTdG9wKCkpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJTVkdHcmFkaWVudFN0b3AqPihvYmplY3Qp
OworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIsMjc2ICsyLDIw
MSBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFu
bkBrZGUub3JnPgogICogICAgICAgICAgICAgICAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+
CiAgKiAgICAgICAgICAgICAgIDIwMDggRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+Cisg
KiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBV
VEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVk
ZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogCi0j
aW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgi
Ci0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCIKLSNp
bmNsdWRlICJSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdVUklSZWZlcmVuY2UuaCIKIAotI2lmIFBMQVRGT1JNKFNLSUEpCi0jaW5jbHVk
ZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotU1ZHUGFpbnRTZXJ2ZXI6OlNWR1BhaW50U2VydmVyKCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBy
ZWdpc3RlclBlbmRpbmdSZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBjb25zdCBTVkdQ
YWludDo6U1ZHUGFpbnRUeXBlJiBwYWludFR5cGUsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0
KQogewotfQorICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJ
KQorICAgICAgICByZXR1cm47CiAKLVNWR1BhaW50U2VydmVyOjp+U1ZHUGFpbnRTZXJ2ZXIoKQot
ewotfQorICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50
Kj4ob2JqZWN0LT5ub2RlKCkpOworICAgIEFTU0VSVChzdmdFbGVtZW50KTsKKyAgICBBU1NFUlQo
c3ZnRWxlbWVudC0+aXNTdHlsZWQoKSk7CiAKLVRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0
cmVhbSYgdHMsIGNvbnN0IFNWR1BhaW50U2VydmVyJiBwYWludFNlcnZlcikKLXsKLSAgICByZXR1
cm4gcGFpbnRTZXJ2ZXIuZXh0ZXJuYWxSZXByZXNlbnRhdGlvbih0cyk7CisgICAgb2JqZWN0LT5k
b2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNvdXJjZShpZCwg
c3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsKIH0KIAotU1ZHUGFp
bnRTZXJ2ZXIqIGdldFBhaW50U2VydmVyQnlJZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0
b21pY1N0cmluZyYgaWQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGlu
ZSB2b2lkIGFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxl
LCBib29sIHVzZUZpbGxQYWludCwgQ29sb3ImIGNvbG9yKQogewotICAgIFNWR1Jlc291cmNlKiBy
ZXNvdXJjZSA9IGdldFJlc291cmNlQnlJZChkb2N1bWVudCwgaWQsIG9iamVjdCk7Ci0gICAgaWYg
KHJlc291cmNlICYmIHJlc291cmNlLT5pc1BhaW50U2VydmVyKCkpCi0gICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxTVkdQYWludFNlcnZlcio+KHJlc291cmNlKTsKKyAgICBpZiAoc3R5bGUtPmlu
c2lkZUxpbmsoKSAhPSBJbnNpZGVWaXNpdGVkTGluaykKKyAgICAgICAgcmV0dXJuOwogCi0gICAg
cmV0dXJuIDA7Ci19CisgICAgUmVuZGVyU3R5bGUqIHZpc2l0ZWRTdHlsZSA9IHN0eWxlLT5nZXRD
YWNoZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTkspOworICAgIFNWR1BhaW50KiB2aXNpdGVkUGFp
bnQgPSB1c2VGaWxsUGFpbnQgPyB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPmZpbGxQYWludCgp
IDogdmlzaXRlZFN0eWxlLT5zdmdTdHlsZSgpLT5zdHJva2VQYWludCgpOworICAgIGlmICh2aXNp
dGVkUGFpbnQtPnBhaW50VHlwZSgpID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSSkKKyAg
ICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICBDb2xvciB2aXNpdGVkQ29sb3I7CisgICAgaWYg
KHZpc2l0ZWRQYWludC0+cGFpbnRUeXBlKCkgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfQ1VS
UkVOVENPTE9SKQorICAgICAgICB2aXNpdGVkQ29sb3IgPSB2aXNpdGVkU3R5bGUtPmNvbG9yKCk7
CisgICAgZWxzZQorICAgICAgICB2aXNpdGVkQ29sb3IgPSB2aXNpdGVkUGFpbnQtPmNvbG9yKCk7
CiAKLVNWR1BhaW50U2VydmVyU29saWQqIFNWR1BhaW50U2VydmVyOjpzaGFyZWRTb2xpZFBhaW50
U2VydmVyKCkKLXsKLSAgICBzdGF0aWMgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCogX3NoYXJlZFNvbGlk
UGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlclNvbGlkOjpjcmVhdGUoKS5yZWxlYXNlUmVmKCk7
Ci0gICAgCi0gICAgcmV0dXJuIF9zaGFyZWRTb2xpZFBhaW50U2VydmVyOworICAgIGlmICh2aXNp
dGVkQ29sb3IuaXNWYWxpZCgpKQorICAgICAgICBjb2xvciA9IENvbG9yKHZpc2l0ZWRDb2xvci5y
ZWQoKSwgdmlzaXRlZENvbG9yLmdyZWVuKCksIHZpc2l0ZWRDb2xvci5ibHVlKCksIGNvbG9yLmFs
cGhhKCkpOwogfQogCi1TVkdQYWludFNlcnZlciogU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNl
cnZlcihjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlck9iamVjdCogaXRlbSkK
Ky8vIEZJWE1FOiBUaGlzIG1ldGhvZCBhbmQgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSgpIHNob3Vs
ZCBiZSByZWZhY3RvcmVkLCB0byBzaGFyZSBldmVuIG1vcmUgY29kZQorUmVuZGVyU1ZHUmVzb3Vy
Y2UqIFJlbmRlclNWR1Jlc291cmNlOjpmaWxsUGFpbnRpbmdSZXNvdXJjZShjb25zdCBSZW5kZXJP
YmplY3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlKQogewotICAgIGlmICghc3R5
bGUtPnN2Z1N0eWxlKCktPmhhc0ZpbGwoKSkKKyAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBBU1NF
UlQoc3R5bGUpOworCisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUt
PnN2Z1N0eWxlKCk7CisgICAgaWYgKCFzdmdTdHlsZSB8fCAhc3ZnU3R5bGUtPmhhc0ZpbGwoKSkK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBTVkdQYWludCogZmlsbCA9IHN0eWxlLT5zdmdTdHls
ZSgpLT5maWxsUGFpbnQoKTsKLSAgICAgICAgCi0gICAgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWlu
dFNlcnZlciA9IDA7Ci0gICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBmaWxs
LT5wYWludFR5cGUoKTsKLSAgICBpZiAocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRU
WVBFX1VSSSB8fAotICAgICAgICBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVf
VVJJX1JHQkNPTE9SKSB7Ci0gICAgICAgIEF0b21pY1N0cmluZyBpZChTVkdVUklSZWZlcmVuY2U6
OmdldFRhcmdldChmaWxsLT51cmkoKSkpOwotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBnZXRQ
YWludFNlcnZlckJ5SWQoaXRlbS0+ZG9jdW1lbnQoKSwgaWQsIGl0ZW0pOwotCi0gICAgICAgIFNW
R0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaXRlbS0+bm9k
ZSgpKTsKLSAgICAgICAgQVNTRVJUKHN2Z0VsZW1lbnQgJiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQo
KSAmJiBzdmdFbGVtZW50LT5pc1N0eWxlZCgpKTsKLQotICAgICAgICBpZiAoaXRlbS0+aXNSZW5k
ZXJQYXRoKCkgJiYgZmlsbFBhaW50U2VydmVyKQotICAgICAgICAgICAgZmlsbFBhaW50U2VydmVy
LT5hZGRDbGllbnQoc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsK
LSAgICAgICAgZWxzZSBpZiAoIWZpbGxQYWludFNlcnZlciAmJiBwYWludFR5cGUgPT0gU1ZHUGFp
bnQ6OlNWR19QQUlOVFRZUEVfVVJJKQotICAgICAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1lbnQo
KS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2UoaWQsIHN0YXRpY19j
YXN0PFNWR1N0eWxlZEVsZW1lbnQqPihzdmdFbGVtZW50KSk7IAorICAgIFNWR1BhaW50KiBmaWxs
UGFpbnQgPSBzdmdTdHlsZS0+ZmlsbFBhaW50KCk7CisgICAgQVNTRVJUKGZpbGxQYWludCk7CisK
KyAgICBSZW5kZXJTVkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UgPSAwOworCisgICAg
U1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBmaWxsUGFpbnQtPnBhaW50VHlwZSgp
OworICAgIGlmIChwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJCisgICAg
ICAgIHx8IHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUklfUkdCQ09MT1Ip
IHsKKyAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGZp
bGxQYWludC0+dXJpKCkpKTsKKyAgICAgICAgZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBnZXRSZW5k
ZXJTVkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBpZCk7CisKKyAg
ICAgICAgaWYgKCFmaWxsUGFpbnRpbmdSZXNvdXJjZSkKKyAgICAgICAgICAgIHJlZ2lzdGVyUGVu
ZGluZ1Jlc291cmNlKGlkLCBwYWludFR5cGUsIG9iamVjdCk7CiAgICAgfQotICAgIGlmIChwYWlu
dFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmICFmaWxsUGFpbnRTZXJ2ZXIp
IHsKLSAgICAgICAgZmlsbFBhaW50U2VydmVyID0gc2hhcmVkU29saWRQYWludFNlcnZlcigpOwot
ICAgICAgICBTVkdQYWludFNlcnZlclNvbGlkKiBmaWxsUGFpbnRTZXJ2ZXJTb2xpZCA9IHN0YXRp
Y19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihmaWxsUGFpbnRTZXJ2ZXIpOwotICAgICAgICAK
KworICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmICFm
aWxsUGFpbnRpbmdSZXNvdXJjZSkgeworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29s
b3IqIHNvbGlkUmVzb3VyY2UgPSBzaGFyZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UoKTsKKyAgICAg
ICAgZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBzb2xpZFJlc291cmNlOworCiAgICAgICAgIENvbG9y
IGZpbGxDb2xvcjsKLSAgICAgICAgaWYgKHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5U
VFlQRV9DVVJSRU5UQ09MT1IpCisgICAgICAgIGlmIChmaWxsUGFpbnQtPnBhaW50VHlwZSgpID09
IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKICAgICAgICAgICAgIGZpbGxD
b2xvciA9IHN0eWxlLT5jb2xvcigpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBmaWxsQ29s
b3IgPSBmaWxsLT5jb2xvcigpOworICAgICAgICAgICAgZmlsbENvbG9yID0gZmlsbFBhaW50LT5j
b2xvcigpOwogCi0gICAgICAgIGlmIChzdHlsZS0+aW5zaWRlTGluaygpID09IEluc2lkZVZpc2l0
ZWRMaW5rKSB7Ci0gICAgICAgICAgICBSZW5kZXJTdHlsZSogdmlzaXRlZFN0eWxlID0gc3R5bGUt
PmdldENhY2hlZFBzZXVkb1N0eWxlKFZJU0lURURfTElOSyk7Ci0gICAgICAgICAgICBTVkdQYWlu
dCogdmlzaXRlZEZpbGwgPSB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPmZpbGxQYWludCgpOwot
ICAgICAgICAgICAgQ29sb3IgdmlzaXRlZEZpbGxDb2xvcjsKLSAgICAgICAgICAgIGlmICh2aXNp
dGVkRmlsbC0+cGFpbnRUeXBlKCkgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsLT5wYWludFR5cGUoKSA9PSBTVkdQYWludDo6
U1ZHX1BBSU5UVFlQRV9DVVJSRU5UQ09MT1IpCi0gICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRG
aWxsQ29sb3IgPSB2aXNpdGVkU3R5bGUtPmNvbG9yKCk7Ci0gICAgICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICAgICB2aXNpdGVkRmlsbENvbG9yID0gdmlzaXRlZEZpbGwtPmNvbG9y
KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsQ29sb3IuaXNWYWxpZCgpKQotICAg
ICAgICAgICAgICAgICAgICBmaWxsQ29sb3IgPSBDb2xvcih2aXNpdGVkRmlsbENvbG9yLnJlZCgp
LCB2aXNpdGVkRmlsbENvbG9yLmdyZWVuKCksIHZpc2l0ZWRGaWxsQ29sb3IuYmx1ZSgpLCBmaWxs
Q29sb3IuYWxwaGEoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgYWRqdXN0
Q29sb3JGb3JQc2V1ZG9SdWxlcyhzdHlsZSwgdHJ1ZSAvKiB1c2VGaWxsUGFpbnQgKi8sIGZpbGxD
b2xvcik7CiAKLSAgICAgICAgZmlsbFBhaW50U2VydmVyU29saWQtPnNldENvbG9yKGZpbGxDb2xv
cik7Ci0gICAgICAgIAogICAgICAgICAvLyBGSVhNRTogSWRlYWxseSBpbnZhbGlkIGNvbG9ycyB3
b3VsZCBuZXZlciBnZXQgc2V0IG9uIHRoZSBSZW5kZXJTdHlsZSBhbmQgdGhpcyBjb3VsZCB0dXJu
IGludG8gYW4gQVNTRVJUCi0gICAgICAgIGlmICghZmlsbFBhaW50U2VydmVyU29saWQtPmNvbG9y
KCkuaXNWYWxpZCgpKQotICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyID0gMDsKKyAgICAgICAg
aWYgKGZpbGxDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgICAgICBzb2xpZFJlc291cmNlLT5zZXRD
b2xvcihmaWxsQ29sb3IpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmaWxsUGFpbnRpbmdS
ZXNvdXJjZSA9IDA7CiAgICAgfQotICAgIGlmICghZmlsbFBhaW50U2VydmVyKSB7CisKKyAgICBp
ZiAoIWZpbGxQYWludGluZ1Jlc291cmNlKSB7CiAgICAgICAgIC8vIGRlZmF1bHQgdmFsdWUgKGJs
YWNrKSwgc2VlIGJ1ZyAxMTAxNwotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xp
ZFBhaW50U2VydmVyKCk7Ci0gICAgICAgIHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQq
PihmaWxsUGFpbnRTZXJ2ZXIpLT5zZXRDb2xvcihDb2xvcjo6YmxhY2spOworICAgICAgICBSZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNvbGlkUmVzb3VyY2UgPSBzaGFyZWRTb2xpZFBhaW50
aW5nUmVzb3VyY2UoKTsKKyAgICAgICAgc29saWRSZXNvdXJjZS0+c2V0Q29sb3IoQ29sb3I6OmJs
YWNrKTsKKyAgICAgICAgZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBzb2xpZFJlc291cmNlOwogICAg
IH0KLSAgICByZXR1cm4gZmlsbFBhaW50U2VydmVyOworCisgICAgcmV0dXJuIGZpbGxQYWludGlu
Z1Jlc291cmNlOwogfQogCi1TVkdQYWludFNlcnZlciogU1ZHUGFpbnRTZXJ2ZXI6OnN0cm9rZVBh
aW50U2VydmVyKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2JqZWN0KiBp
dGVtKQorUmVuZGVyU1ZHUmVzb3VyY2UqIFJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGlu
Z1Jlc291cmNlKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBSZW5kZXJTdHlsZSog
c3R5bGUpCiB7Ci0gICAgaWYgKCFzdHlsZS0+c3ZnU3R5bGUoKS0+aGFzU3Ryb2tlKCkpCisgICAg
QVNTRVJUKG9iamVjdCk7CisgICAgQVNTRVJUKHN0eWxlKTsKKworICAgIGNvbnN0IFNWR1JlbmRl
clN0eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5zdmdTdHlsZSgpOworICAgIGlmICghc3ZnU3R5bGUg
fHwgIXN2Z1N0eWxlLT5oYXNTdHJva2UoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBTVkdQ
YWludCogc3Ryb2tlID0gc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVBhaW50KCk7CisgICAgU1ZH
UGFpbnQqIHN0cm9rZVBhaW50ID0gc3ZnU3R5bGUtPnN0cm9rZVBhaW50KCk7CisgICAgQVNTRVJU
KHN0cm9rZVBhaW50KTsKIAotICAgIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZlciA9
IDA7Ci0gICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBzdHJva2UtPnBhaW50
VHlwZSgpOwotICAgIGlmICgocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VS
SQotICAgICAgICB8fCBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJX1JH
QkNPTE9SKQotICAgICAgICAmJiBpdGVtLT5vYmplY3RCb3VuZGluZ0JveCgpLndpZHRoKCkgIT0g
MAotICAgICAgICAmJiBpdGVtLT5vYmplY3RCb3VuZGluZ0JveCgpLmhlaWdodCgpICE9IDApIHsK
LSAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHN0cm9r
ZS0+dXJpKCkpKTsKLSAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBnZXRQYWludFNlcnZlckJ5
SWQoaXRlbS0+ZG9jdW1lbnQoKSwgaWQsIGl0ZW0pOwotCi0gICAgICAgIFNWR0VsZW1lbnQqIHN2
Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaXRlbS0+bm9kZSgpKTsKLSAgICAg
ICAgQVNTRVJUKHN2Z0VsZW1lbnQgJiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKSAmJiBzdmdFbGVt
ZW50LT5pc1N0eWxlZCgpKTsKLSAKLSAgICAgICAgaWYgKGl0ZW0tPmlzUmVuZGVyUGF0aCgpICYm
IHN0cm9rZVBhaW50U2VydmVyKQotICAgICAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXItPmFkZENs
aWVudChzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOwotICAgICAg
ICBlbHNlIGlmICghc3Ryb2tlUGFpbnRTZXJ2ZXIgJiYgcGFpbnRUeXBlID09IFNWR1BhaW50OjpT
VkdfUEFJTlRUWVBFX1VSSSkKLSAgICAgICAgICAgIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFj
Y2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKGlkLCBzdGF0aWNfY2FzdDxT
VkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOyAKKyAgICBSZW5kZXJTVkdSZXNvdXJjZSog
c3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IDA7CisgICAgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5n
Qm94ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpOworCisgICAgU1ZHUGFpbnQ6OlNWR1Bh
aW50VHlwZSBwYWludFR5cGUgPSBzdHJva2VQYWludC0+cGFpbnRUeXBlKCk7CisgICAgaWYgKCFv
YmplY3RCb3VuZGluZ0JveC5pc0VtcHR5KCkKKyAgICAgICAgJiYgKHBhaW50VHlwZSA9PSBTVkdQ
YWludDo6U1ZHX1BBSU5UVFlQRV9VUkkgfHwgcGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJ
TlRUWVBFX1VSSV9SR0JDT0xPUikpIHsKKyAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJl
ZmVyZW5jZTo6Z2V0VGFyZ2V0KHN0cm9rZVBhaW50LT51cmkoKSkpOworICAgICAgICBzdHJva2VQ
YWludGluZ1Jlc291cmNlID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXJCeUlkKG9iamVj
dC0+ZG9jdW1lbnQoKSwgaWQpOworCisgICAgICAgIGlmICghc3Ryb2tlUGFpbnRpbmdSZXNvdXJj
ZSkKKyAgICAgICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKGlkLCBwYWludFR5cGUsIG9i
amVjdCk7CiAgICAgfQotICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZ
UEVfVVJJICYmICFzdHJva2VQYWludFNlcnZlcikgewotICAgICAgICBzdHJva2VQYWludFNlcnZl
ciA9IHNoYXJlZFNvbGlkUGFpbnRTZXJ2ZXIoKTsKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJTb2xp
ZCogc3Ryb2tlUGFpbnRTZXJ2ZXJTb2xpZCA9IHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29s
aWQqPihzdHJva2VQYWludFNlcnZlcik7Ci0gICAgICAgIAorCisgICAgaWYgKHBhaW50VHlwZSAh
PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUkkgJiYgIXN0cm9rZVBhaW50aW5nUmVzb3VyY2Up
IHsKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKiBzb2xpZFJlc291cmNlID0g
c2hhcmVkU29saWRQYWludGluZ1Jlc291cmNlKCk7CisgICAgICAgIHN0cm9rZVBhaW50aW5nUmVz
b3VyY2UgPSBzb2xpZFJlc291cmNlOworCiAgICAgICAgIENvbG9yIHN0cm9rZUNvbG9yOwotICAg
ICAgICBpZiAocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xP
UikKKyAgICAgICAgaWYgKHN0cm9rZVBhaW50LT5wYWludFR5cGUoKSA9PSBTVkdQYWludDo6U1ZH
X1BBSU5UVFlQRV9DVVJSRU5UQ09MT1IpCiAgICAgICAgICAgICBzdHJva2VDb2xvciA9IHN0eWxl
LT5jb2xvcigpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBzdHJva2VDb2xvciA9IHN0cm9r
ZS0+Y29sb3IoKTsKLQotICAgICAgICBpZiAoc3R5bGUtPmluc2lkZUxpbmsoKSA9PSBJbnNpZGVW
aXNpdGVkTGluaykgewotICAgICAgICAgICAgUmVuZGVyU3R5bGUqIHZpc2l0ZWRTdHlsZSA9IHN0
eWxlLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTkspOwotICAgICAgICAgICAgU1ZH
UGFpbnQqIHZpc2l0ZWRTdHJva2UgPSB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVBh
aW50KCk7Ci0gICAgICAgICAgICBDb2xvciB2aXNpdGVkU3Ryb2tlQ29sb3I7Ci0gICAgICAgICAg
ICBpZiAodmlzaXRlZFN0cm9rZS0+cGFpbnRUeXBlKCkgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZ
UEVfVVJJKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRTdHJva2UtPnBhaW50VHlwZSgp
ID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKLSAgICAgICAgICAgICAg
ICAgICAgdmlzaXRlZFN0cm9rZUNvbG9yID0gdmlzaXRlZFN0eWxlLT5jb2xvcigpOwotICAgICAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdmlzaXRlZFN0cm9rZUNvbG9yID0g
dmlzaXRlZFN0cm9rZS0+Y29sb3IoKTsKLSAgICAgICAgICAgICAgICBpZiAodmlzaXRlZFN0cm9r
ZUNvbG9yLmlzVmFsaWQoKSkKLSAgICAgICAgICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBDb2xv
cih2aXNpdGVkU3Ryb2tlQ29sb3IucmVkKCksIHZpc2l0ZWRTdHJva2VDb2xvci5ncmVlbigpLCB2
aXNpdGVkU3Ryb2tlQ29sb3IuYmx1ZSgpLCBzdHJva2VDb2xvci5hbHBoYSgpKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQorICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBzdHJva2VQYWludC0+
Y29sb3IoKTsKIAotICAgICAgICBzdHJva2VQYWludFNlcnZlclNvbGlkLT5zZXRDb2xvcihzdHJv
a2VDb2xvcik7CisgICAgICAgIGFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMoc3R5bGUsIGZhbHNl
IC8qIHVzZUZpbGxQYWludCAqLywgc3Ryb2tlQ29sb3IpOwogCiAgICAgICAgIC8vIEZJWE1FOiBJ
ZGVhbGx5IGludmFsaWQgY29sb3JzIHdvdWxkIG5ldmVyIGdldCBzZXQgb24gdGhlIFJlbmRlclN0
eWxlIGFuZCB0aGlzIGNvdWxkIHR1cm4gaW50byBhbiBBU1NFUlQKLSAgICAgICAgaWYgKCFzdHJv
a2VQYWludFNlcnZlclNvbGlkLT5jb2xvcigpLmlzVmFsaWQoKSkKLSAgICAgICAgICAgIHN0cm9r
ZVBhaW50U2VydmVyID0gMDsKKyAgICAgICAgaWYgKHN0cm9rZUNvbG9yLmlzVmFsaWQoKSkKKyAg
ICAgICAgICAgIHNvbGlkUmVzb3VyY2UtPnNldENvbG9yKHN0cm9rZUNvbG9yKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IDA7CiAgICAgfQotICAg
IGlmICghc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsKKworICAgIGlmICghc3Ryb2tlUGFpbnRpbmdSZXNv
dXJjZSkgewogICAgICAgICAvLyBkZWZhdWx0IHZhbHVlIChibGFjayksIHNlZSBidWcgMTEwMTcK
LSAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xpZFBhaW50U2VydmVyKCk7Ci0g
ICAgICAgIHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihzdHJva2VQYWludFNlcnZl
ciktPnNldENvbG9yKENvbG9yOjpibGFjayk7CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlU29s
aWRDb2xvciogc29saWRSZXNvdXJjZSA9IHNoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSgpOwor
ICAgICAgICBzb2xpZFJlc291cmNlLT5zZXRDb2xvcihDb2xvcjo6YmxhY2spOworICAgICAgICBz
dHJva2VQYWludGluZ1Jlc291cmNlID0gc29saWRSZXNvdXJjZTsKICAgICB9CiAKLSAgICByZXR1
cm4gc3Ryb2tlUGFpbnRTZXJ2ZXI7CisgICAgcmV0dXJuIHN0cm9rZVBhaW50aW5nUmVzb3VyY2U7
CiB9CiAKLXZvaWQgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCitSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIFJlbmRlclNWR1Jlc291cmNlOjpzaGFy
ZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UoKQogewotICAgIGNvbnRleHQtPnNldFN0cm9rZVRoaWNr
bmVzcyhTVkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+
c3ZnU3R5bGUoKS0+c3Ryb2tlV2lkdGgoKSwgMS4wZikpOwotICAgIGNvbnRleHQtPnNldExpbmVD
YXAoc3R5bGUtPnN2Z1N0eWxlKCktPmNhcFN0eWxlKCkpOwotICAgIGNvbnRleHQtPnNldExpbmVK
b2luKHN0eWxlLT5zdmdTdHlsZSgpLT5qb2luU3R5bGUoKSk7Ci0gICAgaWYgKHN0eWxlLT5zdmdT
dHlsZSgpLT5qb2luU3R5bGUoKSA9PSBNaXRlckpvaW4pCi0gICAgICAgIGNvbnRleHQtPnNldE1p
dGVyTGltaXQoc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZU1pdGVyTGltaXQoKSk7Ci0KLSAgICBj
b25zdCBEYXNoQXJyYXkmIGRhc2hlcyA9IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShvYmpl
Y3QtPnN0eWxlKCksIG9iamVjdC0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRl
clN0eWxlKCkpOwotICAgIGZsb2F0IGRhc2hPZmZzZXQgPSBTVkdSZW5kZXJTdHlsZTo6Y3NzUHJp
bWl0aXZlVG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+c3ZnU3R5bGUoKS0+c3Ryb2tlRGFzaE9mZnNl
dCgpLCAwLjBmKTsKLSAgICBjb250ZXh0LT5zZXRMaW5lRGFzaChkYXNoZXMsIGRhc2hPZmZzZXQp
OworICAgIHN0YXRpYyBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNfc2hhcmVkU29saWRQ
YWludGluZ1Jlc291cmNlID0gMDsKKyAgICBpZiAoIXNfc2hhcmVkU29saWRQYWludGluZ1Jlc291
cmNlKQorICAgICAgICBzX3NoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSA9IG5ldyBSZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3I7CisgICAgcmV0dXJuIHNfc2hhcmVkU29saWRQYWludGluZ1Jl
c291cmNlOwogfQogCi1ib29sIFNWR1BhaW50U2VydmVyOjpzZXR1cChHcmFwaGljc0NvbnRleHQq
JiBjb250ZXh0LCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgU1ZHUGFpbnRUYXJnZXRUeXBl
IHR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0Cit2b2lkIFJlbmRlclNWR1Jlc291cmNl
OjptYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24oUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCiB7Ci0gICAgcmV0dXJuIHNldHVwKGNvbnRleHQsIG9iamVjdCwgb2JqZWN0ID8gb2JqZWN0
LT5zdHlsZSgpIDogMCwgdHlwZSwgaXNQYWludGluZ1RleHQpOwotfQorICAgIEFTU0VSVChvYmpl
Y3QpOworICAgIEFTU0VSVChvYmplY3QtPm5vZGUoKSk7CisgICAgQVNTRVJUKG9iamVjdC0+bm9k
ZSgpLT5pc1NWR0VsZW1lbnQoKSk7CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXI6OmRyYXcoR3JhcGhp
Y3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBwYXRoLCBTVkdQYWludFRh
cmdldFR5cGUgdHlwZSkgY29uc3QKLXsKLSAgICBpZiAoIXNldHVwKGNvbnRleHQsIHBhdGgsIHR5
cGUpKQotICAgICAgICByZXR1cm47CisgICAgLy8gTWFyayB0aGUgcmVuZGVyZXIgZm9yIGxheW91
dAorICAgIG9iamVjdC0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7CiAKLSAgICByZW5kZXJQYXRoKGNv
bnRleHQsIHBhdGgsIHR5cGUpOwotICAgIHRlYXJkb3duKGNvbnRleHQsIHBhdGgsIHR5cGUpOwot
fQotCi12b2lkIFNWR1BhaW50U2VydmVyOjpyZW5kZXJQYXRoKEdyYXBoaWNzQ29udGV4dComIGNv
bnRleHQsIGNvbnN0IFJlbmRlck9iamVjdCogcGF0aCwgU1ZHUGFpbnRUYXJnZXRUeXBlIHR5cGUp
IGNvbnN0Ci17Ci0gICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN0eWxlID0gcGF0aCA/IHBhdGgt
PnN0eWxlKCktPnN2Z1N0eWxlKCkgOiAwOwotCi0gICAgaWYgKCh0eXBlICYgQXBwbHlUb0ZpbGxU
YXJnZXRUeXBlKSAmJiAoIXN0eWxlIHx8IHN0eWxlLT5oYXNGaWxsKCkpKQotICAgICAgICBjb250
ZXh0LT5maWxsUGF0aCgpOworICAgIC8vIE5vdGlmeSBhbnkgcmVzb3VyY2VzIGluIHRoZSBhbmNl
c3RvciBjaGFpbiwgdGhhdCB3ZSd2ZSBiZWVuIGludmFsaWRhdGVkCisgICAgU1ZHRWxlbWVudCog
ZWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihvYmplY3QtPm5vZGUoKSk7CisgICAg
aWYgKCFlbGVtZW50LT5pc1N0eWxlZCgpKQorICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoKHR5
cGUgJiBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSkgJiYgKCFzdHlsZSB8fCBzdHlsZS0+aGFzU3Ry
b2tlKCkpKQotICAgICAgICBjb250ZXh0LT5zdHJva2VQYXRoKCk7CisgICAgc3RhdGljX2Nhc3Q8
U1ZHU3R5bGVkRWxlbWVudCo+KGVsZW1lbnQpLT5pbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3Rv
ckNoYWluKCk7CiB9CiAKLSNpZiBQTEFURk9STShTS0lBKQotdm9pZCBTVkdQYWludFNlcnZlcjo6
dGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0Kiwg
U1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBNb3ZlIHRo
aXMgaW50byB0aGUgR3JhcGhpY3NDb250ZXh0Ci0gICAgLy8gV2ViS2l0IGltcGxpY2l0bHkgZXhw
ZWN0cyB1cyB0byByZXNldCB0aGUgcGF0aC4KLSAgICAvLyBGb3IgZXhhbXBsZSBpbiBmaWxsQW5k
U3Ryb2tlUGF0aCgpIG9mIFJlbmRlclBhdGguY3BwIHRoZSBwYXRoIGlzIAotICAgIC8vIGFkZGVk
IGJhY2sgdG8gdGhlIGNvbnRleHQgYWZ0ZXIgZmlsbGluZy4gVGhpcyBpcyBiZWNhdXNlIGludGVy
bmFsbHkgaXQKLSAgICAvLyBjYWxscyBDR0NvbnRleHRGaWxsUGF0aCgpIHdoaWNoIGNsb3NlcyB0
aGUgcGF0aC4KLSAgICBjb250ZXh0LT5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0LT5wbGF0Zm9y
bUNvbnRleHQoKS0+c2V0RmlsbFNoYWRlcigwKTsKLSAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRl
eHQoKS0+c2V0U3Ryb2tlU2hhZGVyKDApOwogfQotI2Vsc2UKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXI6
OnRlYXJkb3duKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWlu
dFRhcmdldFR5cGUsIGJvb2wpIGNvbnN0Ci17Ci19Ci0jZW5kaWYKLQotRGFzaEFycmF5IGRhc2hB
cnJheUZyb21SZW5kZXJpbmdTdHlsZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0
eWxlKiByb290U3R5bGUpCi17Ci0gICAgRGFzaEFycmF5IGFycmF5OwotICAgIAotICAgIENTU1Zh
bHVlTGlzdCogZGFzaGVzID0gc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZURhc2hBcnJheSgpOwot
ICAgIGlmIChkYXNoZXMpIHsKLSAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIGRhc2ggPSAwOwot
ICAgICAgICB1bnNpZ25lZCBsb25nIGxlbiA9IGRhc2hlcy0+bGVuZ3RoKCk7Ci0gICAgICAgIGZv
ciAodW5zaWduZWQgbG9uZyBpID0gMDsgaSA8IGxlbjsgaSsrKSB7Ci0gICAgICAgICAgICBkYXNo
ID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihkYXNoZXMtPml0ZW1XaXRob3V0Qm91
bmRzQ2hlY2soaSkpOwotICAgICAgICAgICAgaWYgKCFkYXNoKQotICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwotCi0gICAgICAgICAgICBhcnJheS5hcHBlbmQoKGZsb2F0KSBkYXNoLT5jb21wdXRl
TGVuZ3RoRmxvYXQoY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KHN0eWxlKSwgcm9vdFN0eWxlKSk7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gYXJyYXk7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdS
ZXNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNjQgKzIyLDQ3IEBACiAjZGVmaW5lIFJlbmRl
clNWR1Jlc291cmNlX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
Ci0jaW5jbHVkZSAiUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgiCisjaW5jbHVkZSAiU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZW5kZXJT
VkdSZXNvdXJjZVR5cGUgewogICAgIE1hc2tlclJlc291cmNlVHlwZSwKICAgICBNYXJrZXJSZXNv
dXJjZVR5cGUsCisgICAgUGF0dGVyblJlc291cmNlVHlwZSwKKyAgICBMaW5lYXJHcmFkaWVudFJl
c291cmNlVHlwZSwKKyAgICBSYWRpYWxHcmFkaWVudFJlc291cmNlVHlwZSwKKyAgICBTb2xpZENv
bG9yUmVzb3VyY2VUeXBlLAogICAgIEZpbHRlclJlc291cmNlVHlwZSwKICAgICBDbGlwcGVyUmVz
b3VyY2VUeXBlCiB9OwogCi1jbGFzcyBSZW5kZXJTVkdSZXNvdXJjZSA6IHB1YmxpYyBSZW5kZXJT
VkdIaWRkZW5Db250YWluZXIgeworZW51bSBSZW5kZXJTVkdSZXNvdXJjZU1vZGUgeworICAgIEFw
cGx5VG9EZWZhdWx0TW9kZSA9IDEgPDwgMCwgLy8gdXNlZCBmb3IgYWxsIHJlc291cmNlcyBleGNl
cHQgZ3JhZGllbnQvcGF0dGVybgorICAgIEFwcGx5VG9GaWxsTW9kZSAgICA9IDEgPDwgMSwKKyAg
ICBBcHBseVRvU3Ryb2tlTW9kZSAgPSAxIDw8IDIsCisgICAgQXBwbHlUb1RleHRNb2RlICAgID0g
MSA8PCAzIC8vIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBBcHBseVRve0ZpbGx8U3Ryb2tlfU1v
ZGUKK307CisKK2NsYXNzIEZsb2F0UmVjdDsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dDsKK2NsYXNz
IFJlbmRlck9iamVjdDsKK2NsYXNzIFJlbmRlclN0eWxlOworY2xhc3MgUmVuZGVyU1ZHUmVzb3Vy
Y2VTb2xpZENvbG9yOworCitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZSB7CiBwdWJsaWM6Ci0gICAg
UmVuZGVyU1ZHUmVzb3VyY2UoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKLSAgICAgICAgOiBSZW5k
ZXJTVkdIaWRkZW5Db250YWluZXIobm9kZSkKLSAgICAgICAgLCBtX2lkKG5vZGUtPmdldElEQXR0
cmlidXRlKCkpCi0gICAgewotICAgICAgICBBU1NFUlQobm9kZS0+ZG9jdW1lbnQoKSk7Ci0gICAg
ICAgIG5vZGUtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUmVzb3VyY2Uo
bV9pZCwgdGhpcyk7Ci0gICAgfQorICAgIFJlbmRlclNWR1Jlc291cmNlKCkgeyB9CisgICAgdmly
dHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2UoKSB7IH0KIAotICAgIHZpcnR1YWwgflJlbmRlclNWR1Jl
c291cmNlKCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChub2RlKCkpOwotICAgICAgICBBU1NFUlQo
bm9kZSgpLT5kb2N1bWVudCgpKTsKLSAgICAgICAgbm9kZSgpLT5kb2N1bWVudCgpLT5hY2Nlc3NT
VkdFeHRlbnNpb25zKCktPnJlbW92ZVJlc291cmNlKG1faWQpOwotICAgIH0KKyAgICB2aXJ0dWFs
IHZvaWQgaW52YWxpZGF0ZUNsaWVudHMoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRh
dGVDbGllbnQoUmVuZGVyT2JqZWN0KikgPSAwOwogCi0gICAgdm9pZCBpZENoYW5nZWQoKQotICAg
IHsKLSAgICAgICAgQVNTRVJUKG5vZGUoKSk7Ci0gICAgICAgIEFTU0VSVChub2RlKCktPmRvY3Vt
ZW50KCkpOwotICAgICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSBub2Rl
KCktPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKTsKLQotICAgICAgICAvLyBSZW1v
dmUgb2xkIGlkLCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudCBpbiBjYWNoZQotICAg
ICAgICBleHRlbnNpb25zLT5yZW1vdmVSZXNvdXJjZShtX2lkKTsKLQotICAgICAgICBtX2lkID0g
c3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUoKSktPmdldElEQXR0cmlidXRlKCk7Ci0KLSAgICAg
ICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IGFuIGVsZW1lbnQgaXMgcmVmZXJlbmNpbmcgdXMgd2l0
aCB0aGUgbmV3IGlkLCBhbmQgaGFzIHRvIGJlIG5vdGlmaWVkIHRoYXQgd2UncmUgZXhpc3Rpbmcg
bm93Ci0gICAgICAgIGlmIChleHRlbnNpb25zLT5pc1BlbmRpbmdSZXNvdXJjZShtX2lkKSkgewot
ICAgICAgICAgICAgT3duUHRyPEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+ID4gY2xpZW50cyhl
eHRlbnNpb25zLT5yZW1vdmVQZW5kaW5nUmVzb3VyY2UobV9pZCkpOwotICAgICAgICAgICAgaWYg
KGNsaWVudHMtPmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAg
ICAgIEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGNsaWVu
dHMtPmJlZ2luKCk7Ci0gICAgICAgICAgICBjb25zdCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQq
Pjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gY2xpZW50cy0+ZW5kKCk7Ci0KLSAgICAgICAgICAgIGZv
ciAoOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgICAgICBpZiAoUmVuZGVyT2JqZWN0
KiByZW5kZXJlciA9ICgqaXQpLT5yZW5kZXJlcigpKQotICAgICAgICAgICAgICAgICAgICByZW5k
ZXJlci0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAg
ICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSos
IEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3ND
b250ZXh0KiYsIHVuc2lnbmVkIHNob3J0KSB7IH0KKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXNv
dXJjZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0ID0gMDsKIAotICAgICAgICAv
LyBSZWNhY2hlIHVzIHdpdGggdGhlIG5ldyBpZAotICAgICAgICBleHRlbnNpb25zLT5hZGRSZXNv
dXJjZShtX2lkLCB0aGlzKTsKLSAgICB9CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5
cGUgcmVzb3VyY2VUeXBlKCkgY29uc3QgPSAwOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgUmVuZGVy
ZXI+CiAgICAgUmVuZGVyZXIqIGNhc3QoKQpAQCAtOTAsMzUgKzczLDE1IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZSog
dG9SZW5kZXJTVkdSZXNvdXJjZSgpIHsgcmV0dXJuIHRoaXM7IH0KLSAgICB2aXJ0dWFsIGJvb2wg
aXNTVkdSZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGJvb2wg
ZHJhd3NDb250ZW50cygpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgLy8gSGVscGVyIHV0aWxpdGll
cyB1c2VkIGluIHRoZSByZW5kZXIgdHJlZSB0byBhY2Nlc3MgcmVzb3VyY2VzIHVzZWQgZm9yIHBh
aW50aW5nIHNoYXBlcy90ZXh0IChncmFkaWVudHMgJiBwYXR0ZXJucyBvbmx5KQorICAgIHN0YXRp
YyBSZW5kZXJTVkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UoY29uc3QgUmVuZGVyT2Jq
ZWN0KiwgY29uc3QgUmVuZGVyU3R5bGUqKTsKKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2Uq
IHN0cm9rZVBhaW50aW5nUmVzb3VyY2UoY29uc3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVy
U3R5bGUqKTsKKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKiBzaGFyZWRT
b2xpZFBhaW50aW5nUmVzb3VyY2UoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xp
ZW50cygpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmpl
Y3QqKSA9IDA7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3Qq
LCBHcmFwaGljc0NvbnRleHQqJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBwb3N0QXBwbHlSZXNv
dXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJikgeyB9Ci0gICAgdmlydHVhbCBG
bG9hdFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCA9IDA7
Ci0KLSAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25z
dCA9IDA7Ci0KLXByaXZhdGU6Ci0gICAgQXRvbWljU3RyaW5nIG1faWQ7Citwcm90ZWN0ZWQ6Cisg
ICAgdm9pZCBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24oUmVuZGVyT2JqZWN0
Kik7CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBSZW5kZXJlcj4KLVJlbmRlcmVyKiBnZXRSZW5k
ZXJTVkdSZXNvdXJjZUJ5SWQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcm
IGlkKQotewotICAgIGlmIChpZC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAg
aWYgKFJlbmRlclNWR1Jlc291cmNlKiByZW5kZXJSZXNvdXJjZSA9IGRvY3VtZW50LT5hY2Nlc3NT
VkdFeHRlbnNpb25zKCktPnJlc291cmNlQnlJZChpZCkpCi0gICAgICAgIHJldHVybiByZW5kZXJS
ZXNvdXJjZS0+Y2FzdDxSZW5kZXJlcj4oKTsKLQotICAgIHJldHVybiAwOwotfQotCiB9CiAKICNl
bmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBw
ZXIuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jl
c291cmNlQ2xpcHBlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDggKzQzLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VD
bGlwcGVyOjpzX3Jlc291cmNlVHlwZSA9IENsaXBwZXJSZXNvdXJjZVR5cGU7CiAKLVJlbmRlclNW
R1Jlc291cmNlQ2xpcHBlcjo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyKFNWR1N0eWxlZEVsZW1l
bnQqIG5vZGUpCi0gICAgOiBSZW5kZXJTVkdSZXNvdXJjZShub2RlKQorUmVuZGVyU1ZHUmVzb3Vy
Y2VDbGlwcGVyOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIoU1ZHQ2xpcFBhdGhFbGVtZW50KiBu
b2RlKQorICAgIDogUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKIHsKIH0KIApAQCAt
NzgsMTAgKzc4LDE0IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjppbnZhbGlkYXQK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgZGVsZXRlIG1fY2xpcHBlci50YWtlKG9iamVjdCk7Cisg
ICAgbWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKG9iamVjdCk7CiB9CiAKLWJv
b2wgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjphcHBseVJlc291cmNlKFJlbmRlck9iamVjdCog
b2JqZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0KQorYm9vbCBSZW5kZXJTVkdSZXNvdXJj
ZUNsaXBwZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRlclN0eWxl
KiwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2Rl
KQogeworICAgIEFTU0VSVChvYmplY3QpOworICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBBU1NF
UlQocmVzb3VyY2VNb2RlID09IEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAgICAgYXBwbHlDbGlwcGlu
Z1RvQ29udGV4dChvYmplY3QsIG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKSwgb2JqZWN0LT5y
ZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLCBjb250ZXh0KTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KQEAgLTE0Miw5ICsxNDYsNiBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6
cGF0aE9ubHlDCiBib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6YXBwbHlDbGlwcGluZ1Rv
Q29udGV4dChSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgRmxvYXRSZWN0JiBvYmplY3RCb3Vu
ZGluZ0JveCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgcmVwYWludFJlY3QsIEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCkKIHsKLSAgICBBU1NFUlQob2JqZWN0KTsKLSAgICBBU1NFUlQoY29udGV4dCk7Ci0KICAg
ICBpZiAoIW1fY2xpcHBlci5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX2NsaXBwZXIuc2V0
KG9iamVjdCwgbmV3IENsaXBwZXJEYXRhKTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDcgKzI3LDcgQEAKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludFNpemUu
aCIKICNpbmNsdWRlICJQYXRoLmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKKyNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlNWR0NsaXBQ
YXRoRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgogCkBAIC00MCwxMCArNDAs
OSBAQCBzdHJ1Y3QgQ2xpcHBlckRhdGEgewogICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gY2xpcE1h
c2tJbWFnZTsKIH07CiAKLWNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciA6IHB1YmxpYyBS
ZW5kZXJTVkdSZXNvdXJjZSB7Ci0KK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciA6IHB1
YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CiBwdWJsaWM6Ci0gICAgUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyKFNWR1N0eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJj
ZUNsaXBwZXIoU1ZHQ2xpcFBhdGhFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVz
b3VyY2VDbGlwcGVyKCk7CiAKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBj
b25zdCB7IHJldHVybiAiUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyIjsgfQpAQCAtNTEsNyArNTAs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnRzKCk7CiAgICAg
dmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnQoUmVuZGVyT2JqZWN0Kik7CiAKLSAgICB2aXJ0
dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJik7
CisgICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5
bGUqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKICAg
ICB2aXJ0dWFsIEZsb2F0UmVjdCByZXNvdXJjZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYp
IGNvbnN0OwogCiAgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBl
KCkgY29uc3QgeyByZXR1cm4gQ2xpcHBlclJlc291cmNlVHlwZTsgfQpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFJl
bmRlclNWR1Jlc291cmNlQ29udGFpbmVyX2gKKyNkZWZpbmUgUmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXJfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyIDogcHVibGljIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHVibGljIFJlbmRlclNWR1Jlc291cmNlIHsKK3B1YmxpYzoKKyAgICBSZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lcihTVkdTdHlsZWRFbGVtZW50KiBub2RlKQorICAgICAgICA6IFJlbmRlclNWR0hp
ZGRlbkNvbnRhaW5lcihub2RlKQorICAgICAgICAsIFJlbmRlclNWR1Jlc291cmNlKCkKKyAgICAg
ICAgLCBtX2lkKG5vZGUtPmdldElEQXR0cmlidXRlKCkpCisgICAgeworICAgICAgICBBU1NFUlQo
bm9kZS0+ZG9jdW1lbnQoKSk7CisgICAgICAgIG5vZGUtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4
dGVuc2lvbnMoKS0+YWRkUmVzb3VyY2UobV9pZCwgdGhpcyk7CisgICAgfQorCisgICAgdmlydHVh
bCB+UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG5v
ZGUoKSk7CisgICAgICAgIEFTU0VSVChub2RlKCktPmRvY3VtZW50KCkpOworICAgICAgICBub2Rl
KCktPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVtb3ZlUmVzb3VyY2UobV9p
ZCk7CisgICAgfQorCisgICAgdm9pZCBpZENoYW5nZWQoKQorICAgIHsKKyAgICAgICAgQVNTRVJU
KG5vZGUoKSk7CisgICAgICAgIEFTU0VSVChub2RlKCktPmRvY3VtZW50KCkpOworICAgICAgICBT
VkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSBub2RlKCktPmRvY3VtZW50KCktPmFj
Y2Vzc1NWR0V4dGVuc2lvbnMoKTsKKworICAgICAgICAvLyBSZW1vdmUgb2xkIGlkLCB0aGF0IGlz
IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudCBpbiBjYWNoZQorICAgICAgICBleHRlbnNpb25zLT5y
ZW1vdmVSZXNvdXJjZShtX2lkKTsKKworICAgICAgICBtX2lkID0gc3RhdGljX2Nhc3Q8RWxlbWVu
dCo+KG5vZGUoKSktPmdldElEQXR0cmlidXRlKCk7CisKKyAgICAgICAgLy8gSXQncyBwb3NzaWJs
ZSB0aGF0IGFuIGVsZW1lbnQgaXMgcmVmZXJlbmNpbmcgdXMgd2l0aCB0aGUgbmV3IGlkLCBhbmQg
aGFzIHRvIGJlIG5vdGlmaWVkIHRoYXQgd2UncmUgZXhpc3Rpbmcgbm93CisgICAgICAgIGlmIChl
eHRlbnNpb25zLT5pc1BlbmRpbmdSZXNvdXJjZShtX2lkKSkgeworICAgICAgICAgICAgT3duUHRy
PEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+ID4gY2xpZW50cyhleHRlbnNpb25zLT5yZW1vdmVQ
ZW5kaW5nUmVzb3VyY2UobV9pZCkpOworICAgICAgICAgICAgaWYgKGNsaWVudHMtPmlzRW1wdHko
KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIEhhc2hTZXQ8U1ZHU3R5
bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGNsaWVudHMtPmJlZ2luKCk7CisgICAg
ICAgICAgICBjb25zdCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3Ig
ZW5kID0gY2xpZW50cy0+ZW5kKCk7CisKKyAgICAgICAgICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsr
aXQpIHsKKyAgICAgICAgICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9ICgqaXQp
LT5yZW5kZXJlcigpKQorICAgICAgICAgICAgICAgICAgICByZW5kZXJlci0+c2V0TmVlZHNMYXlv
dXQodHJ1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBSZWNhY2hl
IHVzIHdpdGggdGhlIG5ldyBpZAorICAgICAgICBleHRlbnNpb25zLT5hZGRSZXNvdXJjZShtX2lk
LCB0aGlzKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdSZXNvdXJjZUNvbnRhaW5l
cigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgZHJhd3NDb250ZW50
cygpIHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyKiB0b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCkgeyByZXR1cm4gdGhpczsgfQor
Citwcml2YXRlOgorICAgIEF0b21pY1N0cmluZyBtX2lkOworfTsKKworaW5saW5lIFJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyKiBnZXRSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQoRG9j
dW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGlkKQoreworICAgIGlmIChpZC5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgaWYgKFJlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyKiByZW5kZXJSZXNvdXJjZSA9IGRvY3VtZW50LT5hY2Nlc3NTVkdFeHRlbnNpb25z
KCktPnJlc291cmNlQnlJZChpZCkpCisgICAgICAgIHJldHVybiByZW5kZXJSZXNvdXJjZTsKKwor
ICAgIHJldHVybiAwOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBSZW5kZXJlcj4KK1JlbmRlcmVy
KiBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9t
aWNTdHJpbmcmIGlkKQoreworICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogY29u
dGFpbmVyID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXJCeUlkKGRvY3VtZW50LCBpZCkp
CisgICAgICAgIHJldHVybiBjb250YWluZXItPmNhc3Q8UmVuZGVyZXI+KCk7CisKKyAgICByZXR1
cm4gMDsKK30KKworfQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUyLDggKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBSZW5kZXJTVkdSZXNvdXJj
ZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnNfcmVzb3VyY2VUeXBlID0gRmlsdGVyUmVz
b3VyY2VUeXBlOwogCi1SZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6UmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXIoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKLSAgICA6IFJlbmRlclNWR1Jlc291cmNlKG5v
ZGUpCitSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIoU1ZH
RmlsdGVyRWxlbWVudCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKG5v
ZGUpCiAgICAgLCBtX3NhdmVkQ29udGV4dCgwKQogICAgICwgbV9zb3VyY2VHcmFwaGljQnVmZmVy
KDApCiB7CkBAIC04OCw3ICs4OCw4IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6Omlu
dmFsaWRhdGUKICAgICBpZiAoIW1fZmlsdGVyLmNvbnRhaW5zKG9iamVjdCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGRlbGV0ZSBtX2ZpbHRlci50YWtlKG9iamVjdCk7IAorICAgIGRlbGV0ZSBt
X2ZpbHRlci50YWtlKG9iamVjdCk7CisgICAgbWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxp
ZGF0aW9uKG9iamVjdCk7CiB9CiAKIFBhc3NPd25QdHI8U1ZHRmlsdGVyQnVpbGRlcj4gUmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXI6OmJ1aWxkUHJpbWl0aXZlcygpCkBAIC0xMzQsMTAgKzEzNSwxMSBA
QCBib29sIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpmaXRzSW5NYXhpCiAgICAgcmV0dXJuIG1h
dGNoZXNGaWx0ZXJTaXplOwogfQogCi1ib29sIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjphcHBs
eVJlc291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0
KQorYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqLCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNp
Z25lZCBzaG9ydCByZXNvdXJjZU1vZGUpCiB7CiAgICAgQVNTRVJUKG9iamVjdCk7CiAgICAgQVNT
RVJUKGNvbnRleHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUgPT0gQXBwbHlUb0RlZmF1bHRN
b2RlKTsKIAogICAgIC8vIFJldHVybmluZyBmYWxzZSBoZXJlLCB0byBhdm9pZCBkcmF3aW5ncyBv
bnRvIHRoZSBjb250ZXh0LiBXZSBqdXN0IHdhbnQgdG8KICAgICAvLyBkcmF3IHRoZSBzdG9yZWQg
ZmlsdGVyIG91dHB1dCwgbm90IHRoZSB1bmZpbHRlcmVkIG9iamVjdCBhcyB3ZWxsLgpAQCAtMjI4
LDEwICsyMzAsMTEgQEAgYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdQog
ICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpwb3N0
QXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgR3JhcGhpY3NDb250ZXh0KiYgY29u
dGV4dCkKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKFJl
bmRlck9iamVjdCogb2JqZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBz
aG9ydCByZXNvdXJjZU1vZGUpCiB7CiAgICAgQVNTRVJUKG9iamVjdCk7CiAgICAgQVNTRVJUKGNv
bnRleHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUgPT0gQXBwbHlUb0RlZmF1bHRNb2RlKTsK
IAogICAgIGlmICghbV9maWx0ZXIuY29udGFpbnMob2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oCShyZXZp
c2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpZiBFTkFCTEUoU1ZHKSAmJiBF
TkFCTEUoRklMVEVSUykKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbWFnZUJ1
ZmZlci5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXIuaCIKICNpbmNsdWRl
ICJTVkdGaWx0ZXJCdWlsZGVyLmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyRWxlbWVudC5oIgpAQCAt
NTUsOSArNTUsOSBAQCBzdHJ1Y3QgRmlsdGVyRGF0YSB7CiAKIGNsYXNzIEdyYXBoaWNzQ29udGV4
dDsKIAotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIgOiBwdWJsaWMgUmVuZGVyU1ZHUmVz
b3VyY2UgeworY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIgOiBwdWJsaWMgUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXIgewogcHVibGljOgotICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVy
KFNWR1N0eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcihTVkdGaWx0
ZXJFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIoKTsKIAog
ICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlciI7IH0KQEAgLTY1LDggKzY1LDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50cygpOwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlk
YXRlQ2xpZW50KFJlbmRlck9iamVjdCopOwogCi0gICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3Vy
Y2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYpOwotICAgIHZpcnR1YWwgdm9pZCBw
b3N0QXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJik7CisgICAg
dmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUqLCBH
cmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0
KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CiAKICAgICB2aXJ0dWFsIEZsb2F0UmVj
dCByZXNvdXJjZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OwogCkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAkocmV2
aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRp
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMiwyNyArMiwyMyBAQAogICogQ29weXJpZ2h0IChD
KSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICogICAgICAg
ICAgICAgICAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKiAgICAgICAgICAg
ICAgIDIwMDggRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+CisgKiBDb3B5cmlnaHQgKEMp
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKQEAgLTMwLDkwICsyNiw1MCBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5j
bHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIgogCi0jaW5jbHVkZSAiRmxvYXRDb252
ZXJzaW9uLmgiCisjaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJSZW5k
ZXJPYmplY3QuaCIKLSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50Lmgi
Ci0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oIgotI2luY2x1ZGUg
IlJlbmRlclZpZXcuaCIKLSNpbmNsdWRlICJTVkdHcmFkaWVudEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJTVkdSZW5kZXJTdXBwb3J0LmgiCi0jaW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgot
Ci11c2luZyBuYW1lc3BhY2Ugc3RkOworI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRT
dHJlYW0mIHRzLCBHcmFkaWVudFNwcmVhZE1ldGhvZCBtKQotewotICAgIHN3aXRjaCAobSkgewot
ICAgICAgICBjYXNlIFNwcmVhZE1ldGhvZFBhZDoKLSAgICAgICAgICAgIHRzIDw8ICJQQUQiOyBi
cmVhazsKLSAgICAgICAgY2FzZSBTcHJlYWRNZXRob2RSZXBlYXQ6Ci0gICAgICAgICAgICB0cyA8
PCAiUkVQRUFUIjsgYnJlYWs7Ci0gICAgICAgIGNhc2UgU3ByZWFkTWV0aG9kUmVmbGVjdDoKLSAg
ICAgICAgICAgIHRzIDw8ICJSRUZMRUNUIjsgYnJlYWs7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRz
OwotfQotCi1zdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29u
c3QgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIGwpCi17Ci0gICAgdHMgPDwgIlsiOwotICAgIGZv
ciAoVmVjdG9yPFNWR0dyYWRpZW50U3RvcD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbC5iZWdpbigp
OyBpdCAhPSBsLmVuZCgpOyArK2l0KSB7Ci0gICAgICAgIHRzIDw8ICIoIiA8PCBpdC0+Zmlyc3Qg
PDwgIiwiIDw8IGl0LT5zZWNvbmQgPDwgIikiOwotICAgICAgICBpZiAoaXQgKyAxICE9IGwuZW5k
KCkpCi0gICAgICAgICAgICB0cyA8PCAiLCAiOwotICAgIH0KLSAgICB0cyA8PCAiXSI7Ci0gICAg
cmV0dXJuIHRzOwotfQotCi1TVkdQYWludFNlcnZlckdyYWRpZW50OjpTVkdQYWludFNlcnZlckdy
YWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpCi0gICAgOiBtX2JvdW5kaW5n
Qm94TW9kZSh0cnVlKQotICAgICwgbV9vd25lckVsZW1lbnQob3duZXIpCitSZW5kZXJTVkdSZXNv
dXJjZUdyYWRpZW50OjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50KFNWR0dyYWRpZW50RWxlbWVu
dCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKG5vZGUpCiAjaWYgUExB
VEZPUk0oQ0cpCiAgICAgLCBtX3NhdmVkQ29udGV4dCgwKQotICAgICwgbV9pbWFnZUJ1ZmZlcigw
KQogI2VuZGlmCiB7Ci0gICAgQVNTRVJUKG93bmVyKTsKLX0KLQotU1ZHUGFpbnRTZXJ2ZXJHcmFk
aWVudDo6flNWR1BhaW50U2VydmVyR3JhZGllbnQoKQotewogfQogCi1HcmFkaWVudCogU1ZHUGFp
bnRTZXJ2ZXJHcmFkaWVudDo6Z3JhZGllbnQoKSBjb25zdAorUmVuZGVyU1ZHUmVzb3VyY2VHcmFk
aWVudDo6flJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQoKQogewotICAgIHJldHVybiBtX2dyYWRp
ZW50LmdldCgpOworICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2dyYWRpZW50KTsKKyAgICBtX2dyYWRp
ZW50LmNsZWFyKCk7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0R3JhZGll
bnQoUGFzc1JlZlB0cjxHcmFkaWVudD4gZ3JhZGllbnQpCit2b2lkIFJlbmRlclNWR1Jlc291cmNl
R3JhZGllbnQ6OmludmFsaWRhdGVDbGllbnRzKCkKIHsKLSAgICBtX2dyYWRpZW50ID0gZ3JhZGll
bnQ7Ci19CisgICAgY29uc3QgSGFzaE1hcDxSZW5kZXJPYmplY3QqLCBHcmFkaWVudERhdGEqPjo6
Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9ncmFkaWVudC5lbmQoKTsKKyAgICBmb3IgKEhhc2hNYXA8
UmVuZGVyT2JqZWN0KiwgR3JhZGllbnREYXRhKj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9ncmFk
aWVudC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgIG1hcmtGb3JMYXlvdXRBbmRS
ZXNvdXJjZUludmFsaWRhdGlvbihpdC0+Zmlyc3QpOwogCi1ib29sIFNWR1BhaW50U2VydmVyR3Jh
ZGllbnQ6OmJvdW5kaW5nQm94TW9kZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fYm91bmRpbmdC
b3hNb2RlOworICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2dyYWRpZW50KTsKKyAgICBtX2dyYWRpZW50
LmNsZWFyKCk7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0Qm91bmRpbmdC
b3hNb2RlKGJvb2wgbW9kZSkKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6aW52YWxp
ZGF0ZUNsaWVudChSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKLSAgICBtX2JvdW5kaW5nQm94TW9k
ZSA9IG1vZGU7Ci19CisgICAgQVNTRVJUKG9iamVjdCk7CiAKLUFmZmluZVRyYW5zZm9ybSBTVkdQ
YWludFNlcnZlckdyYWRpZW50OjpncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fZ3JhZGllbnRUcmFuc2Zvcm07Ci19CisgICAgLy8gRklYTUU6IFRoZSBIYXNoTWFwIHNo
b3VsZCBhbHdheXMgY29udGFpbiB0aGUgb2JqZWN0IG9uIGNhbGxpbmcgaW52YWxpZGF0ZUNsaWVu
dC4gQSByYWNlIGNvbmRpdGlvbgorICAgIC8vIGR1cmluZyB0aGUgcGFyc2luZyBjYW4gY2F1c2Vz
IGEgY2FsbCBvZiBpbnZhbGlkYXRlQ2xpZW50IHJpZ2h0IGJlZm9yZSB0aGUgY2FsbCBvZiBhcHBs
eVJlc291cmNlLgorICAgIC8vIFdlIHJldHVybiBlYXJsaWVyIGZvciB0aGUgbW9tZW50LiBUaGlz
IGJ1ZyBzaG91bGQgYmUgZml4ZWQgaW46CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM1MTgxCisgICAgaWYgKCFtX2dyYWRpZW50LmNvbnRhaW5zKG9iamVj
dCkpCisgICAgICAgIHJldHVybjsKIAotdm9pZCBTVkdQYWludFNlcnZlckdyYWRpZW50OjpzZXRH
cmFkaWVudFRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSkKLXsKLSAg
ICBtX2dyYWRpZW50VHJhbnNmb3JtID0gdHJhbnNmb3JtOworICAgIGRlbGV0ZSBtX2dyYWRpZW50
LnRha2Uob2JqZWN0KTsKKyAgICBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24o
b2JqZWN0KTsKIH0KIAogI2lmIFBMQVRGT1JNKENHKQpAQCAtMTMwLDkgKzg2LDEwIEBAIHN0YXRp
YyBpbmxpbmUgQWZmaW5lVHJhbnNmb3JtIGFic29sdXRlVHIKICAgICByZXR1cm4gYWJzb2x1dGVU
cmFuc2Zvcm07CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBjcmVhdGVNYXNrQW5kU3dhcENvbnRl
eHRGb3JUZXh0R3JhZGllbnQoCi0gICAgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgR3JhcGhp
Y3NDb250ZXh0KiYgc2F2ZWRDb250ZXh0LAotICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4mIGltYWdl
QnVmZmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBj
cmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQoR3JhcGhpY3NDb250ZXh0KiYg
Y29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR3JhcGhpY3NDb250ZXh0KiYgc2F2ZWRDb250ZXh0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPd25QdHI8SW1h
Z2VCdWZmZXI+JiBpbWFnZUJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCiB7
CiAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiB0ZXh0Um9vdEJsb2NrID0gZmluZFRleHRSb290T2Jq
ZWN0KG9iamVjdCk7CiAKQEAgLTE2MiwzNSArMTE5LDU3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBj
cmVhdGVNYXNrQW5kU3dhcENvbnQKIH0KIAogc3RhdGljIGlubGluZSBBZmZpbmVUcmFuc2Zvcm0g
Y2xpcFRvVGV4dE1hc2soR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAotICAgIE93blB0cjxJbWFn
ZUJ1ZmZlcj4mIGltYWdlQnVmZmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwKLSAgICBj
b25zdCBTVkdQYWludFNlcnZlckdyYWRpZW50KiBncmFkaWVudFNlcnZlcikKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4mIGlt
YWdlQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHcmFkaWVudERhdGEqIGdyYWRpZW50RGF0YSkKIHsKICAgICBjb25z
dCBSZW5kZXJPYmplY3QqIHRleHRSb290QmxvY2sgPSBmaW5kVGV4dFJvb3RPYmplY3Qob2JqZWN0
KTsKICAgICBjb250ZXh0LT5jbGlwVG9JbWFnZUJ1ZmZlcih0ZXh0Um9vdEJsb2NrLT5yZXBhaW50
UmVjdEluTG9jYWxDb29yZGluYXRlcygpLCBpbWFnZUJ1ZmZlci5nZXQoKSk7CiAKICAgICBBZmZp
bmVUcmFuc2Zvcm0gbWF0cml4OwotICAgIGlmIChncmFkaWVudFNlcnZlci0+Ym91bmRpbmdCb3hN
b2RlKCkpIHsKKyAgICBpZiAoZ3JhZGllbnREYXRhLT5ib3VuZGluZ0JveE1vZGUpIHsKICAgICAg
ICAgRmxvYXRSZWN0IG1hc2tCb3VuZGluZ0JveCA9IHRleHRSb290QmxvY2stPm9iamVjdEJvdW5k
aW5nQm94KCk7CiAgICAgICAgIG1hdHJpeC50cmFuc2xhdGUobWFza0JvdW5kaW5nQm94LngoKSwg
bWFza0JvdW5kaW5nQm94LnkoKSk7CiAgICAgICAgIG1hdHJpeC5zY2FsZU5vblVuaWZvcm0obWFz
a0JvdW5kaW5nQm94LndpZHRoKCksIG1hc2tCb3VuZGluZ0JveC5oZWlnaHQoKSk7CiAgICAgfQot
ICAgIG1hdHJpeC5tdWx0aXBseShncmFkaWVudFNlcnZlci0+Z3JhZGllbnRUcmFuc2Zvcm0oKSk7
CisgICAgbWF0cml4Lm11bHRpcGx5KGdyYWRpZW50RGF0YS0+dHJhbnNmb3JtKTsKICAgICByZXR1
cm4gbWF0cml4OwogfQogI2VuZGlmCiAKLWJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0
dXAoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3Qs
IGNvbnN0IFJlbmRlclN0eWxlKnN0eWxlLCBTVkdQYWludFRhcmdldFR5cGUgdHlwZSwgYm9vbCBp
c1BhaW50aW5nVGV4dCkgY29uc3QKK2Jvb2wgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6YXBw
bHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqIHN0eWxlLCBHcmFw
aGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpCiB7Ci0g
ICAgbV9vd25lckVsZW1lbnQtPmJ1aWxkR3JhZGllbnQoKTsKKyAgICBBU1NFUlQob2JqZWN0KTsK
KyAgICBBU1NFUlQoc3R5bGUpOworICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBBU1NFUlQocmVz
b3VyY2VNb2RlICE9IEFwcGx5VG9EZWZhdWx0TW9kZSk7CisKKyAgICAvLyBCZSBzdXJlIHRvIHN5
bmNocm9uaXplIGFsbCBTVkcgcHJvcGVydGllcyBvbiB0aGUgZ3JhZGllbnRFbGVtZW50IF9iZWZv
cmVfIHByb2Nlc3NpbmcgYW55IGZ1cnRoZXIuCisgICAgLy8gT3RoZXJ3aGlzZSB0aGUgY2FsbCB0
byBjb2xsZWN0R3JhZGllbnRBdHRyaWJ1dGVzKCkgaW4gY3JlYXRlVGlsZUltYWdlKCksIG1heSBj
YXVzZSB0aGUgU1ZHIERPTSBwcm9wZXJ0eQorICAgIC8vIHN5bmNocm9uaXphdGlvbiB0byBraWNr
IGluLCB3aGljaCBjYXVzZXMgaW52YWxpZGF0ZUNsaWVudHMoKSB0byBiZSBjYWxsZWQsIHdoaWNo
IGluIHR1cm4gZGVsZXRlcyBvdXIKKyAgICAvLyBHcmFkaWVudERhdGEgb2JqZWN0ISBMZWF2aW5n
IG91dCB0aGUgbGluZSBiZWxvdyB3aWxsIGNhdXNlIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHKkdy
YWRpZW50RWxlbWVudC1zdmdkb20qIHRvIGNyYXNoLgorICAgIFNWR0dyYWRpZW50RWxlbWVudCog
Z3JhZGllbnRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHR3JhZGllbnRFbGVtZW50Kj4obm9kZSgp
KTsKKyAgICBpZiAoIWdyYWRpZW50RWxlbWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2Z1N0eWxlKCk7Ci0g
ICAgYm9vbCBpc0ZpbGxlZCA9ICh0eXBlICYgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlKSAmJiBzdmdT
dHlsZS0+aGFzRmlsbCgpOwotICAgIGJvb2wgaXNTdHJva2VkID0gKHR5cGUgJiBBcHBseVRvU3Ry
b2tlVGFyZ2V0VHlwZSkgJiYgc3ZnU3R5bGUtPmhhc1N0cm9rZSgpOworICAgIGdyYWRpZW50RWxl
bWVudC0+dXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoYW55UU5hbWUoKSk7CisKKyAgICBpZiAo
IW1fZ3JhZGllbnQuY29udGFpbnMob2JqZWN0KSkKKyAgICAgICAgbV9ncmFkaWVudC5zZXQob2Jq
ZWN0LCBuZXcgR3JhZGllbnREYXRhKTsKKworICAgIEdyYWRpZW50RGF0YSogZ3JhZGllbnREYXRh
ID0gbV9ncmFkaWVudC5nZXQob2JqZWN0KTsKIAotICAgIEFTU0VSVCgoaXNGaWxsZWQgJiYgIWlz
U3Ryb2tlZCkgfHwgKCFpc0ZpbGxlZCAmJiBpc1N0cm9rZWQpKTsKKyAgICAvLyBDcmVhdGUgZ3Jh
ZGllbnQgb2JqZWN0CisgICAgaWYgKCFncmFkaWVudERhdGEtPmdyYWRpZW50KQorICAgICAgICBi
dWlsZEdyYWRpZW50KGdyYWRpZW50RGF0YSwgZ3JhZGllbnRFbGVtZW50KTsKIAorICAgIGlmICgh
Z3JhZGllbnREYXRhLT5ncmFkaWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8g
RHJhdyBncmFkaWVudAogICAgIGNvbnRleHQtPnNhdmUoKTsKIAorICAgIGJvb2wgaXNQYWludGlu
Z1RleHQgPSByZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1vZGU7CiAgICAgaWYgKGlzUGFpbnRp
bmdUZXh0KSB7CiAjaWYgUExBVEZPUk0oQ0cpCiAgICAgICAgIGlmICghY3JlYXRlTWFza0FuZFN3
YXBDb250ZXh0Rm9yVGV4dEdyYWRpZW50KGNvbnRleHQsIG1fc2F2ZWRDb250ZXh0LCBtX2ltYWdl
QnVmZmVyLCBvYmplY3QpKSB7CkBAIC0xOTgsNzkgKzE3Nyw4OSBAQCBib29sIFNWR1BhaW50U2Vy
dmVyR3JhZGllbnQ6OnNldHVwKEdyYXBoCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIH0KICNlbmRpZgotICAgICAgICBjb250ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUoaXNGaWxs
ZWQgPyBjVGV4dEZpbGwgOiBjVGV4dFN0cm9rZSk7Ci0gICAgfQogCi0gICAgaWYgKGlzRmlsbGVk
KSB7Ci0gICAgICAgIGNvbnRleHQtPnNldEFscGhhKHN2Z1N0eWxlLT5maWxsT3BhY2l0eSgpKTsK
LSAgICAgICAgY29udGV4dC0+c2V0RmlsbEdyYWRpZW50KG1fZ3JhZGllbnQpOwotICAgICAgICBj
b250ZXh0LT5zZXRGaWxsUnVsZShzdmdTdHlsZS0+ZmlsbFJ1bGUoKSk7Ci0gICAgfQotICAgIGlm
IChpc1N0cm9rZWQpIHsKLSAgICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3ZnU3R5bGUtPnN0cm9r
ZU9wYWNpdHkoKSk7Ci0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUdyYWRpZW50KG1fZ3JhZGll
bnQpOwotICAgICAgICBhcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KGNvbnRleHQsIHN0eWxlLCBv
YmplY3QpOworICAgICAgICBjb250ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUocmVzb3VyY2VNb2Rl
ICYgQXBwbHlUb0ZpbGxNb2RlID8gY1RleHRGaWxsIDogY1RleHRTdHJva2UpOwogICAgIH0KIAot
ICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7Ci0gICAgLy8gQ0cgcGxhdGZvcm1zIHdpbGwgaGFu
ZGxlIHRoZSBncmFkaWVudCBzcGFjZSB0cmFuc2Zvcm0gZm9yIHRleHQgaW4KLSAgICAvLyB0ZWFy
ZG93biwgc28gd2UgZG9uJ3QgYXBwbHkgaXQgaGVyZS4gIEZvciBub24tQ0cgcGxhdGZvcm1zLCB3
ZQotICAgIC8vIHdhbnQgdGhlIHRleHQgYm91bmRpbmcgYm94IGFwcGxpZWQgdG8gdGhlIGdyYWRp
ZW50IHNwYWNlIHRyYW5zZm9ybSBub3csCi0gICAgLy8gc28gdGhlIGdyYWRpZW50IHNoYWRlciBj
YW4gdXNlIGl0LgorICAgIEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm07CisKKyAgICAvLyBDRyBw
bGF0Zm9ybXMgd2lsbCBoYW5kbGUgdGhlIGdyYWRpZW50IHNwYWNlIHRyYW5zZm9ybSBmb3IgdGV4
dCBhZnRlciBhcHBseWluZyB0aGUKKyAgICAvLyByZXNvdXJjZSwgc28gZG9uJ3QgYXBwbHkgaXQg
aGVyZS4gRm9yIG5vbi1DRyBwbGF0Zm9ybXMsIHdlIHdhbnQgdGhlIHRleHQgYm91bmRpbmcKKyAg
ICAvLyBib3ggYXBwbGllZCB0byB0aGUgZ3JhZGllbnQgc3BhY2UgdHJhbnNmb3JtIG5vdywgc28g
dGhlIGdyYWRpZW50IHNoYWRlciBjYW4gdXNlIGl0LgogI2lmIFBMQVRGT1JNKENHKQotICAgIGlm
IChib3VuZGluZ0JveE1vZGUoKSAmJiAhaXNQYWludGluZ1RleHQpIHsKKyAgICBpZiAoZ3JhZGll
bnREYXRhLT5ib3VuZGluZ0JveE1vZGUgJiYgIWlzUGFpbnRpbmdUZXh0KSB7CiAjZWxzZQotICAg
IGlmIChib3VuZGluZ0JveE1vZGUoKSkgeworICAgIGlmIChncmFkaWVudERhdGEtPmJvdW5kaW5n
Qm94TW9kZSkgewogI2VuZGlmCi0gICAgICAgIEZsb2F0UmVjdCBiYm94ID0gb2JqZWN0LT5vYmpl
Y3RCb3VuZGluZ0JveCgpOwotICAgICAgICBtYXRyaXgudHJhbnNsYXRlKGJib3gueCgpLCBiYm94
LnkoKSk7Ci0gICAgICAgIG1hdHJpeC5zY2FsZU5vblVuaWZvcm0oYmJveC53aWR0aCgpLCBiYm94
LmhlaWdodCgpKTsKKyAgICAgICAgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94ID0gb2JqZWN0
LT5vYmplY3RCb3VuZGluZ0JveCgpOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKG9iamVj
dEJvdW5kaW5nQm94LngoKSwgb2JqZWN0Qm91bmRpbmdCb3gueSgpKTsKKyAgICAgICAgdHJhbnNm
b3JtLnNjYWxlTm9uVW5pZm9ybShvYmplY3RCb3VuZGluZ0JveC53aWR0aCgpLCBvYmplY3RCb3Vu
ZGluZ0JveC5oZWlnaHQoKSk7CisgICAgfQorCisgICAgdHJhbnNmb3JtLm11bHRpcGx5KGdyYWRp
ZW50RGF0YS0+dHJhbnNmb3JtKTsKKyAgICBncmFkaWVudERhdGEtPmdyYWRpZW50LT5zZXRHcmFk
aWVudFNwYWNlVHJhbnNmb3JtKHRyYW5zZm9ybSk7CisKKyAgICBjb25zdCBTVkdSZW5kZXJTdHls
ZSogc3ZnU3R5bGUgPSBzdHlsZS0+c3ZnU3R5bGUoKTsKKyAgICBBU1NFUlQoc3ZnU3R5bGUpOwor
CisgICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9GaWxsTW9kZSkgeworICAgICAgICBjb250
ZXh0LT5zZXRBbHBoYShzdmdTdHlsZS0+ZmlsbE9wYWNpdHkoKSk7CisgICAgICAgIGNvbnRleHQt
PnNldEZpbGxHcmFkaWVudChncmFkaWVudERhdGEtPmdyYWRpZW50KTsKKyAgICAgICAgY29udGV4
dC0+c2V0RmlsbFJ1bGUoc3ZnU3R5bGUtPmZpbGxSdWxlKCkpOworICAgIH0gZWxzZSBpZiAocmVz
b3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpIHsKKyAgICAgICAgY29udGV4dC0+c2V0QWxw
aGEoc3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSk7CisgICAgICAgIGNvbnRleHQtPnNldFN0cm9r
ZUdyYWRpZW50KGdyYWRpZW50RGF0YS0+Z3JhZGllbnQpOworICAgICAgICBhcHBseVN0cm9rZVN0
eWxlVG9Db250ZXh0KGNvbnRleHQsIHN0eWxlLCBvYmplY3QpOwogICAgIH0KLSAgICBtYXRyaXgu
bXVsdGlwbHkoZ3JhZGllbnRUcmFuc2Zvcm0oKSk7Ci0gICAgbV9ncmFkaWVudC0+c2V0R3JhZGll
bnRTcGFjZVRyYW5zZm9ybShtYXRyaXgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQg
U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6dGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYgY29udGV4
dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBp
c1BhaW50aW5nVGV4dCkgY29uc3QKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6cG9z
dEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIEdyYXBoaWNzQ29udGV4dComIGNv
bnRleHQsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkKIHsKKyAgICBBU1NFUlQoY29udGV4
dCk7CisgICAgQVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOworCisg
ICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9UZXh0TW9kZSkgewogI2lmIFBMQVRGT1JNKENH
KQotICAgIC8vIHJlbmRlclBhdGgoKSBpcyBub3QgdXNlZCB3aGVuIHBhaW50aW5nIHRleHQsIHNv
IHdlIHBhaW50IHRoZSBncmFkaWVudCBkdXJpbmcgdGVhcmRvd24oKQotICAgIGlmIChpc1BhaW50
aW5nVGV4dCAmJiBtX3NhdmVkQ29udGV4dCkgewotICAgICAgICAvLyBSZXN0b3JlIG9uLXNjcmVl
biBkcmF3aW5nIGNvbnRleHQKLSAgICAgICAgY29udGV4dCA9IG1fc2F2ZWRDb250ZXh0OwotICAg
ICAgICBtX3NhdmVkQ29udGV4dCA9IDA7Ci0KLSAgICAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJp
eCA9IGNsaXBUb1RleHRNYXNrKGNvbnRleHQsIG1faW1hZ2VCdWZmZXIsIG9iamVjdCwgdGhpcyk7
Ci0gICAgICAgIG1fZ3JhZGllbnQtPnNldEdyYWRpZW50U3BhY2VUcmFuc2Zvcm0obWF0cml4KTsK
LSAgICAgICAgY29udGV4dC0+c2V0RmlsbEdyYWRpZW50KG1fZ3JhZGllbnQpOwotICAgICAgICAK
LSAgICAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiB0ZXh0Um9vdEJsb2NrID0gZmluZFRleHRSb290
T2JqZWN0KG9iamVjdCk7Ci0gICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHRleHRSb290QmxvY2st
PnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgICAgICAvLyBDRyByZXF1aXJl
cyBzcGVjaWFsIGhhbmRsaW5nIGZvciBncmFkaWVudCBvbiB0ZXh0CisgICAgICAgIGlmIChtX3Nh
dmVkQ29udGV4dCAmJiBtX2dyYWRpZW50LmNvbnRhaW5zKG9iamVjdCkpIHsKKyAgICAgICAgICAg
IEdyYWRpZW50RGF0YSogZ3JhZGllbnREYXRhID0gbV9ncmFkaWVudC5nZXQob2JqZWN0KTsKIAot
ICAgICAgICBtX2ltYWdlQnVmZmVyLmNsZWFyKCk7Ci0gICAgfQorICAgICAgICAgICAgLy8gUmVz
dG9yZSBvbi1zY3JlZW4gZHJhd2luZyBjb250ZXh0CisgICAgICAgICAgICBjb250ZXh0ID0gbV9z
YXZlZENvbnRleHQ7CisgICAgICAgICAgICBtX3NhdmVkQ29udGV4dCA9IDA7CisKKyAgICAgICAg
ICAgIGdyYWRpZW50RGF0YS0+Z3JhZGllbnQtPnNldEdyYWRpZW50U3BhY2VUcmFuc2Zvcm0oY2xp
cFRvVGV4dE1hc2soY29udGV4dCwgbV9pbWFnZUJ1ZmZlciwgb2JqZWN0LCBncmFkaWVudERhdGEp
KTsKKyAgICAgICAgICAgIGNvbnRleHQtPnNldEZpbGxHcmFkaWVudChncmFkaWVudERhdGEtPmdy
YWRpZW50KTsKKworICAgICAgICAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiB0ZXh0Um9vdEJsb2Nr
ID0gZmluZFRleHRSb290T2JqZWN0KG9iamVjdCk7CisgICAgICAgICAgICBjb250ZXh0LT5maWxs
UmVjdCh0ZXh0Um9vdEJsb2NrLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKwor
ICAgICAgICAgICAgbV9pbWFnZUJ1ZmZlci5jbGVhcigpOworICAgICAgICB9CisjZWxzZQorICAg
ICAgICBVTlVTRURfUEFSQU0ob2JqZWN0KTsKICNlbmRpZgorICAgIH0gZWxzZSB7CisgICAgICAg
IGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpCisgICAgICAgICAgICBjb250ZXh0
LT5maWxsUGF0aCgpOworICAgICAgICBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvU3Ry
b2tlTW9kZSkKKyAgICAgICAgICAgIGNvbnRleHQtPnN0cm9rZVBhdGgoKTsKKyAgICB9CisKICAg
ICBjb250ZXh0LT5yZXN0b3JlKCk7CiB9CiAKLVRleHRTdHJlYW0mIFNWR1BhaW50U2VydmVyR3Jh
ZGllbnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Cit2b2lk
IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OmFkZFN0b3BzKEdyYWRpZW50RGF0YSogZ3JhZGll
bnREYXRhLCBjb25zdCBWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mIHN0b3BzKSBjb25zdAog
ewotICAgIC8vIEdyYWRpZW50cy9wYXR0ZXJucyBhcmVuJ3Qgc2V0dXAsIHVudGlsIHRoZXkgYXJl
IHVzZWQgZm9yIHBhaW50aW5nLiBXb3JrIGFyb3VuZCB0aGF0IGZhY3QuCi0gICAgbV9vd25lckVs
ZW1lbnQtPmJ1aWxkR3JhZGllbnQoKTsKLQotICAgIC8vIGFic3RyYWN0LCBkb24ndCBzdHJlYW0g
dHlwZQotICAgIHRzICA8PCAiW3N0b3BzPSIgPDwgZ3JhZGllbnRTdG9wcygpIDw8ICJdIjsKLSAg
ICBpZiAobV9ncmFkaWVudC0+c3ByZWFkTWV0aG9kKCkgIT0gU3ByZWFkTWV0aG9kUGFkKQotICAg
ICAgICB0cyA8PCAiW21ldGhvZD0iIDw8IG1fZ3JhZGllbnQtPnNwcmVhZE1ldGhvZCgpIDw8ICJd
IjsKLSAgICBpZiAoIWJvdW5kaW5nQm94TW9kZSgpKQotICAgICAgICB0cyA8PCAiIFtib3VuZGlu
ZyBib3ggbW9kZT0iIDw8IGJvdW5kaW5nQm94TW9kZSgpIDw8ICJdIjsKLSAgICBpZiAoIWdyYWRp
ZW50VHJhbnNmb3JtKCkuaXNJZGVudGl0eSgpKQotICAgICAgICB0cyA8PCAiIFt0cmFuc2Zvcm09
IiA8PCBncmFkaWVudFRyYW5zZm9ybSgpIDw8ICJdIjsKKyAgICBBU1NFUlQoZ3JhZGllbnREYXRh
LT5ncmFkaWVudCk7CiAKLSAgICByZXR1cm4gdHM7CisgICAgY29uc3QgVmVjdG9yPEdyYWRpZW50
OjpDb2xvclN0b3A+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBzdG9wcy5lbmQoKTsKKyAgICBmb3Ig
KFZlY3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBzdG9wcy5i
ZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgIGdyYWRpZW50RGF0YS0+Z3JhZGllbnQt
PmFkZENvbG9yU3RvcCgqaXQpOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9CiAKICNl
bmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGll
bnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZUdyYWRpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsOTggKzEsNzUgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+
CiAgKiAgICAgICAgICAgICAgIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAq
IENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KICAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVU
RVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CiAgKi8KIAogI2lmbmRlZiBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50X2gKICNkZWZpbmUgUmVu
ZGVyU1ZHUmVzb3VyY2VHcmFkaWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotCiAjaW5jbHVkZSAi
QWZmaW5lVHJhbnNmb3JtLmgiCi0jaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJGbG9hdFJl
Y3QuaCIKICNpbmNsdWRlICJHcmFkaWVudC5oIgotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5o
IgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCisjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIK
KyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgorI2luY2x1ZGUgIlNWR0dy
YWRpZW50RWxlbWVudC5oIgogCi0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBJbWFnZUJ1ZmZlcjsKLWNsYXNzIFNWR0dyYWRpZW50RWxlbWVudDsK
LQotdHlwZWRlZiBzdGQ6OnBhaXI8ZmxvYXQsIENvbG9yPiBTVkdHcmFkaWVudFN0b3A7Ci0KLWNs
YXNzIFNWR1BhaW50U2VydmVyR3JhZGllbnQgOiBwdWJsaWMgU1ZHUGFpbnRTZXJ2ZXIgewotcHVi
bGljOgotICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyR3JhZGllbnQoKTsKLQotICAgIHZvaWQg
c2V0R3JhZGllbnQoUGFzc1JlZlB0cjxHcmFkaWVudD4pOwotICAgIEdyYWRpZW50KiBncmFkaWVu
dCgpIGNvbnN0Oworc3RydWN0IEdyYWRpZW50RGF0YSB7CisgICAgUmVmUHRyPEdyYWRpZW50PiBn
cmFkaWVudDsKIAotICAgIC8vIEdyYWRpZW50IHN0YXJ0IGFuZCBlbmQgcG9pbnRzIGFyZSBwZXJj
ZW50YWdlcyB3aGVuIHVzZWQgaW4gYm91bmRpbmdCb3ggbW9kZS4KLSAgICAvLyBGb3IgaW5zdGFu
Y2Ugc3RhcnQgcG9pbnQgd2l0aCB2YWx1ZSAoMCwwKSBpcyB0b3AtbGVmdCBhbmQgZW5kIHBvaW50
IHdpdGgKLSAgICAvLyB2YWx1ZSAoMTAwLCAxMDApIGlzIGJvdHRvbS1yaWdodC4gQm91bmRpbmdC
b3ggbW9kZSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCi0gICAgYm9vbCBib3VuZGluZ0JveE1vZGUo
KSBjb25zdDsKLSAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9kZShib29sIG1vZGUgPSB0cnVlKTsK
KyAgICBib29sIGJvdW5kaW5nQm94TW9kZTsKKyAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3Jt
OworfTsKIAotICAgIEFmZmluZVRyYW5zZm9ybSBncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0Owot
ICAgIHZvaWQgc2V0R3JhZGllbnRUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7Citj
bGFzcyBHcmFwaGljc0NvbnRleHQ7CiAKLSAgICB2b2lkIHNldEdyYWRpZW50U3RvcHMoY29uc3Qg
VmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIHN0b3BzKSB7IG1fc3RvcHMgPSBzdG9wczsgfQotICAg
IGNvbnN0IFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+JiBncmFkaWVudFN0b3BzKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdG9wczsgfQorY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCA6IHB1Ymxp
YyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CitwdWJsaWM6CisgICAgUmVuZGVyU1ZHUmVz
b3VyY2VHcmFkaWVudChTVkdHcmFkaWVudEVsZW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5SZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50KCk7CiAKLSAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFs
UmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBpbnZh
bGlkYXRlQ2xpZW50cygpOworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50KFJlbmRl
ck9iamVjdCopOwogCi0gICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dComLCBj
b25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFyZ2V0VHlw
ZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHRlYXJkb3du
KEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdldFR5
cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBhcHBseVJl
c291cmNlKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYsIHVu
c2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBcHBseVJl
c291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBzaG9ydCBy
ZXNvdXJjZU1vZGUpOworICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91bmRpbmdCb3go
Y29uc3QgRmxvYXRSZWN0JikgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KIAogcHJvdGVj
dGVkOgotICAgIFNWR1BhaW50U2VydmVyR3JhZGllbnQoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50
KiBvd25lcik7Ci0gICAgCisgICAgdm9pZCBhZGRTdG9wcyhHcmFkaWVudERhdGEqLCBjb25zdCBW
ZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgYnVp
bGRHcmFkaWVudChHcmFkaWVudERhdGEqLCBTVkdHcmFkaWVudEVsZW1lbnQqKSBjb25zdCA9IDA7
CisKIHByaXZhdGU6Ci0gICAgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gbV9zdG9wczsKLSAgICBS
ZWZQdHI8R3JhZGllbnQ+IG1fZ3JhZGllbnQ7Ci0gICAgYm9vbCBtX2JvdW5kaW5nQm94TW9kZTsK
LSAgICBBZmZpbmVUcmFuc2Zvcm0gbV9ncmFkaWVudFRyYW5zZm9ybTsKLSAgICBjb25zdCBTVkdH
cmFkaWVudEVsZW1lbnQqIG1fb3duZXJFbGVtZW50OworICAgIEhhc2hNYXA8UmVuZGVyT2JqZWN0
KiwgR3JhZGllbnREYXRhKj4gbV9ncmFkaWVudDsKIAogI2lmIFBMQVRGT1JNKENHKQotcHVibGlj
OgotICAgIG11dGFibGUgR3JhcGhpY3NDb250ZXh0KiBtX3NhdmVkQ29udGV4dDsKLSAgICBtdXRh
YmxlIE93blB0cjxJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZlcjsKKyAgICBHcmFwaGljc0NvbnRl
eHQqIG1fc2F2ZWRDb250ZXh0OworICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZl
cjsKICNlbmRpZgogfTsKIAotaW5saW5lIFNWR0dyYWRpZW50U3RvcCBtYWtlR3JhZGllbnRTdG9w
KGZsb2F0IG9mZnNldCwgY29uc3QgQ29sb3ImIGNvbG9yKQotewotICAgIHJldHVybiBzdGQ6Om1h
a2VfcGFpcihvZmZzZXQsIGNvbG9yKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCiAj
ZW5kaWYKLQotI2VuZGlmIC8vIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnRfaAorI2VuZGlmCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwyNiAr
MSwyMiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHpp
bW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExp
bWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMjgs
NDggKzI0LDQzIEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50LmgiCiAKLSNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCisj
aW5jbHVkZSAiTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSAiU1ZHTGluZWFy
R3JhZGllbnRFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU1ZHUGFpbnRTZXJ2
ZXJMaW5lYXJHcmFkaWVudDo6U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudChjb25zdCBTVkdH
cmFkaWVudEVsZW1lbnQqIG93bmVyKQotICAgIDogU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudChvd25l
cikKLXsgCi19CitSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJH
cmFkaWVudDo6c19yZXNvdXJjZVR5cGUgPSBMaW5lYXJHcmFkaWVudFJlc291cmNlVHlwZTsKIAot
U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6flNWR1BhaW50U2VydmVyTGluZWFyR3JhZGll
bnQoKQorUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6UmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudChTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqIG5vZGUpCisgICAgOiBSZW5k
ZXJTVkdSZXNvdXJjZUdyYWRpZW50KG5vZGUpCiB7CiB9CiAKLUZsb2F0UG9pbnQgU1ZHUGFpbnRT
ZXJ2ZXJMaW5lYXJHcmFkaWVudDo6Z3JhZGllbnRTdGFydCgpIGNvbnN0CitSZW5kZXJTVkdSZXNv
dXJjZUxpbmVhckdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCgpCiB7
Ci0gICAgcmV0dXJuIG1fc3RhcnQ7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFk
aWVudDo6c2V0R3JhZGllbnRTdGFydChjb25zdCBGbG9hdFBvaW50JiBzdGFydCkKK3ZvaWQgUmVu
ZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6YnVpbGRHcmFkaWVudChHcmFkaWVudERhdGEq
IGdyYWRpZW50RGF0YSwgU1ZHR3JhZGllbnRFbGVtZW50KiBncmFkaWVudEVsZW1lbnQpIGNvbnN0
CiB7Ci0gICAgbV9zdGFydCA9IHN0YXJ0OwotfQorICAgIFNWR0xpbmVhckdyYWRpZW50RWxlbWVu
dCogbGluZWFyR3JhZGllbnRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHTGluZWFyR3JhZGllbnRF
bGVtZW50Kj4oZ3JhZGllbnRFbGVtZW50KTsKKyAgICBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMg
YXR0cmlidXRlcyA9IGxpbmVhckdyYWRpZW50RWxlbWVudC0+Y29sbGVjdEdyYWRpZW50UHJvcGVy
dGllcygpOwogCi1GbG9hdFBvaW50IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ6OmdyYWRp
ZW50RW5kKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9lbmQ7Ci19CisgICAgLy8gRGV0ZXJtaW5l
IGdyYWRpZW50IHN0YXJ0L2VuZCBwb2ludHMKKyAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQ7Cisg
ICAgRmxvYXRQb2ludCBlbmRQb2ludDsKKyAgICBsaW5lYXJHcmFkaWVudEVsZW1lbnQtPmNhbGN1
bGF0ZVN0YXJ0RW5kUG9pbnRzKGF0dHJpYnV0ZXMsIHN0YXJ0UG9pbnQsIGVuZFBvaW50KTsKIAot
dm9pZCBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50OjpzZXRHcmFkaWVudEVuZChjb25zdCBG
bG9hdFBvaW50JiBlbmQpCi17Ci0gICAgbV9lbmQgPSBlbmQ7Ci19CisgICAgZ3JhZGllbnREYXRh
LT5ncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoc3RhcnRQb2ludCwgZW5kUG9pbnQpOworICAg
IGdyYWRpZW50RGF0YS0+Z3JhZGllbnQtPnNldFNwcmVhZE1ldGhvZChhdHRyaWJ1dGVzLnNwcmVh
ZE1ldGhvZCgpKTsKIAotVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6
ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKLXsKLSAgICB0cyA8
PCAiW3R5cGU9TElORUFSLUdSQURJRU5UXSAiOwotICAgIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6
OmV4dGVybmFsUmVwcmVzZW50YXRpb24odHMpOwotICAgIHRzICA8PCAiIFtzdGFydD0iIDw8IGdy
YWRpZW50U3RhcnQoKSA8PCAiXSIKLSAgICAgICAgPDwgIiBbZW5kPSIgPDwgZ3JhZGllbnRFbmQo
KSA8PCAiXSI7Ci0gICAgcmV0dXJuIHRzOworICAgIC8vIFJlY29yZCBjdXJyZW50IGdyYWRpZW50
IHRyYW5zZm9ybQorICAgIGdyYWRpZW50RGF0YS0+dHJhbnNmb3JtID0gYXR0cmlidXRlcy5ncmFk
aWVudFRyYW5zZm9ybSgpOworICAgIGdyYWRpZW50RGF0YS0+Ym91bmRpbmdCb3hNb2RlID0gYXR0
cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKTsKKworICAgIC8vIEFkZCBzdG9wcworICAgIGFkZFN0
b3BzKGdyYWRpZW50RGF0YSwgYXR0cmlidXRlcy5zdG9wcygpKTsKIH0KIAotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorfQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlTGluZWFyR3JhZGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYyICsxLDQ4IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IE5p
a29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSBS
ZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaWZuZGVm
IFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnRfaAogI2RlZmluZSBSZW5kZXJTVkdSZXNv
dXJjZUxpbmVhckdyYWRpZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0KLSNpbmNsdWRlICJGbG9h
dFBvaW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQgOiBw
dWJsaWMgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudD4gY3JlYXRlKGNvbnN0IFNWR0dyYWRp
ZW50RWxlbWVudCogb3duZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZlckxp
bmVhckdyYWRpZW50KG93bmVyKSk7IH0KLSAgICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlckxpbmVh
ckdyYWRpZW50KCk7Ci0KLSAgICB2aXJ0dWFsIFNWR1BhaW50U2VydmVyVHlwZSB0eXBlKCkgY29u
c3QgeyByZXR1cm4gTGluZWFyR3JhZGllbnRQYWludFNlcnZlcjsgfQorY2xhc3MgU1ZHTGluZWFy
R3JhZGllbnRFbGVtZW50OwogCi0gICAgRmxvYXRQb2ludCBncmFkaWVudFN0YXJ0KCkgY29uc3Q7
Ci0gICAgdm9pZCBzZXRHcmFkaWVudFN0YXJ0KGNvbnN0IEZsb2F0UG9pbnQmKTsKLQotICAgIEZs
b2F0UG9pbnQgZ3JhZGllbnRFbmQoKSBjb25zdDsKLSAgICB2b2lkIHNldEdyYWRpZW50RW5kKGNv
bnN0IEZsb2F0UG9pbnQmKTsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQg
OiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCB7CitwdWJsaWM6CisgICAgUmVuZGVy
U1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudChTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqKTsKKyAg
ICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KCk7CiAKLSAgICB2aXJ0
dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0
OworICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJS
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IjsgfQogCi1wcml2YXRlOgotICAgIFNWR1Bh
aW50U2VydmVyTGluZWFyR3JhZGllbnQoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBvd25lcik7
CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlKCkgY29uc3Qg
eyByZXR1cm4gc19yZXNvdXJjZVR5cGU7IH0KKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2VU
eXBlIHNfcmVzb3VyY2VUeXBlOwogCi0gICAgRmxvYXRQb2ludCBtX3N0YXJ0OwotICAgIEZsb2F0
UG9pbnQgbV9lbmQ7CisgICAgdmlydHVhbCB2b2lkIGJ1aWxkR3JhZGllbnQoR3JhZGllbnREYXRh
KiwgU1ZHR3JhZGllbnRFbGVtZW50KikgY29uc3Q7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCit9CiAKICNlbmRpZgotCi0jZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFk
aWVudF9oCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
TWFya2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZU1hcmtlci5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIFJlbmRlclNWR1Jl
c291cmNlTWFya2VyOjpzX3Jlc291cmNlVHlwZSA9IE1hcmtlclJlc291cmNlVHlwZTsKIAotUmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OlJlbmRlclNWR1Jlc291cmNlTWFya2VyKFNWR1N0eWxlZEVs
ZW1lbnQqIG5vZGUpCi0gICAgOiBSZW5kZXJTVkdSZXNvdXJjZShub2RlKQorUmVuZGVyU1ZHUmVz
b3VyY2VNYXJrZXI6OlJlbmRlclNWR1Jlc291cmNlTWFya2VyKFNWR01hcmtlckVsZW1lbnQqIG5v
ZGUpCisgICAgOiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihub2RlKQogewogfQogCkBAIC04
Miw2ICs4Miw3IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmludmFsaWRhdGUKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9tYXJrZXIucmVtb3ZlKG9iamVjdCk7CisgICAgbWFya0Zv
ckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKG9iamVjdCk7CiB9CiAKIHZvaWQgUmVuZGVy
U1ZHUmVzb3VyY2VNYXJrZXI6OmFwcGx5Vmlld3BvcnRDbGlwKFBhaW50SW5mbyYgcGFpbnRJbmZv
KQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oCShy
ZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFy
a2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICNpZiBFTkFCTEUoU1ZHKQog
I2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1
ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXIuaCIKICNpbmNsdWRlICJTVkdNYXJrZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHU3R5
bGVkRWxlbWVudC5oIgogCkBAIC0zNCwxMCArMzQsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIAotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIg
OiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2UgewotCitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1h
cmtlciA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CiBwdWJsaWM6Ci0gICAg
UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIoU1ZHU3R5bGVkRWxlbWVudCopOworICAgIFJlbmRlclNW
R1Jlc291cmNlTWFya2VyKFNWR01hcmtlckVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJT
VkdSZXNvdXJjZU1hcmtlcigpOwogCiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1l
KCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR1Jlc291cmNlTWFya2VyIjsgfQpAQCAtNTgsNyAr
NTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGxvY2Fs
VG9QYXJlbnRUcmFuc2Zvcm0oKSBjb25zdDsKICAgICBBZmZpbmVUcmFuc2Zvcm0gbWFya2VyVHJh
bnNmb3JtYXRpb24oY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9hdCBhbmdsZSwgZmxvYXQg
c3Ryb2tlV2lkdGgpIGNvbnN0OwogCi0gICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVu
ZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmly
dHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUqLCBHcmFw
aGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmly
dHVhbCBGbG9hdFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25z
dCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQogCiAgICAgRmxvYXRQb2ludCByZWZlcmVuY2VQb2lu
dCgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNr
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
TWFza2VyLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdSZXNvdXJjZU1hc2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDggKzQyLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXNrZXI6OnNfcmVzb3VyY2VUeXBlID0gTWFza2VyUmVzb3VyY2VUeXBlOwogCi1SZW5kZXJT
VkdSZXNvdXJjZU1hc2tlcjo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIoU1ZHU3R5bGVkRWxlbWVu
dCogbm9kZSkKLSAgICA6IFJlbmRlclNWR1Jlc291cmNlKG5vZGUpCitSZW5kZXJTVkdSZXNvdXJj
ZU1hc2tlcjo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIoU1ZHTWFza0VsZW1lbnQqIG5vZGUpCisg
ICAgOiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihub2RlKQogewogfQogCkBAIC03NywxMyAr
NzcsMTUgQEAgdm9pZCBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6aW52YWxpZGF0ZQogICAgIGlm
ICghbV9tYXNrZXIuY29udGFpbnMob2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZGVs
ZXRlIG1fbWFza2VyLnRha2Uob2JqZWN0KTsgCisgICAgZGVsZXRlIG1fbWFza2VyLnRha2Uob2Jq
ZWN0KTsKKyAgICBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24ob2JqZWN0KTsK
IH0KIAotYm9vbCBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6YXBwbHlSZXNvdXJjZShSZW5kZXJP
YmplY3QqIG9iamVjdCwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCkKK2Jvb2wgUmVuZGVyU1ZH
UmVzb3VyY2VNYXNrZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRl
clN0eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVzb3Vy
Y2VNb2RlKQogewogICAgIEFTU0VSVChvYmplY3QpOwogICAgIEFTU0VSVChjb250ZXh0KTsKKyAg
ICBBU1NFUlQocmVzb3VyY2VNb2RlID09IEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAKICAgICBpZiAo
IW1fbWFza2VyLmNvbnRhaW5zKG9iamVjdCkpCiAgICAgICAgIG1fbWFza2VyLnNldChvYmplY3Qs
IG5ldyBNYXNrZXJEYXRhKTsKQEAgLTE1MSw3ICsxNTMsNyBAQCB2b2lkIFJlbmRlclNWR1Jlc291
cmNlTWFza2VyOjpjcmVhdGVNYXNrCiAgICAgbWFza0ltYWdlUmVjdC5zZXRMb2NhdGlvbihJbnRQ
b2ludCgpKTsKIAogICAgIC8vIERvbid0IGNyZWF0ZSBJbWFnZUJ1ZmZlcnMgd2l0aCBpbWFnZSBz
aXplIG9mIDAKLSAgICBpZiAoIW1hc2tJbWFnZVJlY3Qud2lkdGgoKSB8fCAhbWFza0ltYWdlUmVj
dC5oZWlnaHQoKSkgeworICAgIGlmIChtYXNrSW1hZ2VSZWN0LmlzRW1wdHkoKSkgewogICAgICAg
ICBtYXNrZXJEYXRhLT5lbXB0eU1hc2sgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5oCShyZXZp
c2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2Vy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0Nv
bnRleHQuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIK
LSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyLmgiCiAjaW5jbHVkZSAiU1ZHTWFza0VsZW1lbnQuaCIKICNpbmNsdWRlICJT
VkdVbml0VHlwZXMuaCIKIApAQCAtMzYsOSArMzYsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdHJ1Y3QgTWFza2VyRGF0YSB7Ci0gICAgTWFza2VyRGF0YShGbG9hdFJlY3QgcmVjdCA9IEZs
b2F0UmVjdCgpLCBib29sIGVtcHR5T2JqZWN0ID0gZmFsc2UpCi0gICAgICAgIDogbWFza1JlY3Qo
cmVjdCkKLSAgICAgICAgLCBlbXB0eU1hc2soZW1wdHlPYmplY3QpCisgICAgTWFza2VyRGF0YSgp
CisgICAgICAgIDogZW1wdHlNYXNrKGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTQ3LDEwICs0
Niw5IEBAIHN0cnVjdCBNYXNrZXJEYXRhIHsKICAgICBib29sIGVtcHR5TWFzazsKIH07CiAKLWNs
YXNzIFJlbmRlclNWR1Jlc291cmNlTWFza2VyIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlIHsK
LQorY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIgewogcHVibGljOgotICAgIFJlbmRlclNWR1Jlc291cmNlTWFza2VyKFNWR1N0
eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcihTVkdNYXNrRWxlbWVu
dCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlTWFza2VyKCk7CiAKICAgICB2aXJ0
dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyU1ZHUmVz
b3VyY2VNYXNrZXIiOyB9CkBAIC01OCw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgaW52YWxpZGF0ZUNsaWVudHMoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVu
dChSZW5kZXJPYmplY3QqKTsKIAotICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291cmNlKFJlbmRl
ck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComKTsKKyAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNv
dXJjZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSosIEdyYXBoaWNzQ29udGV4dComLCB1bnNp
Z25lZCBzaG9ydCByZXNvdXJjZU1vZGUpOwogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNl
Qm91bmRpbmdCb3goY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKICAgICBTVkdVbml0VHlwZXM6
OlNWR1VuaXRUeXBlIG1hc2tVbml0cygpIGNvbnN0IHsgcmV0dXJuIHRvVW5pdFR5cGUoc3RhdGlj
X2Nhc3Q8U1ZHTWFza0VsZW1lbnQqPihub2RlKCkpLT5tYXNrVW5pdHMoKSk7IH0KSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcAkocmV2aXNp
b24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI3ICsxLDIyIEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICogICAgICAg
ICAgICAgICAyMDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICogQ29weXJpZ2h0
IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgog
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCkBAIC0yOSwxNTUgKzI0LDMwNiBAQAogI2lmIEVOQUJMRShTVkcp
CiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgiCiAKLSNpbmNsdWRlICJBZmZp
bmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJJ
bWFnZS5oIgotI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiUGF0dGVybi5oIgot
I2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlNWR1BhdHRlcm5FbGVtZW50Lmgi
Ci0jaW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgotCi11c2luZyBuYW1lc3BhY2Ugc3Rk
OworI2luY2x1ZGUgIlBhdHRlcm5BdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3Vw
cG9ydC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1BhaW50U2VydmVyUGF0dGVybjo6
U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKGNvbnN0IFNWR1BhdHRlcm5FbGVtZW50KiBvd25lcikKLSAg
ICA6IG1fb3duZXJFbGVtZW50KG93bmVyKQotICAgICwgbV9wYXR0ZXJuKDApCi17Ci0gICAgQVNT
RVJUKG93bmVyKTsKLX0KK1JlbmRlclNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZVBh
dHRlcm46OnNfcmVzb3VyY2VUeXBlID0gUGF0dGVyblJlc291cmNlVHlwZTsKIAotU1ZHUGFpbnRT
ZXJ2ZXJQYXR0ZXJuOjp+U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKCkKK1JlbmRlclNWR1Jlc291cmNl
UGF0dGVybjo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuKFNWR1BhdHRlcm5FbGVtZW50KiBub2Rl
KQorICAgIDogUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKIHsKIH0KIAotRmxvYXRS
ZWN0IFNWR1BhaW50U2VydmVyUGF0dGVybjo6cGF0dGVybkJvdW5kYXJpZXMoKSBjb25zdAorUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjp+UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuKCkKIHsKLSAg
ICByZXR1cm4gbV9wYXR0ZXJuQm91bmRhcmllczsKKyAgICBkZWxldGVBbGxWYWx1ZXMobV9wYXR0
ZXJuKTsKKyAgICBtX3BhdHRlcm4uY2xlYXIoKTsKIH0KIAotdm9pZCBTVkdQYWludFNlcnZlclBh
dHRlcm46OnNldFBhdHRlcm5Cb3VuZGFyaWVzKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3ZvaWQg
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjppbnZhbGlkYXRlQ2xpZW50cygpCiB7Ci0gICAgbV9w
YXR0ZXJuQm91bmRhcmllcyA9IHJlY3Q7Ci19CisgICAgY29uc3QgSGFzaE1hcDxSZW5kZXJPYmpl
Y3QqLCBQYXR0ZXJuRGF0YSo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3BhdHRlcm4uZW5kKCk7
CisgICAgZm9yIChIYXNoTWFwPFJlbmRlck9iamVjdCosIFBhdHRlcm5EYXRhKj46OmNvbnN0X2l0
ZXJhdG9yIGl0ID0gbV9wYXR0ZXJuLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAg
bWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKGl0LT5maXJzdCk7CiAKLUltYWdl
QnVmZmVyKiBTVkdQYWludFNlcnZlclBhdHRlcm46OnRpbGUoKSBjb25zdAotewotICAgIHJldHVy
biBtX3RpbGUuZ2V0KCk7CisgICAgZGVsZXRlQWxsVmFsdWVzKG1fcGF0dGVybik7CisgICAgbV9w
YXR0ZXJuLmNsZWFyKCk7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpzZXRUaWxl
KFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGUpCit2b2lkIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybjo6aW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKLSAgICBtX3Rp
bGUgPSB0aWxlOwotfQorICAgIEFTU0VSVChvYmplY3QpOwogCi1BZmZpbmVUcmFuc2Zvcm0gU1ZH
UGFpbnRTZXJ2ZXJQYXR0ZXJuOjpwYXR0ZXJuVHJhbnNmb3JtKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gbV9wYXR0ZXJuVHJhbnNmb3JtOwotfQorICAgIC8vIEZJWE1FOiBUaGUgSGFzaE1hcCBzaG91
bGQgYWx3YXlzIGNvbnRhaW4gdGhlIG9iamVjdCBvbiBjYWxsaW5nIGludmFsaWRhdGVDbGllbnQu
IEEgcmFjZSBjb25kaXRpb24KKyAgICAvLyBkdXJpbmcgdGhlIHBhcnNpbmcgY2FuIGNhdXNlcyBh
IGNhbGwgb2YgaW52YWxpZGF0ZUNsaWVudCByaWdodCBiZWZvcmUgdGhlIGNhbGwgb2YgYXBwbHlS
ZXNvdXJjZS4KKyAgICAvLyBXZSByZXR1cm4gZWFybGllciBmb3IgdGhlIG1vbWVudC4gVGhpcyBi
dWcgc2hvdWxkIGJlIGZpeGVkIGluOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNTE4MQorICAgIGlmICghbV9wYXR0ZXJuLmNvbnRhaW5zKG9iamVjdCkp
CisgICAgICAgIHJldHVybjsKIAotdm9pZCBTVkdQYWludFNlcnZlclBhdHRlcm46OnNldFBhdHRl
cm5UcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCi17Ci0gICAgbV9w
YXR0ZXJuVHJhbnNmb3JtID0gdHJhbnNmb3JtOworICAgIGRlbGV0ZSBtX3BhdHRlcm4udGFrZShv
YmplY3QpOworICAgIG1hcmtGb3JMYXlvdXRBbmRSZXNvdXJjZUludmFsaWRhdGlvbihvYmplY3Qp
OwogfQogCi1UZXh0U3RyZWFtJiBTVkdQYWludFNlcnZlclBhdHRlcm46OmV4dGVybmFsUmVwcmVz
ZW50YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Citib29sIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybjo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqIHN0
eWxlLCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1v
ZGUpCiB7Ci0gICAgLy8gR3JhZGllbnRzL3BhdHRlcm5zIGFyZW4ndCBzZXR1cCwgdW50aWwgdGhl
eSBhcmUgdXNlZCBmb3IgcGFpbnRpbmcuIFdvcmsgYXJvdW5kIHRoYXQgZmFjdC4KLSAgICBtX293
bmVyRWxlbWVudC0+YnVpbGRQYXR0ZXJuKEZsb2F0UmVjdCgwLjBmLCAwLjBmLCAxLjBmLCAxLjBm
KSk7CisgICAgQVNTRVJUKG9iamVjdCk7CisgICAgQVNTRVJUKHN0eWxlKTsKKyAgICBBU1NFUlQo
Y29udGV4dCk7CisgICAgQVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUp
OwogCi0gICAgdHMgPDwgIlt0eXBlPVBBVFRFUk5dIgotICAgICAgICA8PCAiIFtiYm94PSIgPDwg
cGF0dGVybkJvdW5kYXJpZXMoKSA8PCAiXSI7Ci0gICAgaWYgKCFwYXR0ZXJuVHJhbnNmb3JtKCku
aXNJZGVudGl0eSgpKQotICAgICAgICB0cyA8PCAiIFtwYXR0ZXJuIHRyYW5zZm9ybT0iIDw8IHBh
dHRlcm5UcmFuc2Zvcm0oKSA8PCAiXSI7Ci0gICAgcmV0dXJuIHRzOwotfQorICAgIC8vIEJlIHN1
cmUgdG8gc3luY2hyb25pemUgYWxsIFNWRyBwcm9wZXJ0aWVzIG9uIHRoZSBwYXR0ZXJuRWxlbWVu
dCBfYmVmb3JlXyBwcm9jZXNzaW5nIGFueSBmdXJ0aGVyLgorICAgIC8vIE90aGVyd2hpc2UgdGhl
IGNhbGwgdG8gY29sbGVjdFBhdHRlcm5BdHRyaWJ1dGVzKCkgaW4gY3JlYXRlVGlsZUltYWdlKCks
IG1heSBjYXVzZSB0aGUgU1ZHIERPTSBwcm9wZXJ0eQorICAgIC8vIHN5bmNocm9uaXphdGlvbiB0
byBraWNrIGluLCB3aGljaCBjYXVzZXMgaW52YWxpZGF0ZUNsaWVudHMoKSB0byBiZSBjYWxsZWQs
IHdoaWNoIGluIHR1cm4gZGVsZXRlcyBvdXIKKyAgICAvLyBQYXR0ZXJuRGF0YSBvYmplY3QhIExl
YXZpbmcgb3V0IHRoZSBsaW5lIGJlbG93IHdpbGwgY2F1c2Ugc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdQYXR0ZXJuRWxlbWVudC1zdmdkb20qIHRvIGNyYXNoLgorICAgIFNWR1BhdHRlcm5FbGVtZW50
KiBwYXR0ZXJuRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1BhdHRlcm5FbGVtZW50Kj4obm9kZSgp
KTsKKyAgICBpZiAoIXBhdHRlcm5FbGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLWJv
b2wgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpzZXR1cChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0
LCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBT
VkdQYWludFRhcmdldFR5cGUgdHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3QKLXsKLSAg
ICBGbG9hdFJlY3QgdGFyZ2V0UmVjdCA9IG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKTsKKyAg
ICBwYXR0ZXJuRWxlbWVudC0+dXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoYW55UU5hbWUoKSk7
CiAKLSAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBzdHlsZS0+c3ZnU3R5bGUo
KTsKLSAgICBib29sIGlzRmlsbGVkID0gKHR5cGUgJiBBcHBseVRvRmlsbFRhcmdldFR5cGUpICYm
IHN2Z1N0eWxlLT5oYXNGaWxsKCk7Ci0gICAgYm9vbCBpc1N0cm9rZWQgPSAodHlwZSAmIEFwcGx5
VG9TdHJva2VUYXJnZXRUeXBlKSAmJiBzdmdTdHlsZS0+aGFzU3Ryb2tlKCk7CisgICAgaWYgKCFt
X3BhdHRlcm4uY29udGFpbnMob2JqZWN0KSkKKyAgICAgICAgbV9wYXR0ZXJuLnNldChvYmplY3Qs
IG5ldyBQYXR0ZXJuRGF0YSk7CiAKLSAgICBBU1NFUlQoKGlzRmlsbGVkICYmICFpc1N0cm9rZWQp
IHx8ICghaXNGaWxsZWQgJiYgaXNTdHJva2VkKSk7Ci0KLSAgICBtX293bmVyRWxlbWVudC0+YnVp
bGRQYXR0ZXJuKHRhcmdldFJlY3QpOwotICAgIGlmICghdGlsZSgpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgUGF0dGVybkRhdGEqIHBhdHRlcm5EYXRhID0gbV9wYXR0ZXJuLmdldChvYmpl
Y3QpOworICAgIGlmICghcGF0dGVybkRhdGEtPnBhdHRlcm4pIHsKKyAgICAgICAgRmxvYXRSZWN0
IHBhdHRlcm5Cb3VuZGFyaWVzOworICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5z
Zm9ybTsKKworICAgICAgICAvLyBDcmVhdGUgdGlsZSBpbWFnZQorICAgICAgICBPd25QdHI8SW1h
Z2VCdWZmZXI+IHRpbGVJbWFnZSA9IGNyZWF0ZVRpbGVJbWFnZShwYXR0ZXJuQm91bmRhcmllcywg
cGF0dGVyblRyYW5zZm9ybSwgcGF0dGVybkVsZW1lbnQsIG9iamVjdCk7CisgICAgICAgIGlmICgh
dGlsZUltYWdlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIC8vIENyZWF0
ZSBwYXR0ZXJuIG9iamVjdAorICAgICAgICBidWlsZFBhdHRlcm4ocGF0dGVybkRhdGEsIHBhdHRl
cm5Cb3VuZGFyaWVzLCB0aWxlSW1hZ2UucmVsZWFzZSgpKTsKKworICAgICAgICBpZiAoIXBhdHRl
cm5EYXRhLT5wYXR0ZXJuKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIC8v
IENvbXB1dGUgcGF0dGVybiB0cmFuc2Zvcm1hdGlvbgorICAgICAgICBBZmZpbmVUcmFuc2Zvcm0g
dHJhbnNmb3JtOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVz
LngoKSwgcGF0dGVybkJvdW5kYXJpZXMueSgpKTsKKyAgICAgICAgdHJhbnNmb3JtLm11bHRpcGx5
KHBhdHRlcm5UcmFuc2Zvcm0pOworICAgICAgICBwYXR0ZXJuRGF0YS0+cGF0dGVybi0+c2V0UGF0
dGVyblNwYWNlVHJhbnNmb3JtKHRyYW5zZm9ybSk7CisgICAgfQogCisgICAgLy8gRHJhdyBwYXR0
ZXJuCiAgICAgY29udGV4dC0+c2F2ZSgpOwogCi0gICAgQVNTRVJUKCFtX3BhdHRlcm4pOwotCi0g
ICAgSW50UmVjdCB0aWxlUmVjdCA9IHRpbGUoKS0+aW1hZ2UoKS0+cmVjdCgpOwotICAgIGlmICh0
aWxlUmVjdC53aWR0aCgpID4gcGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpIHx8IHRpbGVSZWN0
LmhlaWdodCgpID4gcGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSkgewotICAgICAgICAvLyBE
cmF3IHRoZSBmaXJzdCBjZWxsIG9mIHRoZSBwYXR0ZXJuIG1hbnVhbGx5IHRvIHN1cHBvcnQgb3Zl
cmZsb3c9InZpc2libGUiIG9uIGFsbCBwbGF0Zm9ybXMuCi0gICAgICAgIGludCB0aWxlV2lkdGgg
PSBzdGF0aWNfY2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVzKCkud2lkdGgoKSArIDAuNWYpOwot
ICAgICAgICBpbnQgdGlsZUhlaWdodCA9IHN0YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJp
ZXMoKS5oZWlnaHQoKSArIDAuNWYpOwotICAgICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGVJ
bWFnZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUoSW50U2l6ZSh0aWxlV2lkdGgsIHRpbGVIZWlnaHQp
KTsKLSAgCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCogdGlsZUltYWdlQ29udGV4dCA9IHRpbGVJ
bWFnZS0+Y29udGV4dCgpOwotCi0gICAgICAgIGludCBudW1ZID0gc3RhdGljX2Nhc3Q8aW50Pihj
ZWlsZih0aWxlUmVjdC5oZWlnaHQoKSAvIHRpbGVIZWlnaHQpKSArIDE7Ci0gICAgICAgIGludCBu
dW1YID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZih0aWxlUmVjdC53aWR0aCgpIC8gdGlsZVdpZHRo
KSkgKyAxOwotCi0gICAgICAgIHRpbGVJbWFnZUNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgdGls
ZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKC1wYXR0ZXJuQm91bmRhcmllcygpLndpZHRoKCkgKiBu
dW1YLCAtcGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSAqIG51bVkpOwotICAgICAgICBmb3Ig
KGludCBpID0gbnVtWTsgaSA+IDA7IGktLSkgewotICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4
dC0+dHJhbnNsYXRlKDAsIHBhdHRlcm5Cb3VuZGFyaWVzKCkuaGVpZ2h0KCkpOwotICAgICAgICAg
ICAgZm9yIChpbnQgaiA9IG51bVg7IGogPiAwOyBqLS0pIHsKLSAgICAgICAgICAgICAgICB0aWxl
SW1hZ2VDb250ZXh0LT50cmFuc2xhdGUocGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpLCAwKTsK
LSAgICAgICAgICAgICAgICB0aWxlSW1hZ2VDb250ZXh0LT5kcmF3SW1hZ2UodGlsZSgpLT5pbWFn
ZSgpLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCB0aWxlUmVjdCwgdGlsZVJlY3QpOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKC1wYXR0ZXJuQm91
bmRhcmllcygpLndpZHRoKCkgKiBudW1YLCAwKTsKLSAgICAgICAgfQotICAgICAgICB0aWxlSW1h
Z2VDb250ZXh0LT5yZXN0b3JlKCk7Ci0KLSAgICAgICAgbV9wYXR0ZXJuID0gUGF0dGVybjo6Y3Jl
YXRlKHRpbGVJbWFnZS0+aW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7Ci0gICAgfQotICAgIGVsc2UKLSAg
ICAgICAgbV9wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGUoKS0+aW1hZ2UoKSwgdHJ1ZSwg
dHJ1ZSk7CisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2Z1N0
eWxlKCk7CisgICAgQVNTRVJUKHN2Z1N0eWxlKTsKIAotICAgIGlmIChpc0ZpbGxlZCkgeworICAg
IGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKICAgICAgICAgY29udGV4dC0+
c2V0QWxwaGEoc3ZnU3R5bGUtPmZpbGxPcGFjaXR5KCkpOwotICAgICAgICBjb250ZXh0LT5zZXRG
aWxsUGF0dGVybihtX3BhdHRlcm4pOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsUGF0dGVybihw
YXR0ZXJuRGF0YS0+cGF0dGVybik7CiAgICAgICAgIGNvbnRleHQtPnNldEZpbGxSdWxlKHN2Z1N0
eWxlLT5maWxsUnVsZSgpKTsKLSAgICB9Ci0gICAgaWYgKGlzU3Ryb2tlZCkgeworICAgIH0gZWxz
ZSBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpIHsKICAgICAgICAgY29udGV4
dC0+c2V0QWxwaGEoc3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSk7Ci0gICAgICAgIGNvbnRleHQt
PnNldFN0cm9rZVBhdHRlcm4obV9wYXR0ZXJuKTsKKyAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tl
UGF0dGVybihwYXR0ZXJuRGF0YS0+cGF0dGVybik7CiAgICAgICAgIGFwcGx5U3Ryb2tlU3R5bGVU
b0NvbnRleHQoY29udGV4dCwgc3R5bGUsIG9iamVjdCk7CiAgICAgfQogCi0gICAgQWZmaW5lVHJh
bnNmb3JtIG1hdHJpeDsKLSAgICBtYXRyaXgudHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzKCku
eCgpLCBwYXR0ZXJuQm91bmRhcmllcygpLnkoKSk7Ci0gICAgbWF0cml4Lm11bHRpcGx5KHBhdHRl
cm5UcmFuc2Zvcm0oKSk7Ci0gICAgbV9wYXR0ZXJuLT5zZXRQYXR0ZXJuU3BhY2VUcmFuc2Zvcm0o
bWF0cml4KTsKKyAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlKSB7CisgICAg
ICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKKyAgICAgICAgICAgIGNv
bnRleHQtPnNldFRleHREcmF3aW5nTW9kZShjVGV4dEZpbGwpOwogCi0gICAgaWYgKGlzUGFpbnRp
bmdUZXh0KSB7Ci0gICAgICAgIGNvbnRleHQtPnNldFRleHREcmF3aW5nTW9kZShpc0ZpbGxlZCA/
IGNUZXh0RmlsbCA6IGNUZXh0U3Ryb2tlKTsKICNpZiBQTEFURk9STShDRykKLSAgICAgICAgaWYg
KGlzRmlsbGVkKQogICAgICAgICAgICAgY29udGV4dC0+YXBwbHlGaWxsUGF0dGVybigpOwotICAg
ICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgfSBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBs
eVRvU3Ryb2tlTW9kZSkgeworICAgICAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2Rl
KGNUZXh0U3Ryb2tlKTsKKworI2lmIFBMQVRGT1JNKENHKQogICAgICAgICAgICAgY29udGV4dC0+
YXBwbHlTdHJva2VQYXR0ZXJuKCk7CiAjZW5kaWYKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJl
dHVybiB0cnVlOwogfQogCi12b2lkIFNWR1BhaW50U2VydmVyUGF0dGVybjo6dGVhcmRvd24oR3Jh
cGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJn
ZXRUeXBlLCBib29sKSBjb25zdAordm9pZCBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OnBvc3RB
cHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVu
c2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkKK3sKKyAgICBBU1NFUlQoY29udGV4dCk7CisgICAg
QVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOworCisgICAgaWYgKCEo
cmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlKSkgeworICAgICAgICBpZiAocmVzb3VyY2VN
b2RlICYgQXBwbHlUb0ZpbGxNb2RlKQorICAgICAgICAgICAgY29udGV4dC0+ZmlsbFBhdGgoKTsK
KyAgICAgICAgZWxzZSBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpCisgICAg
ICAgICAgICBjb250ZXh0LT5zdHJva2VQYXRoKCk7CisgICAgfQorCisgICAgY29udGV4dC0+cmVz
dG9yZSgpOworfQorCitzdGF0aWMgaW5saW5lIEZsb2F0UmVjdCBjYWxjdWxhdGVQYXR0ZXJuQm91
bmRhcmllcyhQYXR0ZXJuQXR0cmlidXRlcyYgYXR0cmlidXRlcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0
Qm91bmRpbmdCb3gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogcGF0dGVybkVsZW1lbnQpCit7CisgICAg
aWYgKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpCisgICAgICAgIHJldHVybiBGbG9hdFJl
Y3QoYXR0cmlidXRlcy54KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSAqIG9iamVjdEJvdW5kaW5nQm94
LndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy55KCkudmFsdWVB
c1BlcmNlbnRhZ2UoKSAqIG9iamVjdEJvdW5kaW5nQm94LmhlaWdodCgpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZXMud2lkdGgoKS52YWx1ZUFzUGVyY2VudGFnZSgpICogb2Jq
ZWN0Qm91bmRpbmdCb3gud2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGVzLmhlaWdodCgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiBvYmplY3RCb3VuZGluZ0JveC5oZWln
aHQoKSk7CisKKyAgICByZXR1cm4gRmxvYXRSZWN0KGF0dHJpYnV0ZXMueCgpLnZhbHVlKHBhdHRl
cm5FbGVtZW50KSwKKyAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMueSgpLnZhbHVlKHBh
dHRlcm5FbGVtZW50KSwKKyAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMud2lkdGgoKS52
YWx1ZShwYXR0ZXJuRWxlbWVudCksCisgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLmhl
aWdodCgpLnZhbHVlKHBhdHRlcm5FbGVtZW50KSk7Cit9CisKK0Zsb2F0UmVjdCBSZW5kZXJTVkdS
ZXNvdXJjZVBhdHRlcm46OmNhbGN1bGF0ZVBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZs
b3coUGF0dGVybkF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbmdCb3gsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdmlld0JveENUTSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcykgY29uc3QKK3sKKyAgICAv
LyBFdmVudHVhbGx5IGNhbGN1bGF0ZSB0aGUgcGF0dGVybiBjb250ZW50IGJvdW5kYXJpZXMgKG9u
bHkgbmVlZGVkIHdpdGggb3ZlcmZsb3c9InZpc2libGUiKS4KKyAgICBGbG9hdFJlY3QgcGF0dGVy
bkNvbnRlbnRCb3VuZGFyaWVzOworCisgICAgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlID0gdGhp
cy0+c3R5bGUoKTsKKyAgICBpZiAoc3R5bGUtPm92ZXJmbG93WCgpID09IE9WSVNJQkxFICYmIHN0
eWxlLT5vdmVyZmxvd1koKSA9PSBPVklTSUJMRSkgeworICAgICAgICBmb3IgKE5vZGUqIG5vZGUg
PSBhdHRyaWJ1dGVzLnBhdHRlcm5Db250ZW50RWxlbWVudCgpLT5maXJzdENoaWxkKCk7IG5vZGU7
IG5vZGUgPSBub2RlLT5uZXh0U2libGluZygpKSB7CisgICAgICAgICAgICBpZiAoIW5vZGUtPmlz
U1ZHRWxlbWVudCgpIHx8ICFzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4obm9kZSktPmlzU3R5bGVk
VHJhbnNmb3JtYWJsZSgpIHx8ICFub2RlLT5yZW5kZXJlcigpKQorICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAgICAgcGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzLnVuaXRlKG5vZGUt
PnJlbmRlcmVyKCktPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgICAgICB9
CisgICAgfQorCisgICAgaWYgKHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybiBwYXR0ZXJuQm91bmRhcmllczsKKworICAgIEZsb2F0UmVjdCBwYXR0ZXJu
Qm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93ID0gcGF0dGVybkJvdW5kYXJpZXM7CisKKyAgICAv
LyBSZXNwZWN0IG9iamVjdEJvdW5kaW5nQm94TW9kZSBmb3IgcGF0dGVybkNvbnRlbnRVbml0cywg
aWYgdmlld0JveCBpcyBub3Qgc2V0LgorICAgIGlmICghdmlld0JveENUTS5pc0lkZW50aXR5KCkp
CisgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcyA9IHZpZXdCb3hDVE0ubWFwUmVjdChw
YXR0ZXJuQ29udGVudEJvdW5kYXJpZXMpOworICAgIGVsc2UgaWYgKGF0dHJpYnV0ZXMuYm91bmRp
bmdCb3hNb2RlQ29udGVudCgpKQorICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMgPSBG
bG9hdFJlY3QocGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzLngoKSAqIG9iamVjdEJvdW5kaW5nQm94
LndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXR0ZXJuQ29udGVudEJvdW5kYXJpZXMueSgpICogb2JqZWN0Qm91bmRpbmdCb3guaGVpZ2h0KCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQ29u
dGVudEJvdW5kYXJpZXMud2lkdGgoKSAqIG9iamVjdEJvdW5kaW5nQm94LndpZHRoKCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQ29udGVudEJv
dW5kYXJpZXMuaGVpZ2h0KCkgKiBvYmplY3RCb3VuZGluZ0JveC5oZWlnaHQoKSk7CisKKyAgICBw
YXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LnVuaXRlKHBhdHRlcm5Db250ZW50Qm91
bmRhcmllcyk7CisgICAgcmV0dXJuIHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3c7
Cit9CisKK1Bhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IFJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6
Y3JlYXRlVGlsZUltYWdlKEZsb2F0UmVjdCYgcGF0dGVybkJvdW5kYXJpZXMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBB
ZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zvcm0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTVkdQYXR0
ZXJuRWxlbWVudCogcGF0dGVybkVsZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIG9iamVj
dCkgY29uc3QKIHsKLSAgICBtX3BhdHRlcm4gPSAwOworICAgIFBhdHRlcm5BdHRyaWJ1dGVzIGF0
dHJpYnV0ZXMgPSBwYXR0ZXJuRWxlbWVudC0+Y29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKCk7CisK
KyAgICAvLyBJZiB3ZSBjb3VsZG4ndCBkZXRlcm1pbmUgdGhlIHBhdHRlcm4gY29udGVudCBlbGVt
ZW50IHJvb3QsIHN0b3AgaGVyZS4KKyAgICBpZiAoIWF0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRF
bGVtZW50KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgRmxvYXRSZWN0IG9iamVjdEJvdW5k
aW5nQm94ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpOyAgICAKKyAgICBwYXR0ZXJuQm91
bmRhcmllcyA9IGNhbGN1bGF0ZVBhdHRlcm5Cb3VuZGFyaWVzKGF0dHJpYnV0ZXMsIG9iamVjdEJv
dW5kaW5nQm94LCBwYXR0ZXJuRWxlbWVudCk7IAorICAgIHBhdHRlcm5UcmFuc2Zvcm0gPSBhdHRy
aWJ1dGVzLnBhdHRlcm5UcmFuc2Zvcm0oKTsKKworICAgIEFmZmluZVRyYW5zZm9ybSB2aWV3Qm94
Q1RNID0gcGF0dGVybkVsZW1lbnQtPnZpZXdCb3hUb1ZpZXdUcmFuc2Zvcm0ocGF0dGVybkVsZW1l
bnQtPnZpZXdCb3goKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5FbGVtZW50LT5wcmVzZXJ2ZUFz
cGVjdFJhdGlvKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQm91bmRhcmllcy53aWR0aCgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkpOworCisgICAgRmxvYXRS
ZWN0IHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cgPSBjYWxjdWxhdGVQYXR0ZXJu
Qm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93KGF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9iamVjdEJvdW5kaW5nQm94LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94Q1RNLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXR0ZXJuQm91bmRhcmllcyk7CisKKyAgICBJbnRTaXplIGltYWdl
U2l6ZShscm91bmRmKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cud2lkdGgoKSks
IGxyb3VuZGYocGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy5oZWlnaHQoKSkpOwor
CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBiZSBhYmxlIHRvIGNsaXAgdGhpcyBtb3JlLCBuZWVk
cyBpbnZlc3RpZ2F0aW9uCisgICAgY2xhbXBJbWFnZUJ1ZmZlclNpemVUb1ZpZXdwb3J0KG9iamVj
dC0+ZG9jdW1lbnQoKS0+dmlldygpLCBpbWFnZVNpemUpOworCisgICAgLy8gRG9uJ3QgY3JlYXRl
IEltYWdlQnVmZmVycyB3aXRoIGltYWdlIHNpemUgb2YgMAorICAgIGlmIChpbWFnZVNpemUuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gdGls
ZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShpbWFnZVNpemUpOworCisgICAgR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0ID0gdGlsZUltYWdlLT5jb250ZXh0KCk7CisgICAgQVNTRVJUKGNvbnRl
eHQpOworCisgICAgY29udGV4dC0+c2F2ZSgpOworCisgICAgLy8gVHJhbnNsYXRlIHRvIHBhdHRl
cm4gc3RhcnQgb3JpZ2luCisgICAgaWYgKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZs
b3cubG9jYXRpb24oKSAhPSBwYXR0ZXJuQm91bmRhcmllcy5sb2NhdGlvbigpKSB7CisgICAgICAg
IGNvbnRleHQtPnRyYW5zbGF0ZShwYXR0ZXJuQm91bmRhcmllcy54KCkgLSBwYXR0ZXJuQm91bmRh
cmllc0luY2x1ZGluZ092ZXJmbG93LngoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh
dHRlcm5Cb3VuZGFyaWVzLnkoKSAtIHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cu
eSgpKTsKKworICAgICAgICBwYXR0ZXJuQm91bmRhcmllcy5zZXRMb2NhdGlvbihwYXR0ZXJuQm91
bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LmxvY2F0aW9uKCkpOworICAgIH0KKworICAgIC8vIFBy
b2Nlc3Mgdmlld0JveCBvciBib3VuZGluZ0JveE1vZGVDb250ZW50IGNvcnJlY3Rpb24KKyAgICBp
ZiAoIXZpZXdCb3hDVE0uaXNJZGVudGl0eSgpKQorICAgICAgICBjb250ZXh0LT5jb25jYXRDVE0o
dmlld0JveENUTSk7CisgICAgZWxzZSBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGVDb250
ZW50KCkpIHsKKyAgICAgICAgY29udGV4dC0+dHJhbnNsYXRlKG9iamVjdEJvdW5kaW5nQm94Lngo
KSwgb2JqZWN0Qm91bmRpbmdCb3gueSgpKTsKKyAgICAgICAgY29udGV4dC0+c2NhbGUoRmxvYXRT
aXplKG9iamVjdEJvdW5kaW5nQm94LndpZHRoKCksIG9iamVjdEJvdW5kaW5nQm94LmhlaWdodCgp
KSk7CisgICAgfQorCisgICAgLy8gUmVuZGVyIHN1YnRyZWUgaW50byBJbWFnZUJ1ZmZlcgorICAg
IGZvciAoTm9kZSogbm9kZSA9IGF0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRFbGVtZW50KCktPmZp
cnN0Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAg
aWYgKCFub2RlLT5pc1NWR0VsZW1lbnQoKSB8fCAhc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG5v
ZGUpLT5pc1N0eWxlZCgpIHx8ICFub2RlLT5yZW5kZXJlcigpKQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIHJlbmRlclN1YnRyZWVUb0ltYWdlKHRpbGVJbWFnZS5nZXQoKSwgbm9kZS0+
cmVuZGVyZXIoKSk7CisgICAgfQogCiAgICAgY29udGV4dC0+cmVzdG9yZSgpOworICAgIHJldHVy
biB0aWxlSW1hZ2UucmVsZWFzZSgpOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit2b2lk
IFJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6YnVpbGRQYXR0ZXJuKFBhdHRlcm5EYXRhKiBwYXR0
ZXJuRGF0YSwgY29uc3QgRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcywgUGFzc093blB0cjxJ
bWFnZUJ1ZmZlcj4gdGlsZUltYWdlKSBjb25zdAoreworICAgIGlmICghdGlsZUltYWdlLT5pbWFn
ZSgpKSB7CisgICAgICAgIHBhdHRlcm5EYXRhLT5wYXR0ZXJuID0gMDsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIEludFJlY3QgdGlsZVJlY3QgPSB0aWxlSW1hZ2UtPmltYWdlKCktPnJl
Y3QoKTsKKyAgICBpZiAodGlsZVJlY3Qud2lkdGgoKSA8PSBwYXR0ZXJuQm91bmRhcmllcy53aWR0
aCgpICYmIHRpbGVSZWN0LmhlaWdodCgpIDw9IHBhdHRlcm5Cb3VuZGFyaWVzLmhlaWdodCgpKSB7
CisgICAgICAgIHBhdHRlcm5EYXRhLT5wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGVJbWFn
ZS0+aW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAv
LyBEcmF3IHRoZSBmaXJzdCBjZWxsIG9mIHRoZSBwYXR0ZXJuIG1hbnVhbGx5IHRvIHN1cHBvcnQg
b3ZlcmZsb3c9InZpc2libGUiIG9uIGFsbCBwbGF0Zm9ybXMuCisgICAgaW50IHRpbGVXaWR0aCA9
IHN0YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJpZXMud2lkdGgoKSArIDAuNWYpOworICAg
IGludCB0aWxlSGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50PihwYXR0ZXJuQm91bmRhcmllcy5oZWln
aHQoKSArIDAuNWYpOworCisgICAgLy8gRG9uJ3QgY3JlYXRlIEltYWdlQnVmZmVycyB3aXRoIGlt
YWdlIHNpemUgb2YgMAorICAgIGlmICghdGlsZVdpZHRoIHx8ICF0aWxlSGVpZ2h0KSB7CisgICAg
ICAgIHBhdHRlcm5EYXRhLT5wYXR0ZXJuID0gMDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gbmV3VGlsZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0
ZShJbnRTaXplKHRpbGVXaWR0aCwgdGlsZUhlaWdodCkpOworICAgIEdyYXBoaWNzQ29udGV4dCog
bmV3VGlsZUltYWdlQ29udGV4dCA9IG5ld1RpbGVJbWFnZS0+Y29udGV4dCgpOworCisgICAgaW50
IG51bVkgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHRpbGVSZWN0LmhlaWdodCgpIC8gdGlsZUhl
aWdodCkpICsgMTsKKyAgICBpbnQgbnVtWCA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYodGlsZVJl
Y3Qud2lkdGgoKSAvIHRpbGVXaWR0aCkpICsgMTsKKworICAgIG5ld1RpbGVJbWFnZUNvbnRleHQt
PnNhdmUoKTsKKyAgICBuZXdUaWxlSW1hZ2VDb250ZXh0LT50cmFuc2xhdGUoLXBhdHRlcm5Cb3Vu
ZGFyaWVzLndpZHRoKCkgKiBudW1YLCAtcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkgKiBudW1Z
KTsKKyAgICBmb3IgKGludCBpID0gbnVtWTsgaSA+IDA7IC0taSkgeworICAgICAgICBuZXdUaWxl
SW1hZ2VDb250ZXh0LT50cmFuc2xhdGUoMCwgcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkpOwor
ICAgICAgICBmb3IgKGludCBqID0gbnVtWDsgaiA+IDA7IC0taikgeworICAgICAgICAgICAgbmV3
VGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzLndpZHRoKCksIDAp
OworICAgICAgICAgICAgbmV3VGlsZUltYWdlQ29udGV4dC0+ZHJhd0ltYWdlKHRpbGVJbWFnZS0+
aW1hZ2UoKSwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpLCB0aWxlUmVjdCwgdGlsZVJlY3QpOworICAg
ICAgICB9CisgICAgICAgIG5ld1RpbGVJbWFnZUNvbnRleHQtPnRyYW5zbGF0ZSgtcGF0dGVybkJv
dW5kYXJpZXMud2lkdGgoKSAqIG51bVgsIDApOworICAgIH0KKyAgICBuZXdUaWxlSW1hZ2VDb250
ZXh0LT5yZXN0b3JlKCk7CisKKyAgICBwYXR0ZXJuRGF0YS0+cGF0dGVybiA9IFBhdHRlcm46OmNy
ZWF0ZShuZXdUaWxlSW1hZ2UtPmltYWdlKCksIHRydWUsIHRydWUpOworfQorCit9CiAKICNlbmRp
ZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgJ
KHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQ
YXR0ZXJuLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsODUgKzEsNzQgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAog
ICovCiAKICNpZm5kZWYgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuX2gKICNkZWZpbmUgUmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuX2gKIAogI2lmIEVOQUJMRShTVkcpCi0KICNpbmNsdWRlICJBZmZp
bmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJJbWFnZUJ1
ZmZlci5oIgogI2luY2x1ZGUgIlBhdHRlcm4uaCIKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlci5o
IgotCi0jaW5jbHVkZSA8bWVtb3J5PgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyLmgiCisjaW5jbHVkZSAiU1ZHUGF0dGVybkVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdVbml0
VHlwZXMuaCIKIAorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgR3JhcGhpY3NDb250ZXh0OwotY2xhc3MgSW1hZ2VCdWZmZXI7Ci1jbGFzcyBTVkdQ
YXR0ZXJuRWxlbWVudDsKLQotY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuIDogcHVibGljIFNW
R1BhaW50U2VydmVyIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWludFNl
cnZlclBhdHRlcm4+IGNyZWF0ZShjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogb3duZXIpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZlclBhdHRlcm4ob3duZXIpKTsgfQotCi0gICAg
dmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKCk7CitzdHJ1Y3QgUGF0dGVybkRhdGEgewor
ICAgIFJlZlB0cjxQYXR0ZXJuPiBwYXR0ZXJuOworfTsKIAotICAgIHZpcnR1YWwgU1ZHUGFpbnRT
ZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBQYXR0ZXJuUGFpbnRTZXJ2ZXI7IH0KK3N0
cnVjdCBQYXR0ZXJuQXR0cmlidXRlczsKIAotICAgIC8vIFBhdHRlcm4gYm91bmRhcmllcwotICAg
IHZvaWQgc2V0UGF0dGVybkJvdW5kYXJpZXMoY29uc3QgRmxvYXRSZWN0Jik7Ci0gICAgRmxvYXRS
ZWN0IHBhdHRlcm5Cb3VuZGFyaWVzKCkgY29uc3Q7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZVBh
dHRlcm4gOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIgeworcHVibGljOgorICAg
IFJlbmRlclNWR1Jlc291cmNlUGF0dGVybihTVkdQYXR0ZXJuRWxlbWVudCopOworICAgIHZpcnR1
YWwgflJlbmRlclNWR1Jlc291cmNlUGF0dGVybigpOwogCi0gICAgSW1hZ2VCdWZmZXIqIHRpbGUo
KSBjb25zdDsKLSAgICB2b2lkIHNldFRpbGUoUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4pOworICAg
IHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJT
VkdSZXNvdXJjZVBhdHRlcm4iOyB9CiAKLSAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5z
Zm9ybSgpIGNvbnN0OwotICAgIHZvaWQgc2V0UGF0dGVyblRyYW5zZm9ybShjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudHMoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmplY3QqKTsKIAotICAgIHZpcnR1
YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7
CisgICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5
bGUqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3ND
b250ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCBGbG9h
dFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCB7IHJldHVy
biBGbG9hdFJlY3QoKTsgfQogCi0gICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4
dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFy
Z2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHRl
YXJkb3duKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRh
cmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0OworICAgIHZpcnR1YWwgUmVuZGVy
U1ZHUmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHNfcmVzb3VyY2VU
eXBlOyB9CisgICAgc3RhdGljIFJlbmRlclNWR1Jlc291cmNlVHlwZSBzX3Jlc291cmNlVHlwZTsK
IAogcHJpdmF0ZToKLSAgICBTVkdQYWludFNlcnZlclBhdHRlcm4oY29uc3QgU1ZHUGF0dGVybkVs
ZW1lbnQqKTsKLSAgICAKLSAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IG1fdGlsZTsKLSAgICBjb25z
dCBTVkdQYXR0ZXJuRWxlbWVudCogbV9vd25lckVsZW1lbnQ7Ci0gICAgQWZmaW5lVHJhbnNmb3Jt
IG1fcGF0dGVyblRyYW5zZm9ybTsKLSAgICBGbG9hdFJlY3QgbV9wYXR0ZXJuQm91bmRhcmllczsK
KyAgICBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBjcmVhdGVUaWxlSW1hZ2UoRmxvYXRSZWN0JiBw
YXR0ZXJuQm91bmRhcmllcywgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25z
dCBTVkdQYXR0ZXJuRWxlbWVudCosIFJlbmRlck9iamVjdCopIGNvbnN0OworICAgIHZvaWQgYnVp
bGRQYXR0ZXJuKFBhdHRlcm5EYXRhKiwgY29uc3QgRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmll
cywgUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gdGlsZUltYWdlKSBjb25zdDsKKyAgICBGbG9hdFJl
Y3QgY2FsY3VsYXRlUGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdyhQYXR0ZXJuQXR0
cmlidXRlcyYsIGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbmdCb3gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQWZm
aW5lVHJhbnNmb3JtJiB2aWV3Qm94Q1RNLCBjb25zdCBGbG9hdFJlY3QmIHBhdHRlcm5Cb3VuZGFy
aWVzKSBjb25zdDsKIAotICAgIG11dGFibGUgUmVmUHRyPFBhdHRlcm4+IG1fcGF0dGVybjsKKyAg
ICBIYXNoTWFwPFJlbmRlck9iamVjdCosIFBhdHRlcm5EYXRhKj4gbV9wYXR0ZXJuOwogfTsKIAot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfQogCiAjZW5kaWYKLQotI2VuZGlmIC8vIFJlbmRlclNW
R1Jlc291cmNlUGF0dGVybl9oCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuY3BwCShyZXZpc2lvbiA1ODE1
OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI2ICsxLDIyIEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJp
Z2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0yOCw2MSArMjQsNDggQEAKICNpZiBFTkFCTEUoU1ZH
KQogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaCIKIAotI2luY2x1
ZGUgIlNWR1JlbmRlclRyZWVBc1RleHQuaCIKKyNpbmNsdWRlICJSYWRpYWxHcmFkaWVudEF0dHJp
YnV0ZXMuaCIKKyNpbmNsdWRlICJTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpTVkdQYWludFNl
cnZlclJhZGlhbEdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpCi0gICAg
OiBTVkdQYWludFNlcnZlckdyYWRpZW50KG93bmVyKQotICAgICwgbV9yYWRpdXMoMC4wZikKLXsK
LX0KK1JlbmRlclNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50
OjpzX3Jlc291cmNlVHlwZSA9IFJhZGlhbEdyYWRpZW50UmVzb3VyY2VUeXBlOwogCi1TVkdQYWlu
dFNlcnZlclJhZGlhbEdyYWRpZW50Ojp+U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCgpCitS
ZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50OjpSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdy
YWRpZW50KFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jl
c291cmNlR3JhZGllbnQobm9kZSkKIHsKIH0KIAotCi1GbG9hdFBvaW50IFNWR1BhaW50U2VydmVy
UmFkaWFsR3JhZGllbnQ6OmdyYWRpZW50Q2VudGVyKCkgY29uc3QKK1JlbmRlclNWR1Jlc291cmNl
UmFkaWFsR3JhZGllbnQ6On5SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50KCkKIHsKLSAg
ICByZXR1cm4gbV9jZW50ZXI7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVu
dDo6c2V0R3JhZGllbnRDZW50ZXIoY29uc3QgRmxvYXRQb2ludCYgY2VudGVyKQordm9pZCBSZW5k
ZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50OjpidWlsZEdyYWRpZW50KEdyYWRpZW50RGF0YSog
Z3JhZGllbnREYXRhLCBTVkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50RWxlbWVudCkgY29uc3QK
IHsKLSAgICBtX2NlbnRlciA9IGNlbnRlcjsKLX0KKyAgICBTVkdSYWRpYWxHcmFkaWVudEVsZW1l
bnQqIHJhZGlhbEdyYWRpZW50RWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1JhZGlhbEdyYWRpZW50
RWxlbWVudCo+KGdyYWRpZW50RWxlbWVudCk7CisgICAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVz
IGF0dHJpYnV0ZXMgPSByYWRpYWxHcmFkaWVudEVsZW1lbnQtPmNvbGxlY3RHcmFkaWVudFByb3Bl
cnRpZXMoKTsKIAotRmxvYXRQb2ludCBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpncmFk
aWVudEZvY2FsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9mb2NhbDsKLX0KKyAgICAvLyBEZXRl
cm1pbmUgZ3JhZGllbnQgZm9jYWwvY2VudGVyIHBvaW50cyBhbmQgcmFkaXVzCisgICAgRmxvYXRQ
b2ludCBmb2NhbFBvaW50OworICAgIEZsb2F0UG9pbnQgY2VudGVyUG9pbnQ7CisgICAgZmxvYXQg
cmFkaXVzOworICAgIHJhZGlhbEdyYWRpZW50RWxlbWVudC0+Y2FsY3VsYXRlRm9jYWxDZW50ZXJQ
b2ludHNBbmRSYWRpdXMoYXR0cmlidXRlcywgZm9jYWxQb2ludCwgY2VudGVyUG9pbnQsIHJhZGl1
cyk7CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6c2V0R3JhZGllbnRGb2Nh
bChjb25zdCBGbG9hdFBvaW50JiBmb2NhbCkKLXsKLSAgICBtX2ZvY2FsID0gZm9jYWw7Ci19Cisg
ICAgZ3JhZGllbnREYXRhLT5ncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoZm9jYWxQb2ludCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjBmLCAvLyBT
VkcgZG9lcyBub3Qgc3VwcG9ydCBhICJmb2N1cyByYWRpdXMiCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyUG9pbnQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaXVzKTsKIAotZmxvYXQgU1ZHUGFpbnRT
ZXJ2ZXJSYWRpYWxHcmFkaWVudDo6Z3JhZGllbnRSYWRpdXMoKSBjb25zdAotewotICAgIHJldHVy
biBtX3JhZGl1czsKLX0KKyAgICBncmFkaWVudERhdGEtPmdyYWRpZW50LT5zZXRTcHJlYWRNZXRo
b2QoYXR0cmlidXRlcy5zcHJlYWRNZXRob2QoKSk7CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRp
YWxHcmFkaWVudDo6c2V0R3JhZGllbnRSYWRpdXMoZmxvYXQgcmFkaXVzKQotewotICAgIG1fcmFk
aXVzID0gcmFkaXVzOwotfQorICAgIC8vIFJlY29yZCBjdXJyZW50IGdyYWRpZW50IHRyYW5zZm9y
bQorICAgIGdyYWRpZW50RGF0YS0+dHJhbnNmb3JtID0gYXR0cmlidXRlcy5ncmFkaWVudFRyYW5z
Zm9ybSgpOworICAgIGdyYWRpZW50RGF0YS0+Ym91bmRpbmdCb3hNb2RlID0gYXR0cmlidXRlcy5i
b3VuZGluZ0JveE1vZGUoKTsKIAotVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFk
aWVudDo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKLXsKLSAg
ICB0cyA8PCAiW3R5cGU9UkFESUFMLUdSQURJRU5UXSAiOwotICAgIFNWR1BhaW50U2VydmVyR3Jh
ZGllbnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24odHMpOwotICAgIHRzIDw8ICIgW2NlbnRlcj0i
IDw8IGdyYWRpZW50Q2VudGVyKCkgPDwgIl0iCi0gICAgICAgIDw8ICIgW2ZvY2FsPSIgPDwgZ3Jh
ZGllbnRGb2NhbCgpIDw8ICJdIgotICAgICAgICA8PCAiIFtyYWRpdXM9IiA8PCBncmFkaWVudFJh
ZGl1cygpIDw8ICJdIjsKLSAgICByZXR1cm4gdHM7CisgICAgLy8gQWRkIHN0b3BzCisgICAgYWRk
U3RvcHMoZ3JhZGllbnREYXRhLCBhdHRyaWJ1dGVzLnN0b3BzKCkpOwogfQogCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCit9CiAKICNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaAkocmV2aXNpb24gNTgxNTkpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTEsNjYgKzEsNDggQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYg
Tmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMp
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKICNpZm5k
ZWYgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudF9oCiAjZGVmaW5lIFJlbmRlclNWR1Jl
c291cmNlUmFkaWFsR3JhZGllbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUgIkZs
b2F0UG9pbnQuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCA6
IHB1YmxpYyBTVkdQYWludFNlcnZlckdyYWRpZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50PiBjcmVhdGUoY29uc3QgU1ZHR3Jh
ZGllbnRFbGVtZW50KiBvd25lcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhaW50U2VydmVy
UmFkaWFsR3JhZGllbnQob3duZXIpKTsgfQotICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyUmFk
aWFsR3JhZGllbnQoKTsKLQotICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBj
b25zdCB7IHJldHVybiBSYWRpYWxHcmFkaWVudFBhaW50U2VydmVyOyB9CitjbGFzcyBTVkdSYWRp
YWxHcmFkaWVudEVsZW1lbnQ7CiAKLSAgICBGbG9hdFBvaW50IGdyYWRpZW50Q2VudGVyKCkgY29u
c3Q7Ci0gICAgdm9pZCBzZXRHcmFkaWVudENlbnRlcihjb25zdCBGbG9hdFBvaW50Jik7Ci0KLSAg
ICBGbG9hdFBvaW50IGdyYWRpZW50Rm9jYWwoKSBjb25zdDsKLSAgICB2b2lkIHNldEdyYWRpZW50
Rm9jYWwoY29uc3QgRmxvYXRQb2ludCYpOwotCi0gICAgZmxvYXQgZ3JhZGllbnRSYWRpdXMoKSBj
b25zdDsKLSAgICB2b2lkIHNldEdyYWRpZW50UmFkaXVzKGZsb2F0KTsKK2NsYXNzIFJlbmRlclNW
R1Jlc291cmNlUmFkaWFsR3JhZGllbnQgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVu
dCB7CitwdWJsaWM6CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudChTVkdSYWRp
YWxHcmFkaWVudEVsZW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZVJhZGlh
bEdyYWRpZW50KCk7CiAKLSAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50
YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OworICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVy
TmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Ijsg
fQogCi1wcml2YXRlOgotICAgIFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQoY29uc3QgU1ZH
R3JhZGllbnRFbGVtZW50KiBvd25lcik7CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5
cGUgcmVzb3VyY2VUeXBlKCkgY29uc3QgeyByZXR1cm4gc19yZXNvdXJjZVR5cGU7IH0KKyAgICBz
dGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIHNfcmVzb3VyY2VUeXBlOwogCi0gICAgZmxvYXQg
bV9yYWRpdXM7Ci0gICAgRmxvYXRQb2ludCBtX2NlbnRlcjsKLSAgICBGbG9hdFBvaW50IG1fZm9j
YWw7CisgICAgdmlydHVhbCB2b2lkIGJ1aWxkR3JhZGllbnQoR3JhZGllbnREYXRhKiwgU1ZHR3Jh
ZGllbnRFbGVtZW50KikgY29uc3Q7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9CiAK
ICNlbmRpZgotCi0jZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudF9oCisj
ZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xv
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VT
b2xpZENvbG9yLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI3ICsxLDIx
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVy
bWFubkBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3
ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAy
MDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0zMCw2NCArMjQs
ODAgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCIKIAogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIlJlbmRlclBhdGguaCIKLSNpbmNsdWRl
ICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9ydC5oIgog
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYgUExBVEZPUk0oU0tJQSkKKyNpbmNsdWRlICJQbGF0
Zm9ybUNvbnRleHRTa2lhLmgiCisjZW5kaWYKIAotU1ZHUGFpbnRTZXJ2ZXJTb2xpZDo6U1ZHUGFp
bnRTZXJ2ZXJTb2xpZCgpCi17Ci19CituYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1BhaW50U2Vy
dmVyU29saWQ6On5TVkdQYWludFNlcnZlclNvbGlkKCkKLXsKLX0KK1JlbmRlclNWR1Jlc291cmNl
VHlwZSBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnNfcmVzb3VyY2VUeXBlID0gU29saWRD
b2xvclJlc291cmNlVHlwZTsKIAotQ29sb3IgU1ZHUGFpbnRTZXJ2ZXJTb2xpZDo6Y29sb3IoKSBj
b25zdAorUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlk
Q29sb3IoKQogewotICAgIHJldHVybiBtX2NvbG9yOwogfQogCi12b2lkIFNWR1BhaW50U2VydmVy
U29saWQ6OnNldENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKK1JlbmRlclNWR1Jlc291cmNlU29s
aWRDb2xvcjo6flJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcigpCiB7Ci0gICAgbV9jb2xvciA9
IGNvbG9yOwogfQogCi1UZXh0U3RyZWFtJiBTVkdQYWludFNlcnZlclNvbGlkOjpleHRlcm5hbFJl
cHJlc2VudGF0aW9uKFRleHRTdHJlYW0mIHRzKSBjb25zdAorYm9vbCBSZW5kZXJTVkdSZXNvdXJj
ZVNvbGlkQ29sb3I6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRlclN0
eWxlKiBzdHlsZSwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVz
b3VyY2VNb2RlKQogewotICAgIHRzIDw8ICJbdHlwZT1TT0xJRF0iCi0gICAgICAgIDw8ICIgW2Nv
bG9yPSI8PCBjb2xvcigpIDw8ICJdIjsKLSAgICByZXR1cm4gdHM7Ci19CisgICAgLy8gV2UgYXJl
IE5PVCBhbGxvd2VkIHRvIEFTU0VSVChvYmplY3QpIGhlcmUsIHVubGlrZSBhbGwgb3RoZXIgcmVz
b3VyY2VzLgorICAgIC8vIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciBpcyB0aGUgb25seSBy
ZXNvdXJjZSB3aGljaCBtYXkgYmUgdXNlZCBmcm9tIEhUTUwsIHdoZW4gcmVuZGVyaW5nCisgICAg
Ly8gU1ZHIEZvbnRzIGZvciBhIEhUTUwgZG9jdW1lbnQuIFRoaXMgd2lsbCBiZSBpbmRpY2F0ZWQg
YnkgYSBudWxsIFJlbmRlck9iamVjdCBwb2ludGVyLgorICAgIEFTU0VSVChjb250ZXh0KTsKKyAg
ICBBU1NFUlQocmVzb3VyY2VNb2RlICE9IEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAKLWJvb2wgU1ZH
UGFpbnRTZXJ2ZXJTb2xpZDo6c2V0dXAoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3Qg
UmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgU1ZHUGFpbnRU
YXJnZXRUeXBlIHR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0Ci17CiAgICAgY29uc3Qg
U1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUgPyBzdHlsZS0+c3ZnU3R5bGUoKSA6IDA7
CiAgICAgQ29sb3JTcGFjZSBjb2xvclNwYWNlID0gc3R5bGUgPyBzdHlsZS0+Y29sb3JTcGFjZSgp
IDogRGV2aWNlQ29sb3JTcGFjZTsKIAotICAgIGlmICgodHlwZSAmIEFwcGx5VG9GaWxsVGFyZ2V0
VHlwZSkgJiYgKCFzdHlsZSB8fCBzdmdTdHlsZS0+aGFzRmlsbCgpKSkgewotICAgICAgICBjb250
ZXh0LT5zZXRBbHBoYShzdHlsZSA/IHN2Z1N0eWxlLT5maWxsT3BhY2l0eSgpIDogMSk7Ci0gICAg
ICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihjb2xvcigpLnJnYigpLCBjb2xvclNwYWNlKTsKLSAg
ICAgICAgY29udGV4dC0+c2V0RmlsbFJ1bGUoc3R5bGUgPyBzdmdTdHlsZS0+ZmlsbFJ1bGUoKSA6
IFJVTEVfTk9OWkVSTyk7CisgICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9GaWxsTW9kZSkg
eworICAgICAgICBjb250ZXh0LT5zZXRBbHBoYShzdmdTdHlsZSA/IHN2Z1N0eWxlLT5maWxsT3Bh
Y2l0eSgpIDogMS4wZik7CisgICAgICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihtX2NvbG9yLCBj
b2xvclNwYWNlKTsKKyAgICAgICAgY29udGV4dC0+c2V0RmlsbFJ1bGUoc3ZnU3R5bGUgPyBzdmdT
dHlsZS0+ZmlsbFJ1bGUoKSA6IFJVTEVfTk9OWkVSTyk7CiAKLSAgICAgICAgaWYgKGlzUGFpbnRp
bmdUZXh0KQorICAgICAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlKQogICAg
ICAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKGNUZXh0RmlsbCk7Ci0gICAgfQot
Ci0gICAgaWYgKCh0eXBlICYgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUpICYmICghc3R5bGUgfHwg
c3ZnU3R5bGUtPmhhc1N0cm9rZSgpKSkgewotICAgICAgICBjb250ZXh0LT5zZXRBbHBoYShzdHls
ZSA/IHN2Z1N0eWxlLT5zdHJva2VPcGFjaXR5KCkgOiAxKTsKLSAgICAgICAgY29udGV4dC0+c2V0
U3Ryb2tlQ29sb3IoY29sb3IoKS5yZ2IoKSwgY29sb3JTcGFjZSk7CisgICAgfSBlbHNlIGlmIChy
ZXNvdXJjZU1vZGUgJiBBcHBseVRvU3Ryb2tlTW9kZSkgeworICAgICAgICBjb250ZXh0LT5zZXRB
bHBoYShzdmdTdHlsZSA/IHN2Z1N0eWxlLT5zdHJva2VPcGFjaXR5KCkgOiAxLjBmKTsKKyAgICAg
ICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3IobV9jb2xvciwgY29sb3JTcGFjZSk7CiAKICAgICAg
ICAgaWYgKHN0eWxlKQogICAgICAgICAgICAgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChjb250
ZXh0LCBzdHlsZSwgb2JqZWN0KTsKIAotICAgICAgICBpZiAoaXNQYWludGluZ1RleHQpCisgICAg
ICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1vZGUpCiAgICAgICAgICAgICBjb250
ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUoY1RleHRTdHJva2UpOwogICAgIH0KIAogICAgIHJldHVy
biB0cnVlOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit2b2lkIFJlbmRlclNWR1Jlc291
cmNlU29saWRDb2xvcjo6cG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3ND
b250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKQoreworICAgIEFT
U0VSVChjb250ZXh0KTsKKyAgICBBU1NFUlQocmVzb3VyY2VNb2RlICE9IEFwcGx5VG9EZWZhdWx0
TW9kZSk7CisKKyAgICBpZiAoIShyZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1vZGUpKSB7Cisg
ICAgICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpCisgICAgICAgICAgICBj
b250ZXh0LT5maWxsUGF0aCgpOworICAgICAgICBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBs
eVRvU3Ryb2tlTW9kZSkKKyAgICAgICAgICAgIGNvbnRleHQtPnN0cm9rZVBhdGgoKTsKKyAgICB9
CisKKyNpZiBQTEFURk9STShTS0lBKQorICAgIC8vIEZJWE1FOiBNb3ZlIHRoaXMgaW50byB0aGUg
R3JhcGhpY3NDb250ZXh0CisgICAgLy8gV2ViS2l0IGltcGxpY2l0bHkgZXhwZWN0cyB1cyB0byBy
ZXNldCB0aGUgcGF0aC4KKyAgICAvLyBGb3IgZXhhbXBsZSBpbiBmaWxsQW5kU3Ryb2tlUGF0aCgp
IG9mIFJlbmRlclBhdGguY3BwIHRoZSBwYXRoIGlzIAorICAgIC8vIGFkZGVkIGJhY2sgdG8gdGhl
IGNvbnRleHQgYWZ0ZXIgZmlsbGluZy4gVGhpcyBpcyBiZWNhdXNlIGludGVybmFsbHkgaXQKKyAg
ICAvLyBjYWxscyBDR0NvbnRleHRGaWxsUGF0aCgpIHdoaWNoIGNsb3NlcyB0aGUgcGF0aC4KKyAg
ICBjb250ZXh0LT5iZWdpblBhdGgoKTsKKyAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+
c2V0RmlsbFNoYWRlcigwKTsKKyAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+c2V0U3Ry
b2tlU2hhZGVyKDApOworI2VuZGlmCit9CisKK30KIAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaAkocmV2aXNpb24gNTgx
NTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw2MCArMSw1NiBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
NiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAo
QykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAogI2lm
bmRlZiBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3JfaAogI2RlZmluZSBSZW5kZXJTVkdSZXNv
dXJjZVNvbGlkQ29sb3JfaAogCiAjaWYgRU5BQkxFKFNWRykKLQogI2luY2x1ZGUgIkNvbG9yLmgi
Ci0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR1BhaW50U2VydmVyU29saWQgOiBwdWJsaWMgU1ZHUGFpbnRTZXJ2ZXIgeworY2xhc3Mg
UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlIHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWludFNlcnZlclNvbGlkPiBjcmVh
dGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCk7IH0KLSAgICB2
aXJ0dWFsIH5TVkdQYWludFNlcnZlclNvbGlkKCk7CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yKCk7CisgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKCk7CiAK
LSAgICB2aXJ0dWFsIFNWR1BhaW50U2VydmVyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gU29s
aWRQYWludFNlcnZlcjsgfQorICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50cygpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50KFJlbmRlck9iamVjdCopIHsgfQog
Ci0gICAgQ29sb3IgY29sb3IoKSBjb25zdDsKLSAgICB2b2lkIHNldENvbG9yKGNvbnN0IENvbG9y
Jik7CisgICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVy
U3R5bGUqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsK
KyAgICB2aXJ0dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhp
Y3NDb250ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCBG
bG9hdFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCB7IHJl
dHVybiBGbG9hdFJlY3QoKTsgfQogCi0gICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJl
cHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKKyAgICB2aXJ0dWFsIFJlbmRlclNWR1Jl
c291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25zdCB7IHJldHVybiBzX3Jlc291cmNlVHlwZTsg
fQorICAgIHN0YXRpYyBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgc19yZXNvdXJjZVR5cGU7CiAKLSAg
ICB2aXJ0dWFsIGJvb2wgc2V0dXAoR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVj
dCosIGNvbnN0IFJlbmRlclN0eWxlKiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sIGlzUGFpbnRp
bmdUZXh0KSBjb25zdDsKKyAgICBjb25zdCBDb2xvciYgY29sb3IoKSBjb25zdCB7IHJldHVybiBt
X2NvbG9yOyB9CisgICAgdm9pZCBzZXRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpIHsgbV9jb2xv
ciA9IGNvbG9yOyB9CiAKIHByaXZhdGU6Ci0gICAgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCgpOwotCiAg
ICAgQ29sb3IgbV9jb2xvcjsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30KIAogI2Vu
ZGlmCi0KLSNlbmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3JfaAorI2VuZGlmCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYw
LDcgKzE2MCwxMCBAQCB2b2lkIFJlbmRlclNWR1RleHQ6OmFic29sdXRlUXVhZHMoVmVjdG9yCiB9
CiAKIHZvaWQgUmVuZGVyU1ZHVGV4dDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCwg
aW50KQoteyAgIAoreworICAgIGlmIChwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxl
ZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBQYWludEluZm8gcGkocGFpbnRJbmZvKTsKICAg
ICBwaS5jb250ZXh0LT5zYXZlKCk7CiAgICAgYXBwbHlUcmFuc2Zvcm1Ub1BhaW50SW5mbyhwaSwg
bG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRyZWVBc1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRy
ZWVBc1RleHQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRyZWVBc1RleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw3IEBACiAjaWYgRU5B
QkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJQYXRoLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHQ29u
dGFpbmVyLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgiCiAjaW5jbHVkZSAi
UmVuZGVyU1ZHSW1hZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdJbmxpbmVUZXh0LmgiCiAjaW5j
bHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgpAQCAtMzk2LDggKzM5NywxMiBAQCB2b2lkIHdyaXRlKFRl
eHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJPCiAgICAgICAgIHdyaXRlKHRzLCAqdG9SZW5kZXJQ
YXRoKCZvKSwgaW5kZW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpZiAoby5pc1NW
R1Jlc291cmNlKCkpIHsKLSAgICAgICAgd3JpdGVTVkdSZXNvdXJjZSh0cywgbywgaW5kZW50KTsK
KyAgICBpZiAoby5pc1NWR0dyYWRpZW50U3RvcCgpKSB7CisgICAgICAgIHdyaXRlU1ZHR3JhZGll
bnRTdG9wKHRzLCAqdG9SZW5kZXJTVkdHcmFkaWVudFN0b3AoJm8pLCBpbmRlbnQpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIGlmIChvLmlzU1ZHUmVzb3VyY2VDb250YWluZXIoKSkgewor
ICAgICAgICB3cml0ZVNWR1Jlc291cmNlQ29udGFpbmVyKHRzLCBvLCBpbmRlbnQpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogICAgIGlmIChvLmlzU1ZHQ29udGFpbmVyKCkpIHsKQEAgLTYxOSw5
ICs2MjQsNiBAQCBTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihGcmFtZSogZnJhCiAgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKIAogICAgIFRleHRTdHJlYW0gdHM7Ci0jaWYgRU5BQkxFKFNW
RykKLSAgICB3cml0ZVJlbmRlclJlc291cmNlcyh0cywgby0+ZG9jdW1lbnQoKSk7Ci0jZW5kaWYK
ICAgICBpZiAoby0+aGFzTGF5ZXIoKSkgewogICAgICAgICBSZW5kZXJMYXllciogbCA9IHRvUmVu
ZGVyQm94KG8pLT5sYXllcigpOwogICAgICAgICB3cml0ZUxheWVycyh0cywgbCwgbCwgSW50UmVj
dChsLT54KCksIGwtPnkoKSwgbC0+d2lkdGgoKSwgbC0+aGVpZ2h0KCkpLCAwLCBiZWhhdmlvcik7
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNTgx
NTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2lu
Y2x1ZGUgIklubGluZUZsb3dCb3guaCIKICNpbmNsdWRlICJSYW5nZS5oIgotI2luY2x1ZGUgIlNW
R1BhaW50U2VydmVyLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKICNpbmNsdWRl
ICJTVkdSb290SW5saW5lQm94LmgiCiAjaW5jbHVkZSAiVGV4dC5oIgogCkBAIC00MTgsMTAgKzQx
OCw5IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnRDaGFyYWN0ZXJzKFIKICAgICAgICAg
VGV4dFJ1biBydW4gPSBzdmdUZXh0UnVuRm9ySW5saW5lVGV4dEJveChjaGFycywgbGVuZ3RoLCBz
dHlsZVRvVXNlLCB0aGlzLCBzdmdDaGFyLngpOwogCiAjaWYgRU5BQkxFKFNWR19GT05UUykKLSAg
ICAgICAgLy8gU1ZHIEZvbnRzIG5lZWQgYWNjZXNzIHRvIHRoZSBwYWludCBzZXJ2ZXIgdXNlZCB0
byBkcmF3IHRoZSBjdXJyZW50IHRleHQgY2h1bmsuCi0gICAgICAgIC8vIFRoZXkgbmVlZCB0byBi
ZSBhYmxlIHRvIGNhbGwgcmVuZGVyUGF0aCgpIG9uIGEgU1ZHUGFpbnRTZXJ2ZXIgb2JqZWN0Lgot
ICAgICAgICBBU1NFUlQodGV4dFBhaW50SW5mby5hY3RpdmVQYWludFNlcnZlcik7Ci0gICAgICAg
IHJ1bi5zZXRBY3RpdmVQYWludFNlcnZlcih0ZXh0UGFpbnRJbmZvLmFjdGl2ZVBhaW50U2VydmVy
KTsKKyAgICAgICAgLy8gU1ZHIEZvbnRzIG5lZWQgYWNjZXNzIHRvIHRoZSBwYWludGluZyByZXNv
dXJjZSB1c2VkIHRvIGRyYXcgdGhlIGN1cnJlbnQgdGV4dCBjaHVuay4KKyAgICAgICAgQVNTRVJU
KHRleHRQYWludEluZm8uYWN0aXZlUGFpbnRpbmdSZXNvdXJjZSk7CisgICAgICAgIHJ1bi5zZXRB
Y3RpdmVQYWludGluZ1Jlc291cmNlKHRleHRQYWludEluZm8uYWN0aXZlUGFpbnRpbmdSZXNvdXJj
ZSk7CiAjZW5kaWYKIAogICAgICAgICBpbnQgc2VsZWN0aW9uU3RhcnQgPSAwOwpAQCAtNTY5LDE4
ICs1NjgsMjAgQEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oRQogCiAg
ICAgaWYgKGlzRmlsbGVkKSB7CiAgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIGZpbGxPYmplY3Qg
PSBpbmZvLmZpbGxTZXJ2ZXJNYXAuZ2V0KGRlY29yYXRpb24pKSB7Ci0gICAgICAgICAgICBpZiAo
U1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpmaWxsUGFp
bnRTZXJ2ZXIoZmlsbE9iamVjdC0+c3R5bGUoKSwgZmlsbE9iamVjdCkpIHsKKyAgICAgICAgICAg
IGlmIChSZW5kZXJTVkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdS
ZXNvdXJjZTo6ZmlsbFBhaW50aW5nUmVzb3VyY2UoZmlsbE9iamVjdCwgZmlsbE9iamVjdC0+c3R5
bGUoKSkpIHsKICAgICAgICAgICAgICAgICBjb250ZXh0LT5hZGRQYXRoKHBhdGhGb3JEZWNvcmF0
aW9uKGRlY29yYXRpb24sIGZpbGxPYmplY3QsIHR4LCB0eSwgd2lkdGgpKTsKLSAgICAgICAgICAg
ICAgICBmaWxsUGFpbnRTZXJ2ZXItPmRyYXcoY29udGV4dCwgZmlsbE9iamVjdCwgQXBwbHlUb0Zp
bGxUYXJnZXRUeXBlKTsKKyAgICAgICAgICAgICAgICBpZiAoZmlsbFBhaW50aW5nUmVzb3VyY2Ut
PmFwcGx5UmVzb3VyY2UoZmlsbE9iamVjdCwgZmlsbE9iamVjdC0+c3R5bGUoKSwgY29udGV4dCwg
QXBwbHlUb0ZpbGxNb2RlKSkKKyAgICAgICAgICAgICAgICAgICAgZmlsbFBhaW50aW5nUmVzb3Vy
Y2UtPnBvc3RBcHBseVJlc291cmNlKGZpbGxPYmplY3QsIGNvbnRleHQsIEFwcGx5VG9GaWxsTW9k
ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoaXNTdHJva2Vk
KSB7CiAgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIHN0cm9rZU9iamVjdCA9IGluZm8uc3Ryb2tl
U2VydmVyTWFwLmdldChkZWNvcmF0aW9uKSkgewotICAgICAgICAgICAgaWYgKFNWR1BhaW50U2Vy
dmVyKiBzdHJva2VQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpzdHJva2VQYWludFNlcnZl
cihzdHJva2VPYmplY3QtPnN0eWxlKCksIHN0cm9rZU9iamVjdCkpIHsKKyAgICAgICAgICAgIGlm
IChSZW5kZXJTVkdSZXNvdXJjZSogc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jl
c291cmNlOjpzdHJva2VQYWludGluZ1Jlc291cmNlKHN0cm9rZU9iamVjdCwgc3Ryb2tlT2JqZWN0
LT5zdHlsZSgpKSkgewogICAgICAgICAgICAgICAgIGNvbnRleHQtPmFkZFBhdGgocGF0aEZvckRl
Y29yYXRpb24oZGVjb3JhdGlvbiwgc3Ryb2tlT2JqZWN0LCB0eCwgdHksIHdpZHRoKSk7Ci0gICAg
ICAgICAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXItPmRyYXcoY29udGV4dCwgc3Ryb2tlT2JqZWN0
LCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSk7CisgICAgICAgICAgICAgICAgaWYgKHN0cm9rZVBh
aW50aW5nUmVzb3VyY2UtPmFwcGx5UmVzb3VyY2Uoc3Ryb2tlT2JqZWN0LCBzdHJva2VPYmplY3Qt
PnN0eWxlKCksIGNvbnRleHQsIEFwcGx5VG9TdHJva2VNb2RlKSkKKyAgICAgICAgICAgICAgICAg
ICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZS0+cG9zdEFwcGx5UmVzb3VyY2Uoc3Ryb2tlT2JqZWN0
LCBjb250ZXh0LCBBcHBseVRvU3Ryb2tlTW9kZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiA1
ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guaAkod29ya2luZyBj
b3B5KQpAQCAtMjQsNiArMjQsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJJbmxp
bmVUZXh0Qm94LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC00Miw5ICs0MywxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
fTsKIAogICAgIHN0cnVjdCBTVkdUZXh0UGFpbnRJbmZvIHsKLSAgICAgICAgU1ZHVGV4dFBhaW50
SW5mbygpIDogYWN0aXZlUGFpbnRTZXJ2ZXIoMCksIHN1YnBoYXNlKFNWR1RleHRQYWludFN1YnBo
YXNlQmFja2dyb3VuZCkge30KKyAgICAgICAgU1ZHVGV4dFBhaW50SW5mbygpCisgICAgICAgICAg
ICA6IGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoMCkKKyAgICAgICAgICAgICwgc3VicGhhc2UoU1ZH
VGV4dFBhaW50U3VicGhhc2VCYWNrZ3JvdW5kKQorICAgICAgICB7CisgICAgICAgIH0KIAotICAg
ICAgICBTVkdQYWludFNlcnZlciogYWN0aXZlUGFpbnRTZXJ2ZXI7CisgICAgICAgIFJlbmRlclNW
R1Jlc291cmNlKiBhY3RpdmVQYWludGluZ1Jlc291cmNlOwogICAgICAgICBTVkdUZXh0UGFpbnRT
dWJwaGFzZSBzdWJwaGFzZTsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZW5kZXJTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5k
ZXJTdXBwb3J0LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZW5kZXJTdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIsNyArOTIsNyBAQCBib29sIFNW
R1JlbmRlckJhc2U6OnByZXBhcmVUb1JlbmRlclNWR0NvCiAgICAgQVNTRVJUKHN2Z0VsZW1lbnQg
JiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKSAmJiBzdmdFbGVtZW50LT5pc1N0eWxlZCgpKTsKIAog
ICAgIFNWR1N0eWxlZEVsZW1lbnQqIHN0eWxlZEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdTdHls
ZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCk7Ci0gICAgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlID0g
b2JqZWN0LT5zdHlsZSgpOworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IG9iamVjdC0+c3R5bGUo
KTsKICAgICBBU1NFUlQoc3R5bGUpOwogCiAgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0
eWxlID0gc3R5bGUtPnN2Z1N0eWxlKCk7CkBAIC0xMzIsMTkgKzEzMiwxOSBAQCBib29sIFNWR1Jl
bmRlckJhc2U6OnByZXBhcmVUb1JlbmRlclNWR0NvCiAjZW5kaWYKIAogICAgIGlmIChSZW5kZXJT
VkdSZXNvdXJjZU1hc2tlciogbWFza2VyID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRl
clNWR1Jlc291cmNlTWFza2VyPihkb2N1bWVudCwgbWFza2VySWQpKSB7Ci0gICAgICAgIGlmICgh
bWFza2VyLT5hcHBseVJlc291cmNlKG9iamVjdCwgcGFpbnRJbmZvLmNvbnRleHQpKQorICAgICAg
ICBpZiAoIW1hc2tlci0+YXBwbHlSZXNvdXJjZShvYmplY3QsIHN0eWxlLCBwYWludEluZm8uY29u
dGV4dCwgQXBwbHlUb0RlZmF1bHRNb2RlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9IGVsc2UgaWYgKCFtYXNrZXJJZC5pc0VtcHR5KCkpCiAgICAgICAgIHN2Z0VsZW1lbnQtPmRv
Y3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKG1hc2tl
cklkLCBzdHlsZWRFbGVtZW50KTsKIAogICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIq
IGNsaXBwZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyPihkb2N1bWVudCwgY2xpcHBlcklkKSkKLSAgICAgICAgY2xpcHBlci0+YXBwbHlSZXNvdXJj
ZShvYmplY3QsIHBhaW50SW5mby5jb250ZXh0KTsKKyAgICAgICAgY2xpcHBlci0+YXBwbHlSZXNv
dXJjZShvYmplY3QsIHN0eWxlLCBwYWludEluZm8uY29udGV4dCwgQXBwbHlUb0RlZmF1bHRNb2Rl
KTsKICAgICBlbHNlIGlmICghY2xpcHBlcklkLmlzRW1wdHkoKSkKICAgICAgICAgc3ZnRWxlbWVu
dC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2Uo
Y2xpcHBlcklkLCBzdHlsZWRFbGVtZW50KTsKIAogI2lmIEVOQUJMRShGSUxURVJTKQogICAgIGlm
IChmaWx0ZXIpIHsKLSAgICAgICAgaWYgKCFmaWx0ZXItPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBw
YWludEluZm8uY29udGV4dCkpCisgICAgICAgIGlmICghZmlsdGVyLT5hcHBseVJlc291cmNlKG9i
amVjdCwgc3R5bGUsIHBhaW50SW5mby5jb250ZXh0LCBBcHBseVRvRGVmYXVsdE1vZGUpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0gZWxzZSBpZiAoIWZpbHRlcklkLmlzRW1wdHko
KSkKICAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygp
LT5hZGRQZW5kaW5nUmVzb3VyY2UoZmlsdGVySWQsIHN0eWxlZEVsZW1lbnQpOwpAQCAtMTY3LDcg
KzE2Nyw3IEBAIHZvaWQgU1ZHUmVuZGVyQmFzZTo6ZmluaXNoUmVuZGVyU1ZHQ29udGUKIAogI2lm
IEVOQUJMRShGSUxURVJTKQogICAgIGlmIChmaWx0ZXIpIHsKLSAgICAgICAgZmlsdGVyLT5wb3N0
QXBwbHlSZXNvdXJjZShvYmplY3QsIHBhaW50SW5mby5jb250ZXh0KTsKKyAgICAgICAgZmlsdGVy
LT5wb3N0QXBwbHlSZXNvdXJjZShvYmplY3QsIHBhaW50SW5mby5jb250ZXh0LCBBcHBseVRvRGVm
YXVsdE1vZGUpOwogICAgICAgICBwYWludEluZm8uY29udGV4dCA9IHNhdmVkQ29udGV4dDsKICAg
ICB9CiAjZW5kaWYKQEAgLTMwNiwyMyArMzA2LDU3IEBAIEZsb2F0UmVjdCBTVkdSZW5kZXJCYXNl
OjptYXNrZXJCb3VuZGluZ0IKICAgICByZXR1cm4gRmxvYXRSZWN0KCk7CiB9CiAKK3N0YXRpYyBp
bmxpbmUgdm9pZCBpbnZhbGlkYXRlUGFpbnRpbmdSZXNvdXJjZShTVkdQYWludCogcGFpbnQsIFJl
bmRlck9iamVjdCogb2JqZWN0KQoreworICAgIEFTU0VSVChwYWludCk7CisKKyAgICBTVkdQYWlu
dDo6U1ZHUGFpbnRUeXBlIHBhaW50VHlwZSA9IHBhaW50LT5wYWludFR5cGUoKTsKKyAgICBpZiAo
cGFpbnRUeXBlICE9IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSSAmJiBwYWludFR5cGUgIT0g
U1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJX1JHQkNPTE9SKQorICAgICAgICByZXR1cm47CisK
KyAgICBBdG9taWNTdHJpbmcgaWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQocGFpbnQtPnVy
aSgpKSk7CisgICAgaWYgKFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBwYWludGluZ1Jlc291
cmNlID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXJCeUlkKG9iamVjdC0+ZG9jdW1lbnQo
KSwgaWQpKQorICAgICAgICBwYWludGluZ1Jlc291cmNlLT5pbnZhbGlkYXRlQ2xpZW50KG9iamVj
dCk7Cit9CisKIHZvaWQgZGVyZWdpc3RlckZyb21SZXNvdXJjZXMoUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCiB7Ci0gICAgLy8gV2Ugb25seSBoYXZlIHRoZSByZW5kZXJlciBmb3IgbWFza2VyIGFuZCBj
bGlwcGVyIGF0IHRoZSBtb21lbnQuCi0gICAgaWYgKFJlbmRlclNWR1Jlc291cmNlTWFza2VyKiBt
YXNrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI+
KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpLT5tYXNrZXJS
ZXNvdXJjZSgpKSkKKyAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBBU1NFUlQob2JqZWN0LT5zdHls
ZSgpKTsKKworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG9iamVjdC0+ZG9jdW1lbnQoKTsKKyAg
ICBBU1NFUlQoZG9jdW1lbnQpOworCisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxl
ID0gb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpOworICAgIEFTU0VSVChzdmdTdHlsZSk7CisK
KyAgICAvLyBNYXNrZXIKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIqIG1hc2tlciA9
IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcj4oZG9jdW1l
bnQsIHN2Z1N0eWxlLT5tYXNrZXJSZXNvdXJjZSgpKSkKICAgICAgICAgbWFza2VyLT5pbnZhbGlk
YXRlQ2xpZW50KG9iamVjdCk7Ci0gICAgaWYgKFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciogY2xp
cHBlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI+
KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpLT5jbGlwcGVy
UmVzb3VyY2UoKSkpCisKKyAgICAvLyBDbGlwcGVyCisgICAgaWYgKFJlbmRlclNWR1Jlc291cmNl
Q2xpcHBlciogY2xpcHBlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNv
dXJjZUNsaXBwZXI+KGRvY3VtZW50LCBzdmdTdHlsZS0+Y2xpcHBlclJlc291cmNlKCkpKQogICAg
ICAgICBjbGlwcGVyLT5pbnZhbGlkYXRlQ2xpZW50KG9iamVjdCk7CisKKyAgICAvLyBGaWx0ZXIK
ICNpZiBFTkFCTEUoRklMVEVSUykKLSAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIqIGZp
bHRlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcj4o
b2JqZWN0LT5kb2N1bWVudCgpLCBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCktPmZpbHRlclJl
c291cmNlKCkpKQorICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyID0gZ2V0
UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlRmlsdGVyPihkb2N1bWVudCwg
c3ZnU3R5bGUtPmZpbHRlclJlc291cmNlKCkpKQogICAgICAgICBmaWx0ZXItPmludmFsaWRhdGVD
bGllbnQob2JqZWN0KTsKICNlbmRpZgotICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciog
c3RhcnRNYXJrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VN
YXJrZXI+KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpLT5t
YXJrZXJTdGFydFJlc291cmNlKCkpKQorCisgICAgLy8gTWFya2VycworICAgIGlmIChSZW5kZXJT
VkdSZXNvdXJjZU1hcmtlciogc3RhcnRNYXJrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8
UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI+KGRvY3VtZW50LCBzdmdTdHlsZS0+bWFya2VyU3RhcnRS
ZXNvdXJjZSgpKSkKICAgICAgICAgc3RhcnRNYXJrZXItPmludmFsaWRhdGVDbGllbnQob2JqZWN0
KTsKLSAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIG1pZE1hcmtlciA9IGdldFJlbmRl
clNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcj4ob2JqZWN0LT5kb2N1bWVu
dCgpLCBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCktPm1hcmtlck1pZFJlc291cmNlKCkpKQor
ICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciogbWlkTWFya2VyID0gZ2V0UmVuZGVyU1ZH
UmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihkb2N1bWVudCwgc3ZnU3R5bGUt
Pm1hcmtlck1pZFJlc291cmNlKCkpKQogICAgICAgICBtaWRNYXJrZXItPmludmFsaWRhdGVDbGll
bnQob2JqZWN0KTsKLSAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIGVuZE1hcmtlciA9
IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcj4ob2JqZWN0
LT5kb2N1bWVudCgpLCBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCktPm1hcmtlckVuZFJlc291
cmNlKCkpKQorICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciogZW5kTWFya2VyID0gZ2V0
UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihkb2N1bWVudCwg
c3ZnU3R5bGUtPm1hcmtlckVuZFJlc291cmNlKCkpKQogICAgICAgICBlbmRNYXJrZXItPmludmFs
aWRhdGVDbGllbnQob2JqZWN0KTsKKworICAgIC8vIEdyYWRpZW50cy9QYXR0ZXJucworICAgIGlm
IChzdmdTdHlsZS0+aGFzRmlsbCgpKQorICAgICAgICBpbnZhbGlkYXRlUGFpbnRpbmdSZXNvdXJj
ZShzdmdTdHlsZS0+ZmlsbFBhaW50KCksIG9iamVjdCk7CisgICAgaWYgKHN2Z1N0eWxlLT5oYXNT
dHJva2UoKSkKKyAgICAgICAgaW52YWxpZGF0ZVBhaW50aW5nUmVzb3VyY2Uoc3ZnU3R5bGUtPnN0
cm9rZVBhaW50KCksIG9iamVjdCk7CiB9CiAKIHZvaWQgYXBwbHlUcmFuc2Zvcm1Ub1BhaW50SW5m
byhSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBBZmZpbmVUcmFuc2Zv
cm0mIGxvY2FsVG9BbmNlc3RvclRyYW5zZm9ybSkKQEAgLTMzNCw2ICszNjgsMzkgQEAgdm9pZCBh
cHBseVRyYW5zZm9ybVRvUGFpbnRJbmZvKFJlbmRlck9iagogICAgIHBhaW50SW5mby5yZWN0ID0g
bG9jYWxUb0FuY2VzdG9yVHJhbnNmb3JtLmludmVyc2UoKS5tYXBSZWN0KHBhaW50SW5mby5yZWN0
KTsKIH0KIAorRGFzaEFycmF5IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShjb25zdCBSZW5k
ZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUpCit7CisgICAgRGFzaEFycmF5
IGFycmF5OworICAgIAorICAgIENTU1ZhbHVlTGlzdCogZGFzaGVzID0gc3R5bGUtPnN2Z1N0eWxl
KCktPnN0cm9rZURhc2hBcnJheSgpOworICAgIGlmIChkYXNoZXMpIHsKKyAgICAgICAgQ1NTUHJp
bWl0aXZlVmFsdWUqIGRhc2ggPSAwOworICAgICAgICB1bnNpZ25lZCBsb25nIGxlbiA9IGRhc2hl
cy0+bGVuZ3RoKCk7CisgICAgICAgIGZvciAodW5zaWduZWQgbG9uZyBpID0gMDsgaSA8IGxlbjsg
aSsrKSB7CisgICAgICAgICAgICBkYXNoID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUq
PihkYXNoZXMtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soaSkpOworICAgICAgICAgICAgaWYgKCFk
YXNoKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBhcnJheS5hcHBl
bmQoKGZsb2F0KSBkYXNoLT5jb21wdXRlTGVuZ3RoRmxvYXQoY29uc3RfY2FzdDxSZW5kZXJTdHls
ZSo+KHN0eWxlKSwgcm9vdFN0eWxlKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4g
YXJyYXk7Cit9CisKK3ZvaWQgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2JqZWN0
KiBvYmplY3QpCit7CisgICAgY29udGV4dC0+c2V0U3Ryb2tlVGhpY2tuZXNzKFNWR1JlbmRlclN0
eWxlOjpjc3NQcmltaXRpdmVUb0xlbmd0aChvYmplY3QsIHN0eWxlLT5zdmdTdHlsZSgpLT5zdHJv
a2VXaWR0aCgpLCAxLjBmKSk7CisgICAgY29udGV4dC0+c2V0TGluZUNhcChzdHlsZS0+c3ZnU3R5
bGUoKS0+Y2FwU3R5bGUoKSk7CisgICAgY29udGV4dC0+c2V0TGluZUpvaW4oc3R5bGUtPnN2Z1N0
eWxlKCktPmpvaW5TdHlsZSgpKTsKKyAgICBpZiAoc3R5bGUtPnN2Z1N0eWxlKCktPmpvaW5TdHls
ZSgpID09IE1pdGVySm9pbikKKyAgICAgICAgY29udGV4dC0+c2V0TWl0ZXJMaW1pdChzdHlsZS0+
c3ZnU3R5bGUoKS0+c3Ryb2tlTWl0ZXJMaW1pdCgpKTsKKworICAgIGNvbnN0IERhc2hBcnJheSYg
ZGFzaGVzID0gZGFzaEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKG9iamVjdC0+c3R5bGUoKSwgb2Jq
ZWN0LT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSk7CisgICAg
ZmxvYXQgZGFzaE9mZnNldCA9IFNWR1JlbmRlclN0eWxlOjpjc3NQcmltaXRpdmVUb0xlbmd0aChv
YmplY3QsIHN0eWxlLT5zdmdTdHlsZSgpLT5zdHJva2VEYXNoT2Zmc2V0KCksIDAuMGYpOworICAg
IGNvbnRleHQtPnNldExpbmVEYXNoKGRhc2hlcywgZGFzaE9mZnNldCk7Cit9CisKIGNvbnN0IFJl
bmRlck9iamVjdCogZmluZFRleHRSb290T2JqZWN0KGNvbnN0IFJlbmRlck9iamVjdCogc3RhcnQp
CiB7CiAgICAgd2hpbGUgKHN0YXJ0ICYmICFzdGFydC0+aXNTVkdUZXh0KCkpCkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUs
NyBAQAogI2RlZmluZSBTVkdSZW5kZXJCYXNlX2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVk
ZSAiRGFzaEFycmF5LmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiU1ZH
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKQEAgLTg1LDcgKzg2LDEx
IEBAIHZvaWQgcmVuZGVyU3VidHJlZVRvSW1hZ2UoSW1hZ2VCdWZmZXIqLCAKIHZvaWQgZGVyZWdp
c3RlckZyb21SZXNvdXJjZXMoUmVuZGVyT2JqZWN0Kik7CiB2b2lkIGNsYW1wSW1hZ2VCdWZmZXJT
aXplVG9WaWV3cG9ydChGcmFtZVZpZXcqLCBJbnRTaXplJiBpbWFnZUJ1ZmZlclNpemUpOwogCit2
b2lkIGFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgUmVu
ZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJPYmplY3QqKTsKK0Rhc2hBcnJheSBkYXNoQXJyYXlGcm9t
UmVuZGVyaW5nU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9v
dFN0eWxlKTsKKwogY29uc3QgUmVuZGVyT2JqZWN0KiBmaW5kVGV4dFJvb3RPYmplY3QoY29uc3Qg
UmVuZGVyT2JqZWN0KiBzdGFydCk7CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJUcmVlQXNU
ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJUcmVlQXNU
ZXh0LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJU
cmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsMjYgKzM0LDM3IEBACiAjaW5jbHVk
ZSAiR3JhcGhpY3NUeXBlcy5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIklu
bGluZVRleHRCb3guaCIKKyNpbmNsdWRlICJMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaCIKICNp
bmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJQYXRoLmgiCisjaW5jbHVkZSAi
UGF0dGVybkF0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlICJSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMu
aCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclBhdGguaCIKICNp
bmNsdWRlICJSZW5kZXJTVkdDb250YWluZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdHcmFkaWVu
dFN0b3AuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdJbmxpbmVUZXh0LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgiCisjaW5jbHVkZSAi
UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jl
c291cmNlTWFya2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuaCIKICNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdS
ZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgogI2luY2x1ZGUgIlJlbmRlclNW
R1RleHQuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQXNUZXh0LmgiCiAjaW5jbHVkZSAiU1ZHQ2hh
cmFjdGVyTGF5b3V0SW5mby5oIgogI2luY2x1ZGUgIlNWR0lubGluZVRleHRCb3guaCIKKyNpbmNs
dWRlICJTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdQYXR0ZXJuRWxl
bWVudC5oIgorI2luY2x1ZGUgIlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oIgogI2luY2x1ZGUg
IlNWR1Jvb3RJbmxpbmVCb3guaCIKKyNpbmNsdWRlICJTVkdTdG9wRWxlbWVudC5oIgogI2luY2x1
ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKKwogI2luY2x1ZGUgPG1hdGguaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMzA3LDYgKzMxOCw0NyBAQCBzdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChUZXh0U3RyZWFtCiAgICAgcmV0dXJuIHRzOwogfQogCisvLyBGSVhNRTogTWF5YmUgdGhp
cyBzaG91bGQgYmUgaW4gR3JhZGllbnQuY3BwCitzdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8
PChUZXh0U3RyZWFtJiB0cywgR3JhZGllbnRTcHJlYWRNZXRob2QgbW9kZSkKK3sKKyAgICBzd2l0
Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFNwcmVhZE1ldGhvZFBhZDoKKyAgICAgICAgdHMgPDwgIlBB
RCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU3ByZWFkTWV0aG9kUmVwZWF0OgorICAgICAg
ICB0cyA8PCAiUkVQRUFUIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTcHJlYWRNZXRob2RS
ZWZsZWN0OgorICAgICAgICB0cyA8PCAiUkVGTEVDVCI7CisgICAgICAgIGJyZWFrOworICAgIH0K
KworICAgIHJldHVybiB0czsKK30KKworc3RhdGljIHZvaWQgd3JpdGVTVkdQYWludGluZ1Jlc291
cmNlKFRleHRTdHJlYW0mIHRzLCBSZW5kZXJTVkdSZXNvdXJjZSogcmVzb3VyY2UpCit7CisgICAg
aWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBTb2xpZENvbG9yUmVzb3VyY2VUeXBlKSB7
CisgICAgICAgIHRzIDw8ICJbdHlwZT1TT0xJRF0gW2NvbG9yPSIgPDwgc3RhdGljX2Nhc3Q8UmVu
ZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKj4ocmVzb3VyY2UpLT5jb2xvcigpIDw8ICJdIjsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIEFsbCBvdGhlciByZXNvdXJjZXMgZGVyaXZl
IGZyb20gUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lciogY29udGFpbmVyID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXIqPihyZXNvdXJjZSk7CisgICAgTm9kZSogbm9kZSA9IGNvbnRhaW5lci0+bm9kZSgpOworICAg
IEFTU0VSVChub2RlKTsKKyAgICBBU1NFUlQobm9kZS0+aXNTVkdFbGVtZW50KCkpOworCisgICAg
aWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBQYXR0ZXJuUmVzb3VyY2VUeXBlKQorICAg
ICAgICB0cyA8PCAiW3R5cGU9UEFUVEVSTl0iOworICAgIGVsc2UgaWYgKHJlc291cmNlLT5yZXNv
dXJjZVR5cGUoKSA9PSBMaW5lYXJHcmFkaWVudFJlc291cmNlVHlwZSkKKyAgICAgICAgdHMgPDwg
Ilt0eXBlPUxJTkVBUi1HUkFESUVOVF0iOworICAgIGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJj
ZVR5cGUoKSA9PSBSYWRpYWxHcmFkaWVudFJlc291cmNlVHlwZSkKKyAgICAgICAgdHMgPDwgIlt0
eXBlPVJBRElBTC1HUkFESUVOVF0iOworCisgICAgdHMgPDwgIiBbaWQ9XCIiIDw8IHN0YXRpY19j
YXN0PFNWR0VsZW1lbnQqPihub2RlKS0+Z2V0SURBdHRyaWJ1dGUoKSA8PCAiXCJdIjsKK30KKwog
c3RhdGljIHZvaWQgd3JpdGVTdHlsZShUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0
JiBvYmplY3QpCiB7CiAgICAgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlID0gb2JqZWN0LnN0eWxl
KCk7CkBAIC0zMTgsMTIgKzM3MCwxMSBAQCBzdGF0aWMgdm9pZCB3cml0ZVN0eWxlKFRleHRTdHJl
YW0mIHRzLCBjCiAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJvcGFjaXR5Iiwgc3R5bGUtPm9w
YWNpdHkoKSwgUmVuZGVyU3R5bGU6OmluaXRpYWxPcGFjaXR5KCkpOwogICAgIGlmIChvYmplY3Qu
aXNSZW5kZXJQYXRoKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyUGF0aCYgcGF0aCA9IHN0YXRp
Y19jYXN0PGNvbnN0IFJlbmRlclBhdGgmPihvYmplY3QpOwotICAgICAgICBTVkdQYWludFNlcnZl
ciogc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlcjo6c3Ryb2tlUGFpbnRTZXJ2ZXIo
c3R5bGUsICZwYXRoKTsKLSAgICAgICAgaWYgKHN0cm9rZVBhaW50U2VydmVyKSB7CisKKyAgICAg
ICAgaWYgKFJlbmRlclNWR1Jlc291cmNlKiBzdHJva2VQYWludGluZ1Jlc291cmNlID0gUmVuZGVy
U1ZHUmVzb3VyY2U6OnN0cm9rZVBhaW50aW5nUmVzb3VyY2UoJnBhdGgsIHBhdGguc3R5bGUoKSkp
IHsKICAgICAgICAgICAgIFRleHRTdHJlYW1TZXBhcmF0b3IgcygiICIpOwotICAgICAgICAgICAg
dHMgPDwgIiBbc3Ryb2tlPXsiOwotICAgICAgICAgICAgaWYgKHN0cm9rZVBhaW50U2VydmVyKQot
ICAgICAgICAgICAgICAgIHRzIDw8IHMgPDwgKnN0cm9rZVBhaW50U2VydmVyOworICAgICAgICAg
ICAgdHMgPDwgIiBbc3Ryb2tlPXsiIDw8IHM7CisgICAgICAgICAgICB3cml0ZVNWR1BhaW50aW5n
UmVzb3VyY2UodHMsIHN0cm9rZVBhaW50aW5nUmVzb3VyY2UpOwogCiAgICAgICAgICAgICBkb3Vi
bGUgZGFzaE9mZnNldCA9IFNWR1JlbmRlclN0eWxlOjpjc3NQcmltaXRpdmVUb0xlbmd0aCgmcGF0
aCwgc3ZnU3R5bGUtPnN0cm9rZURhc2hPZmZzZXQoKSwgMC4wZik7CiAgICAgICAgICAgICBjb25z
dCBEYXNoQXJyYXkmIGRhc2hBcnJheSA9IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShzdHls
ZSwgb2JqZWN0LmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpKTsK
QEAgLTM0MCwxMiArMzkxLDExIEBAIHN0YXRpYyB2b2lkIHdyaXRlU3R5bGUoVGV4dFN0cmVhbSYg
dHMsIGMKIAogICAgICAgICAgICAgdHMgPDwgIn1dIjsKICAgICAgICAgfQotICAgICAgICBTVkdQ
YWludFNlcnZlciogZmlsbFBhaW50U2VydmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNl
cnZlcihzdHlsZSwgJnBhdGgpOwotICAgICAgICBpZiAoZmlsbFBhaW50U2VydmVyKSB7CisKKyAg
ICAgICAgaWYgKFJlbmRlclNWR1Jlc291cmNlKiBmaWxsUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRl
clNWR1Jlc291cmNlOjpmaWxsUGFpbnRpbmdSZXNvdXJjZSgmcGF0aCwgcGF0aC5zdHlsZSgpKSkg
ewogICAgICAgICAgICAgVGV4dFN0cmVhbVNlcGFyYXRvciBzKCIgIik7Ci0gICAgICAgICAgICB0
cyA8PCAiIFtmaWxsPXsiOwotICAgICAgICAgICAgaWYgKGZpbGxQYWludFNlcnZlcikKLSAgICAg
ICAgICAgICAgICB0cyA8PCBzIDw8ICpmaWxsUGFpbnRTZXJ2ZXI7CisgICAgICAgICAgICB0cyA8
PCAiIFtmaWxsPXsiIDw8IHM7CisgICAgICAgICAgICB3cml0ZVNWR1BhaW50aW5nUmVzb3VyY2Uo
dHMsIGZpbGxQYWludGluZ1Jlc291cmNlKTsKIAogICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1
bHQodHMsICJvcGFjaXR5Iiwgc3ZnU3R5bGUtPmZpbGxPcGFjaXR5KCksIDEuMGYpOwogICAgICAg
ICAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJmaWxsIHJ1bGUiLCBzdmdTdHlsZS0+ZmlsbFJ1
bGUoKSwgUlVMRV9OT05aRVJPKTsKQEAgLTUxNSw3ICs1NjUsMjMgQEAgc3RhdGljIHZvaWQgd3Jp
dGVDaGlsZHJlbihUZXh0U3RyZWFtJiB0cwogICAgICAgICB3cml0ZSh0cywgKmNoaWxkLCBpbmRl
bnQgKyAxKTsKIH0KIAotdm9pZCB3cml0ZVNWR1Jlc291cmNlKFRleHRTdHJlYW0mIHRzLCBjb25z
dCBSZW5kZXJPYmplY3QmIG9iamVjdCwgaW50IGluZGVudCkKK3N0YXRpYyBpbmxpbmUgU3RyaW5n
IGJvdW5kaW5nQm94TW9kZVN0cmluZyhib29sIGJvdW5kaW5nQm94TW9kZSkKK3sKKyAgICByZXR1
cm4gYm91bmRpbmdCb3hNb2RlID8gIm9iamVjdEJvdW5kaW5nQm94IiA6ICJ1c2VyU3BhY2VPblVz
ZSI7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZUNvbW1vbkdyYWRpZW50UHJvcGVydGll
cyhUZXh0U3RyZWFtJiB0cywgR3JhZGllbnRTcHJlYWRNZXRob2Qgc3ByZWFkTWV0aG9kLCBjb25z
dCBBZmZpbmVUcmFuc2Zvcm0mIGdyYWRpZW50VHJhbnNmb3JtLCBib29sIGJvdW5kaW5nQm94TW9k
ZSkKK3sKKyAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJncmFkaWVudFVuaXRzIiwgYm91bmRp
bmdCb3hNb2RlU3RyaW5nKGJvdW5kaW5nQm94TW9kZSkpOworCisgICAgaWYgKHNwcmVhZE1ldGhv
ZCAhPSBTcHJlYWRNZXRob2RQYWQpCisgICAgICAgIHRzIDw8ICIgW3NwcmVhZE1ldGhvZD0iIDw8
IHNwcmVhZE1ldGhvZCA8PCAiXSI7CisKKyAgICBpZiAoIWdyYWRpZW50VHJhbnNmb3JtLmlzSWRl
bnRpdHkoKSkKKyAgICAgICAgdHMgPDwgIiBbZ3JhZGllbnRUcmFuc2Zvcm09IiA8PCBncmFkaWVu
dFRyYW5zZm9ybSA8PCAiXSI7Cit9CisKK3ZvaWQgd3JpdGVTVkdSZXNvdXJjZUNvbnRhaW5lcihU
ZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0JiBvYmplY3QsIGludCBpbmRlbnQpCiB7
CiAgICAgd3JpdGVTdGFuZGFyZFByZWZpeCh0cywgb2JqZWN0LCBpbmRlbnQpOwogCkBAIC01MjMs
MTYgKzU4OSwxNiBAQCB2b2lkIHdyaXRlU1ZHUmVzb3VyY2UoVGV4dFN0cmVhbSYgdHMsIGNvCiAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBpZCA9IGVsZW1lbnQtPmdldElEQXR0cmlidXRlKCk7CiAg
ICAgd3JpdGVOYW1lQW5kUXVvdGVkVmFsdWUodHMsICJpZCIsIGlkKTsgICAgCiAKLSAgICBSZW5k
ZXJTVkdSZXNvdXJjZSogcmVzb3VyY2UgPSBjb25zdF9jYXN0PFJlbmRlck9iamVjdCY+KG9iamVj
dCkudG9SZW5kZXJTVkdSZXNvdXJjZSgpOworICAgIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
KiByZXNvdXJjZSA9IGNvbnN0X2Nhc3Q8UmVuZGVyT2JqZWN0Jj4ob2JqZWN0KS50b1JlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyKCk7CisgICAgQVNTRVJUKHJlc291cmNlKTsKKwogICAgIGlmIChy
ZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gTWFza2VyUmVzb3VyY2VUeXBlKSB7CiAgICAgICAg
IFJlbmRlclNWR1Jlc291cmNlTWFza2VyKiBtYXNrZXIgPSBzdGF0aWNfY2FzdDxSZW5kZXJTVkdS
ZXNvdXJjZU1hc2tlcio+KHJlc291cmNlKTsKLSAgICAgICAgQVNTRVJUKG1hc2tlcik7CiAgICAg
ICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgIm1hc2tVbml0cyIsIG1hc2tlci0+bWFza1VuaXRz
KCkpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJtYXNrQ29udGVudFVuaXRzIiwg
bWFza2VyLT5tYXNrQ29udGVudFVuaXRzKCkpOwogI2lmIEVOQUJMRShGSUxURVJTKQogICAgIH0g
ZWxzZSBpZiAocmVzb3VyY2UtPnJlc291cmNlVHlwZSgpID09IEZpbHRlclJlc291cmNlVHlwZSkg
ewogICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyID0gc3RhdGljX2Nhc3Q8
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIqPihyZXNvdXJjZSk7Ci0gICAgICAgIEFTU0VSVChmaWx0
ZXIpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJmaWx0ZXJVbml0cyIsIGZpbHRl
ci0+ZmlsdGVyVW5pdHMoKSk7CiAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgInByaW1p
dGl2ZVVuaXRzIiwgZmlsdGVyLT5wcmltaXRpdmVVbml0cygpKTsKICAgICAgICAgaWYgKE93blB0
cjxTVkdGaWx0ZXJCdWlsZGVyPiBidWlsZGVyID0gZmlsdGVyLT5idWlsZFByaW1pdGl2ZXMoKSkg
ewpAQCAtNTU4LDExICs2MjQsOSBAQCB2b2lkIHdyaXRlU1ZHUmVzb3VyY2UoVGV4dFN0cmVhbSYg
dHMsIGNvCiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9
PSBDbGlwcGVyUmVzb3VyY2VUeXBlKSB7CiAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBl
ciogY2xpcHBlciA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcio+KHJlc291
cmNlKTsKLSAgICAgICAgQVNTRVJUKGNsaXBwZXIpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBh
aXIodHMsICJjbGlwUGF0aFVuaXRzIiwgY2xpcHBlci0+Y2xpcFBhdGhVbml0cygpKTsKICAgICB9
IGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBNYXJrZXJSZXNvdXJjZVR5cGUp
IHsKICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIG1hcmtlciA9IHN0YXRpY19jYXN0
PFJlbmRlclNWR1Jlc291cmNlTWFya2VyKj4ocmVzb3VyY2UpOwotICAgICAgICBBU1NFUlQobWFy
a2VyKTsKICAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAibWFya2VyVW5pdHMiLCBtYXJr
ZXItPm1hcmtlclVuaXRzKCkpOwogICAgICAgICB0cyA8PCAiIFtyZWYgYXQgIiA8PCBtYXJrZXIt
PnJlZmVyZW5jZVBvaW50KCkgPDwgIl0iOwogICAgICAgICB0cyA8PCAiIFthbmdsZT0iOwpAQCAt
NTcwLDYgKzYzNCw0OSBAQCB2b2lkIHdyaXRlU1ZHUmVzb3VyY2UoVGV4dFN0cmVhbSYgdHMsIGNv
CiAgICAgICAgICAgICB0cyA8PCAiYXV0byIgPDwgIl0iOwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICB0cyA8PCBtYXJrZXItPmFuZ2xlKCkgPDwgIl0iOworICAgIH0gZWxzZSBpZiAocmVzb3Vy
Y2UtPnJlc291cmNlVHlwZSgpID09IFBhdHRlcm5SZXNvdXJjZVR5cGUpIHsKKyAgICAgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuKiBwYXR0ZXJuID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHUmVz
b3VyY2VQYXR0ZXJuKj4ocmVzb3VyY2UpOworCisgICAgICAgIC8vIER1bXAgZmluYWwgcmVzdWx0
cyB0aGF0IGFyZSB1c2VkIGZvciByZW5kZXJpbmcuIE5vIHVzZSBpbiBhc2tpbmcgU1ZHUGF0dGVy
bkVsZW1lbnQgZm9yIGl0cyBwYXR0ZXJuVW5pdHMoKSwgYXMgaXQgbWF5CisgICAgICAgIC8vIGxp
bmsgdG8gb3RoZXIgcGF0dGVybnMgdXNpbmcgeGxpbms6aHJlZiwgd2UgbmVlZCB0byBidWlsZCB0
aGUgZnVsbCBpbmhlcml0YW5jZSBjaGFpbiwgYWthLiBjb2xsZWN0UGF0dGVyblByb3BlcnRpZXMo
KQorICAgICAgICBQYXR0ZXJuQXR0cmlidXRlcyBhdHRyaWJ1dGVzID0gc3RhdGljX2Nhc3Q8U1ZH
UGF0dGVybkVsZW1lbnQqPihwYXR0ZXJuLT5ub2RlKCkpLT5jb2xsZWN0UGF0dGVyblByb3BlcnRp
ZXMoKTsKKyAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAicGF0dGVyblVuaXRzIiwgYm91
bmRpbmdCb3hNb2RlU3RyaW5nKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpKTsKKyAgICAg
ICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAicGF0dGVybkNvbnRlbnRVbml0cyIsIGJvdW5kaW5n
Qm94TW9kZVN0cmluZyhhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZUNvbnRlbnQoKSkpOworCisg
ICAgICAgIEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBhdHRyaWJ1dGVzLnBhdHRlcm5UcmFu
c2Zvcm0oKTsKKyAgICAgICAgaWYgKCF0cmFuc2Zvcm0uaXNJZGVudGl0eSgpKQorICAgICAgICAg
ICAgdHMgPDwgIiBbcGF0dGVyblRyYW5zZm9ybT0iIDw8IHRyYW5zZm9ybSA8PCAiXSI7CisgICAg
fSBlbHNlIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gTGluZWFyR3JhZGllbnRSZXNv
dXJjZVR5cGUpIHsKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCogZ3Jh
ZGllbnQgPSBzdGF0aWNfY2FzdDxSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50Kj4ocmVz
b3VyY2UpOworCisgICAgICAgIC8vIER1bXAgZmluYWwgcmVzdWx0cyB0aGF0IGFyZSB1c2VkIGZv
ciByZW5kZXJpbmcuIE5vIHVzZSBpbiBhc2tpbmcgU1ZHR3JhZGllbnRFbGVtZW50IGZvciBpdHMg
Z3JhZGllbnRVbml0cygpLCBhcyBpdCBtYXkKKyAgICAgICAgLy8gbGluayB0byBvdGhlciBncmFk
aWVudHMgdXNpbmcgeGxpbms6aHJlZiwgd2UgbmVlZCB0byBidWlsZCB0aGUgZnVsbCBpbmhlcml0
YW5jZSBjaGFpbiwgYWthLiBjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCkKKyAgICAgICAgU1ZH
TGluZWFyR3JhZGllbnRFbGVtZW50KiBsaW5lYXJHcmFkaWVudEVsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqPihncmFkaWVudC0+bm9kZSgpKTsKKworICAgICAg
ICBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgYXR0cmlidXRlcyA9IGxpbmVhckdyYWRpZW50RWxl
bWVudC0+Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpOworICAgICAgICB3cml0ZUNvbW1vbkdy
YWRpZW50UHJvcGVydGllcyh0cywgYXR0cmlidXRlcy5zcHJlYWRNZXRob2QoKSwgYXR0cmlidXRl
cy5ncmFkaWVudFRyYW5zZm9ybSgpLCBhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKTsKKwor
ICAgICAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQ7CisgICAgICAgIEZsb2F0UG9pbnQgZW5kUG9p
bnQ7CisgICAgICAgIGxpbmVhckdyYWRpZW50RWxlbWVudC0+Y2FsY3VsYXRlU3RhcnRFbmRQb2lu
dHMoYXR0cmlidXRlcywgc3RhcnRQb2ludCwgZW5kUG9pbnQpOworCisgICAgICAgIHRzIDw8ICIg
W3N0YXJ0PSIgPDwgc3RhcnRQb2ludCA8PCAiXSBbZW5kPSIgPDwgZW5kUG9pbnQgPDwgIl0iOwor
ICAgIH0gIGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBSYWRpYWxHcmFkaWVu
dFJlc291cmNlVHlwZSkgeworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50
KiBncmFkaWVudCA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQq
PihyZXNvdXJjZSk7CisKKyAgICAgICAgLy8gRHVtcCBmaW5hbCByZXN1bHRzIHRoYXQgYXJlIHVz
ZWQgZm9yIHJlbmRlcmluZy4gTm8gdXNlIGluIGFza2luZyBTVkdHcmFkaWVudEVsZW1lbnQgZm9y
IGl0cyBncmFkaWVudFVuaXRzKCksIGFzIGl0IG1heQorICAgICAgICAvLyBsaW5rIHRvIG90aGVy
IGdyYWRpZW50cyB1c2luZyB4bGluazpocmVmLCB3ZSBuZWVkIHRvIGJ1aWxkIHRoZSBmdWxsIGlu
aGVyaXRhbmNlIGNoYWluLCBha2EuIGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKQorICAgICAg
ICBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQqIHJhZGlhbEdyYWRpZW50RWxlbWVudCA9IHN0YXRp
Y19jYXN0PFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCo+KGdyYWRpZW50LT5ub2RlKCkpOworCisg
ICAgICAgIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBhdHRyaWJ1dGVzID0gcmFkaWFsR3JhZGll
bnRFbGVtZW50LT5jb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCk7CisgICAgICAgIHdyaXRlQ29t
bW9uR3JhZGllbnRQcm9wZXJ0aWVzKHRzLCBhdHRyaWJ1dGVzLnNwcmVhZE1ldGhvZCgpLCBhdHRy
aWJ1dGVzLmdyYWRpZW50VHJhbnNmb3JtKCksIGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkp
OworCisgICAgICAgIEZsb2F0UG9pbnQgZm9jYWxQb2ludDsKKyAgICAgICAgRmxvYXRQb2ludCBj
ZW50ZXJQb2ludDsKKyAgICAgICAgZmxvYXQgcmFkaXVzOworICAgICAgICByYWRpYWxHcmFkaWVu
dEVsZW1lbnQtPmNhbGN1bGF0ZUZvY2FsQ2VudGVyUG9pbnRzQW5kUmFkaXVzKGF0dHJpYnV0ZXMs
IGZvY2FsUG9pbnQsIGNlbnRlclBvaW50LCByYWRpdXMpOworCisgICAgICAgIHRzIDw8ICIgW2Nl
bnRlcj0iIDw8IGNlbnRlclBvaW50IDw8ICJdIFtmb2NhbD0iIDw8IGZvY2FsUG9pbnQgPDwgIl0g
W3JhZGl1cz0iIDw8IHJhZGl1cyA8PCAiXSI7CiAgICAgfQogCiAgICAgdHMgPDwgIlxuIjsKQEAg
LTYyNiw2ICs3MzMsMjAgQEAgdm9pZCB3cml0ZShUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVy
UAogICAgIHdyaXRlUmVzb3VyY2VzKHRzLCBwYXRoLCBpbmRlbnQpOwogfQogCit2b2lkIHdyaXRl
U1ZHR3JhZGllbnRTdG9wKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJTVkdHcmFkaWVudFN0
b3AmIHN0b3AsIGludCBpbmRlbnQpCit7CisgICAgd3JpdGVTdGFuZGFyZFByZWZpeCh0cywgc3Rv
cCwgaW5kZW50KTsKKworICAgIFNWR1N0b3BFbGVtZW50KiBzdG9wRWxlbWVudCA9IHN0YXRpY19j
YXN0PFNWR1N0b3BFbGVtZW50Kj4oc3RvcC5ub2RlKCkpOworICAgIEFTU0VSVChzdG9wRWxlbWVu
dCk7CisKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBzdG9wLnN0eWxlKCk7CisgICAgaWYgKCFz
dHlsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdHMgPDwgIiBbb2Zmc2V0PSIgPDwgc3RvcEVs
ZW1lbnQtPm9mZnNldCgpIDw8ICJdIFtjb2xvcj0iIDw8IHN0b3BFbGVtZW50LT5zdG9wQ29sb3JJ
bmNsdWRpbmdPcGFjaXR5KCkgPDwgIl1cbiI7Cit9CisKIHZvaWQgd3JpdGVSZXNvdXJjZXMoVGV4
dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0LCBpbnQgaW5kZW50KQogewog
ICAgIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSA9IG9iamVjdC5zdHlsZSgpOwpAQCAtNjY1LDMx
ICs3ODYsNiBAQCB2b2lkIHdyaXRlUmVzb3VyY2VzKFRleHRTdHJlYW0mIHRzLCBjb25zCiAjZW5k
aWYKIH0KIAotdm9pZCB3cml0ZVJlbmRlclJlc291cmNlcyhUZXh0U3RyZWFtJiB0cywgTm9kZSog
cGFyZW50KQotewotICAgIEFTU0VSVChwYXJlbnQpOwotICAgIE5vZGUqIG5vZGUgPSBwYXJlbnQ7
Ci0gICAgZG8gewotICAgICAgICBpZiAoIW5vZGUtPmlzU1ZHRWxlbWVudCgpKQotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxTVkdFbGVtZW50Kj4obm9kZSk7Ci0gICAgICAgIGlmICghc3ZnRWxlbWVudC0+aXNTdHlsZWQo
KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQqIHN0
eWxlZCA9IHN0YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihzdmdFbGVtZW50KTsKLSAgICAg
ICAgUmVmUHRyPFNWR1Jlc291cmNlPiByZXNvdXJjZShzdHlsZWQtPmNhbnZhc1Jlc291cmNlKG5v
ZGUtPnJlbmRlcmVyKCkpKTsKLSAgICAgICAgaWYgKCFyZXNvdXJjZSkKLSAgICAgICAgICAgIGNv
bnRpbnVlOwotCi0gICAgICAgIFN0cmluZyBlbGVtZW50SWQgPSBzdmdFbGVtZW50LT5nZXRBdHRy
aWJ1dGUoc3ZnRWxlbWVudC0+aWRBdHRyaWJ1dGVOYW1lKCkpOwotICAgICAgICAvLyBGSVhNRTog
VGhlc2UgbmFtZXMgYXJlIGxpZXMhCi0gICAgICAgIGlmIChyZXNvdXJjZS0+aXNQYWludFNlcnZl
cigpKSB7Ci0gICAgICAgICAgICBSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXI+IHBhaW50U2VydmVyID0g
V1RGOjpzdGF0aWNfcG9pbnRlcl9jYXN0PFNWR1BhaW50U2VydmVyPihyZXNvdXJjZSk7Ci0gICAg
ICAgICAgICB0cyA8PCAiS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD1cIiIgPDwgZWxlbWVudElk
IDw8ICJcIiAiIDw8ICpwYWludFNlcnZlciA8PCAifSIgPDwgIlxuIjsKLSAgICAgICAgfQotICAg
IH0gd2hpbGUgKChub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0Tm9kZShwYXJlbnQpKSk7Ci19Ci0K
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJUcmVlQXNUZXh0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5oCShyZXZpc2lvbiA1ODE1OSkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuaAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNiArNDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVuZGVySW1h
Z2U7CiAgICAgY2xhc3MgUmVuZGVyT2JqZWN0OwogICAgIGNsYXNzIFJlbmRlclBhdGg7CisgICAg
Y2xhc3MgUmVuZGVyU1ZHR3JhZGllbnRTdG9wOwogICAgIGNsYXNzIFJlbmRlclNWR1Jvb3Q7CiAg
ICAgY2xhc3MgUmVuZGVyVGV4dDsKICAgICBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CkBAIC01MSwx
NSArNTIsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gZnVuY3Rpb25zIHVzZWQgYnkgdGhl
IG1haW4gUmVuZGVyVHJlZUFzVGV4dCBjb2RlCiB2b2lkIHdyaXRlKFRleHRTdHJlYW0mLCBjb25z
dCBSZW5kZXJQYXRoJiwgaW50IGluZGVudCk7CiB2b2lkIHdyaXRlKFRleHRTdHJlYW0mLCBjb25z
dCBSZW5kZXJTVkdSb290JiwgaW50IGluZGVudCk7Ci12b2lkIHdyaXRlU1ZHUmVzb3VyY2UoVGV4
dFN0cmVhbSYsIGNvbnN0IFJlbmRlck9iamVjdCYsIGludCBpbmRlbnQpOwordm9pZCB3cml0ZVNW
R0dyYWRpZW50U3RvcChUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyU1ZHR3JhZGllbnRTdG9wJiwg
aW50IGluZGVudCk7Cit2b2lkIHdyaXRlU1ZHUmVzb3VyY2VDb250YWluZXIoVGV4dFN0cmVhbSYs
IGNvbnN0IFJlbmRlck9iamVjdCYsIGludCBpbmRlbnQpOwogdm9pZCB3cml0ZVNWR0NvbnRhaW5l
cihUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyT2JqZWN0JiwgaW50IGluZGVudCk7CiB2b2lkIHdy
aXRlU1ZHSW1hZ2UoVGV4dFN0cmVhbSYsIGNvbnN0IFJlbmRlckltYWdlJiwgaW50IGluZGVudCk7
CiB2b2lkIHdyaXRlU1ZHSW5saW5lVGV4dChUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyVGV4dCYs
IGludCBpbmRlbnQpOwogdm9pZCB3cml0ZVNWR1RleHQoVGV4dFN0cmVhbSYsIGNvbnN0IFJlbmRl
ckJsb2NrJiwgaW50IGluZGVudCk7CiB2b2lkIHdyaXRlUmVzb3VyY2VzKFRleHRTdHJlYW0mLCBj
b25zdCBSZW5kZXJPYmplY3QmLCBpbnQgaW5kZW50KTsKIAotdm9pZCB3cml0ZVJlbmRlclJlc291
cmNlcyhUZXh0U3RyZWFtJiwgTm9kZSogcGFyZW50KTsKLQogLy8gaGVscGVyIG9wZXJhdG9ycyBk
ZWZpbmVkIHVzZWQgaW4gdmFyaW91cyBjbGFzc2VzIHRvIGR1bXAgdGhlIHJlbmRlciB0cmVlLgog
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiwgY29uc3QgQWZmaW5lVHJhbnNmb3Jt
Jik7CiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mLCBjb25zdCBJbnRSZWN0Jik7
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNwcAkocmV2aXNpb24gNTgx
NTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiBPbGl2ZXIgSHVudCA8
b2poMTZAc3R1ZGVudC5jYW50ZXJidXJ5LmFjLm56PgogICogICAgICAgICAgIChDKSAyMDA2IEFw
cGxlIENvbXB1dGVyIEluYy4KICAqICAgICAgICAgICAoQykgMjAwNyBOaWtvbGFzIFppbW1lcm1h
bm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtMzIsMTIgKzMzLDEyIEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9jay5oIgorI2luY2x1ZGUgIlJlbmRl
clNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaCIKICNp
bmNsdWRlICJSZW5kZXJTVkdSb290LmgiCiAjaW5jbHVkZSAiU1ZHSW5saW5lRmxvd0JveC5oIgog
I2luY2x1ZGUgIlNWR0lubGluZVRleHRCb3guaCIKICNpbmNsdWRlICJTVkdGb250RWxlbWVudC5o
IgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGVE
ZWZzLmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9ydC5oIgogI2luY2x1ZGUgIlNWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQuaCIKQEAgLTM0NSwxMCArMzQ2LDEwIEBAIHN0cnVjdCBTVkdSb290
SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgICAgICAsIG1fYm91bmRpbmdCb3godHggKyByb290
Qm94LT54KCksIHR5ICsgcm9vdEJveC0+eSgpLCByb290Qm94LT53aWR0aCgpLCByb290Qm94LT5o
ZWlnaHQoKSkKICAgICAgICAgLCBtX2ZpbHRlcigwKQogICAgICAgICAsIG1fcm9vdEZpbHRlcihy
b290RmlsdGVyKQotICAgICAgICAsIG1fZmlsbFBhaW50U2VydmVyKDApCi0gICAgICAgICwgbV9z
dHJva2VQYWludFNlcnZlcigwKQotICAgICAgICAsIG1fZmlsbFBhaW50U2VydmVyT2JqZWN0KDAp
Ci0gICAgICAgICwgbV9zdHJva2VQYWludFNlcnZlck9iamVjdCgwKQorICAgICAgICAsIG1fZmls
bFBhaW50aW5nUmVzb3VyY2UoMCkKKyAgICAgICAgLCBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2Uo
MCkKKyAgICAgICAgLCBtX2ZpbGxQYWludGluZ1Jlc291cmNlT2JqZWN0KDApCisgICAgICAgICwg
bV9zdHJva2VQYWludGluZ1Jlc291cmNlT2JqZWN0KDApCiAgICAgICAgICwgbV90eCh0eCkKICAg
ICAgICAgLCBtX3R5KHR5KQogICAgIHsKQEAgLTM1NywxMCArMzU4LDEwIEBAIHN0cnVjdCBTVkdS
b290SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgIH5TVkdSb290SW5saW5lQm94UGFpbnRXYWxr
ZXIoKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFtX2ZpbHRlcik7Ci0gICAgICAgIEFTU0VSVCgh
bV9maWxsUGFpbnRTZXJ2ZXIpOwotICAgICAgICBBU1NFUlQoIW1fZmlsbFBhaW50U2VydmVyT2Jq
ZWN0KTsKLSAgICAgICAgQVNTRVJUKCFtX3N0cm9rZVBhaW50U2VydmVyKTsKLSAgICAgICAgQVNT
RVJUKCFtX3N0cm9rZVBhaW50U2VydmVyT2JqZWN0KTsKKyAgICAgICAgQVNTRVJUKCFtX2ZpbGxQ
YWludGluZ1Jlc291cmNlKTsKKyAgICAgICAgQVNTRVJUKCFtX2ZpbGxQYWludGluZ1Jlc291cmNl
T2JqZWN0KTsKKyAgICAgICAgQVNTRVJUKCFtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UpOworICAg
ICAgICBBU1NFUlQoIW1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZU9iamVjdCk7CiAgICAgICAgIEFT
U0VSVCghbV9jaHVua1N0YXJ0ZWQpOwogICAgIH0KIApAQCAtMzczLDI0ICszNzQsMjIgQEAgc3Ry
dWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAKICAgICB2b2lkIHRlYXJkb3duRmls
bFBhaW50U2VydmVyKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9maWxsUGFpbnRTZXJ2ZXIpCisg
ICAgICAgIGlmICghbV9maWxsUGFpbnRpbmdSZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybjsK
IAotICAgICAgICBtX2ZpbGxQYWludFNlcnZlci0+dGVhcmRvd24obV9wYWludEluZm8uY29udGV4
dCwgbV9maWxsUGFpbnRTZXJ2ZXJPYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7
Ci0KLSAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXIgPSAwOwotICAgICAgICBtX2ZpbGxQYWludFNl
cnZlck9iamVjdCA9IDA7CisgICAgICAgIG1fZmlsbFBhaW50aW5nUmVzb3VyY2UtPnBvc3RBcHBs
eVJlc291cmNlKG1fZmlsbFBhaW50aW5nUmVzb3VyY2VPYmplY3QsIG1fcGFpbnRJbmZvLmNvbnRl
eHQsIEFwcGx5VG9GaWxsTW9kZSB8IEFwcGx5VG9UZXh0TW9kZSk7CisgICAgICAgIG1fZmlsbFBh
aW50aW5nUmVzb3VyY2UgPSAwOworICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlT2JqZWN0
ID0gMDsKICAgICB9CiAKICAgICB2b2lkIHRlYXJkb3duU3Ryb2tlUGFpbnRTZXJ2ZXIoKQogICAg
IHsKLSAgICAgICAgaWYgKCFtX3N0cm9rZVBhaW50U2VydmVyKQorICAgICAgICBpZiAoIW1fc3Ry
b2tlUGFpbnRpbmdSZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBtX3N0
cm9rZVBhaW50U2VydmVyLT50ZWFyZG93bihtX3BhaW50SW5mby5jb250ZXh0LCBtX3N0cm9rZVBh
aW50U2VydmVyT2JqZWN0LCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSk7Ci0KLSAgICAg
ICAgbV9zdHJva2VQYWludFNlcnZlciA9IDA7Ci0gICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXJP
YmplY3QgPSAwOworICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UtPnBvc3RBcHBseVJl
c291cmNlKG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZU9iamVjdCwgbV9wYWludEluZm8uY29udGV4
dCwgQXBwbHlUb1N0cm9rZU1vZGUgfCBBcHBseVRvVGV4dE1vZGUpOworICAgICAgICBtX3N0cm9r
ZVBhaW50aW5nUmVzb3VyY2UgPSAwOworICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2VP
YmplY3QgPSAwOwogICAgIH0KIAogICAgIHZvaWQgY2h1bmtTdGFydENhbGxiYWNrKElubGluZUJv
eCogYm94KQpAQCAtNDM3LDcgKzQzNiw3IEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94UGFpbnRX
YWxrZXIgewogICAgICAgICBtX3BhaW50SW5mby5yZWN0ID0gbV9zYXZlZEluZm8ucmVjdDsKICAg
ICB9CiAKLSAgICBib29sIHNldHVwQmFja2dyb3VuZChTVkdJbmxpbmVUZXh0Qm94KiAvKmJveCov
KQorICAgIGJvb2wgc2V0dXBCYWNrZ3JvdW5kKFNWR0lubGluZVRleHRCb3gqKQogICAgIHsKICAg
ICAgICAgbV90ZXh0UGFpbnRJbmZvLnN1YnBoYXNlID0gU1ZHVGV4dFBhaW50U3VicGhhc2VCYWNr
Z3JvdW5kOwogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTQ1MSwxNCArNDUwLDE0IEBAIHN0cnVj
dCBTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgICAgICBSZW5kZXJPYmplY3QqIG9i
amVjdCA9IGZsb3dCb3gtPnJlbmRlcmVyKCk7CiAgICAgICAgIEFTU0VSVChvYmplY3QpOwogCi0g
ICAgICAgIEFTU0VSVCghbV9zdHJva2VQYWludFNlcnZlcik7CisgICAgICAgIEFTU0VSVCghbV9z
dHJva2VQYWludGluZ1Jlc291cmNlKTsKICAgICAgICAgdGVhcmRvd25GaWxsUGFpbnRTZXJ2ZXIo
KTsKIAogICAgICAgICBtX3RleHRQYWludEluZm8uc3VicGhhc2UgPSBTVkdUZXh0UGFpbnRTdWJw
aGFzZUdseXBoRmlsbDsKLSAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZl
cjo6ZmlsbFBhaW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwgb2JqZWN0KTsKLSAgICAgICAgaWYg
KG1fZmlsbFBhaW50U2VydmVyKSB7Ci0gICAgICAgICAgICBtX2ZpbGxQYWludFNlcnZlci0+c2V0
dXAobV9wYWludEluZm8uY29udGV4dCwgb2JqZWN0LCBBcHBseVRvRmlsbFRhcmdldFR5cGUsIHRy
dWUpOwotICAgICAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXJPYmplY3QgPSBvYmplY3Q7CisgICAg
ICAgIG1fZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6ZmlsbFBhaW50
aW5nUmVzb3VyY2Uob2JqZWN0LCBvYmplY3QtPnN0eWxlKCkpOworICAgICAgICBpZiAobV9maWxs
UGFpbnRpbmdSZXNvdXJjZSkgeworICAgICAgICAgICAgbV9maWxsUGFpbnRpbmdSZXNvdXJjZS0+
YXBwbHlSZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSwgbV9wYWludEluZm8uY29udGV4
dCwgQXBwbHlUb0ZpbGxNb2RlIHwgQXBwbHlUb1RleHRNb2RlKTsKKyAgICAgICAgICAgIG1fZmls
bFBhaW50aW5nUmVzb3VyY2VPYmplY3QgPSBvYmplY3Q7CiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgfQogCkBAIC00NzYsMTcgKzQ3NSwxNyBAQCBzdHJ1Y3QgU1ZHUm9vdElubGlu
ZUJveFBhaW50V2Fsa2VyIHsKICAgICAgICAgaWYgKCFzdHlsZSkKICAgICAgICAgICAgIHN0eWxl
ID0gb2JqZWN0LT5zdHlsZSgpOwogCi0gICAgICAgIEFTU0VSVCghbV9zdHJva2VQYWludFNlcnZl
cik7CisgICAgICAgIEFTU0VSVCghbV9zdHJva2VQYWludGluZ1Jlc291cmNlKTsKICAgICAgICAg
dGVhcmRvd25GaWxsUGFpbnRTZXJ2ZXIoKTsKIAogICAgICAgICBpZiAoIW1heUhhdmVTZWxlY3Rp
b24oYm94KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICBtX3RleHRQYWlu
dEluZm8uc3VicGhhc2UgPSBTVkdUZXh0UGFpbnRTdWJwaGFzZUdseXBoRmlsbFNlbGVjdGlvbjsK
LSAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlcjo6ZmlsbFBhaW50U2Vy
dmVyKHN0eWxlLCBvYmplY3QpOwotICAgICAgICBpZiAobV9maWxsUGFpbnRTZXJ2ZXIpIHsKLSAg
ICAgICAgICAgIG1fZmlsbFBhaW50U2VydmVyLT5zZXR1cChtX3BhaW50SW5mby5jb250ZXh0LCBv
YmplY3QsIHN0eWxlLCBBcHBseVRvRmlsbFRhcmdldFR5cGUsIHRydWUpOwotICAgICAgICAgICAg
bV9maWxsUGFpbnRTZXJ2ZXJPYmplY3QgPSBvYmplY3Q7CisgICAgICAgIG1fZmlsbFBhaW50aW5n
UmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6ZmlsbFBhaW50aW5nUmVzb3VyY2Uob2JqZWN0
LCBzdHlsZSk7CisgICAgICAgIGlmIChtX2ZpbGxQYWludGluZ1Jlc291cmNlKSB7CisgICAgICAg
ICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlLT5hcHBseVJlc291cmNlKG9iamVjdCwgc3R5bGUs
IG1fcGFpbnRJbmZvLmNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSB8IEFwcGx5VG9UZXh0TW9kZSk7
CisgICAgICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlT2JqZWN0ID0gb2JqZWN0OwogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KIApAQCAtNTA2LDExICs1MDUsMTAgQEAg
c3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAgICAgICAgIHRlYXJkb3duU3Ry
b2tlUGFpbnRTZXJ2ZXIoKTsKIAogICAgICAgICBtX3RleHRQYWludEluZm8uc3VicGhhc2UgPSBT
VkdUZXh0UGFpbnRTdWJwaGFzZUdseXBoU3Ryb2tlOwotICAgICAgICBtX3N0cm9rZVBhaW50U2Vy
dmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OnN0cm9rZVBhaW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwg
b2JqZWN0KTsKLQotICAgICAgICBpZiAobV9zdHJva2VQYWludFNlcnZlcikgewotICAgICAgICAg
ICAgbV9zdHJva2VQYWludFNlcnZlci0+c2V0dXAobV9wYWludEluZm8uY29udGV4dCwgb2JqZWN0
LCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSk7Ci0gICAgICAgICAgICBtX3N0cm9rZVBh
aW50U2VydmVyT2JqZWN0ID0gb2JqZWN0OworICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3Vy
Y2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6c3Ryb2tlUGFpbnRpbmdSZXNvdXJjZShvYmplY3QsIG9i
amVjdC0+c3R5bGUoKSk7CisgICAgICAgIGlmIChtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UpIHsK
KyAgICAgICAgICAgIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmpl
Y3QsIG9iamVjdC0+c3R5bGUoKSwgbV9wYWludEluZm8uY29udGV4dCwgQXBwbHlUb1N0cm9rZU1v
ZGUgfCBBcHBseVRvVGV4dE1vZGUpOworICAgICAgICAgICAgbV9zdHJva2VQYWludGluZ1Jlc291
cmNlT2JqZWN0ID0gb2JqZWN0OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0K
IApAQCAtNTM2LDE3ICs1MzQsMTcgQEAgc3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtl
ciB7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgbV90ZXh0UGFpbnRJbmZv
LnN1YnBoYXNlID0gU1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaFN0cm9rZVNlbGVjdGlvbjsKLSAg
ICAgICAgbV9zdHJva2VQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpzdHJva2VQYWludFNl
cnZlcihzdHlsZSwgb2JqZWN0KTsKLSAgICAgICAgaWYgKG1fc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsK
LSAgICAgICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXItPnNldHVwKG1fcGFpbnRJbmZvLmNvbnRl
eHQsIG9iamVjdCwgc3R5bGUsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVlKTsKLSAgICAg
ICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXJPYmplY3QgPSBvYmplY3Q7CisgICAgICAgIG1fc3Ry
b2tlUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGluZ1Jl
c291cmNlKG9iamVjdCwgc3R5bGUpOworICAgICAgICBpZiAobV9zdHJva2VQYWludGluZ1Jlc291
cmNlKSB7CisgICAgICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UtPmFwcGx5UmVzb3Vy
Y2Uob2JqZWN0LCBzdHlsZSwgbV9wYWludEluZm8uY29udGV4dCwgQXBwbHlUb1N0cm9rZU1vZGUg
fCBBcHBseVRvVGV4dE1vZGUpOworICAgICAgICAgICAgbV9zdHJva2VQYWludGluZ1Jlc291cmNl
T2JqZWN0ID0gb2JqZWN0OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KIAog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgYm9vbCBzZXR1cEZvcmVncm91bmQo
U1ZHSW5saW5lVGV4dEJveCogLypib3gqLykKKyAgICBib29sIHNldHVwRm9yZWdyb3VuZChTVkdJ
bmxpbmVUZXh0Qm94KikKICAgICB7CiAgICAgICAgIHRlYXJkb3duRmlsbFBhaW50U2VydmVyKCk7
CiAgICAgICAgIHRlYXJkb3duU3Ryb2tlUGFpbnRTZXJ2ZXIoKTsKQEAgLTU1NiwxNyArNTU0LDE3
IEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9CiAKLSAgICBTVkdQYWludFNlcnZlciogYWN0aXZlUGFpbnRTZXJ2ZXIoKSBj
b25zdAorICAgIFJlbmRlclNWR1Jlc291cmNlKiBhY3RpdmVQYWludGluZ1Jlc291cmNlKCkgY29u
c3QKICAgICB7CiAgICAgICAgIHN3aXRjaCAobV90ZXh0UGFpbnRJbmZvLnN1YnBoYXNlKSB7CiAg
ICAgICAgIGNhc2UgU1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaEZpbGw6CiAgICAgICAgIGNhc2Ug
U1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaEZpbGxTZWxlY3Rpb246Ci0gICAgICAgICAgICBBU1NF
UlQobV9maWxsUGFpbnRTZXJ2ZXIpOwotICAgICAgICAgICAgcmV0dXJuIG1fZmlsbFBhaW50U2Vy
dmVyOworICAgICAgICAgICAgQVNTRVJUKG1fZmlsbFBhaW50aW5nUmVzb3VyY2UpOworICAgICAg
ICAgICAgcmV0dXJuIG1fZmlsbFBhaW50aW5nUmVzb3VyY2U7CiAgICAgICAgIGNhc2UgU1ZHVGV4
dFBhaW50U3VicGhhc2VHbHlwaFN0cm9rZToKICAgICAgICAgY2FzZSBTVkdUZXh0UGFpbnRTdWJw
aGFzZUdseXBoU3Ryb2tlU2VsZWN0aW9uOgotICAgICAgICAgICAgQVNTRVJUKG1fc3Ryb2tlUGFp
bnRTZXJ2ZXIpOwotICAgICAgICAgICAgcmV0dXJuIG1fc3Ryb2tlUGFpbnRTZXJ2ZXI7CisgICAg
ICAgICAgICBBU1NFUlQobV9zdHJva2VQYWludGluZ1Jlc291cmNlKTsKKyAgICAgICAgICAgIHJl
dHVybiBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2U7CiAgICAgICAgIGNhc2UgU1ZHVGV4dFBhaW50
U3VicGhhc2VCYWNrZ3JvdW5kOgogICAgICAgICBjYXNlIFNWR1RleHRQYWludFN1YnBoYXNlRm9y
ZWdyb3VuZDoKICAgICAgICAgZGVmYXVsdDoKQEAgLTY0Niw3ICs2NDQsNyBAQCBzdHJ1Y3QgU1ZH
Um9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAgICAgICAgICAgICAgICB0ZXh0Qm94LT5wYWlu
dERlY29yYXRpb24oT1ZFUkxJTkUsIG1fcGFpbnRJbmZvLmNvbnRleHQsIGRlY29yYXRpb25Pcmln
aW4ueCgpLCBkZWNvcmF0aW9uT3JpZ2luLnkoKSwgdGV4dFdpZHRoLCAqaXQsIGluZm8pOwogCiAg
ICAgICAgICAgICAvLyBQYWludCB0ZXh0Ci0gICAgICAgICAgICBtX3RleHRQYWludEluZm8uYWN0
aXZlUGFpbnRTZXJ2ZXIgPSBhY3RpdmVQYWludFNlcnZlcigpOworICAgICAgICAgICAgbV90ZXh0
UGFpbnRJbmZvLmFjdGl2ZVBhaW50aW5nUmVzb3VyY2UgPSBhY3RpdmVQYWludGluZ1Jlc291cmNl
KCk7CiAgICAgICAgICAgICB0ZXh0Qm94LT5wYWludENoYXJhY3RlcnMobV9wYWludEluZm8sIG1f
dHgsIG1fdHksICppdCwgc3RyaW5nU3RhcnQsIHN0cmluZ0xlbmd0aCwgbV90ZXh0UGFpbnRJbmZv
KTsKIAogICAgICAgICAgICAgLy8gUGFpbnQgZGVjb3JhdGlvbnMsIHRoYXQgaGF2ZSB0byBiZSBk
cmF3biBhZnRlcndhcmRzCkBAIC02NzIsMTEgKzY3MCwxMSBAQCBwcml2YXRlOgogICAgIFJlbmRl
clNWR1Jlc291cmNlRmlsdGVyKiBtX2ZpbHRlcjsKICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRl
ciogbV9yb290RmlsdGVyOwogCi0gICAgU1ZHUGFpbnRTZXJ2ZXIqIG1fZmlsbFBhaW50U2VydmVy
OwotICAgIFNWR1BhaW50U2VydmVyKiBtX3N0cm9rZVBhaW50U2VydmVyOworICAgIFJlbmRlclNW
R1Jlc291cmNlKiBtX2ZpbGxQYWludGluZ1Jlc291cmNlOworICAgIFJlbmRlclNWR1Jlc291cmNl
KiBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2U7CiAKLSAgICBSZW5kZXJPYmplY3QqIG1fZmlsbFBh
aW50U2VydmVyT2JqZWN0OwotICAgIFJlbmRlck9iamVjdCogbV9zdHJva2VQYWludFNlcnZlck9i
amVjdDsKKyAgICBSZW5kZXJPYmplY3QqIG1fZmlsbFBhaW50aW5nUmVzb3VyY2VPYmplY3Q7Cisg
ICAgUmVuZGVyT2JqZWN0KiBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2VPYmplY3Q7CiAKICAgICBp
bnQgbV90eDsKICAgICBpbnQgbV90eTsKSW5kZXg6IFdlYkNvcmUvc3ZnL0dyYWRpZW50QXR0cmli
dXRlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL0dyYWRpZW50QXR0cmlidXRlcy5oCShy
ZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL0dyYWRpZW50QXR0cmlidXRlcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMSw1MSArMjEsNzIgQEAKICNkZWZpbmUgR3JhZGllbnRBdHRyaWJ1dGVz
X2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJHcmFk
aWVudC5oIgorI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0g
ICAgc3RydWN0IEdyYWRpZW50QXR0cmlidXRlcyB7Ci0gICAgICAgIEdyYWRpZW50QXR0cmlidXRl
cygpCi0gICAgICAgICAgICA6IG1fc3ByZWFkTWV0aG9kKFNwcmVhZE1ldGhvZFBhZCkKLSAgICAg
ICAgICAgICwgbV9ib3VuZGluZ0JveE1vZGUodHJ1ZSkKLSAgICAgICAgICAgICwgbV9zcHJlYWRN
ZXRob2RTZXQoZmFsc2UpCi0gICAgICAgICAgICAsIG1fYm91bmRpbmdCb3hNb2RlU2V0KGZhbHNl
KQotICAgICAgICAgICAgLCBtX2dyYWRpZW50VHJhbnNmb3JtU2V0KGZhbHNlKQotICAgICAgICAg
ICAgLCBtX3N0b3BzU2V0KGZhbHNlKQotICAgICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICBH
cmFkaWVudFNwcmVhZE1ldGhvZCBzcHJlYWRNZXRob2QoKSBjb25zdCB7IHJldHVybiBtX3NwcmVh
ZE1ldGhvZDsgfQotICAgICAgICBib29sIGJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJu
IG1fYm91bmRpbmdCb3hNb2RlOyB9Ci0gICAgICAgIEFmZmluZVRyYW5zZm9ybSBncmFkaWVudFRy
YW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZ3JhZGllbnRUcmFuc2Zvcm07IH0KLSAgICAgICAg
Y29uc3QgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIHN0b3BzKCkgY29uc3QgeyByZXR1cm4gbV9z
dG9wczsgfQotCi0gICAgICAgIHZvaWQgc2V0U3ByZWFkTWV0aG9kKEdyYWRpZW50U3ByZWFkTWV0
aG9kIHZhbHVlKSB7IG1fc3ByZWFkTWV0aG9kID0gdmFsdWU7IG1fc3ByZWFkTWV0aG9kU2V0ID0g
dHJ1ZTsgfQotICAgICAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9kZShib29sIHZhbHVlKSB7IG1f
Ym91bmRpbmdCb3hNb2RlID0gdmFsdWU7IG1fYm91bmRpbmdCb3hNb2RlU2V0ID0gdHJ1ZTsgfQot
ICAgICAgICB2b2lkIHNldEdyYWRpZW50VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYg
dmFsdWUpIHsgbV9ncmFkaWVudFRyYW5zZm9ybSA9IHZhbHVlOyBtX2dyYWRpZW50VHJhbnNmb3Jt
U2V0ID0gdHJ1ZTsgfQotICAgICAgICB2b2lkIHNldFN0b3BzKGNvbnN0IFZlY3RvcjxTVkdHcmFk
aWVudFN0b3A+JiB2YWx1ZSkgeyBtX3N0b3BzID0gdmFsdWU7IG1fc3RvcHNTZXQgPSB0cnVlOyB9
IAotCi0gICAgICAgIGJvb2wgaGFzU3ByZWFkTWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9zcHJl
YWRNZXRob2RTZXQ7IH0KLSAgICAgICAgYm9vbCBoYXNCb3VuZGluZ0JveE1vZGUoKSBjb25zdCB7
IHJldHVybiBtX2JvdW5kaW5nQm94TW9kZVNldDsgfQotICAgICAgICBib29sIGhhc0dyYWRpZW50
VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9ncmFkaWVudFRyYW5zZm9ybVNldDsgfQotICAg
ICAgICBib29sIGhhc1N0b3BzKCkgY29uc3QgeyByZXR1cm4gbV9zdG9wc1NldDsgfQotCi0gICAg
cHJpdmF0ZToKLSAgICAgICAgLy8gUHJvcGVydGllcwotICAgICAgICBHcmFkaWVudFNwcmVhZE1l
dGhvZCBtX3NwcmVhZE1ldGhvZDsKLSAgICAgICAgYm9vbCBtX2JvdW5kaW5nQm94TW9kZTsKLSAg
ICAgICAgQWZmaW5lVHJhbnNmb3JtIG1fZ3JhZGllbnRUcmFuc2Zvcm07Ci0gICAgICAgIFZlY3Rv
cjxTVkdHcmFkaWVudFN0b3A+IG1fc3RvcHM7Ci0KLSAgICAgICAgLy8gUHJvcGVydHkgc3RhdGVz
Ci0gICAgICAgIGJvb2wgbV9zcHJlYWRNZXRob2RTZXQgOiAxOwotICAgICAgICBib29sIG1fYm91
bmRpbmdCb3hNb2RlU2V0IDogMTsKLSAgICAgICAgYm9vbCBtX2dyYWRpZW50VHJhbnNmb3JtU2V0
IDogMTsKLSAgICAgICAgYm9vbCBtX3N0b3BzU2V0IDogMTsKLSAgICB9OworCitzdHJ1Y3QgR3Jh
ZGllbnRBdHRyaWJ1dGVzIHsKKyAgICBHcmFkaWVudEF0dHJpYnV0ZXMoKQorICAgICAgICA6IG1f
c3ByZWFkTWV0aG9kKFNwcmVhZE1ldGhvZFBhZCkKKyAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9k
ZSh0cnVlKQorICAgICAgICAsIG1fc3ByZWFkTWV0aG9kU2V0KGZhbHNlKQorICAgICAgICAsIG1f
Ym91bmRpbmdCb3hNb2RlU2V0KGZhbHNlKQorICAgICAgICAsIG1fZ3JhZGllbnRUcmFuc2Zvcm1T
ZXQoZmFsc2UpCisgICAgICAgICwgbV9zdG9wc1NldChmYWxzZSkKKyAgICB7CisgICAgfQorCisg
ICAgR3JhZGllbnRTcHJlYWRNZXRob2Qgc3ByZWFkTWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9z
cHJlYWRNZXRob2Q7IH0KKyAgICBib29sIGJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJu
IG1fYm91bmRpbmdCb3hNb2RlOyB9CisgICAgQWZmaW5lVHJhbnNmb3JtIGdyYWRpZW50VHJhbnNm
b3JtKCkgY29uc3QgeyByZXR1cm4gbV9ncmFkaWVudFRyYW5zZm9ybTsgfQorICAgIGNvbnN0IFZl
Y3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPiYgc3RvcHMoKSBjb25zdCB7IHJldHVybiBtX3N0b3Bz
OyB9CisKKyAgICB2b2lkIHNldFNwcmVhZE1ldGhvZChHcmFkaWVudFNwcmVhZE1ldGhvZCB2YWx1
ZSkKKyAgICB7CisgICAgICAgIG1fc3ByZWFkTWV0aG9kID0gdmFsdWU7CisgICAgICAgIG1fc3By
ZWFkTWV0aG9kU2V0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9k
ZShib29sIHZhbHVlKQorICAgIHsKKyAgICAgICAgbV9ib3VuZGluZ0JveE1vZGUgPSB2YWx1ZTsK
KyAgICAgICAgbV9ib3VuZGluZ0JveE1vZGVTZXQgPSB0cnVlOworICAgIH0KKworICAgIHZvaWQg
c2V0R3JhZGllbnRUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB2YWx1ZSkKKyAgICB7
CisgICAgICAgIG1fZ3JhZGllbnRUcmFuc2Zvcm0gPSB2YWx1ZTsKKyAgICAgICAgbV9ncmFkaWVu
dFRyYW5zZm9ybVNldCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRTdG9wcyhjb25zdCBW
ZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mIHZhbHVlKQorICAgIHsKKyAgICAgICAgbV9zdG9w
cyA9IHZhbHVlOworICAgICAgICBtX3N0b3BzU2V0ID0gdHJ1ZTsKKyAgICB9IAorCisgICAgYm9v
bCBoYXNTcHJlYWRNZXRob2QoKSBjb25zdCB7IHJldHVybiBtX3NwcmVhZE1ldGhvZFNldDsgfQor
ICAgIGJvb2wgaGFzQm91bmRpbmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0Jv
eE1vZGVTZXQ7IH0KKyAgICBib29sIGhhc0dyYWRpZW50VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1
cm4gbV9ncmFkaWVudFRyYW5zZm9ybVNldDsgfQorICAgIGJvb2wgaGFzU3RvcHMoKSBjb25zdCB7
IHJldHVybiBtX3N0b3BzU2V0OyB9CisKK3ByaXZhdGU6CisgICAgLy8gUHJvcGVydGllcworICAg
IEdyYWRpZW50U3ByZWFkTWV0aG9kIG1fc3ByZWFkTWV0aG9kOworICAgIGJvb2wgbV9ib3VuZGlu
Z0JveE1vZGU7CisgICAgQWZmaW5lVHJhbnNmb3JtIG1fZ3JhZGllbnRUcmFuc2Zvcm07CisgICAg
VmVjdG9yPEdyYWRpZW50OjpDb2xvclN0b3A+IG1fc3RvcHM7CisKKyAgICAvLyBQcm9wZXJ0eSBz
dGF0ZXMKKyAgICBib29sIG1fc3ByZWFkTWV0aG9kU2V0IDogMTsKKyAgICBib29sIG1fYm91bmRp
bmdCb3hNb2RlU2V0IDogMTsKKyAgICBib29sIG1fZ3JhZGllbnRUcmFuc2Zvcm1TZXQgOiAxOwor
ICAgIGJvb2wgbV9zdG9wc1NldCA6IDE7Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogI2VuZGlmCi0KLS8vIHZpbTp0cz00Om5vZXQKSW5kZXg6
IFdlYkNvcmUvc3ZnL0xpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL0xpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oCShyZXZpc2lvbiA1ODE1OSkKKysr
IFdlYkNvcmUvc3ZnL0xpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yMCw5ICsyMCw4IEBACiAjaWZuZGVmIExpbmVhckdyYWRpZW50QXR0cmlidXRlc19oCiAjZGVm
aW5lIExpbmVhckdyYWRpZW50QXR0cmlidXRlc19oCiAKLSNpbmNsdWRlICJHcmFkaWVudEF0dHJp
YnV0ZXMuaCIKLQogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVz
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgTGluZWFyR3JhZGllbnRBdHRy
aWJ1dGVzIDogR3JhZGllbnRBdHRyaWJ1dGVzIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1BhdHRlcm5B
dHRyaWJ1dGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvUGF0dGVybkF0dHJpYnV0ZXMu
aAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9QYXR0ZXJuQXR0cmlidXRlcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMSw4MCArMjEsMTIxIEBACiAjZGVmaW5lIFBhdHRlcm5BdHRyaWJ1
dGVzX2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHTGVuZ3RoLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKLSAgICBzdHJ1Y3QgUGF0dGVybkF0dHJpYnV0ZXMgewotICAgICAgICBQ
YXR0ZXJuQXR0cmlidXRlcygpCi0gICAgICAgICAgICA6IG1feCgpCi0gICAgICAgICAgICAsIG1f
eSgpCi0gICAgICAgICAgICAsIG1fd2lkdGgoKQotICAgICAgICAgICAgLCBtX2hlaWdodCgpCi0g
ICAgICAgICAgICAsIG1fYm91bmRpbmdCb3hNb2RlKHRydWUpCi0gICAgICAgICAgICAsIG1fYm91
bmRpbmdCb3hNb2RlQ29udGVudChmYWxzZSkKLSAgICAgICAgICAgICwgbV9wYXR0ZXJuQ29udGVu
dEVsZW1lbnQoMCkKLSAgICAgICAgICAgICwgbV94U2V0KGZhbHNlKQotICAgICAgICAgICAgLCBt
X3lTZXQoZmFsc2UpCi0gICAgICAgICAgICAsIG1fd2lkdGhTZXQoZmFsc2UpCi0gICAgICAgICAg
ICAsIG1faGVpZ2h0U2V0KGZhbHNlKQotICAgICAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZVNl
dChmYWxzZSkKLSAgICAgICAgICAgICwgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50U2V0KGZhbHNl
KQotICAgICAgICAgICAgLCBtX3BhdHRlcm5UcmFuc2Zvcm1TZXQoZmFsc2UpCi0gICAgICAgICAg
ICAsIG1fcGF0dGVybkNvbnRlbnRFbGVtZW50U2V0KGZhbHNlKQotICAgICAgICB7Ci0gICAgICAg
IH0KLQotICAgICAgICBTVkdMZW5ndGggeCgpIGNvbnN0IHsgcmV0dXJuIG1feDsgfQotICAgICAg
ICBTVkdMZW5ndGggeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQotICAgICAgICBTVkdMZW5ndGgg
d2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3dpZHRoOyB9Ci0gICAgICAgIFNWR0xlbmd0aCBoZWln
aHQoKSBjb25zdCB7IHJldHVybiBtX2hlaWdodDsgfQotICAgICAgICBib29sIGJvdW5kaW5nQm94
TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRpbmdCb3hNb2RlOyB9Ci0gICAgICAgIGJvb2wg
Ym91bmRpbmdCb3hNb2RlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRpbmdCb3hNb2Rl
Q29udGVudDsgfQotICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5zZm9ybSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGF0dGVyblRyYW5zZm9ybTsgfQotICAgICAgICBjb25zdCBTVkdQYXR0
ZXJuRWxlbWVudCogcGF0dGVybkNvbnRlbnRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9wYXR0
ZXJuQ29udGVudEVsZW1lbnQ7IH0KLQotICAgICAgICB2b2lkIHNldFgoY29uc3QgU1ZHTGVuZ3Ro
JiB2YWx1ZSkgeyBtX3ggPSB2YWx1ZTsgbV94U2V0ID0gdHJ1ZTsgfQotICAgICAgICB2b2lkIHNl
dFkoY29uc3QgU1ZHTGVuZ3RoJiB2YWx1ZSkgeyBtX3kgPSB2YWx1ZTsgbV95U2V0ID0gdHJ1ZTsg
fQotICAgICAgICB2b2lkIHNldFdpZHRoKGNvbnN0IFNWR0xlbmd0aCYgdmFsdWUpIHsgbV93aWR0
aCA9IHZhbHVlOyBtX3dpZHRoU2V0ID0gdHJ1ZTsgfQotICAgICAgICB2b2lkIHNldEhlaWdodChj
b25zdCBTVkdMZW5ndGgmIHZhbHVlKSB7IG1faGVpZ2h0ID0gdmFsdWU7IG1faGVpZ2h0U2V0ID0g
dHJ1ZTsgfQotICAgICAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9kZShib29sIHZhbHVlKSB7IG1f
Ym91bmRpbmdCb3hNb2RlID0gdmFsdWU7IG1fYm91bmRpbmdCb3hNb2RlU2V0ID0gdHJ1ZTsgfQot
ICAgICAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9kZUNvbnRlbnQoYm9vbCB2YWx1ZSkgeyBtX2Jv
dW5kaW5nQm94TW9kZUNvbnRlbnQgPSB2YWx1ZTsgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50U2V0
ID0gdHJ1ZTsgfQotICAgICAgICB2b2lkIHNldFBhdHRlcm5UcmFuc2Zvcm0oY29uc3QgQWZmaW5l
VHJhbnNmb3JtJiB2YWx1ZSkgeyBtX3BhdHRlcm5UcmFuc2Zvcm0gPSB2YWx1ZTsgbV9wYXR0ZXJu
VHJhbnNmb3JtU2V0ID0gdHJ1ZTsgfQotICAgICAgICB2b2lkIHNldFBhdHRlcm5Db250ZW50RWxl
bWVudChjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogdmFsdWUpIHsgbV9wYXR0ZXJuQ29udGVudEVs
ZW1lbnQgPSB2YWx1ZTsgbV9wYXR0ZXJuQ29udGVudEVsZW1lbnRTZXQgPSB0cnVlOyB9Ci0KLSAg
ICAgICAgYm9vbCBoYXNYKCkgY29uc3QgeyByZXR1cm4gbV94U2V0OyB9Ci0gICAgICAgIGJvb2wg
aGFzWSgpIGNvbnN0IHsgcmV0dXJuIG1feVNldDsgfQotICAgICAgICBib29sIGhhc1dpZHRoKCkg
Y29uc3QgeyByZXR1cm4gbV93aWR0aFNldDsgfQotICAgICAgICBib29sIGhhc0hlaWdodCgpIGNv
bnN0IHsgcmV0dXJuIG1faGVpZ2h0U2V0OyB9Ci0gICAgICAgIGJvb2wgaGFzQm91bmRpbmdCb3hN
b2RlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0JveE1vZGVTZXQ7IH0KLSAgICAgICAgYm9v
bCBoYXNCb3VuZGluZ0JveE1vZGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0Jv
eE1vZGVDb250ZW50U2V0OyB9Ci0gICAgICAgIGJvb2wgaGFzUGF0dGVyblRyYW5zZm9ybSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGF0dGVyblRyYW5zZm9ybVNldDsgfQotICAgICAgICBib29sIGhhc1Bh
dHRlcm5Db250ZW50RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGF0dGVybkNvbnRlbnRFbGVt
ZW50U2V0OyB9Ci0KLSAgICBwcml2YXRlOgotICAgICAgICAvLyBQcm9wZXJ0aWVzCi0gICAgICAg
IFNWR0xlbmd0aCBtX3g7Ci0gICAgICAgIFNWR0xlbmd0aCBtX3k7Ci0gICAgICAgIFNWR0xlbmd0
aCBtX3dpZHRoOwotICAgICAgICBTVkdMZW5ndGggbV9oZWlnaHQ7Ci0gICAgICAgIGJvb2wgbV9i
b3VuZGluZ0JveE1vZGU7Ci0gICAgICAgIGJvb2wgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50Owot
ICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gbV9wYXR0ZXJuVHJhbnNmb3JtOwotICAgICAgICBjb25z
dCBTVkdQYXR0ZXJuRWxlbWVudCogbV9wYXR0ZXJuQ29udGVudEVsZW1lbnQ7Ci0KLSAgICAgICAg
Ly8gUHJvcGVydHkgc3RhdGVzCi0gICAgICAgIGJvb2wgbV94U2V0IDogMTsKLSAgICAgICAgYm9v
bCBtX3lTZXQgOiAxOwotICAgICAgICBib29sIG1fd2lkdGhTZXQgOiAxOwotICAgICAgICBib29s
IG1faGVpZ2h0U2V0IDogMTsKLSAgICAgICAgYm9vbCBtX2JvdW5kaW5nQm94TW9kZVNldCA6IDE7
Ci0gICAgICAgIGJvb2wgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50U2V0IDogMTsKLSAgICAgICAg
Ym9vbCBtX3BhdHRlcm5UcmFuc2Zvcm1TZXQgOiAxOwotICAgICAgICBib29sIG1fcGF0dGVybkNv
bnRlbnRFbGVtZW50U2V0IDogMTsKLSAgICB9OworCitjbGFzcyBTVkdQYXR0ZXJuRWxlbWVudDsK
Kworc3RydWN0IFBhdHRlcm5BdHRyaWJ1dGVzIHsKKyAgICBQYXR0ZXJuQXR0cmlidXRlcygpCisg
ICAgICAgIDogbV94KCkKKyAgICAgICAgLCBtX3koKQorICAgICAgICAsIG1fd2lkdGgoKQorICAg
ICAgICAsIG1faGVpZ2h0KCkKKyAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZSh0cnVlKQorICAg
ICAgICAsIG1fYm91bmRpbmdCb3hNb2RlQ29udGVudChmYWxzZSkKKyAgICAgICAgLCBtX3BhdHRl
cm5Db250ZW50RWxlbWVudCgwKQorICAgICAgICAsIG1feFNldChmYWxzZSkKKyAgICAgICAgLCBt
X3lTZXQoZmFsc2UpCisgICAgICAgICwgbV93aWR0aFNldChmYWxzZSkKKyAgICAgICAgLCBtX2hl
aWdodFNldChmYWxzZSkKKyAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZVNldChmYWxzZSkKKyAg
ICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZUNvbnRlbnRTZXQoZmFsc2UpCisgICAgICAgICwgbV9w
YXR0ZXJuVHJhbnNmb3JtU2V0KGZhbHNlKQorICAgICAgICAsIG1fcGF0dGVybkNvbnRlbnRFbGVt
ZW50U2V0KGZhbHNlKQorICAgIHsKKyAgICB9CisKKyAgICBTVkdMZW5ndGggeCgpIGNvbnN0IHsg
cmV0dXJuIG1feDsgfQorICAgIFNWR0xlbmd0aCB5KCkgY29uc3QgeyByZXR1cm4gbV95OyB9Cisg
ICAgU1ZHTGVuZ3RoIHdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV93aWR0aDsgfQorICAgIFNWR0xl
bmd0aCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hlaWdodDsgfQorICAgIGJvb2wgYm91bmRp
bmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0JveE1vZGU7IH0KKyAgICBib29s
IGJvdW5kaW5nQm94TW9kZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kaW5nQm94TW9k
ZUNvbnRlbnQ7IH0KKyAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5zZm9ybSgpIGNvbnN0
IHsgcmV0dXJuIG1fcGF0dGVyblRyYW5zZm9ybTsgfQorICAgIGNvbnN0IFNWR1BhdHRlcm5FbGVt
ZW50KiBwYXR0ZXJuQ29udGVudEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3BhdHRlcm5Db250
ZW50RWxlbWVudDsgfQorCisgICAgdm9pZCBzZXRYKGNvbnN0IFNWR0xlbmd0aCYgdmFsdWUpCisg
ICAgeworICAgICAgICBtX3ggPSB2YWx1ZTsKKyAgICAgICAgbV94U2V0ID0gdHJ1ZTsKKyAgICB9
CisKKyAgICB2b2lkIHNldFkoY29uc3QgU1ZHTGVuZ3RoJiB2YWx1ZSkKKyAgICB7CisgICAgICAg
IG1feSA9IHZhbHVlOworICAgICAgICBtX3lTZXQgPSB0cnVlOworICAgIH0KKworICAgIHZvaWQg
c2V0V2lkdGgoY29uc3QgU1ZHTGVuZ3RoJiB2YWx1ZSkKKyAgICB7CisgICAgICAgIG1fd2lkdGgg
PSB2YWx1ZTsKKyAgICAgICAgbV93aWR0aFNldCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBz
ZXRIZWlnaHQoY29uc3QgU1ZHTGVuZ3RoJiB2YWx1ZSkKKyAgICB7CisgICAgICAgIG1faGVpZ2h0
ID0gdmFsdWU7CisgICAgICAgIG1faGVpZ2h0U2V0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lk
IHNldEJvdW5kaW5nQm94TW9kZShib29sIHZhbHVlKQorICAgIHsKKyAgICAgICAgbV9ib3VuZGlu
Z0JveE1vZGUgPSB2YWx1ZTsKKyAgICAgICAgbV9ib3VuZGluZ0JveE1vZGVTZXQgPSB0cnVlOwor
ICAgIH0KKworICAgIHZvaWQgc2V0Qm91bmRpbmdCb3hNb2RlQ29udGVudChib29sIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50ID0gdmFsdWU7CisgICAgICAg
IG1fYm91bmRpbmdCb3hNb2RlQ29udGVudFNldCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBz
ZXRQYXR0ZXJuVHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdmFsdWUpCisgICAgewor
ICAgICAgICBtX3BhdHRlcm5UcmFuc2Zvcm0gPSB2YWx1ZTsKKyAgICAgICAgbV9wYXR0ZXJuVHJh
bnNmb3JtU2V0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldFBhdHRlcm5Db250ZW50RWxl
bWVudChjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogdmFsdWUpCisgICAgeworICAgICAgICBtX3Bh
dHRlcm5Db250ZW50RWxlbWVudCA9IHZhbHVlOworICAgICAgICBtX3BhdHRlcm5Db250ZW50RWxl
bWVudFNldCA9IHRydWU7CisgICAgfQorCisgICAgYm9vbCBoYXNYKCkgY29uc3QgeyByZXR1cm4g
bV94U2V0OyB9CisgICAgYm9vbCBoYXNZKCkgY29uc3QgeyByZXR1cm4gbV95U2V0OyB9CisgICAg
Ym9vbCBoYXNXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGhTZXQ7IH0KKyAgICBib29sIGhh
c0hlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1faGVpZ2h0U2V0OyB9CisgICAgYm9vbCBoYXNCb3Vu
ZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kaW5nQm94TW9kZVNldDsgfQorICAg
IGJvb2wgaGFzQm91bmRpbmdCb3hNb2RlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRp
bmdCb3hNb2RlQ29udGVudFNldDsgfQorICAgIGJvb2wgaGFzUGF0dGVyblRyYW5zZm9ybSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGF0dGVyblRyYW5zZm9ybVNldDsgfQorICAgIGJvb2wgaGFzUGF0dGVy
bkNvbnRlbnRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9wYXR0ZXJuQ29udGVudEVsZW1lbnRT
ZXQ7IH0KKworcHJpdmF0ZToKKyAgICAvLyBQcm9wZXJ0aWVzCisgICAgU1ZHTGVuZ3RoIG1feDsK
KyAgICBTVkdMZW5ndGggbV95OworICAgIFNWR0xlbmd0aCBtX3dpZHRoOworICAgIFNWR0xlbmd0
aCBtX2hlaWdodDsKKyAgICBib29sIG1fYm91bmRpbmdCb3hNb2RlOworICAgIGJvb2wgbV9ib3Vu
ZGluZ0JveE1vZGVDb250ZW50OworICAgIEFmZmluZVRyYW5zZm9ybSBtX3BhdHRlcm5UcmFuc2Zv
cm07CisgICAgY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIG1fcGF0dGVybkNvbnRlbnRFbGVtZW50
OworCisgICAgLy8gUHJvcGVydHkgc3RhdGVzCisgICAgYm9vbCBtX3hTZXQgOiAxOworICAgIGJv
b2wgbV95U2V0IDogMTsKKyAgICBib29sIG1fd2lkdGhTZXQgOiAxOworICAgIGJvb2wgbV9oZWln
aHRTZXQgOiAxOworICAgIGJvb2wgbV9ib3VuZGluZ0JveE1vZGVTZXQgOiAxOworICAgIGJvb2wg
bV9ib3VuZGluZ0JveE1vZGVDb250ZW50U2V0IDogMTsKKyAgICBib29sIG1fcGF0dGVyblRyYW5z
Zm9ybVNldCA6IDE7CisgICAgYm9vbCBtX3BhdHRlcm5Db250ZW50RWxlbWVudFNldCA6IDE7Cit9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogI2Vu
ZGlmCi0KLS8vIHZpbTp0cz00Om5vZXQKSW5kZXg6IFdlYkNvcmUvc3ZnL1JhZGlhbEdyYWRpZW50
QXR0cmlidXRlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1JhZGlhbEdyYWRpZW50QXR0
cmlidXRlcy5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1JhZGlhbEdyYWRpZW50
QXR0cmlidXRlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw5ICsyMCw4IEBACiAjaWZuZGVmIFJh
ZGlhbEdyYWRpZW50QXR0cmlidXRlc19oCiAjZGVmaW5lIFJhZGlhbEdyYWRpZW50QXR0cmlidXRl
c19oCiAKLSNpbmNsdWRlICJHcmFkaWVudEF0dHJpYnV0ZXMuaCIKLQogI2lmIEVOQUJMRShTVkcp
CisjaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBzdHJ1Y3QgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIDogR3JhZGllbnRBdHRyaWJ1dGVz
IHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisr
KyBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
NCw3ICs3NCw3IEBAIHZvaWQgU1ZHQ2xpcFBhdGhFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGEKICAg
ICAgICAgU1ZHTGFuZ1NwYWNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAogICAgICAg
ICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1l
KSB8fAogICAgICAgICBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDo6aXNLbm93bkF0dHJp
YnV0ZShhdHRyTmFtZSkpCi0gICAgICAgIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKTsKKyAg
ICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR0NsaXBQYXRo
RWxlbWVudDo6c3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFt
ZSkKQEAgLTk2LDcgKzk2LDkgQEAgdm9pZCBTVkdDbGlwUGF0aEVsZW1lbnQ6OnN5bmNocm9uaXpl
UHJvcAogdm9pZCBTVkdDbGlwUGF0aEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5n
ZWRCeVBhcnNlciwgTm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNo
aWxkQ291bnREZWx0YSkKIHsKICAgICBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDo6Y2hp
bGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwg
Y2hpbGRDb3VudERlbHRhKTsKLSAgICBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisKKyAg
ICBpZiAoIWNoYW5nZWRCeVBhcnNlcikKKyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50
cygpOwogfQogCiBSZW5kZXJPYmplY3QqIFNWR0NsaXBQYXRoRWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdDbGlwUGF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0
aEVsZW1lbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIlNWR1Rl
c3RzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwogY2xhc3MgU1ZHQ2xpcFBhdGhFbGVtZW50
IDogcHVibGljIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHVibGljIFNWR0xhbmdTcGFjZSwKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5z
aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lv
bnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Miw3ICs2Miw3IEBAIHZvaWQgU1ZHRG9jdW1lbnRF
eHRlbnNpb25zOjpyZW1vdmVUaW1lQ28KICAgICBtX3RpbWVDb250YWluZXJzLnJlbW92ZShlbGVt
ZW50KTsKIH0KIAotdm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmFkZFJlc291cmNlKGNvbnN0
IFN0cmluZyYgaWQsIFJlbmRlclNWR1Jlc291cmNlKiByZXNvdXJjZSkKK3ZvaWQgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zOjphZGRSZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lciogcmVzb3VyY2UpCiB7CiAgICAgQVNTRVJUKHJlc291cmNlKTsK
IApAQCAtNzMsNyArNzMsNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6YWRkUmVzb3Vy
Y2UoCiAgICAgbV9yZXNvdXJjZXMuc2V0KGlkLCByZXNvdXJjZSk7CiB9CiAKLXZvaWQgU1ZHRG9j
dW1lbnRFeHRlbnNpb25zOjpyZW1vdmVSZXNvdXJjZShjb25zdCBTdHJpbmcmIGlkKQordm9pZCBT
VkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlbW92ZVJlc291cmNlKGNvbnN0IEF0b21pY1N0cmluZyYg
aWQpCiB7CiAgICAgaWYgKGlkLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtODIsNyAr
ODIsNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVtb3ZlUmVzb3VyCiAgICAgbV9y
ZXNvdXJjZXMucmVtb3ZlKGlkKTsKIH0KIAotUmVuZGVyU1ZHUmVzb3VyY2UqIFNWR0RvY3VtZW50
RXh0ZW5zaW9uczo6cmVzb3VyY2VCeUlkKGNvbnN0IFN0cmluZyYgaWQpIGNvbnN0CitSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lciogU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZXNvdXJjZUJ5SWQo
Y29uc3QgQXRvbWljU3RyaW5nJiBpZCkgY29uc3QKIHsKICAgICBpZiAoaWQuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gMDsKQEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0
ZW5zaW9uczo6YWRkUGVuZGluZ1JlCiAgICAgaWYgKG1fcGVuZGluZ1Jlc291cmNlcy5jb250YWlu
cyhpZCkpCiAgICAgICAgIG1fcGVuZGluZ1Jlc291cmNlcy5nZXQoaWQpLT5hZGQob2JqKTsKICAg
ICBlbHNlIHsKLSAgICAgICAgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4qIHNldCA9IG5ldyBI
YXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPigpOworICAgICAgICBIYXNoU2V0PFNWR1N0eWxlZEVs
ZW1lbnQqPiogc2V0ID0gbmV3IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+OwogICAgICAgICBz
ZXQtPmFkZChvYmopOwogCiAgICAgICAgIG1fcGVuZGluZ1Jlc291cmNlcy5hZGQoaWQsIHNldCk7
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAkocmV2aXNpb24gNTgxNTkpCisr
KyBXZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAkod29ya2luZyBjb3B5KQpAQCAt
MjQsMTggKzI0LDE2IEBACiAjZGVmaW5lIFNWR0RvY3VtZW50RXh0ZW5zaW9uc19oCiAKICNpZiBF
TkFCTEUoU1ZHKQotCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0KLSNpbmNsdWRlICJTdHJpbmdI
YXNoLmgiCisjaW5jbHVkZSAiQXRvbWljU3RyaW5nSGFzaC5oIgogI2luY2x1ZGUgIlN0cmluZ0lt
cGwuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBEb2N1bWVudDsKLWNsYXNzIFJlbmRlclNWR1Jlc291cmNlOworY2xhc3MgUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTdHJpbmc7CiBjbGFzcyBTVkdTdHlsZWRFbGVtZW50
OwogY2xhc3MgU1ZHU01JTEVsZW1lbnQ7CkBAIC00OSw5ICs0Nyw5IEBAIHB1YmxpYzoKICAgICB2
b2lkIGFkZFRpbWVDb250YWluZXIoU1ZHU1ZHRWxlbWVudCopOwogICAgIHZvaWQgcmVtb3ZlVGlt
ZUNvbnRhaW5lcihTVkdTVkdFbGVtZW50Kik7CiAKLSAgICB2b2lkIGFkZFJlc291cmNlKGNvbnN0
IFN0cmluZyYgaWQsIFJlbmRlclNWR1Jlc291cmNlKik7Ci0gICAgdm9pZCByZW1vdmVSZXNvdXJj
ZShjb25zdCBTdHJpbmcmIGlkKTsKLSAgICBSZW5kZXJTVkdSZXNvdXJjZSogcmVzb3VyY2VCeUlk
KGNvbnN0IFN0cmluZyYgaWQpIGNvbnN0OworICAgIHZvaWQgYWRkUmVzb3VyY2UoY29uc3QgQXRv
bWljU3RyaW5nJiBpZCwgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqKTsKKyAgICB2b2lkIHJl
bW92ZVJlc291cmNlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQpOworICAgIFJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyKiByZXNvdXJjZUJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJiBpZCkgY29uc3Q7
CiAKICAgICB2b2lkIHN0YXJ0QW5pbWF0aW9ucygpOwogICAgIHZvaWQgcGF1c2VBbmltYXRpb25z
KCk7CkBAIC02NCw4ICs2Miw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRG9jdW1lbnQqIG1f
ZG9jOyAvLyB3ZWFrIHJlZmVyZW5jZQogICAgIEhhc2hTZXQ8U1ZHU1ZHRWxlbWVudCo+IG1fdGlt
ZUNvbnRhaW5lcnM7IC8vIEZvciBTVkcgMS4yIHN1cHBvcnQgdGhpcyB3aWxsIG5lZWQgdG8gYmUg
bWFkZSBtb3JlIGdlbmVyYWwuCi0gICAgSGFzaE1hcDxTdHJpbmcsIFJlbmRlclNWR1Jlc291cmNl
Kj4gbV9yZXNvdXJjZXM7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIEhhc2hTZXQ8U1ZHU3R5bGVkRWxl
bWVudCo+Kj4gbV9wZW5kaW5nUmVzb3VyY2VzOworICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBS
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcio+IG1fcmVzb3VyY2VzOworICAgIEhhc2hNYXA8QXRv
bWljU3RyaW5nLCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPio+IG1fcGVuZGluZ1Jlc291cmNl
czsKIAogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhjb25zdCBTVkdEb2N1bWVudEV4dGVuc2lv
bnMmKTsKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMmIG9wZXJhdG9yPShjb25zdCBTVkdEb2N1
bWVudEV4dGVuc2lvbnMmKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysr
IFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw2
IEBACiAjaW5jbHVkZSAiU1ZHRWxlbWVudEluc3RhbmNlLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVu
dFJhcmVEYXRhLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRlICJTVkdSZXNvdXJj
ZS5oIgogI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdVUklSZWZlcmVu
Y2UuaCIKICNpbmNsdWRlICJTVkdVc2VFbGVtZW50LmgiCkBAIC0yOTIsOCArMjkxLDYgQEAgdm9p
ZCBTVkdFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCiAKICAgICAgICAgZm9yICg7IGl0
ICE9IGVuZDsgKytpdCkKICAgICAgICAgICAgICgqaXQpLT5idWlsZFBlbmRpbmdSZXNvdXJjZSgp
OwotCi0gICAgICAgIFNWR1Jlc291cmNlOjppbnZhbGlkYXRlQ2xpZW50cygqY2xpZW50cyk7CiAg
ICAgfQogfQogCkBAIC0zMDksOSArMzA2LDcgQEAgdm9pZCBTVkdFbGVtZW50OjphdHRyaWJ1dGVD
aGFuZ2VkKEF0dHJpYgogCiB2b2lkIFNWR0VsZW1lbnQ6OnVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKCFtX2Fy
ZVNWR0F0dHJpYnV0ZXNWYWxpZCk7Ci0KLSAgICBpZiAobV9zeW5jaHJvbml6aW5nU1ZHQXR0cmli
dXRlcykKKyAgICBpZiAobV9zeW5jaHJvbml6aW5nU1ZHQXR0cmlidXRlcyB8fCBtX2FyZVNWR0F0
dHJpYnV0ZXNWYWxpZCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9zeW5jaHJvbml6aW5nU1ZH
QXR0cmlidXRlcyA9IHRydWU7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdl
YkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzksMTMgKzc5LDE0IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRDdXJzb3JFbGVtZW50KFNWR0N1
cnNvckVsZW1lbnQqKTsKICAgICAgICAgdm9pZCBzZXRDdXJzb3JJbWFnZVZhbHVlKENTU0N1cnNv
ckltYWdlVmFsdWUqKTsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQW5pbWF0ZWRTVkdB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OworCiAgICAgcHJvdGVjdGVkOgog
ICAgICAgICBTVkdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKICAgICAgICAgdmly
dHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50KCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBh
dHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSosIGJvb2wgcHJlc2VydmVEZWNscyA9IGZhbHNlKTsK
LSAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmKSBjb25zdDsKIAogICAgICAgICBTVkdFbGVtZW50UmFyZURhdGEqIHJhcmVT
VkdEYXRhKCkgY29uc3Q7CiAgICAgICAgIFNWR0VsZW1lbnRSYXJlRGF0YSogZW5zdXJlUmFyZVNW
R0RhdGEoKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NW
R0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzAsMjAgKzQ3MCwyMCBAQCB2b2lkIEZvbnQ6
OmRyYXdUZXh0VXNpbmdTVkdGb250KEdyYXBoaWNzCiAgICAgICAgIEZsb2F0UG9pbnQgY3VycmVu
dFBvaW50ID0gcG9pbnQ7CiAgICAgICAgIGZsb2F0IHNjYWxlID0gY29udmVydEVtVW5pdFRvUGl4
ZWwoc2l6ZSgpLCBmb250RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKSwgMS4wZik7CiAKLSAgICAg
ICAgU1ZHUGFpbnRTZXJ2ZXIqIGFjdGl2ZVBhaW50U2VydmVyID0gcnVuLmFjdGl2ZVBhaW50U2Vy
dmVyKCk7CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlKiBhY3RpdmVQYWludGluZ1Jlc291cmNl
ID0gcnVuLmFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoKTsKIAogICAgICAgICAvLyBJZiByZW5kZXJP
YmplY3QgaXMgbm90IHNldCwgd2UncmUgZGVhbGluZyBmb3IgSFRNTCB0ZXh0IHJlbmRlcmVkIHVz
aW5nIFNWRyBGb250cy4KICAgICAgICAgaWYgKCFydW4ucmVmZXJlbmNpbmdSZW5kZXJPYmplY3Qo
KSkgewotICAgICAgICAgICAgQVNTRVJUKCFhY3RpdmVQYWludFNlcnZlcik7CisgICAgICAgICAg
ICBBU1NFUlQoIWFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOwogCiAgICAgICAgICAgICAvLyBUT0RP
OiBXZSdyZSBvbmx5IHN1cHBvcnRpbmcgc2ltcGxlIGZpbGxlZCBIVE1MIHRleHQgc28gZmFyLgot
ICAgICAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCogc29saWRQYWludFNlcnZlciA9IFNWR1Bh
aW50U2VydmVyOjpzaGFyZWRTb2xpZFBhaW50U2VydmVyKCk7Ci0gICAgICAgICAgICBzb2xpZFBh
aW50U2VydmVyLT5zZXRDb2xvcihjb250ZXh0LT5maWxsQ29sb3IoKSk7CisgICAgICAgICAgICBS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNvbGlkUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRl
clNWR1Jlc291cmNlOjpzaGFyZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UoKTsKKyAgICAgICAgICAg
IHNvbGlkUGFpbnRpbmdSZXNvdXJjZS0+c2V0Q29sb3IoY29udGV4dC0+ZmlsbENvbG9yKCkpOwog
Ci0gICAgICAgICAgICBhY3RpdmVQYWludFNlcnZlciA9IHNvbGlkUGFpbnRTZXJ2ZXI7CisgICAg
ICAgICAgICBhY3RpdmVQYWludGluZ1Jlc291cmNlID0gc29saWRQYWludGluZ1Jlc291cmNlOwog
ICAgICAgICB9CiAKLSAgICAgICAgQVNTRVJUKGFjdGl2ZVBhaW50U2VydmVyKTsKKyAgICAgICAg
QVNTRVJUKGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOwogCiAgICAgICAgIGludCBjaGFyc0NvbnN1
bWVkOwogICAgICAgICBTdHJpbmcgZ2x5cGhOYW1lOwpAQCAtNTEyLDcgKzUxMiw3IEBAIHZvaWQg
Rm9udDo6ZHJhd1RleHRVc2luZ1NWR0ZvbnQoR3JhcGhpY3MKICAgICAgICAgU1ZHVGV4dFJ1bldh
bGtlcjxTVkdUZXh0UnVuV2Fsa2VyRHJhd1RleHREYXRhPiBydW5XYWxrZXIoZm9udERhdGEsIGZv
bnRFbGVtZW50LCBkYXRhLCBkcmF3VGV4dFVzaW5nU1ZHRm9udENhbGxiYWNrLCBkcmF3VGV4dE1p
c3NpbmdHbHlwaENhbGxiYWNrKTsKICAgICAgICAgcnVuV2Fsa2VyLndhbGsocnVuLCBpc1ZlcnRp
Y2FsVGV4dCwgbGFuZ3VhZ2UsIGZyb20sIHRvKTsKIAotICAgICAgICBTVkdQYWludFRhcmdldFR5
cGUgdGFyZ2V0VHlwZSA9IGNvbnRleHQtPnRleHREcmF3aW5nTW9kZSgpID09IGNUZXh0U3Ryb2tl
ID8gQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUgOiBBcHBseVRvRmlsbFRhcmdldFR5cGU7CisgICAg
ICAgIFJlbmRlclNWR1Jlc291cmNlTW9kZSByZXNvdXJjZU1vZGUgPSBjb250ZXh0LT50ZXh0RHJh
d2luZ01vZGUoKSA9PSBjVGV4dFN0cm9rZSA/IEFwcGx5VG9TdHJva2VNb2RlIDogQXBwbHlUb0Zp
bGxNb2RlOwogCiAgICAgICAgIHVuc2lnbmVkIG51bUdseXBocyA9IGRhdGEuZ2x5cGhJZGVudGlm
aWVycy5zaXplKCk7CiAgICAgICAgIHVuc2lnbmVkIGZhbGxiYWNrQ2hhcmFjdGVySW5kZXggPSAw
OwpAQCAtNTM3LDEwICs1MzcsMTAgQEAgdm9pZCBGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udChH
cmFwaGljcwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmJlZ2luUGF0aCgpOwogICAg
ICAgICAgICAgICAgICAgICBjb250ZXh0LT5hZGRQYXRoKGdseXBoUGF0aCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChhY3RpdmVQYWludFNlcnZlci0+c2V0dXAoY29udGV4dCwgcnVuLnJlZmVy
ZW5jaW5nUmVuZGVyT2JqZWN0KCksIHRhcmdldFR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBhY3RpdmVQYWludFNlcnZlci0+cmVuZGVyUGF0aChjb250ZXh0LCBydW4ucmVmZXJlbmNp
bmdSZW5kZXJPYmplY3QoKSwgdGFyZ2V0VHlwZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBh
Y3RpdmVQYWludFNlcnZlci0+dGVhcmRvd24oY29udGV4dCwgcnVuLnJlZmVyZW5jaW5nUmVuZGVy
T2JqZWN0KCksIHRhcmdldFR5cGUpOwotICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gcnVuLnJlZmVyZW5jaW5nUmVuZGVyT2Jq
ZWN0KCkgPyBydW4ucmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoKS0+c3R5bGUoKSA6IDA7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChhY3RpdmVQYWludGluZ1Jlc291cmNlLT5hcHBseVJlc291cmNl
KHJ1bi5yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgpLCBzdHlsZSwgY29udGV4dCwgcmVzb3VyY2VN
b2RlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UtPnBv
c3RBcHBseVJlc291cmNlKHJ1bi5yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgpLCBjb250ZXh0LCBy
ZXNvdXJjZU1vZGUpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnJlc3RvcmUoKTsK
ICAgICAgICAgICAgICAgICB9CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkK
KysrIFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiAr
MjMsNyBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHR0VsZW1lbnQuaCIKIAorI2lu
Y2x1ZGUgIlJlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Ry
YW5zZm9ybWFibGVDb250YWluZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzksMTYg
KzgwLDE1IEBAIHZvaWQgU1ZHR0VsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY28KICAgICAg
ICAgc3luY2hyb25pemVFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCk7CiB9CiAKLXZvaWQgU1ZH
R0VsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwgTm9kZSogYmVm
b3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSkKK1JlbmRl
ck9iamVjdCogU1ZHR0VsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwg
UmVuZGVyU3R5bGUqIHN0eWxlKQogewotICAgIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hh
bmdlLCBjaGlsZENvdW50RGVsdGEpOworICAgIC8vIFNWRyAxLjEgdGVzdHN1aXRlIGV4cGxpY2l0
ZWx5IHVzZXMgY29uc3RydWN0cyBsaWtlIDxnIGRpc3BsYXk9Im5vbmUiPjxsaW5lYXJHcmFkaWVu
dD4KKyAgICAvLyBXZSBzdGlsbCBoYXZlIHRvIGNyZWF0ZSByZW5kZXJlcnMgZm9yIHRoZSA8Zz4g
JiA8bGluZWFyR3JhZGllbnQ+IGVsZW1lbnQsIHRob3VnaCB0aGUKKyAgICAvLyBzdWJ0cmVlIG1h
eSBiZSBoaWRkZW4gLSB3ZSBvbmx5IHdhbnQgdGhlIHJlc291cmNlIHJlbmRlcmVycyB0byBleGlz
dCBzbyB0aGV5IGNhbiBiZQorICAgIC8vIHJlZmVyZW5jZWQgZnJvbSBzb21ld2hlcmUgZWxzZS4K
KyAgICBpZiAoc3R5bGUtPmRpc3BsYXkoKSA9PSBOT05FKQorICAgICAgICByZXR1cm4gbmV3IChh
cmVuYSkgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyKHRoaXMpOwogCi0gICAgaWYgKHJlbmRlcmVy
KCkpCi0gICAgICAgIHJlbmRlcmVyKCktPnNldE5lZWRzTGF5b3V0KHRydWUpOwotfQotCi1SZW5k
ZXJPYmplY3QqIFNWR0dFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEs
IFJlbmRlclN0eWxlKikKLXsKICAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyU1ZHVHJhbnNm
b3JtYWJsZUNvbnRhaW5lcih0aGlzKTsKIH0KIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHR0VsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCShyZXZpc2lvbiA1
ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQz
LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFy
c2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAgICAgICAgdmly
dHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotICAg
ICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0g
ZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50
IGNoaWxkQ291bnREZWx0YSA9IDApOwogCisgICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklz
TmVlZGVkKFJlbmRlclN0eWxlKikgeyByZXR1cm4gdHJ1ZTsgfQogICAgICAgICB2aXJ0dWFsIFJl
bmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwog
CiAgICAgcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAkocmV2aXNp
b24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogLyoKICAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYsIDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAg
ICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5v
cmc+CisgICAgQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC04NCwxNiArODUsMTMg
QEAgdm9pZCBTVkdHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYQogewogICAgIFNWR1N0
eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwogCi0gICAgaWYgKCFt
X3Jlc291cmNlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFt
ZXM6OmdyYWRpZW50VW5pdHNBdHRyIHx8Ci0gICAgICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjpn
cmFkaWVudFRyYW5zZm9ybUF0dHIgfHwKLSAgICAgICAgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnNw
cmVhZE1ldGhvZEF0dHIgfHwKLSAgICAgICAgU1ZHVVJJUmVmZXJlbmNlOjppc0tub3duQXR0cmli
dXRlKGF0dHJOYW1lKSB8fAotICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpp
c0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAotICAgICAgICBTVkdTdHlsZWRFbGVtZW50Ojpp
c0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkKLSAgICAgICAgbV9yZXNvdXJjZS0+aW52YWxpZGF0
ZSgpOworICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIKKyAg
ICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmdyYWRpZW50VHJhbnNmb3JtQXR0cgorICAg
ICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0cgorICAgICAgICB8
fCBTVkdVUklSZWZlcmVuY2U6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpCisgICAgICAgIHx8
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUp
CisgICAgICAgIHx8IFNWR1N0eWxlZEVsZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUp
KQorICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZHR3Jh
ZGllbnRFbGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0
dHJOYW1lKQpAQCAtMTI1LDYxICsxMjMsMzQgQEAgdm9pZCBTVkdHcmFkaWVudEVsZW1lbnQ6OmNo
aWxkcmVuQ2hhbmdlZAogewogICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChj
aGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0
YSk7CiAKLSAgICBpZiAobV9yZXNvdXJjZSkKLSAgICAgICAgbV9yZXNvdXJjZS0+aW52YWxpZGF0
ZSgpOwotfQotCi1SZW5kZXJPYmplY3QqIFNWR0dyYWRpZW50RWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCi17Ci0gICAgcmV0dXJuIG5ldyAo
YXJlbmEpIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcih0aGlzKTsKLX0KLQotU1ZHUmVzb3VyY2Uq
IFNWR0dyYWRpZW50RWxlbWVudDo6Y2FudmFzUmVzb3VyY2UoY29uc3QgUmVuZGVyT2JqZWN0KikK
LXsKLSAgICBpZiAoIW1fcmVzb3VyY2UpIHsKLSAgICAgICAgaWYgKGdyYWRpZW50VHlwZSgpID09
IExpbmVhckdyYWRpZW50UGFpbnRTZXJ2ZXIpCi0gICAgICAgICAgICBtX3Jlc291cmNlID0gU1ZH
UGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6Y3JlYXRlKHRoaXMpOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBtX3Jlc291cmNlID0gU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6Y3Jl
YXRlKHRoaXMpOwotICAgIH0KLQotICAgIHJldHVybiBtX3Jlc291cmNlLmdldCgpOworICAgIGlm
ICghY2hhbmdlZEJ5UGFyc2VyKQorICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7
CiB9CiAKLVZlY3RvcjxTVkdHcmFkaWVudFN0b3A+IFNWR0dyYWRpZW50RWxlbWVudDo6YnVpbGRT
dG9wcygpIGNvbnN0CitWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4gU1ZHR3JhZGllbnRFbGVt
ZW50OjpidWlsZFN0b3BzKCkKIHsKLSAgICBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiBzdG9wczsK
LSAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IGdyYWRpZW50U3R5bGU7CisgICAgVmVjdG9yPEdyYWRp
ZW50OjpDb2xvclN0b3A+IHN0b3BzOwogCisgICAgZmxvYXQgcHJldmlvdXNPZmZzZXQgPSAwLjBm
OwogICAgIGZvciAoTm9kZSogbiA9IGZpcnN0Q2hpbGQoKTsgbjsgbiA9IG4tPm5leHRTaWJsaW5n
KCkpIHsKICAgICAgICAgU1ZHRWxlbWVudCogZWxlbWVudCA9IG4tPmlzU1ZHRWxlbWVudCgpID8g
c3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG4pIDogMDsKKyAgICAgICAgaWYgKCFlbGVtZW50IHx8
ICFlbGVtZW50LT5pc0dyYWRpZW50U3RvcCgpKQorICAgICAgICAgICAgY29udGludWU7CiAKLSAg
ICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aXNHcmFkaWVudFN0b3AoKSkgewotICAgICAg
ICAgICAgU1ZHU3RvcEVsZW1lbnQqIHN0b3AgPSBzdGF0aWNfY2FzdDxTVkdTdG9wRWxlbWVudCo+
KGVsZW1lbnQpOwotICAgICAgICAgICAgZmxvYXQgc3RvcE9mZnNldCA9IHN0b3AtPm9mZnNldCgp
OwotCi0gICAgICAgICAgICBDb2xvciBjb2xvcjsKLSAgICAgICAgICAgIGZsb2F0IG9wYWNpdHk7
Ci0KLSAgICAgICAgICAgIGlmIChzdG9wLT5yZW5kZXJlcigpKSB7Ci0gICAgICAgICAgICAgICAg
UmVuZGVyU3R5bGUqIHN0b3BTdHlsZSA9IHN0b3AtPnJlbmRlcmVyKCktPnN0eWxlKCk7Ci0gICAg
ICAgICAgICAgICAgY29sb3IgPSBzdG9wU3R5bGUtPnN2Z1N0eWxlKCktPnN0b3BDb2xvcigpOwot
ICAgICAgICAgICAgICAgIG9wYWNpdHkgPSBzdG9wU3R5bGUtPnN2Z1N0eWxlKCktPnN0b3BPcGFj
aXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIElmIHRoZXJl
IGlzIG5vIHJlbmRlcmVyIGZvciB0aGlzIHN0b3AgZWxlbWVudCwgdGhlbiBhIHBhcmVudCBlbGVt
ZW50Ci0gICAgICAgICAgICAgICAgLy8gc2V0IGRpc3BsYXk9Im5vbmUiIC0gaWUuIDxnIGRpc3Bs
YXk9Im5vbmUiPjxsaW5lYXJHcmFkaWVudD48c3RvcD4uLgotICAgICAgICAgICAgICAgIC8vIFVu
Zm9ydHVuYXRlbHkgd2UgaGF2ZSB0byBtYW51YWxseSByZWJ1aWxkIHRoZSBzdG9wIHN0eWxlLiBT
ZWUgcHNlcnZlcnMtZ3JhZC0xOS1iLnN2ZwotICAgICAgICAgICAgICAgIGlmICghZ3JhZGllbnRT
dHlsZSkKLSAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRTdHlsZSA9IGNvbnN0X2Nhc3Q8U1ZH
R3JhZGllbnRFbGVtZW50Kj4odGhpcyktPnN0eWxlRm9yUmVuZGVyZXIoKTsKLQotICAgICAgICAg
ICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gc3RvcFN0eWxlID0gc3RvcC0+cmVzb2x2ZVN0eWxl
KGdyYWRpZW50U3R5bGUuZ2V0KCkpOwotCi0gICAgICAgICAgICAgICAgY29sb3IgPSBzdG9wU3R5
bGUtPnN2Z1N0eWxlKCktPnN0b3BDb2xvcigpOwotICAgICAgICAgICAgICAgIG9wYWNpdHkgPSBz
dG9wU3R5bGUtPnN2Z1N0eWxlKCktPnN0b3BPcGFjaXR5KCk7Ci0gICAgICAgICAgICB9CisgICAg
ICAgIFNWR1N0b3BFbGVtZW50KiBzdG9wID0gc3RhdGljX2Nhc3Q8U1ZHU3RvcEVsZW1lbnQqPihl
bGVtZW50KTsKKyAgICAgICAgQ29sb3IgY29sb3IgPSBzdG9wLT5zdG9wQ29sb3JJbmNsdWRpbmdP
cGFjaXR5KCk7CiAKLSAgICAgICAgICAgIHN0b3BzLmFwcGVuZChtYWtlR3JhZGllbnRTdG9wKHN0
b3BPZmZzZXQsIG1ha2VSR0JBKGNvbG9yLnJlZCgpLCBjb2xvci5ncmVlbigpLCBjb2xvci5ibHVl
KCksIGludChvcGFjaXR5ICogMjU1LikpKSk7Ci0gICAgICAgIH0KKyAgICAgICAgLy8gRmlndXJl
IG91dCByaWdodCBtb25vdG9uaWMgb2Zmc2V0CisgICAgICAgIGZsb2F0IG9mZnNldCA9IHN0b3At
Pm9mZnNldCgpOworICAgICAgICBvZmZzZXQgPSBzdGQ6Om1pbihzdGQ6Om1heChwcmV2aW91c09m
ZnNldCwgb2Zmc2V0KSwgMS4wZik7CisgICAgICAgIHByZXZpb3VzT2Zmc2V0ID0gb2Zmc2V0Owor
CisgICAgICAgIC8vIEV4dHJhY3QgaW5kaXZpZHVhbCBjaGFubmVsIHZhbHVlcworICAgICAgICAv
LyBGSVhNRTogV2h5IGRvZXNuJ3QgQ29sb3JTdG9wIHRha2UgYSBDb2xvciBhbmQgYW4gb2Zmc2V0
Pz8KKyAgICAgICAgZmxvYXQgciwgZywgYiwgYTsKKyAgICAgICAgY29sb3IuZ2V0UkdCQShyLCBn
LCBiLCBhKTsKKworICAgICAgICBzdG9wcy5hcHBlbmQoR3JhZGllbnQ6OkNvbG9yU3RvcChvZmZz
ZXQsIHIsIGcsIGIsIGEpKTsKICAgICB9CiAKICAgICByZXR1cm4gc3RvcHM7CkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdHcmFkaWVudEVsZW1lbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdH
cmFkaWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsNyBAQAogI2RlZmlu
ZSBTVkdHcmFkaWVudEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJSZW5k
ZXJPYmplY3QuaCIKLSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgiCisjaW5j
bHVkZSAiR3JhZGllbnQuaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1RyYW5zZm9y
bUxpc3QuaCIKQEAgLTQzLDIwICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwog
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJz
ZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAw
LCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7Ci0gICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0
KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKLSAgICAgICAg
dmlydHVhbCBTVkdSZXNvdXJjZSogY2FudmFzUmVzb3VyY2UoY29uc3QgUmVuZGVyT2JqZWN0Kik7
Ci0KLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIGZyaWVuZCBjbGFzcyBTVkdQYWludFNlcnZlckdy
YWRpZW50OwotICAgICAgICBmcmllbmQgY2xhc3MgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Owot
ICAgICAgICBmcmllbmQgY2xhc3MgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OwotCi0gICAgICAg
IHZpcnR1YWwgdm9pZCBidWlsZEdyYWRpZW50KCkgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFs
IFNWR1BhaW50U2VydmVyVHlwZSBncmFkaWVudFR5cGUoKSBjb25zdCA9IDA7Ci0KLSAgICAgICAg
VmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gYnVpbGRTdG9wcygpIGNvbnN0OwotICAgICAgICBtdXRh
YmxlIFJlZlB0cjxTVkdQYWludFNlcnZlckdyYWRpZW50PiBtX3Jlc291cmNlOworICAgICAgICBW
ZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4gYnVpbGRTdG9wcygpOwogIAogICAgIHByb3RlY3Rl
ZDoKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdHcmFkaWVudEVsZW1lbnQs
IFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyLCBpbnQsIFNwcmVhZE1ldGhvZCwgc3ByZWFkTWV0
aG9kKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZp
c2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiAgICAgICAgICAgICAgICAgICAyMDA0LCAy
MDA1LCAyMDA2LCAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAg
ICAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgICAgICAgICAgICAgICAgICAy
MDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICAgIENvcHlyaWdodCAoQykgUmVz
ZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogICAg
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKICAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwpAQCAtNzAsMTIgKzcxLDExIEBAIHZvaWQgU1ZHTGluZWFyR3JhZGllbnRF
bGVtZW50OjpzdmdBdHRyaWIKIHsKICAgICBTVkdHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJpYnV0
ZUNoYW5nZWQoYXR0ck5hbWUpOwogCi0gICAgaWYgKCFtX3Jlc291cmNlKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OngxQXR0ciB8fCBhdHRyTmFtZSA9
PSBTVkdOYW1lczo6eTFBdHRyIHx8Ci0gICAgICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjp4MkF0
dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnkyQXR0cikKLSAgICAgICAgbV9yZXNvdXJjZS0+
aW52YWxpZGF0ZSgpOworICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6eDFBdHRyCisgICAg
ICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp5MUF0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUg
PT0gU1ZHTmFtZXM6OngyQXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eTJB
dHRyKQorICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZH
TGluZWFyR3JhZGllbnRFbGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lKQpAQCAtMTAwLDU2ICsxMDAsMTggQEAgdm9pZCBTVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQ6OnN5bmNocm9uaQogICAgICAgICBzeW5jaHJvbml6ZVkyKCk7CiB9CiAKLXZv
aWQgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpidWlsZEdyYWRpZW50KCkgY29uc3QKK1JlbmRl
ck9iamVjdCogU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJB
cmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKIHsKLSAgICBMaW5lYXJHcmFkaWVudEF0dHJpYnV0
ZXMgYXR0cmlidXRlcyA9IGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKTsKLQotICAgIFJlZlB0
cjxTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50PiBsaW5lYXJHcmFkaWVudCA9IFdURjo6c3Rh
dGljX3BvaW50ZXJfY2FzdDxTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50PihtX3Jlc291cmNl
KTsKLQotICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludDsKLSAgICBGbG9hdFBvaW50IGVuZFBvaW50
OwotICAgIGlmIChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKSB7Ci0gICAgICAgIHN0YXJ0
UG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMueDEoKS52YWx1ZUFzUGVyY2VudGFnZSgpLCBh
dHRyaWJ1dGVzLnkxKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSk7Ci0gICAgICAgIGVuZFBvaW50ID0g
RmxvYXRQb2ludChhdHRyaWJ1dGVzLngyKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwgYXR0cmlidXRl
cy55MigpLnZhbHVlQXNQZXJjZW50YWdlKCkpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHN0YXJ0
UG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMueDEoKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRl
cy55MSgpLnZhbHVlKHRoaXMpKTsKLSAgICAgICAgZW5kUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJp
YnV0ZXMueDIoKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRlcy55MigpLnZhbHVlKHRoaXMpKTsKLSAg
ICB9Ci0KLSAgICBSZWZQdHI8R3JhZGllbnQ+IGdyYWRpZW50ID0gR3JhZGllbnQ6OmNyZWF0ZShz
dGFydFBvaW50LCBlbmRQb2ludCk7Ci0gICAgZ3JhZGllbnQtPnNldFNwcmVhZE1ldGhvZChhdHRy
aWJ1dGVzLnNwcmVhZE1ldGhvZCgpKTsKLQotICAgIFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+IG1f
c3RvcHMgPSBhdHRyaWJ1dGVzLnN0b3BzKCk7Ci0gICAgZmxvYXQgcHJldmlvdXNPZmZzZXQgPSAw
LjBmOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3N0b3BzLnNpemUoKTsgKytpKSB7
Ci0gICAgICAgIGZsb2F0IG9mZnNldCA9IHN0ZDo6bWluKHN0ZDo6bWF4KHByZXZpb3VzT2Zmc2V0
LCBtX3N0b3BzW2ldLmZpcnN0KSwgMS4wZik7Ci0gICAgICAgIHByZXZpb3VzT2Zmc2V0ID0gb2Zm
c2V0OwotICAgICAgICBncmFkaWVudC0+YWRkQ29sb3JTdG9wKG9mZnNldCwgbV9zdG9wc1tpXS5z
ZWNvbmQpOwotICAgIH0KLQotICAgIGxpbmVhckdyYWRpZW50LT5zZXRHcmFkaWVudChncmFkaWVu
dCk7Ci0KLSAgICBpZiAoYXR0cmlidXRlcy5zdG9wcygpLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgLy8gVGhpcyBjb2RlIHNob3VsZCBnbyBhd2F5LiAgUGFpbnRTZXJ2ZXJzIHNo
b3VsZCBnbyBhd2F5IHRvby4KLSAgICAvLyBPbmx5IHRoaXMgY29kZSBzaG91bGQgY2FyZSBhYm91
dCBib3VuZGluZyBib3hlcwotICAgIGxpbmVhckdyYWRpZW50LT5zZXRCb3VuZGluZ0JveE1vZGUo
YXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKSk7Ci0gICAgbGluZWFyR3JhZGllbnQtPnNldEdy
YWRpZW50U3RvcHMoYXR0cmlidXRlcy5zdG9wcygpKTsKLQotICAgIC8vIFRoZXNlIHNob3VsZCBw
b3NzaWJseSBiZSBzdXBwb3J0ZWQgb24gR3JhZGllbnQKLSAgICBsaW5lYXJHcmFkaWVudC0+c2V0
R3JhZGllbnRUcmFuc2Zvcm0oYXR0cmlidXRlcy5ncmFkaWVudFRyYW5zZm9ybSgpKTsKLSAgICBs
aW5lYXJHcmFkaWVudC0+c2V0R3JhZGllbnRTdGFydChzdGFydFBvaW50KTsKLSAgICBsaW5lYXJH
cmFkaWVudC0+c2V0R3JhZGllbnRFbmQoZW5kUG9pbnQpOworICAgIHJldHVybiBuZXcgKGFyZW5h
KSBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KHRoaXMpOwogfQogCi1MaW5lYXJHcmFk
aWVudEF0dHJpYnV0ZXMgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQ
cm9wZXJ0aWVzKCkgY29uc3QKK0xpbmVhckdyYWRpZW50QXR0cmlidXRlcyBTVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQ6OmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKQogewogICAgIExpbmVhckdy
YWRpZW50QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwotICAgIEhhc2hTZXQ8Y29uc3QgU1ZHR3JhZGll
bnRFbGVtZW50Kj4gcHJvY2Vzc2VkR3JhZGllbnRzOworICAgIEhhc2hTZXQ8U1ZHR3JhZGllbnRF
bGVtZW50Kj4gcHJvY2Vzc2VkR3JhZGllbnRzOwogCiAgICAgYm9vbCBpc0xpbmVhciA9IHRydWU7
Ci0gICAgY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBjdXJyZW50ID0gdGhpczsKKyAgICBTVkdH
cmFkaWVudEVsZW1lbnQqIGN1cnJlbnQgPSB0aGlzOwogCiAgICAgd2hpbGUgKGN1cnJlbnQpIHsK
ICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc1NwcmVhZE1ldGhvZCgpICYmIGN1cnJlbnQtPmhh
c0F0dHJpYnV0ZShTVkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0cikpCkBAIC0xNjIsMTMgKzEyNCwx
MyBAQCBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgU1ZHTGluZWFyR3JhZGllCiAgICAgICAgICAg
ICBhdHRyaWJ1dGVzLnNldEdyYWRpZW50VHJhbnNmb3JtKGN1cnJlbnQtPmdyYWRpZW50VHJhbnNm
b3JtKCktPmNvbnNvbGlkYXRlKCkubWF0cml4KCkpOwogCiAgICAgICAgIGlmICghYXR0cmlidXRl
cy5oYXNTdG9wcygpKSB7Ci0gICAgICAgICAgICBjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9w
PiYgc3RvcHMoY3VycmVudC0+YnVpbGRTdG9wcygpKTsKKyAgICAgICAgICAgIGNvbnN0IFZlY3Rv
cjxHcmFkaWVudDo6Q29sb3JTdG9wPiYgc3RvcHMoY3VycmVudC0+YnVpbGRTdG9wcygpKTsKICAg
ICAgICAgICAgIGlmICghc3RvcHMuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZXMuc2V0U3RvcHMoc3RvcHMpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGlzTGluZWFyKSB7
Ci0gICAgICAgICAgICBjb25zdCBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqIGxpbmVhciA9IHN0
YXRpY19jYXN0PGNvbnN0IFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCo+KGN1cnJlbnQpOworICAg
ICAgICAgICAgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KiBsaW5lYXIgPSBzdGF0aWNfY2FzdDxT
VkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqPihjdXJyZW50KTsKIAogICAgICAgICAgICAgaWYgKCFh
dHRyaWJ1dGVzLmhhc1gxKCkgJiYgY3VycmVudC0+aGFzQXR0cmlidXRlKFNWR05hbWVzOjp4MUF0
dHIpKQogICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuc2V0WDEobGluZWFyLT54MSgpKTsKQEAg
LTE4OCwxMyArMTUwLDEzIEBAIExpbmVhckdyYWRpZW50QXR0cmlidXRlcyBTVkdMaW5lYXJHcmFk
aWUKICAgICAgICAgLy8gUmVzcGVjdCB4bGluazpocmVmLCB0YWtlIGF0dHJpYnV0ZXMgZnJvbSBy
ZWZlcmVuY2VkIGVsZW1lbnQKICAgICAgICAgTm9kZSogcmVmTm9kZSA9IG93bmVyRG9jdW1lbnQo
KS0+Z2V0RWxlbWVudEJ5SWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoY3VycmVudC0+aHJl
ZigpKSk7CiAgICAgICAgIGlmIChyZWZOb2RlICYmIChyZWZOb2RlLT5oYXNUYWdOYW1lKFNWR05h
bWVzOjpsaW5lYXJHcmFkaWVudFRhZykgfHwgcmVmTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6
cmFkaWFsR3JhZGllbnRUYWcpKSkgewotICAgICAgICAgICAgY3VycmVudCA9IHN0YXRpY19jYXN0
PGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCo+KGNvbnN0X2Nhc3Q8Y29uc3QgTm9kZSo+KHJlZk5v
ZGUpKTsKKyAgICAgICAgICAgIGN1cnJlbnQgPSBzdGF0aWNfY2FzdDxTVkdHcmFkaWVudEVsZW1l
bnQqPihyZWZOb2RlKTsKIAogICAgICAgICAgICAgLy8gQ3ljbGUgZGV0ZWN0aW9uCiAgICAgICAg
ICAgICBpZiAocHJvY2Vzc2VkR3JhZGllbnRzLmNvbnRhaW5zKGN1cnJlbnQpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMoKTsKIAotICAgICAgICAgICAg
aXNMaW5lYXIgPSBjdXJyZW50LT5ncmFkaWVudFR5cGUoKSA9PSBMaW5lYXJHcmFkaWVudFBhaW50
U2VydmVyOworICAgICAgICAgICAgaXNMaW5lYXIgPSBjdXJyZW50LT5oYXNUYWdOYW1lKFNWR05h
bWVzOjpsaW5lYXJHcmFkaWVudFRhZyk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgY3Vy
cmVudCA9IDA7CiAgICAgfQpAQCAtMjAyLDYgKzE2NCwxOCBAQCBMaW5lYXJHcmFkaWVudEF0dHJp
YnV0ZXMgU1ZHTGluZWFyR3JhZGllCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXM7CiB9CiAKK3ZvaWQg
U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpjYWxjdWxhdGVTdGFydEVuZFBvaW50cyhjb25zdCBM
aW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIEZsb2F0UG9pbnQmIHN0YXJ0UG9p
bnQsIEZsb2F0UG9pbnQmIGVuZFBvaW50KQoreworICAgIC8vIERldGVybWluZSBncmFkaWVudCBz
dGFydC9lbmQgcG9pbnRzCisgICAgaWYgKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpIHsK
KyAgICAgICAgc3RhcnRQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy54MSgpLnZhbHVlQXNQ
ZXJjZW50YWdlKCksIGF0dHJpYnV0ZXMueTEoKS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKKyAgICAg
ICAgZW5kUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMueDIoKS52YWx1ZUFzUGVyY2VudGFn
ZSgpLCBhdHRyaWJ1dGVzLnkyKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgc3RhcnRQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy54MSgpLnZhbHVlKHRo
aXMpLCBhdHRyaWJ1dGVzLnkxKCkudmFsdWUodGhpcykpOworICAgICAgICBlbmRQb2ludCA9IEZs
b2F0UG9pbnQoYXR0cmlidXRlcy54MigpLnZhbHVlKHRoaXMpLCBhdHRyaWJ1dGVzLnkyKCkudmFs
dWUodGhpcykpOworICAgIH0KK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysr
IFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCwxMSArMzgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZv
aWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAot
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCB2b2lkIGJ1aWxkR3JhZGllbnQoKSBjb25z
dDsKLSAgICAgICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5cGUgZ3JhZGllbnRUeXBlKCkgY29u
c3QgeyByZXR1cm4gTGluZWFyR3JhZGllbnRQYWludFNlcnZlcjsgfQorICAgICAgICB2aXJ0dWFs
IFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSop
OwogCi0gICAgICAgIExpbmVhckdyYWRpZW50QXR0cmlidXRlcyBjb2xsZWN0R3JhZGllbnRQcm9w
ZXJ0aWVzKCkgY29uc3Q7CisgICAgICAgIExpbmVhckdyYWRpZW50QXR0cmlidXRlcyBjb2xsZWN0
R3JhZGllbnRQcm9wZXJ0aWVzKCk7CisgICAgICAgIHZvaWQgY2FsY3VsYXRlU3RhcnRFbmRQb2lu
dHMoY29uc3QgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzJiwgRmxvYXRQb2ludCYgc3RhcnRQb2lu
dCwgRmxvYXRQb2ludCYgZW5kUG9pbnQpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgREVDTEFS
RV9BTklNQVRFRF9QUk9QRVJUWShTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQsIFNWR05hbWVzOjp4
MUF0dHIsIFNWR0xlbmd0aCwgWDEsIHgxKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIFNWR01hcmtlckVsZW1lbnQ6OnN2
Z0F0dHJpYnV0ZUNoYW5nCiAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6Omlz
S25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8CiAgICAgICAgIFNWR0ZpdFRvVmlld0JveDo6aXNL
bm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKICAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6aXNL
bm93bkF0dHJpYnV0ZShhdHRyTmFtZSkpCi0gICAgICAgIGludmFsaWRhdGVDYW52YXNSZXNvdXJj
ZXMoKTsKKyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNW
R01hcmtlckVsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYg
YXR0ck5hbWUpCkBAIC0xNTcsNyArMTU3LDggQEAgdm9pZCBTVkdNYXJrZXJFbGVtZW50OjpjaGls
ZHJlbkNoYW5nZWQoYgogewogICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChj
aGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0
YSk7CiAKLSAgICBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisgICAgaWYgKCFjaGFuZ2Vk
QnlQYXJzZXIpCisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9p
ZCBTVkdNYXJrZXJFbGVtZW50OjpzZXRPcmllbnRUb0F1dG8oKQpAQCAtMTY1LDcgKzE2Niw3IEBA
IHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6c2V0T3JpZW50VG9BdXRvKCkKICAgICBzZXRPcmllbnRU
eXBlQmFzZVZhbHVlKFNWR19NQVJLRVJfT1JJRU5UX0FVVE8pOwogICAgIHNldE9yaWVudEFuZ2xl
QmFzZVZhbHVlKFNWR0FuZ2xlKCkpOwogCi0gICAgaW52YWxpZGF0ZUNhbnZhc1Jlc291cmNlcygp
OworICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9pZCBTVkdNYXJrZXJF
bGVtZW50OjpzZXRPcmllbnRUb0FuZ2xlKGNvbnN0IFNWR0FuZ2xlJiBhbmdsZSkKQEAgLTE3Myw3
ICsxNzQsNyBAQCB2b2lkIFNWR01hcmtlckVsZW1lbnQ6OnNldE9yaWVudFRvQW5nbGUoCiAgICAg
c2V0T3JpZW50VHlwZUJhc2VWYWx1ZShTVkdfTUFSS0VSX09SSUVOVF9BTkdMRSk7CiAgICAgc2V0
T3JpZW50QW5nbGVCYXNlVmFsdWUoYW5nbGUpOwogCi0gICAgaW52YWxpZGF0ZUNhbnZhc1Jlc291
cmNlcygpOworICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogUmVuZGVyT2Jq
ZWN0KiBTVkdNYXJrZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEs
IFJlbmRlclN0eWxlKikKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MTU5
KQorKysgV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDQsNyArMTA0LDcgQEAgdm9pZCBTVkdNYXNrRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZAog
ICAgICAgICBTVkdMYW5nU3BhY2U6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8CiAgICAg
ICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5h
bWUpIHx8CiAgICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5h
bWUpKQotICAgICAgICBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisgICAgICAgIGludmFs
aWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9pZCBTVkdNYXNrRWxlbWVudDo6c3luY2hy
b25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKQEAgLTEzOCw3ICsx
MzgsOSBAQCB2b2lkIFNWR01hc2tFbGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5CiB2b2lkIFNW
R01hc2tFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUq
IGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCiB7
CiAgICAgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwg
YmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKLSAgICBpbnZhbGlk
YXRlQ2FudmFzUmVzb3VyY2VzKCk7CisKKyAgICBpZiAoIWNoYW5nZWRCeVBhcnNlcikKKyAgICAg
ICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiBGbG9hdFJlY3QgU1ZHTWFza0Vs
ZW1lbnQ6Om1hc2tCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmIG9iamVjdEJvdW5kaW5nQm94
KSBjb25zdApJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkp
CisrKyBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw3IEBACiAvKgogICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAw
NywgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAg
ICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4K
KyAgICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTExOSwxOSArMTIwLDIwIEBA
IHZvaWQgU1ZHUGF0dGVybkVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW4KIHsKICAgICBTVkdTdHls
ZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKIAotICAgIGlmICghbV9y
ZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVz
OjpwYXR0ZXJuVW5pdHNBdHRyIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpwYXR0ZXJuQ29udGVu
dFVuaXRzQXR0ciB8fAotICAgICAgICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6cGF0dGVyblRyYW5z
Zm9ybUF0dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnhBdHRyIHx8IGF0dHJOYW1lID09IFNW
R05hbWVzOjp5QXR0ciB8fAotICAgICAgICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6d2lkdGhBdHRy
IHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpoZWlnaHRBdHRyIHx8Ci0gICAgICAgIFNWR1VSSVJl
ZmVyZW5jZTo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKLSAgICAgICAgU1ZHVGVzdHM6
OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8IAotICAgICAgICBTVkdMYW5nU3BhY2U6Omlz
S25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8Ci0gICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8Ci0gICAgICAgIFNWR0ZpdFRv
Vmlld0JveDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKLSAgICAgICAgU1ZHU3R5bGVk
RWxlbWVudDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkpCi0gICAgICAgIG1fcmVzb3VyY2Ut
PmludmFsaWRhdGUoKTsKKyAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnBhdHRlcm5Vbml0
c0F0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnBhdHRlcm5Db250ZW50VW5p
dHNBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpwYXR0ZXJuVHJhbnNmb3Jt
QXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eEF0dHIKKyAgICAgICAgfHwg
YXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnlBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05h
bWVzOjp3aWR0aEF0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmhlaWdodEF0
dHIKKyAgICAgICAgfHwgU1ZHVVJJUmVmZXJlbmNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1l
KQorICAgICAgICB8fCBTVkdUZXN0czo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkKKyAgICAg
ICAgfHwgU1ZHTGFuZ1NwYWNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKQorICAgICAgICB8
fCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1l
KQorICAgICAgICB8fCBTVkdGaXRUb1ZpZXdCb3g6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUp
CisgICAgICAgIHx8IFNWR1N0eWxlZEVsZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUp
KQorICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZHUGF0
dGVybkVsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
ck5hbWUpCkBAIC0xODAsMTI2ICsxODIsMTMgQEAgdm9pZCBTVkdQYXR0ZXJuRWxlbWVudDo6Y2hp
bGRyZW5DaGFuZ2VkKAogewogICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChj
aGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0
YSk7CiAKLSAgICBpZiAoIW1fcmVzb3VyY2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fcmVz
b3VyY2UtPmludmFsaWRhdGUoKTsKLX0KLQotdm9pZCBTVkdQYXR0ZXJuRWxlbWVudDo6YnVpbGRQ
YXR0ZXJuKGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCkgY29uc3QKLXsKLSAgICBQYXR0ZXJu
QXR0cmlidXRlcyBhdHRyaWJ1dGVzID0gY29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKCk7Ci0KLSAg
ICAvLyBJZiB3ZSBkaWRuJ3QgZmluZCBhbnkgcGF0dGVybiBjb250ZW50LCBpZ25vcmUgdGhlIHJl
cXVlc3QuCi0gICAgaWYgKCFhdHRyaWJ1dGVzLnBhdHRlcm5Db250ZW50RWxlbWVudCgpIHx8ICFy
ZW5kZXJlcigpIHx8ICFyZW5kZXJlcigpLT5zdHlsZSgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBGbG9hdFJlY3QgcGF0dGVybkJvdW5kYXJpZXM7IAotICAgIEZsb2F0UmVjdCBwYXR0ZXJuQ29u
dGVudEJvdW5kYXJpZXM7Ci0KLSAgICAvLyBEZXRlcm1pbmUgc3BlY2lmaWVkIHBhdHRlcm4gc2l6
ZQotICAgIGlmIChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKQotICAgICAgICBwYXR0ZXJu
Qm91bmRhcmllcyA9IEZsb2F0UmVjdChhdHRyaWJ1dGVzLngoKS52YWx1ZUFzUGVyY2VudGFnZSgp
ICogdGFyZ2V0UmVjdC53aWR0aCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGVzLnkoKS52YWx1ZUFzUGVyY2VudGFnZSgpICogdGFyZ2V0UmVjdC5oZWln
aHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy53
aWR0aCgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiB0YXJnZXRSZWN0LndpZHRoKCksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuaGVpZ2h0KCkudmFsdWVB
c1BlcmNlbnRhZ2UoKSAqIHRhcmdldFJlY3QuaGVpZ2h0KCkpOwotICAgIGVsc2UKLSAgICAgICAg
cGF0dGVybkJvdW5kYXJpZXMgPSBGbG9hdFJlY3QoYXR0cmlidXRlcy54KCkudmFsdWUodGhpcyks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMueSgpLnZh
bHVlKHRoaXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGVzLndpZHRoKCkudmFsdWUodGhpcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZXMuaGVpZ2h0KCkudmFsdWUodGhpcykpOwotCi0gICAgSW50U2l6ZSBw
YXR0ZXJuU2l6ZShwYXR0ZXJuQm91bmRhcmllcy53aWR0aCgpLCBwYXR0ZXJuQm91bmRhcmllcy5o
ZWlnaHQoKSk7Ci0gICAgY2xhbXBJbWFnZUJ1ZmZlclNpemVUb1ZpZXdwb3J0KGRvY3VtZW50KCkt
PnZpZXcoKSwgcGF0dGVyblNpemUpOwotCi0gICAgaWYgKHBhdHRlcm5TaXplLndpZHRoKCkgPCBz
dGF0aWNfY2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVzLndpZHRoKCkpKQotICAgICAgICBwYXR0
ZXJuQm91bmRhcmllcy5zZXRXaWR0aChwYXR0ZXJuU2l6ZS53aWR0aCgpKTsKLQotICAgIGlmIChw
YXR0ZXJuU2l6ZS5oZWlnaHQoKSA8IHN0YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJpZXMu
aGVpZ2h0KCkpKQotICAgICAgICBwYXR0ZXJuQm91bmRhcmllcy5zZXRIZWlnaHQocGF0dGVyblNp
emUuaGVpZ2h0KCkpOwotCi0gICAgLy8gRXZlbnR1YWxseSBjYWxjdWxhdGUgdGhlIHBhdHRlcm4g
Y29udGVudCBib3VuZGFyaWVzIChvbmx5IG5lZWRlZCB3aXRoIG92ZXJmbG93PSJ2aXNpYmxlIiku
Ci0gICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gcmVuZGVyZXIoKS0+c3R5bGUoKTsKLSAgICBpZiAo
c3R5bGUtPm92ZXJmbG93WCgpID09IE9WSVNJQkxFICYmIHN0eWxlLT5vdmVyZmxvd1koKSA9PSBP
VklTSUJMRSkgewotICAgICAgICBmb3IgKE5vZGUqIG4gPSBhdHRyaWJ1dGVzLnBhdHRlcm5Db250
ZW50RWxlbWVudCgpLT5maXJzdENoaWxkKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKSB7Ci0g
ICAgICAgICAgICBpZiAoIW4tPmlzU1ZHRWxlbWVudCgpIHx8ICFzdGF0aWNfY2FzdDxTVkdFbGVt
ZW50Kj4obiktPmlzU3R5bGVkVHJhbnNmb3JtYWJsZSgpIHx8ICFuLT5yZW5kZXJlcigpKQotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgcGF0dGVybkNvbnRlbnRCb3VuZGFy
aWVzLnVuaXRlKG4tPnJlbmRlcmVyKCktPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkp
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgQWZmaW5lVHJhbnNmb3JtIHZpZXdCb3hDVE0gPSB2
aWV3Qm94VG9WaWV3VHJhbnNmb3JtKHZpZXdCb3goKSwgcHJlc2VydmVBc3BlY3RSYXRpbygpLCBw
YXR0ZXJuQm91bmRhcmllcy53aWR0aCgpLCBwYXR0ZXJuQm91bmRhcmllcy5oZWlnaHQoKSk7IAot
ICAgIEZsb2F0UmVjdCBwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93ID0gcGF0dGVy
bkJvdW5kYXJpZXM7Ci0KLSAgICAvLyBBcHBseSBvYmplY3RCb3VuZGluZ0JveE1vZGUgZml4dXAg
Zm9yIHBhdHRlcm5Db250ZW50VW5pdHMsIGlmIHZpZXdCb3ggaXMgbm90IHNldC4KLSAgICBpZiAo
IXBhdHRlcm5Db250ZW50Qm91bmRhcmllcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgaWYgKCF2aWV3
Qm94Q1RNLmlzSWRlbnRpdHkoKSkKLSAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmll
cyA9IHZpZXdCb3hDVE0ubWFwUmVjdChwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMpOwotICAgICAg
ICBlbHNlIGlmIChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZUNvbnRlbnQoKSkKLSAgICAgICAg
ICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcyA9IEZsb2F0UmVjdChwYXR0ZXJuQ29udGVudEJv
dW5kYXJpZXMueCgpICogdGFyZ2V0UmVjdC53aWR0aCgpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy55KCkg
KiB0YXJnZXRSZWN0LmhlaWdodCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy53aWR0aCgpICogdGFyZ2V0
UmVjdC53aWR0aCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy5oZWlnaHQoKSAqIHRhcmdldFJlY3QuaGVp
Z2h0KCkpOwotCi0gICAgICAgIHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cudW5p
dGUocGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzKTsKLSAgICB9Ci0KLSAgICBJbnRTaXplIGltYWdl
U2l6ZShscm91bmRmKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cud2lkdGgoKSks
IGxyb3VuZGYocGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy5oZWlnaHQoKSkpOwot
ICAgIGNsYW1wSW1hZ2VCdWZmZXJTaXplVG9WaWV3cG9ydChkb2N1bWVudCgpLT52aWV3KCksIGlt
YWdlU2l6ZSk7Ci0KLSAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHBhdHRlcm5JbWFnZSA9IEltYWdl
QnVmZmVyOjpjcmVhdGUoaW1hZ2VTaXplKTsKLQotICAgIGlmICghcGF0dGVybkltYWdlKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBwYXR0ZXJuSW1h
Z2UtPmNvbnRleHQoKTsKLSAgICBBU1NFUlQoY29udGV4dCk7Ci0KLSAgICBjb250ZXh0LT5zYXZl
KCk7Ci0KLSAgICAvLyBNb3ZlIHRvIHBhdHRlcm4gc3RhcnQgb3JpZ2luCi0gICAgaWYgKHBhdHRl
cm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cubG9jYXRpb24oKSAhPSBwYXR0ZXJuQm91bmRh
cmllcy5sb2NhdGlvbigpKSB7Ci0gICAgICAgIGNvbnRleHQtPnRyYW5zbGF0ZShwYXR0ZXJuQm91
bmRhcmllcy54KCkgLSBwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LngoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5Cb3VuZGFyaWVzLnkoKSAtIHBhdHRlcm5C
b3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cueSgpKTsKLQotICAgICAgICBwYXR0ZXJuQm91bmRh
cmllcy5zZXRMb2NhdGlvbihwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LmxvY2F0
aW9uKCkpOwotICAgIH0KLQotICAgIC8vIFByb2Nlc3Mgdmlld0JveCBvciBib3VuZGluZ0JveE1v
ZGVDb250ZW50IGNvcnJlY3Rpb24KLSAgICBpZiAoIXZpZXdCb3hDVE0uaXNJZGVudGl0eSgpKQot
ICAgICAgICBjb250ZXh0LT5jb25jYXRDVE0odmlld0JveENUTSk7Ci0gICAgZWxzZSBpZiAoYXR0
cmlidXRlcy5ib3VuZGluZ0JveE1vZGVDb250ZW50KCkpIHsKLSAgICAgICAgY29udGV4dC0+dHJh
bnNsYXRlKHRhcmdldFJlY3QueCgpLCB0YXJnZXRSZWN0LnkoKSk7Ci0gICAgICAgIGNvbnRleHQt
PnNjYWxlKEZsb2F0U2l6ZSh0YXJnZXRSZWN0LndpZHRoKCksIHRhcmdldFJlY3QuaGVpZ2h0KCkp
KTsKLSAgICB9Ci0KLSAgICAvLyBSZW5kZXIgc3VidHJlZSBpbnRvIEltYWdlQnVmZmVyCi0gICAg
Zm9yIChOb2RlKiBuID0gYXR0cmlidXRlcy5wYXR0ZXJuQ29udGVudEVsZW1lbnQoKS0+Zmlyc3RD
aGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBpZiAoIW4tPmlzU1ZH
RWxlbWVudCgpIHx8ICFzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4obiktPmlzU3R5bGVkKCkgfHwg
IW4tPnJlbmRlcmVyKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgcmVuZGVyU3Vi
dHJlZVRvSW1hZ2UocGF0dGVybkltYWdlLmdldCgpLCBuLT5yZW5kZXJlcigpKTsKLSAgICB9Ci0K
LSAgICBjb250ZXh0LT5yZXN0b3JlKCk7Ci0KLSAgICBtX3Jlc291cmNlLT5zZXRQYXR0ZXJuVHJh
bnNmb3JtKGF0dHJpYnV0ZXMucGF0dGVyblRyYW5zZm9ybSgpKTsKLSAgICBtX3Jlc291cmNlLT5z
ZXRQYXR0ZXJuQm91bmRhcmllcyhwYXR0ZXJuQm91bmRhcmllcyk7IAotICAgIG1fcmVzb3VyY2Ut
PnNldFRpbGUocGF0dGVybkltYWdlLnJlbGVhc2UoKSk7CisgICAgaWYgKCFjaGFuZ2VkQnlQYXJz
ZXIpCisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogUmVuZGVyT2Jq
ZWN0KiBTVkdQYXR0ZXJuRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5h
LCBSZW5kZXJTdHlsZSopCiB7Ci0gICAgUmVuZGVyU1ZHQ29udGFpbmVyKiBwYXR0ZXJuQ29udGFp
bmVyID0gbmV3IChhcmVuYSkgUmVuZGVyU1ZHQ29udGFpbmVyKHRoaXMpOwotICAgIHBhdHRlcm5D
b250YWluZXItPnNldERyYXdzQ29udGVudHMoZmFsc2UpOwotICAgIHJldHVybiBwYXR0ZXJuQ29u
dGFpbmVyOwotfQotCi1TVkdSZXNvdXJjZSogU1ZHUGF0dGVybkVsZW1lbnQ6OmNhbnZhc1Jlc291
cmNlKGNvbnN0IFJlbmRlck9iamVjdCopCi17Ci0gICAgaWYgKCFtX3Jlc291cmNlKQotICAgICAg
ICBtX3Jlc291cmNlID0gU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpjcmVhdGUodGhpcyk7Ci0KLSAg
ICByZXR1cm4gbV9yZXNvdXJjZS5nZXQoKTsKKyAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuKHRoaXMpOwogfQogCiBQYXR0ZXJuQXR0cmlidXRlcyBTVkdQYXR0
ZXJuRWxlbWVudDo6Y29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKCkgY29uc3QKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
UGF0dGVybkVsZW1lbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw4ICsyMiw2IEBACiAjZGVmaW5lIFNW
R1BhdHRlcm5FbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVuZGVyT2Jq
ZWN0LmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgiCiAjaW5jbHVkZSAi
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0ZpdFRvVmlld0Jv
eC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgpAQCAtNTYsNyArNTQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBj
aGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0
ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAKICAgICAgICAgdmlydHVh
bCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUq
KTsKLSAgICAgICAgdmlydHVhbCBTVkdSZXNvdXJjZSogY2FudmFzUmVzb3VyY2UoY29uc3QgUmVu
ZGVyT2JqZWN0Kik7CisKKyAgICAgICAgUGF0dGVybkF0dHJpYnV0ZXMgY29sbGVjdFBhdHRlcm5Q
cm9wZXJ0aWVzKCkgY29uc3Q7CiAKICAgICBwcml2YXRlOgogICAgICAgICBERUNMQVJFX0FOSU1B
VEVEX1BST1BFUlRZKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6eEF0dHIsIFNWR0xlbmd0
aCwgWCwgeCkKQEAgLTc1LDE1ICs3NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICAvLyBTVkdQYXR0ZXJuRWxlbWVudAogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZ
KFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6dmlld0JveEF0dHIsIEZsb2F0UmVjdCwgVmll
d0JveCwgdmlld0JveCkKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdQYXR0
ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQot
IAotICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdQYWludFNlcnZlclBhdHRlcm4+IG1fcmVzb3Vy
Y2U7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBmcmllbmQgY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJQ
YXR0ZXJuOwotICAgICAgICB2b2lkIGJ1aWxkUGF0dGVybihjb25zdCBGbG9hdFJlY3QmIHRhcmdl
dFJlY3QpIGNvbnN0OwotCi0gICAgICAgIFBhdHRlcm5BdHRyaWJ1dGVzIGNvbGxlY3RQYXR0ZXJu
UHJvcGVydGllcygpIGNvbnN0OworICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNW
R1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0
aW8pIAogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR1BvbHlFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1l
bnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZp
ZWROYW1lJik7CiAKLSAgICAgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVy
U3R5bGUqIHN0eWxlKSB7IHJldHVybiBTdHlsZWRFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKHN0
eWxlKTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNNYXJrZXJzKCkgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQogCiAgICAgcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1JhZGlh
bEdyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdS
YWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQAog
ICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBSb2IgQnVpcyA8YnVpc0Br
ZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQu
b3JnPgogICAgICAgICAgICAgICAgICAgMjAwOCBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9y
Zz4KKyAgICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI5LDcgKzMwLDYgQEAK
ICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiTWFwcGVkQXR0cmlidXRlLmgiCiAj
aW5jbHVkZSAiUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oIgogI2lu
Y2x1ZGUgIlNWR0xlbmd0aC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCkBAIC03NywxMyArNzcs
MTIgQEAgdm9pZCBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJpYgogewogICAgIFNW
R0dyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CiAKLSAgICBp
ZiAoIW1fcmVzb3VyY2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChhdHRyTmFtZSA9PSBT
VkdOYW1lczo6Y3hBdHRyIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpjeUF0dHIgfHwKLSAgICAg
ICAgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmZ4QXR0ciB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6
ZnlBdHRyIHx8Ci0gICAgICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjpyQXR0cikKLSAgICAgICAg
bV9yZXNvdXJjZS0+aW52YWxpZGF0ZSgpOworICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6
Y3hBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpjeUF0dHIKKyAgICAgICAg
fHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmZ4QXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBT
VkdOYW1lczo6ZnlBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpyQXR0cikK
KyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudDo6c3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyTmFtZSkKQEAgLTExMSw3NyArMTEwLDE4IEBAIHZvaWQgU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50OjpzeW5jaHJvbmkKICAgICAgICAgc3luY2hyb25pemVSKCk7CiB9CiAKLXZvaWQgU1ZH
UmFkaWFsR3JhZGllbnRFbGVtZW50OjpidWlsZEdyYWRpZW50KCkgY29uc3QKK1JlbmRlck9iamVj
dCogU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSog
YXJlbmEsIFJlbmRlclN0eWxlKikKIHsKLSAgICBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMgYXR0
cmlidXRlcyA9IGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKTsKLQotICAgIFJlZlB0cjxTVkdQ
YWludFNlcnZlclJhZGlhbEdyYWRpZW50PiByYWRpYWxHcmFkaWVudCA9IFdURjo6c3RhdGljX3Bv
aW50ZXJfY2FzdDxTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50PihtX3Jlc291cmNlKTsKLQot
ICAgIEZsb2F0UG9pbnQgZm9jYWxQb2ludDsKLSAgICBGbG9hdFBvaW50IGNlbnRlclBvaW50Owot
ICAgIGZsb2F0IHJhZGl1czsKLSAgICBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKSkg
ewotICAgICAgICBmb2NhbFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmZ4KCkudmFsdWVB
c1BlcmNlbnRhZ2UoKSwgYXR0cmlidXRlcy5meSgpLnZhbHVlQXNQZXJjZW50YWdlKCkpOwotICAg
ICAgICBjZW50ZXJQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy5jeCgpLnZhbHVlQXNQZXJj
ZW50YWdlKCksIGF0dHJpYnV0ZXMuY3koKS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKLSAgICAgICAg
cmFkaXVzID0gYXR0cmlidXRlcy5yKCkudmFsdWVBc1BlcmNlbnRhZ2UoKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBmb2NhbFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmZ4KCkudmFsdWUo
dGhpcyksIGF0dHJpYnV0ZXMuZnkoKS52YWx1ZSh0aGlzKSk7Ci0gICAgICAgIGNlbnRlclBvaW50
ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmN4KCkudmFsdWUodGhpcyksIGF0dHJpYnV0ZXMuY3ko
KS52YWx1ZSh0aGlzKSk7Ci0gICAgICAgIHJhZGl1cyA9IGF0dHJpYnV0ZXMucigpLnZhbHVlKHRo
aXMpOwotICAgIH0KLQotICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRGb2NhbFBvaW50ID0gZm9jYWxQ
b2ludDsKLSAgICBmbG9hdCBkZnggPSBmb2NhbFBvaW50LngoKSAtIGNlbnRlclBvaW50LngoKTsK
LSAgICBmbG9hdCBkZnkgPSBmb2NhbFBvaW50LnkoKSAtIGNlbnRlclBvaW50LnkoKTsKLSAgICBm
bG9hdCByTWF4ID0gMC45OWYgKiByYWRpdXM7Ci0KLSAgICAvLyBTcGVjOiBJZiAoZngsIGZ5KSBs
aWVzIG91dHNpZGUgdGhlIGNpcmNsZSBkZWZpbmVkIGJ5IChjeCwgY3kpIGFuZAotICAgIC8vIHIs
IHNldCAoZngsIGZ5KSB0byB0aGUgcG9pbnQgb2YgaW50ZXJzZWN0aW9uIG9mIHRoZSBsaW5lIHRo
cm91Z2gKLSAgICAvLyAoZngsIGZ5KSBhbmQgdGhlIGNpcmNsZS4KLSAgICAvLyBXZSBzY2FsZSB0
aGUgcmFkaXVzIGJ5IDAuOTkgdG8gbWF0Y2ggdGhlIGJlaGF2aW9yIG9mIEZpcmVGb3guCi0gICAg
aWYgKHNxcnQoZGZ4ICogZGZ4ICsgZGZ5ICogZGZ5KSA+IHJNYXgpIHsKLSAgICAgICAgZmxvYXQg
YW5nbGUgPSBhdGFuMmYoZGZ5LCBkZngpOwotCi0gICAgICAgIGRmeCA9IGNvc2YoYW5nbGUpICog
ck1heDsKLSAgICAgICAgZGZ5ID0gc2luZihhbmdsZSkgKiByTWF4OwotICAgICAgICBhZGp1c3Rl
ZEZvY2FsUG9pbnQgPSBGbG9hdFBvaW50KGRmeCArIGNlbnRlclBvaW50LngoKSwgZGZ5ICsgY2Vu
dGVyUG9pbnQueSgpKTsKLSAgICB9Ci0KLSAgICBSZWZQdHI8R3JhZGllbnQ+IGdyYWRpZW50ID0g
R3JhZGllbnQ6OmNyZWF0ZSgKLSAgICAgICAgYWRqdXN0ZWRGb2NhbFBvaW50LAotICAgICAgICAw
LmYsIC8vIFNWRyBkb2VzIG5vdCBzdXBwb3J0IGEgImZvY3VzIHJhZGl1cyIKLSAgICAgICAgY2Vu
dGVyUG9pbnQsCi0gICAgICAgIHJhZGl1cyk7Ci0gICAgZ3JhZGllbnQtPnNldFNwcmVhZE1ldGhv
ZChhdHRyaWJ1dGVzLnNwcmVhZE1ldGhvZCgpKTsKLQotICAgIFZlY3RvcjxTVkdHcmFkaWVudFN0
b3A+IHN0b3BzID0gYXR0cmlidXRlcy5zdG9wcygpOwotICAgIGZsb2F0IHByZXZpb3VzT2Zmc2V0
ID0gMC4wZjsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc3RvcHMuc2l6ZSgpOyArK2kp
IHsKLSAgICAgICAgIGZsb2F0IG9mZnNldCA9IHN0ZDo6bWluKHN0ZDo6bWF4KHByZXZpb3VzT2Zm
c2V0LCBzdG9wc1tpXS5maXJzdCksIDEuMGYpOwotICAgICAgICAgcHJldmlvdXNPZmZzZXQgPSBv
ZmZzZXQ7Ci0gICAgICAgICBncmFkaWVudC0+YWRkQ29sb3JTdG9wKG9mZnNldCwgc3RvcHNbaV0u
c2Vjb25kKTsKLSAgICB9Ci0KLSAgICByYWRpYWxHcmFkaWVudC0+c2V0R3JhZGllbnQoZ3JhZGll
bnQpOwotCi0gICAgaWYgKGF0dHJpYnV0ZXMuc3RvcHMoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIHJhZGlhbEdyYWRpZW50LT5zZXRCb3VuZGluZ0JveE1vZGUoYXR0cmlidXRl
cy5ib3VuZGluZ0JveE1vZGUoKSk7Ci0gICAgcmFkaWFsR3JhZGllbnQtPnNldEdyYWRpZW50VHJh
bnNmb3JtKGF0dHJpYnV0ZXMuZ3JhZGllbnRUcmFuc2Zvcm0oKSk7Ci0gICAgcmFkaWFsR3JhZGll
bnQtPnNldEdyYWRpZW50Q2VudGVyKGNlbnRlclBvaW50KTsKLSAgICByYWRpYWxHcmFkaWVudC0+
c2V0R3JhZGllbnRGb2NhbChmb2NhbFBvaW50KTsKLSAgICByYWRpYWxHcmFkaWVudC0+c2V0R3Jh
ZGllbnRSYWRpdXMocmFkaXVzKTsKLSAgICByYWRpYWxHcmFkaWVudC0+c2V0R3JhZGllbnRTdG9w
cyhhdHRyaWJ1dGVzLnN0b3BzKCkpOworICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJTVkdS
ZXNvdXJjZVJhZGlhbEdyYWRpZW50KHRoaXMpOwogfQogCi1SYWRpYWxHcmFkaWVudEF0dHJpYnV0
ZXMgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCkg
Y29uc3QKK1JhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6
OmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKQogewogICAgIFJhZGlhbEdyYWRpZW50QXR0cmli
dXRlcyBhdHRyaWJ1dGVzOwotICAgIEhhc2hTZXQ8Y29uc3QgU1ZHR3JhZGllbnRFbGVtZW50Kj4g
cHJvY2Vzc2VkR3JhZGllbnRzOworICAgIEhhc2hTZXQ8U1ZHR3JhZGllbnRFbGVtZW50Kj4gcHJv
Y2Vzc2VkR3JhZGllbnRzOwogCiAgICAgYm9vbCBpc1JhZGlhbCA9IHRydWU7Ci0gICAgY29uc3Qg
U1ZHR3JhZGllbnRFbGVtZW50KiBjdXJyZW50ID0gdGhpczsKKyAgICBTVkdHcmFkaWVudEVsZW1l
bnQqIGN1cnJlbnQgPSB0aGlzOwogCiAgICAgd2hpbGUgKGN1cnJlbnQpIHsKICAgICAgICAgaWYg
KCFhdHRyaWJ1dGVzLmhhc1NwcmVhZE1ldGhvZCgpICYmIGN1cnJlbnQtPmhhc0F0dHJpYnV0ZShT
VkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0cikpCkBAIC0xOTQsMTMgKzEzNCwxMyBAQCBSYWRpYWxH
cmFkaWVudEF0dHJpYnV0ZXMgU1ZHUmFkaWFsR3JhZGllCiAgICAgICAgICAgICBhdHRyaWJ1dGVz
LnNldEdyYWRpZW50VHJhbnNmb3JtKGN1cnJlbnQtPmdyYWRpZW50VHJhbnNmb3JtKCktPmNvbnNv
bGlkYXRlKCkubWF0cml4KCkpOwogCiAgICAgICAgIGlmICghYXR0cmlidXRlcy5oYXNTdG9wcygp
KSB7Ci0gICAgICAgICAgICBjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYgc3RvcHMoY3Vy
cmVudC0+YnVpbGRTdG9wcygpKTsKKyAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxHcmFkaWVudDo6
Q29sb3JTdG9wPiYgc3RvcHMoY3VycmVudC0+YnVpbGRTdG9wcygpKTsKICAgICAgICAgICAgIGlm
ICghc3RvcHMuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuc2V0U3RvcHMo
c3RvcHMpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGlzUmFkaWFsKSB7Ci0gICAgICAgICAg
ICBjb25zdCBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQqIHJhZGlhbCA9IHN0YXRpY19jYXN0PGNv
bnN0IFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCo+KGN1cnJlbnQpOworICAgICAgICAgICAgU1ZH
UmFkaWFsR3JhZGllbnRFbGVtZW50KiByYWRpYWwgPSBzdGF0aWNfY2FzdDxTVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQqPihjdXJyZW50KTsKIAogICAgICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhh
c0N4KCkgJiYgY3VycmVudC0+aGFzQXR0cmlidXRlKFNWR05hbWVzOjpjeEF0dHIpKQogICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZXMuc2V0Q3gocmFkaWFsLT5jeCgpKTsKQEAgLTIyMywxMyArMTYz
LDEzIEBAIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBTVkdSYWRpYWxHcmFkaWUKICAgICAgICAg
Ly8gUmVzcGVjdCB4bGluazpocmVmLCB0YWtlIGF0dHJpYnV0ZXMgZnJvbSByZWZlcmVuY2VkIGVs
ZW1lbnQKICAgICAgICAgTm9kZSogcmVmTm9kZSA9IG93bmVyRG9jdW1lbnQoKS0+Z2V0RWxlbWVu
dEJ5SWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoY3VycmVudC0+aHJlZigpKSk7CiAgICAg
ICAgIGlmIChyZWZOb2RlICYmIChyZWZOb2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpyYWRpYWxH
cmFkaWVudFRhZykgfHwgcmVmTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6bGluZWFyR3JhZGll
bnRUYWcpKSkgewotICAgICAgICAgICAgY3VycmVudCA9IHN0YXRpY19jYXN0PGNvbnN0IFNWR0dy
YWRpZW50RWxlbWVudCo+KGNvbnN0X2Nhc3Q8Y29uc3QgTm9kZSo+KHJlZk5vZGUpKTsKKyAgICAg
ICAgICAgIGN1cnJlbnQgPSBzdGF0aWNfY2FzdDxTVkdHcmFkaWVudEVsZW1lbnQqPihyZWZOb2Rl
KTsKIAogICAgICAgICAgICAgLy8gQ3ljbGUgZGV0ZWN0aW9uCiAgICAgICAgICAgICBpZiAocHJv
Y2Vzc2VkR3JhZGllbnRzLmNvbnRhaW5zKGN1cnJlbnQpKQogICAgICAgICAgICAgICAgIHJldHVy
biBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMoKTsKIAotICAgICAgICAgICAgaXNSYWRpYWwgPSBj
dXJyZW50LT5ncmFkaWVudFR5cGUoKSA9PSBSYWRpYWxHcmFkaWVudFBhaW50U2VydmVyOworICAg
ICAgICAgICAgaXNSYWRpYWwgPSBjdXJyZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpyYWRpYWxH
cmFkaWVudFRhZyk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgY3VycmVudCA9IDA7CiAg
ICAgfQpAQCAtMjQzLDYgKzE4MywzNyBAQCBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMgU1ZHUmFk
aWFsR3JhZGllCiAKICAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KKwordm9pZCBTVkdSYWRpYWxH
cmFkaWVudEVsZW1lbnQ6OmNhbGN1bGF0ZUZvY2FsQ2VudGVyUG9pbnRzQW5kUmFkaXVzKGNvbnN0
IFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyYgYXR0cmlidXRlcywgRmxvYXRQb2ludCYgZm9jYWxQ
b2ludCwgRmxvYXRQb2ludCYgY2VudGVyUG9pbnQsIGZsb2F0JiByYWRpdXMpCit7CisgICAgLy8g
RGV0ZXJtaW5lIGdyYWRpZW50IGZvY2FsL2NlbnRlciBwb2ludHMgYW5kIHJhZGl1cworICAgIGlm
IChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKSB7CisgICAgICAgIGZvY2FsUG9pbnQgPSBG
bG9hdFBvaW50KGF0dHJpYnV0ZXMuZngoKS52YWx1ZUFzUGVyY2VudGFnZSgpLCBhdHRyaWJ1dGVz
LmZ5KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSk7CisgICAgICAgIGNlbnRlclBvaW50ID0gRmxvYXRQ
b2ludChhdHRyaWJ1dGVzLmN4KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwgYXR0cmlidXRlcy5jeSgp
LnZhbHVlQXNQZXJjZW50YWdlKCkpOworICAgICAgICByYWRpdXMgPSBhdHRyaWJ1dGVzLnIoKS52
YWx1ZUFzUGVyY2VudGFnZSgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGZvY2FsUG9pbnQgPSBG
bG9hdFBvaW50KGF0dHJpYnV0ZXMuZngoKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRlcy5meSgpLnZh
bHVlKHRoaXMpKTsKKyAgICAgICAgY2VudGVyUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMu
Y3goKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRlcy5jeSgpLnZhbHVlKHRoaXMpKTsKKyAgICAgICAg
cmFkaXVzID0gYXR0cmlidXRlcy5yKCkudmFsdWUodGhpcyk7CisgICAgfQorCisgICAgLy8gRXZl
bnR1YWxseSBhZGp1c3QgZm9jYWwgcG9pbnRzLCBhcyBkZXNjcmliZWQgYmVsb3cKKyAgICBmbG9h
dCBkZWx0YVggPSBmb2NhbFBvaW50LngoKSAtIGNlbnRlclBvaW50LngoKTsKKyAgICBmbG9hdCBk
ZWx0YVkgPSBmb2NhbFBvaW50LnkoKSAtIGNlbnRlclBvaW50LnkoKTsKKyAgICBmbG9hdCByYWRp
dXNNYXggPSAwLjk5ZiAqIHJhZGl1czsKKworICAgIC8vIFNwZWM6IElmIChmeCwgZnkpIGxpZXMg
b3V0c2lkZSB0aGUgY2lyY2xlIGRlZmluZWQgYnkgKGN4LCBjeSkgYW5kIHIsIHNldAorICAgIC8v
IChmeCwgZnkpIHRvIHRoZSBwb2ludCBvZiBpbnRlcnNlY3Rpb24gb2YgdGhlIGxpbmUgdGhyb3Vn
aCAoZngsIGZ5KSBhbmQgdGhlIGNpcmNsZS4KKyAgICAvLyBXZSBzY2FsZSB0aGUgcmFkaXVzIGJ5
IDAuOTkgdG8gbWF0Y2ggdGhlIGJlaGF2aW9yIG9mIEZpcmVGb3guCisgICAgaWYgKHNxcnQoZGVs
dGFYICogZGVsdGFYICsgZGVsdGFZICogZGVsdGFZKSA+IHJhZGl1c01heCkgeworICAgICAgICBm
bG9hdCBhbmdsZSA9IGF0YW4yZihkZWx0YVksIGRlbHRhWCk7CisKKyAgICAgICAgZGVsdGFYID0g
Y29zZihhbmdsZSkgKiByYWRpdXNNYXg7CisgICAgICAgIGRlbHRhWSA9IHNpbmYoYW5nbGUpICog
cmFkaXVzTWF4OworICAgICAgICBmb2NhbFBvaW50ID0gRmxvYXRQb2ludChkZWx0YVggKyBjZW50
ZXJQb2ludC54KCksIGRlbHRhWSArIGNlbnRlclBvaW50LnkoKSk7CisgICAgfQorfQorCiB9CiAK
ICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGll
bnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGll
bnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDExICszOCwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0
IFF1YWxpZmllZE5hbWUmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVy
dHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCi0gICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0
dWFsIHZvaWQgYnVpbGRHcmFkaWVudCgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIFNWR1BhaW50
U2VydmVyVHlwZSBncmFkaWVudFR5cGUoKSBjb25zdCB7IHJldHVybiBSYWRpYWxHcmFkaWVudFBh
aW50U2VydmVyOyB9CisgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKLSAgICAgICAgUmFkaWFsR3JhZGllbnRB
dHRyaWJ1dGVzIGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKSBjb25zdDsKKyAgICAgICAgUmFk
aWFsR3JhZGllbnRBdHRyaWJ1dGVzIGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKTsKKyAgICAg
ICAgdm9pZCBjYWxjdWxhdGVGb2NhbENlbnRlclBvaW50c0FuZFJhZGl1cyhjb25zdCBSYWRpYWxH
cmFkaWVudEF0dHJpYnV0ZXMmLCBGbG9hdFBvaW50JiBmb2NhbFBvaW50LCBGbG9hdFBvaW50JiBj
ZW50ZXJQb2ludCwgZmxvYXQmIHJhZGl1cyk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBERUNM
QVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTmFtZXM6
OmN4QXR0ciwgU1ZHTGVuZ3RoLCBDeCwgY3gpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksOCArNDksNiBAQCB2b2lkIFNWR1N0b3BFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0CiAgICAgICAgICAgICBzZXRPZmZzZXRCYXNlVmFsdWUodmFsdWUubGVmdCh2YWx1
ZS5sZW5ndGgoKSAtIDEpLnRvRmxvYXQoKSAvIDEwMC4wZik7CiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIHNldE9mZnNldEJhc2VWYWx1ZSh2YWx1ZS50b0Zsb2F0KCkpOwotCi0gICAgICAgIHNl
dE5lZWRzU3R5bGVSZWNhbGMoKTsKICAgICB9IGVsc2UKICAgICAgICAgU1ZHU3R5bGVkRWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiB9CkBAIC02OCw2ICs2NiwxNSBAQCBSZW5k
ZXJPYmplY3QqIFNWR1N0b3BFbGVtZW50OjpjcmVhdGVSZW5kCiAgICAgcmV0dXJuIG5ldyAoYXJl
bmEpIFJlbmRlclNWR0dyYWRpZW50U3RvcCh0aGlzKTsKIH0KIAorQ29sb3IgU1ZHU3RvcEVsZW1l
bnQ6OnN0b3BDb2xvckluY2x1ZGluZ09wYWNpdHkoKSBjb25zdAoreworICAgIEFTU0VSVChyZW5k
ZXJlcigpKTsKKyAgICBBU1NFUlQocmVuZGVyZXIoKS0+c3R5bGUoKSk7CisKKyAgICBjb25zdCBT
VkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSByZW5kZXJlcigpLT5zdHlsZSgpLT5zdmdTdHlsZSgp
OworICAgIHJldHVybiBjb2xvcldpdGhPdmVycmlkZUFscGhhKHN2Z1N0eWxlLT5zdG9wQ29sb3Io
KS5yZ2IoKSwgc3ZnU3R5bGUtPnN0b3BPcGFjaXR5KCkpOworfQorCiB9CiAKICNlbmRpZiAvLyBF
TkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdl
YkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDEzICszMiwx
NCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFNWR1N0b3BFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogICAgICAgICB2aXJ0dWFsIH5TVkdTdG9wRWxlbWVu
dCgpOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRB
dHRyaWJ1dGUqKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOwogCisgICAgICAgIENvbG9yIHN0b3BDb2xvckluY2x1ZGluZ09w
YWNpdHkoKSBjb25zdDsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0dy
YWRpZW50U3RvcCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAotICAgICAgICB2aXJ0dWFsIHZv
aWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7Ci0KICAgICAgICAgdmly
dHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5
bGUqKTsKIAogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1N0b3BFbGVtZW50
LCBTVkdOYW1lczo6b2Zmc2V0QXR0ciwgZmxvYXQsIE9mZnNldCwgb2Zmc2V0KQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHU3R5bGVkRWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZH
U3R5bGVkRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDYgQEAKICNpbmNs
dWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAi
U1ZHUmVuZGVyU3VwcG9ydC5oIgotI2luY2x1ZGUgIlNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAi
U1ZHU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTYzLDcg
KzYyLDYgQEAgU1ZHU3R5bGVkRWxlbWVudDo6U1ZHU3R5bGVkRWxlbWVudChjb25zdAogCiBTVkdT
dHlsZWRFbGVtZW50Ojp+U1ZHU3R5bGVkRWxlbWVudCgpCiB7Ci0gICAgU1ZHUmVzb3VyY2U6OnJl
bW92ZUNsaWVudCh0aGlzKTsKIH0KIAogYm9vbCBTVkdTdHlsZWRFbGVtZW50OjpyZW5kZXJlcklz
TmVlZGVkKFJlbmRlclN0eWxlKiBzdHlsZSkKQEAgLTIwMCwxOSArMTk4LDIxIEBAIHZvaWQgU1ZH
U3R5bGVkRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmcKICAgICBpZiAoYXR0ck5hbWUubWF0Y2hl
cyhIVE1MTmFtZXM6OmNsYXNzQXR0cikpCiAgICAgICAgIGNsYXNzQXR0cmlidXRlQ2hhbmdlZChj
bGFzc05hbWUoKSk7CiAKKyAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRlcmVyKCk7CisK
ICAgICBpZiAoYXR0ck5hbWUgPT0gaWRBdHRyaWJ1dGVOYW1lKCkpIHsKICAgICAgICAgLy8gTm90
aWZ5IHJlc291cmNlcyBhYm91dCBpZCBjaGFuZ2VzLCB0aGlzIGlzIGltcG9ydGFudCBhcyB3ZSBj
YWNoZSByZXNvdXJjZXMgYnkgaWQgaW4gU1ZHRG9jdW1lbnRFeHRlbnNpb25zCi0gICAgICAgIGlm
IChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPmlzU1ZHUmVzb3VyY2UoKSkgewotICAgICAgICAg
ICAgUmVuZGVyU1ZHUmVzb3VyY2UqIHJlc291cmNlID0gcmVuZGVyZXIoKS0+dG9SZW5kZXJTVkdS
ZXNvdXJjZSgpOwotICAgICAgICAgICAgcmVzb3VyY2UtPmlkQ2hhbmdlZCgpOwotICAgICAgICB9
CisgICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pc1NWR1Jlc291cmNlQ29udGFpbmVyKCkp
CisgICAgICAgICAgICBvYmplY3QtPnRvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIoKS0+aWRD
aGFuZ2VkKCk7CiAgICAgfQogCi0gICAgLy8gSWYgd2UncmUgdGhlIGNoaWxkIG9mIGEgcmVzb3Vy
Y2UgZWxlbWVudCwgYmUgc3VyZSB0byBpbnZhbGlkYXRlIGl0LgotICAgIGludmFsaWRhdGVSZXNv
dXJjZXNJbkFuY2VzdG9yQ2hhaW4oKTsKKyAgICBpZiAoIWRvY3VtZW50KCktPnBhcnNpbmcoKSAm
JiBvYmplY3QpIHsKKyAgICAgICAgLy8gSWYgd2UncmUgdGhlIGNoaWxkIG9mIGEgcmVzb3VyY2Ug
ZWxlbWVudCwgdGVsbCB0aGUgcmVzb3VyY2UgKGFuZCBldmVudHVhbGx5IGl0cyByZXNvdXJjZXMp
IHRoYXQgd2UndmUgY2hhbmdlZC4KKyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlc0luQW5jZXN0
b3JDaGFpbigpOwogCi0gICAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgdXNpbmcgcmVzb3VyY2VzLCBp
bnZhbGlkYXRlIHRoZW0uCi0gICAgaW52YWxpZGF0ZVJlc291cmNlcygpOworICAgICAgICAvLyBJ
ZiB3ZSdyZSByZWZlcmVuY2luZyByZXNvdXJjZXMsIHRlbGwgdGhlbSB3ZSd2ZSBjaGFuZ2VkLgor
ICAgICAgICBkZXJlZ2lzdGVyRnJvbVJlc291cmNlcyhvYmplY3QpOworICAgIH0KIAogICAgIC8v
IEludmFsaWRhdGUgYWxsIFNWR0VsZW1lbnRJbnN0YW5jZXMgYXNzb2NpYXRlZCB3aXRoIHVzCiAg
ICAgU1ZHRWxlbWVudEluc3RhbmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KHRo
aXMpOwpAQCAtMjI2LDIwICsyMjYsNiBAQCB2b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OnN5bmNocm9u
aXplUHJvcGVyCiAgICAgICAgIHN5bmNocm9uaXplQ2xhc3NOYW1lKCk7CiB9CiAKLXZvaWQgU1ZH
U3R5bGVkRWxlbWVudDo6aW52YWxpZGF0ZVJlc291cmNlcygpCi17Ci0gICAgUmVuZGVyT2JqZWN0
KiBvYmplY3QgPSByZW5kZXJlcigpOwotICAgIGlmICghb2JqZWN0KQotICAgICAgICByZXR1cm47
Ci0KLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpOwotCi0gICAgaWYg
KGRvY3VtZW50LT5wYXJzaW5nKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGRlcmVnaXN0ZXJG
cm9tUmVzb3VyY2VzKG9iamVjdCk7Ci19Ci0KIHZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6aW52YWxp
ZGF0ZVJlc291cmNlc0luQW5jZXN0b3JDaGFpbigpIGNvbnN0CiB7CiAgICAgTm9kZSogbm9kZSA9
IHBhcmVudE5vZGUoKTsKQEAgLTI0OCwyNSArMjM0LDI1IEBAIHZvaWQgU1ZHU3R5bGVkRWxlbWVu
dDo6aW52YWxpZGF0ZVJlc291cmMKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIFNWR0Vs
ZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4obm9kZSk7Ci0gICAgICAg
IGlmIChTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHU3R5
bGVkRWxlbWVudCo+KGVsZW1lbnQtPmlzU3R5bGVkKCkgPyBlbGVtZW50IDogMCkpCi0gICAgICAg
ICAgICBzdHlsZWRFbGVtZW50LT5pbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisgICAgICAg
IGlmIChTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHU3R5
bGVkRWxlbWVudCo+KGVsZW1lbnQtPmlzU3R5bGVkKCkgPyBlbGVtZW50IDogMCkpIHsKKyAgICAg
ICAgICAgIHN0eWxlZEVsZW1lbnQtPmludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKKworICAg
ICAgICAgICAgLy8gSWYgd2UgZm91bmQgdGhlIGZpcnN0IHJlc291cmNlIGluIHRoZSBhbmNlc3Rv
ciBjaGFpbiwgaW1tZWRpYXRlbHkgc3RvcC4KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CiAKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICB9CiB9CiAKLXZvaWQg
U1ZHU3R5bGVkRWxlbWVudDo6aW52YWxpZGF0ZUNhbnZhc1Jlc291cmNlcygpCit2b2lkIFNWR1N0
eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKQogewogICAgIFJlbmRlck9i
amVjdCogb2JqZWN0ID0gcmVuZGVyZXIoKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaWYgKG9iamVjdC0+aXNTVkdSZXNvdXJjZSgpKQotICAgICAgICBvYmplY3Qt
PnRvUmVuZGVyU1ZHUmVzb3VyY2UoKS0+aW52YWxpZGF0ZUNsaWVudHMoKTsKLQotICAgIC8vIFRo
ZSBmb2xsb3dpbmcgbGluZXMgd2lsbCBiZSByZW1vdmVkIHNvb24sIG9uY2UgYWxsIHJlc291cmNl
cyBhcmUgaGFuZGxlZCBieSByZW5kZXJlcnMuCi0gICAgaWYgKFNWR1Jlc291cmNlKiByZXNvdXJj
ZSA9IGNhbnZhc1Jlc291cmNlKG9iamVjdCkpCi0gICAgICAgIHJlc291cmNlLT5pbnZhbGlkYXRl
KCk7CisgICAgaWYgKG9iamVjdC0+aXNTVkdSZXNvdXJjZUNvbnRhaW5lcigpKQorICAgICAgICBv
YmplY3QtPnRvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIoKS0+aW52YWxpZGF0ZUNsaWVudHMo
KTsKIH0KIAogdm9pZCBTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFu
Z2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBj
aGlsZENvdW50RGVsdGEpCkBAIC0yNzQsNyArMjYwLDggQEAgdm9pZCBTVkdTdHlsZWRFbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQoYgogICAgIFNWR0VsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFu
Z2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7
CiAKICAgICAvLyBJbnZhbGlkYXRlIGFsbCBTVkdFbGVtZW50SW5zdGFuY2VzIGFzc29jaWF0ZWQg
d2l0aCB1cwotICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09m
RWxlbWVudCh0aGlzKTsKKyAgICBpZiAoIWNoYW5nZWRCeVBhcnNlcikKKyAgICAgICAgU1ZHRWxl
bWVudEluc3RhbmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBTVkdTdHlsZWRFbGVtZW50OjpyZXNvbHZlU3R5bGUo
UmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKQpAQCAtMzA5LDEyICsyOTYsNiBAQCBQYXNzUmVmUHRy
PENTU1ZhbHVlPiBTVkdTdHlsZWRFbGVtZW50OjpnCiAgICAgcmV0dXJuIGNzc1NWR0F0dHItPnN0
eWxlKCktPmdldFByb3BlcnR5Q1NTVmFsdWUobmFtZSk7CiB9CiAKLXZvaWQgU1ZHU3R5bGVkRWxl
bWVudDo6ZGV0YWNoKCkKLXsKLSAgICBTVkdSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KHRoaXMpOwot
ICAgIFNWR0VsZW1lbnQ6OmRldGFjaCgpOwotfQotCiBib29sIFNWR1N0eWxlZEVsZW1lbnQ6Omlu
c3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSBjb25zdAogewogICAgIHJldHVybiBoYXNSYXJlU1ZHRGF0
YSgpICYmIHJhcmVTVkdEYXRhKCktPmluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKTsKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdTdHlsZWRFbGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHU3R5
bGVkRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw4ICsyOSw2IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNWR1Jlc291cmNlOwotCiAgICAgdm9pZCBtYXBBdHRy
aWJ1dGVUb0NTU1Byb3BlcnR5KEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIGludD4qIHByb3Bl
cnR5TmFtZVRvSWRNYXAsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKTsKIAogICAgIGNs
YXNzIFNWR1N0eWxlZEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCwKQEAgLTQ5LDcgKzQ3LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzS25vd25BdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKFJlbmRlclN0eWxlKik7Ci0gICAgICAgIHZpcnR1YWwgU1ZHUmVzb3VyY2UqIGNhbnZhc1Jl
c291cmNlKGNvbnN0IFJlbmRlck9iamVjdCopIHsgcmV0dXJuIDA7IH0KIAogICAgICAgICB2aXJ0
dWFsIGJvb2wgbWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiwgTWFwcGVkQXR0cmlidXRl
RW50cnkmKSBjb25zdDsKICAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRl
KE1hcHBlZEF0dHJpYnV0ZSopOwpAQCAtNjEsMTAgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAvLyBDZW50cmFsaXplZCBwbGFjZSB0byBmb3JjZSBhIG1hbnVhbCBzdHlsZSBy
ZXNvbHV0aW9uLiBIYWNreSBidXQgbmVlZGVkIGZvciBub3cuCiAgICAgICAgIFBhc3NSZWZQdHI8
UmVuZGVyU3R5bGU+IHJlc29sdmVTdHlsZShSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpOwogCisg
ICAgICAgIHZvaWQgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogICAgICAgICB2b2lkIGlu
dmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4oKSBjb25zdDsKLSAgICAgICAgdm9pZCBp
bnZhbGlkYXRlUmVzb3VyY2VzKCk7Ci0KLSAgICAgICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwog
CiAgICAgICAgIGJvb2wgaW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpIGNvbnN0OwogICAgICAgICB2
b2lkIHNldEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoYm9vbCk7CkBAIC03NCw4ICs2OSw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBwcm90ZWN0ZWQ6IAogICAgICAgICBzdGF0aWMgaW50IGNz
c1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1lKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAot
ICAgICAgICB2b2lkIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKTsKLQogICAgIHByaXZhdGU6
CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHU3R5bGVkRWxlbWVudCwgSFRN
TE5hbWVzOjpjbGFzc0F0dHIsIFN0cmluZywgQ2xhc3NOYW1lLCBjbGFzc05hbWUpCiAgICAgfTsK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNv
cmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzeW5j
aHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAgICAgICAgdmlydHVhbCBi
b29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqIHN0eWxlKSB7IHJldHVybiBTdHlsZWRF
bGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKHN0eWxlKTsgfQogICAgICAgICB2aXJ0dWFsIFJlbmRl
ck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogCiAg
ICAgICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7CkluZGV4
OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyLmgJKHJldmlzaW9uIDU4MTU5KQorKysg
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw5NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFu
biA8emltbWVybWFubkBrZGUub3JnPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIFNWR1BhaW50U2VydmVyX2gK
LSNkZWZpbmUgU1ZHUGFpbnRTZXJ2ZXJfaAotCi0jaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUg
IkRhc2hBcnJheS5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlNWR1Jl
c291cmNlLmgiCi0KLSNpZiBQTEFURk9STShDRykKLSNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZp
Y2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KLSNlbmRpZgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLSAgICBlbnVtIFNWR1BhaW50U2VydmVyVHlwZSB7Ci0gICAgICAgIC8vIFBhaW50aW5nIG1v
ZGUKLSAgICAgICAgU29saWRQYWludFNlcnZlciA9IDAsCi0gICAgICAgIFBhdHRlcm5QYWludFNl
cnZlciA9IDEsCi0gICAgICAgIExpbmVhckdyYWRpZW50UGFpbnRTZXJ2ZXIgPSAyLAotICAgICAg
ICBSYWRpYWxHcmFkaWVudFBhaW50U2VydmVyID0gMwotICAgIH07Ci0KLSAgICBlbnVtIFNWR1Bh
aW50VGFyZ2V0VHlwZSB7Ci0gICAgICAgIC8vIFRhcmdldCBtb2RlCi0gICAgICAgIEFwcGx5VG9G
aWxsVGFyZ2V0VHlwZSA9IDEsCi0gICAgICAgIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlID0gMgot
ICAgIH07Ci0KLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQ7Ci0gICAgY2xhc3MgUmVuZGVyT2Jq
ZWN0OwotICAgIGNsYXNzIFJlbmRlclN0eWxlOwotICAgIGNsYXNzIFNWR1BhaW50U2VydmVyU29s
aWQ7Ci0KLSAgICBjbGFzcyBTVkdQYWludFNlcnZlciA6IHB1YmxpYyBTVkdSZXNvdXJjZSB7Ci0g
ICAgcHVibGljOgotICAgICAgICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlcigpOwotCi0gICAgICAg
IHZpcnR1YWwgU1ZHUmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBh
aW50U2VydmVyUmVzb3VyY2VUeXBlOyB9Ci0KLSAgICAgICAgdmlydHVhbCBTVkdQYWludFNlcnZl
clR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRl
cm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdCA9IDA7Ci0KLSAgICAgICAgLy8g
VG8gYmUgaW1wbGVtZW50ZWQgaW4gcGxhdGZvcm0gc3BlY2lmaWMgY29kZS4KLSAgICAgICAgdmly
dHVhbCB2b2lkIGRyYXcoR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIFNW
R1BhaW50VGFyZ2V0VHlwZSkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB0ZWFyZG93bihH
cmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJnZXRUeXBl
LCBib29sIGlzUGFpbnRpbmdUZXh0ID0gZmFsc2UpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIHZv
aWQgcmVuZGVyUGF0aChHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZH
UGFpbnRUYXJnZXRUeXBlKSBjb25zdDsKLQotICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0dXAoR3Jh
cGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlclN0eWxlKiwg
U1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sIGlzUGFpbnRpbmdUZXh0ID0gZmFsc2UpIGNvbnN0ID0g
MDsKLQotICAgICAgICBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJP
YmplY3QqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQgPSBmYWxzZSkg
Y29uc3Q7Ci0KLSAgICAgICAgc3RhdGljIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZl
cihjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlck9iamVjdCopOwotICAgICAgICBzdGF0
aWMgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNlcnZlcihjb25zdCBSZW5kZXJTdHlsZSosIGNv
bnN0IFJlbmRlck9iamVjdCopOwotICAgICAgICBzdGF0aWMgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCog
c2hhcmVkU29saWRQYWludFNlcnZlcigpOwotCi0gICAgcHJvdGVjdGVkOgotICAgICAgICBTVkdQ
YWludFNlcnZlcigpOyAgICAgICAgCi0gICAgfTsKLQotICAgIFRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoVGV4dFN0cmVhbSYsIGNvbnN0IFNWR1BhaW50U2VydmVyJik7Ci0KLSAgICBTVkdQYWludFNl
cnZlciogZ2V0UGFpbnRTZXJ2ZXJCeUlkKERvY3VtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJiwg
Y29uc3QgUmVuZGVyT2JqZWN0Kik7Ci0KLSAgICB2b2lkIGFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRl
eHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJPYmpl
Y3QqKTsKLSAgICBEYXNoQXJyYXkgZGFzaEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKGNvbnN0IFJl
bmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSk7Ci19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZgotCi0jZW5kaWYgLy8gU1ZHUGFpbnRTZXJ2ZXJfaApJbmRleDog
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMTM4
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDggTmlrb2xhcyBaaW1tZXJt
YW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHUmVzb3VyY2UuaCIKLQotI2luY2x1ZGUgIlJl
bmRlclBhdGguaCIKLSNpbmNsdWRlICJTVkdFbGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVk
RWxlbWVudC5oIgotI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXR5cGVkZWYgSGFzaFNldDxTVkdS
ZXNvdXJjZSo+IFJlc291cmNlU2V0OwotCi1zdGF0aWMgUmVzb3VyY2VTZXQmIHJlc291cmNlU2V0
KCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJlc291cmNlU2V0LCBzZXQsICgpKTsKLSAg
ICByZXR1cm4gc2V0OwotfQotCi1TVkdSZXNvdXJjZTo6U1ZHUmVzb3VyY2UoKQotewotICAgIEFT
U0VSVCghcmVzb3VyY2VTZXQoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgcmVzb3VyY2VTZXQoKS5h
ZGQodGhpcyk7Ci19Ci0KLVNWR1Jlc291cmNlOjp+U1ZHUmVzb3VyY2UoKQotewotICAgIEFTU0VS
VChyZXNvdXJjZVNldCgpLmNvbnRhaW5zKHRoaXMpKTsKLSAgICByZXNvdXJjZVNldCgpLnJlbW92
ZSh0aGlzKTsKLX0KLQotdm9pZCBTVkdSZXNvdXJjZTo6aW52YWxpZGF0ZSgpCi17Ci0gICAgSGFz
aFNldDxTVkdTdHlsZWRFbGVtZW50Kj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9jbGllbnRzLmJl
Z2luKCk7Ci0gICAgY29uc3QgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj46OmNvbnN0X2l0ZXJh
dG9yIGVuZCA9IG1fY2xpZW50cy5lbmQoKTsKLQotICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQp
IHsKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudCogY3VyID0gKml0OwotCi0gICAgICAgIGlmIChj
dXItPnJlbmRlcmVyKCkpCi0gICAgICAgICAgICBjdXItPnJlbmRlcmVyKCktPnNldE5lZWRzTGF5
b3V0KHRydWUpOwotCi0gICAgICAgIGN1ci0+aW52YWxpZGF0ZVJlc291cmNlc0luQW5jZXN0b3JD
aGFpbigpOwotICAgIH0KLX0KLQotdm9pZCBTVkdSZXNvdXJjZTo6aW52YWxpZGF0ZUNsaWVudHMo
SGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4gY2xpZW50cykKLXsKLSAgICBIYXNoU2V0PFNWR1N0
eWxlZEVsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBjbGllbnRzLmJlZ2luKCk7Ci0gICAg
Y29uc3QgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGNs
aWVudHMuZW5kKCk7Ci0KLSAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFNW
R1N0eWxlZEVsZW1lbnQqIGN1ciA9ICppdDsKLQotICAgICAgICBpZiAoY3VyLT5yZW5kZXJlcigp
KQotICAgICAgICAgICAgY3VyLT5yZW5kZXJlcigpLT5zZXROZWVkc0xheW91dCh0cnVlKTsKLQot
ICAgICAgICBjdXItPmludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4oKTsKLSAgICB9
Ci19Ci0KLXZvaWQgU1ZHUmVzb3VyY2U6OnJlbW92ZUNsaWVudChTVkdTdHlsZWRFbGVtZW50KiBp
dGVtKSAKLXsKLSAgICBSZXNvdXJjZVNldDo6aXRlcmF0b3IgaXQgPSByZXNvdXJjZVNldCgpLmJl
Z2luKCk7Ci0gICAgUmVzb3VyY2VTZXQ6Oml0ZXJhdG9yIGVuZCA9IHJlc291cmNlU2V0KCkuZW5k
KCk7Ci0KLSAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFNWR1Jlc291cmNl
KiByZXNvdXJjZSA9ICppdDsKLSAgICAgICAgaWYgKCFyZXNvdXJjZS0+bV9jbGllbnRzLmNvbnRh
aW5zKGl0ZW0pKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIHJlc291cmNlLT5tX2Ns
aWVudHMucmVtb3ZlKGl0ZW0pOwotICAgIH0KLX0KLQotdm9pZCBTVkdSZXNvdXJjZTo6YWRkQ2xp
ZW50KFNWR1N0eWxlZEVsZW1lbnQqIGl0ZW0pCi17Ci0gICAgaWYgKG1fY2xpZW50cy5jb250YWlu
cyhpdGVtKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9jbGllbnRzLmFkZChpdGVtKTsKLX0K
LQotVGV4dFN0cmVhbSYgU1ZHUmVzb3VyY2U6OmV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0
cmVhbSYgdHMpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRzOwotfQotCi1TVkdSZXNvdXJjZSogZ2V0
UmVzb3VyY2VCeUlkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBpZCwg
Y29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgaWYgKGlkLmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KLSAgICBFbGVtZW50KiBlbGVtZW50ID0gZG9jdW1lbnQtPmdldEVs
ZW1lbnRCeUlkKGlkKTsKLSAgICBTVkdFbGVtZW50KiBzdmdFbGVtZW50ID0gMDsKLSAgICBpZiAo
ZWxlbWVudCAmJiBlbGVtZW50LT5pc1NWR0VsZW1lbnQoKSkKLSAgICAgICAgc3ZnRWxlbWVudCA9
IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihlbGVtZW50KTsKLQotICAgIGlmIChzdmdFbGVtZW50
ICYmIHN2Z0VsZW1lbnQtPmlzU3R5bGVkKCkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxT
VkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCktPmNhbnZhc1Jlc291cmNlKG9iamVjdCk7Ci0K
LSAgICByZXR1cm4gMDsKLX0KLQotVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0
cywgY29uc3QgU1ZHUmVzb3VyY2UmIHIpCi17Ci0gICAgcmV0dXJuIHIuZXh0ZXJuYWxSZXByZXNl
bnRhdGlvbih0cyk7Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdSZXNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jl
c291cmNlLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVz
b3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMSw5MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA4IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotCi0jaWZuZGVmIFNWR1Jlc291cmNlX2gKLSNkZWZpbmUgU1ZHUmVzb3VyY2VfaAotCi0j
aWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgIlJl
bmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKLQotI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEF0b21pY1N0cmluZzsgCi1j
bGFzcyBEb2N1bWVudDsKLWNsYXNzIFNWR1N0eWxlZEVsZW1lbnQ7Ci1jbGFzcyBUZXh0U3RyZWFt
OwotCi1lbnVtIFNWR1Jlc291cmNlVHlwZSB7Ci0gICAgLy8gUGFpbnRpbmcgbW9kZQotICAgIElt
YWdlUmVzb3VyY2VUeXBlLAotICAgIFBhaW50U2VydmVyUmVzb3VyY2VUeXBlLAotICAgIAotICAg
IC8vIEZvciByZXNvdXJjZSB0cmFja2luZyB3ZSBuZWVkIHRvIGtub3cgaG93IG1hbnkgdHlwZXMg
b2YgcmVzb3VyY2UgdGhlcmUgYXJlCi0gICAgX1Jlc291cmNlVHlwZUNvdW50Ci19OwotCi0vLyBU
aGUgU1ZHUmVzb3VyY2UgZmlsZSByZXByZXNlbnQgdmFyaW91cyBncmFwaGljcyByZXNvdXJjZXM6
Ci0vLyAtIFBhdHRlcm4gcmVzb3VyY2UKLS8vIC0gTGluZWFyL1JhZGlhbCBncmFkaWVudCByZXNv
dXJjZQotLy8KLS8vIFNWRyBjcmVhdGVzL3VzZXMgdGhlc2UgcmVzb3VyY2VzLgotCi1jbGFzcyBT
VkdSZXNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFNWR1Jlc291cmNlPiB7Ci1wdWJsaWM6Ci0g
ICAgdmlydHVhbCB+U1ZHUmVzb3VyY2UoKTsKLSAgCi0gICAgdmlydHVhbCB2b2lkIGludmFsaWRh
dGUoKTsKLQotICAgIHZvaWQgYWRkQ2xpZW50KFNWR1N0eWxlZEVsZW1lbnQqKTsKLSAgICB2aXJ0
dWFsIFNWR1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25zdCA9IDA7Ci0gICAgCi0gICAg
Ym9vbCBpc1BhaW50U2VydmVyKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUeXBlKCkgPT0gUGFp
bnRTZXJ2ZXJSZXNvdXJjZVR5cGU7IH0KLQotICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7Ci0KLSAgICBzdGF0aWMgdm9pZCBp
bnZhbGlkYXRlQ2xpZW50cyhIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPik7Ci0gICAgc3RhdGlj
IHZvaWQgcmVtb3ZlQ2xpZW50KFNWR1N0eWxlZEVsZW1lbnQqKTsKLQotcHJvdGVjdGVkOgotICAg
IFNWR1Jlc291cmNlKCk7Ci0KLXByaXZhdGU6Ci0gICAgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50
Kj4gbV9jbGllbnRzOwotfTsKLQotU1ZHUmVzb3VyY2UqIGdldFJlc291cmNlQnlJZChEb2N1bWVu
dCosIGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IFJlbmRlck9iamVjdCopOwotCi1UZXh0U3Ry
ZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mLCBjb25zdCBTVkdSZXNvdXJjZSYpOwotCi19Ci0K
LSNlbmRpZgotI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54151</attachid>
            <date>2010-04-23 05:39:54 -0700</date>
            <delta_ts>2010-04-23 09:09:12 -0700</delta_ts>
            <desc>WebCore changes - v5</desc>
            <filename>WebCoreSide-v4.diff</filename>
            <type>text/plain</type>
            <size>272533</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYyIEBACisyMDEwLTA0LTIzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNWR1BhaW50U2VydmVyIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgbmV3IFJl
bmRlclNWR1Jlc291cmNlKiBzeXN0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM3OTg2CisKKyAgICAgICAgSHVnZSBzcGVlZHVwIGZvciBTVkcgcGFp
bnRpbmcgdXNpbmcgcGFpbnQgc2VydmVycyAoZ3JhZGllbnQvcGF0dGVybnMpLiBDYWNoZSB1bmRl
cmx5aW5nCisgICAgICAgIFdlYkNvcmU6OkdyYWRpZW50L1BhdHRlcm4gZGF0YXN0cnVjdHVyZXMs
IGRvIG5vdCByZWJ1aWxkIHRoZW0gb24gZXZlcnkgcGFpbnRpbmcuIFRoaXMgbWFya3MKKyAgICAg
ICAgdGhlIGZpbmlzaCBvZiB0aGUgU1ZHUmVzb3VyY2UgLT4gUmVuZGVyU1ZHUmVzb3VyY2UgdHJh
bnNpdGlvbi4KKworICAgICAgICBPdXRsaW5lIG9mIHNhbWUga2V5IGNoYW5nZXM6CisgICAgICAg
IC0gUmVuZGVyU1ZHUmVzb3VyY2UgaXMgYW4gYWJzdHJhY3QgYmFzZSBjbGFzcyBub3csIGFuZCB0
aGUgcHJldmlvdXMgY2xhc3MgaXMgbm93IG5hbWVkIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
CisgICAgICAgICAgQWxsIHJlc291cmNlcyBleGNlcHQgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yIG5vdyBpbmhlcml0IGZyb20gUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIsIGFzIHRoZXkg
YXJlIGFsbAorICAgICAgICAgIGFzc29jaWF0ZWQgd2l0aCBhIFNWRypFbGVtZW50IGNsYXNzLiBS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IgaW5oZXJpdHMgZnJvbSBSZW5kZXJTVkdSZXNvdXJj
ZSwgYW5kIGlzIG5vdAorICAgICAgICAgIGFzc29jaWF0ZWQgd2l0aCBhbnkgU1ZHKkVsZW1lbnQg
Y2xhc3MuIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciBpcyBub3QgYSByZW5kZXIgdHJlZSBv
YmplY3QsIGRlc3BpdGUgaXRzIG5hbWUuCisgICAgICAgICAgVGhlIHJlYXNvbiBmb3IgdGhhdCBp
cyBjb25zaXN0ZW5jeSB3aXRoIGFsbCBvdGhlciBwYWludGluZyByZXNvdXJjZXMuCisgICAgICAg
IC0gUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yIGRvZXMgbm90IGxpdmUgaW4gdGhlIHJlbmRl
ciB0cmVlLCBhbmQgZXhpc3RzIG9ubHkgYXMgc3RhdGljIG9iamVjdCwgd2hpY2ggaXMgc2hhcmVk
CisgICAgICAgICAgYW5kIGFsd2F5cyB1c2VkIHdoZW4gZmlsbGluZy9zdHJva2luZyB3aXRoIHNv
bGlkIGNvbG9ycyAtIGp1c3QgbGlrZSB0aGUgb2xkIFNWR1BhaW50U2VydmVyU29saWQuCisgICAg
ICAgIC0gUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4g
bm93IHN0b3JlIHRoZSB1bmRlcmx5aW5nIFdlYkNvcmU6OkdyYWRpZW50L1BhdHRlcm4gb2JqZWN0
CisgICAgICAgICAgaW5zdGVhZCBvZiByZWJ1aWxkaW5nIGl0IGV2ZXJ5dGltZSB3ZSdyZSBhc2tl
ZCB0byBwYWludCAtPiB0aGlzIGlzIHRoZSBtYWluIGRpZmZlcmVuY2Ugd2l0aCB0aGUgb2xkIGNv
bmNlcHQsIGxlYWRpbmcKKyAgICAgICAgICB0byBtdWNoIGZhc3RlciBzcGVlZC4KKyAgICAgICAg
LSBTVkdSZXNvdXJjZSBoYXMgdmFuaXNoZWQuIEFsbCByZXNvdXJjZXMgKGNsaXBwZXIvZmlsdGVy
L21hcmtlci9tYXNrZXIvZ3JhZGllbnQvcGF0dGVybikgbm93IHNoYXJlIHRoZSBzYW1lIGNvZGVw
YXRocworICAgICAgICAgIHRvIGhhbmRsZSB1cGRhdGVzIGFuZCBjbGllbnQgaW52YWxpZGF0aW9u
IC0gd2hpY2ggaXMgYSBodWdlIGJlbmVmaXQsIGFuZCBtYWtlcyB0aGUgY29kZSBlYXNpZXIgdG8g
dW5kZXJzdGFuZC4KKworICAgICAgICAqIEFuZHJvaWQubWs6IFJlbW92ZSBzdmcvZ3JhcGhpY3Mv
U1ZHUmVzb3VyY2UqLCBzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaCBmcm9tIGJ1aWxkLgor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9H
cmFkaWVudC5jcHA6IEFkZCBhZGRDb2xvclN0b3AoKSBtZXRob2QgdGFraW5nIGEgQ29sb3JTdG9w
IGNvbnN0LXJlZmVyZW5jZS4KKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50OjphZGRDb2xvclN0
b3ApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50Lmg6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaDogUmVuYW1lIFNWR1BhaW50U2VydmVy
IHRvIFJlbmRlclNWR1Jlc291cmNlCisgICAgICAgIChXZWJDb3JlOjpUZXh0UnVuOjpUZXh0UnVu
KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSdW46OmFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOiBS
ZW5hbWVkIGZyb20gYWN0aXZlUGFpbnRTZXJ2ZXIuCisgICAgICAgIChXZWJDb3JlOjpUZXh0UnVu
OjpzZXRBY3RpdmVQYWludGluZ1Jlc291cmNlKTogUmVuYW1lZCBmcm9tIHNldEFjdGl2ZVBhaW50
U2VydmVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRX
aW4uY3BwOiBSZW1vdmUgcmVmZXJlbmNlcyB0byBTVkdSZXNvdXJjZUltYWdlLCB3aGljaCB3YXMg
cmVtb3ZlZCBhIGxvbmcgdGltZSBhZ28uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnRvUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIpOiBSZW5hbWVkIGZyb20gdG9SZW5kZXJTVkdSZXNvdXJjZSgpLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6aXNTVkdHcmFkaWVudFN0b3ApOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck9iamVjdDo6aXNTVkdSZXNvdXJjZUNvbnRhaW5lcik6IFJlbmFtZWQgZnJvbSBpc1NWR1Jlc291
cmNlKCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclBhdGguY3BwOiBVdGlsaXplIFJlbmRl
clNWR1Jlc291cmNlOjpmaWxsL3N0cm9rZVBhaW50aW5nUmVzb3VyY2UgdG8gcmVxdWVzdCBwYWlu
dCBzZXJ2ZXJzLCBpbnN0ZWFkIG9mIFNWR1BhaW50U2VydmVyLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyUGF0aDo6ZmlsbENvbnRhaW5zKTogQWRhcHQgdG8gbmV3IGNvbmNlcHQuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJQYXRoOjpzdHJva2VDb250YWlucyk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6ZmlsbEFuZFN0cm9rZVBhdGgpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclBhdGg6OnBhaW50KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR0dy
YWRpZW50U3RvcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdHcmFkaWVudFN0b3A6
OnN0eWxlRGlkQ2hhbmdlKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR0dy
YWRpZW50U3RvcC5oOiBGaXhlZCBpbmRlbnRpb24uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlLmNwcDogUmVmYWN0b3JlZCBvbGQgU1ZHUGFpbnRTZXJ2ZXIgY29kZSB0byBy
ZXF1ZXN0IGZpbGwvc3Ryb2tlIHBhaW50aW5nIHJlc291cmNlcywgc3BsaXR0ZWQgdXAgaW4gc2V2
ZXJhbCBtZXRob2RzIHRvIGFpZCByZWFkYWJpbGl0eS4gCisgICAgICAgIChXZWJDb3JlOjpyZWdp
c3RlclBlbmRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjphZGp1c3RDb2xvckZvclBz
ZXVkb1J1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjpmaWxsUGFp
bnRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZTo6c3Ry
b2tlUGFpbnRpbmdSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZTo6c2hhcmVkU29saWRQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jlc291cmNlOjptYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24pOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZS5oOiBNYWtlIFJlbmRlclNWR1Jlc291
cmNlIGFuIGFic3RyYWN0IGJhc2UgY2xhc3MsIHNlZSBhYm92ZSBmb3IgdGhlIHJlYXNvbmluZy4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjpSZW5kZXJTVkdSZXNvdXJjZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZTo6flJlbmRlclNWR1Jlc291cmNl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlOjpwb3N0QXBwbHlSZXNvdXJj
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHA6IElu
aGVyaXQgZnJvbSBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciBpbnN0ZWFkIG9mIFJlbmRlclNW
R1Jlc291cmNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjpS
ZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVz
b3VyY2VDbGlwcGVyOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jlc291cmNlQ2xpcHBlcjo6YXBwbHlSZXNvdXJjZSk6IEFkYXB0IHRvIHNpZ25hdHVyZSBj
aGFuZ2VzIChhZGQgUmVuZGVyU3R5bGUqIGFuZCByZXNvdXJjZSBtb2RlIHBhcmFtZXRlcnMpCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmFwcGx5Q2xpcHBpbmdU
b0NvbnRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaDogQWRk
ZWQuIFJlbmFtZWQgZnJvbSBSZW5kZXJTVkdSZXNvdXJjZS4gTm93IGluaGVyaXRzIGZyb20gUmVu
ZGVyU1ZHSGlkZGVuQ29udGFpbmVyIGFuZCBSZW5kZXJTVkdSZXNvdXJjZS4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRh
aW5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjo6flJl
bmRlclNWR1Jlc291cmNlQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyOjppZENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXI6OmlzU1ZHUmVzb3VyY2VDb250YWluZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OmRyYXdzQ29udGVudHMpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI6OnRvUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXJCeUlkKToKKyAgICAgICAgKFdlYkNvcmU6OmdldFJlbmRlclNWR1Jlc291cmNlQnlJZCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcDogSW5oZXJp
dCBmcm9tIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyIGluc3RlYWQgb2YgUmVuZGVyU1ZHUmVz
b3VyY2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6UmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXI6OmludmFsaWRhdGVDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3VyY2UpOiBBZGFwdCB0byBzaWduYXR1cmUgY2hhbmdlcyAo
YWRkIFJlbmRlclN0eWxlKiBhbmQgcmVzb3VyY2UgbW9kZSBwYXJhbWV0ZXJzKQorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5jcHA6IE1vdmVkIGZyb20gU1ZHUGFp
bnRTZXJ2ZXJHcmFkaWVudCwgY2xlYW5lZCB1cCBhbmQgcmVmYWN0b3JlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OlJlbmRlclNWR1Jlc291cmNlR3JhZGll
bnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6flJlbmRl
clNWR1Jlc291cmNlR3JhZGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudDo6aW52YWxpZGF0ZUNsaWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VHcmFkaWVudDo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpjcmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6Y2xpcFRvVGV4dE1hc2spOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudDo6YXBwbHlSZXNvdXJjZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlR3JhZGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
R3JhZGllbnQ6OnJlc291cmNlQm91bmRpbmdCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcDogTW92ZWQgZnJvbSBTVkdQYWludFNlcnZl
ckxpbmVhckdyYWRpZW50LCBjbGVhbmVkIHVwIGFuZCByZWZhY3RvcmVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6UmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50OjpidWlsZEdyYWRpZW50KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6cmVuZGVy
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50
OjpyZXNvdXJjZVR5cGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1h
cmtlci5jcHA6IEluaGVyaXQgZnJvbSBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciBpbnN0ZWFk
IG9mIFJlbmRlclNWR1Jlc291cmNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3Vy
Y2VNYXJrZXI6OlJlbmRlclNWR1Jlc291cmNlTWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jlc291cmNlTWFya2VyOjppbnZhbGlkYXRlQ2xpZW50KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jlc291cmNlTWFya2VyOjphcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwOiBJbmhlcml0IGZyb20gUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIgaW5zdGVhZCBvZiBSZW5kZXJTVkdSZXNvdXJjZS4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclNWR1Jlc291cmNlTWFza2VyOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6aW52YWxpZGF0ZUNsaWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6YXBwbHlSZXNv
dXJjZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpNYXNrZXJEYXRhOjpNYXNrZXJEYXRhKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcDogTW92ZWQgZnJvbSBTVkdQYWludFNl
cnZlclBhdHRlcm4sIGNsZWFuZWQgdXAgYW5kIHJlZmFjdG9yZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46On5SZW5kZXJTVkdSZXNv
dXJjZVBhdHRlcm4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJu
OjppbnZhbGlkYXRlQ2xpZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJj
ZVBhdHRlcm46OmludmFsaWRhdGVDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
UmVzb3VyY2VQYXR0ZXJuOjphcHBseVJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jlc291cmNlUGF0dGVybjo6cG9zdEFwcGx5UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29y
ZTo6Y2FsY3VsYXRlUGF0dGVybkJvdW5kYXJpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuOjpjYWxjdWxhdGVQYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092
ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6Y3Jl
YXRlVGlsZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUGF0dGVy
bjo6YnVpbGRQYXR0ZXJuKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQ
YXR0ZXJuLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OnJl
bmRlck5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjpy
ZXNvdXJjZUJvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNl
UGF0dGVybjo6cmVzb3VyY2VUeXBlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VSYWRpYWxHcmFkaWVudC5jcHA6IE1vdmVkIGZyb20gU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxH
cmFkaWVudCwgY2xlYW5lZCB1cCBhbmQgcmVmYWN0b3JlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3Jh
ZGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVu
dDo6flJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6YnVpbGRHcmFkaWVudCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQ6OnJlbmRlck5hbWUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudDo6cmVzb3Vy
Y2VUeXBlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9y
LmNwcDogTW92ZWQgZnJvbSBTVkdQYWludFNlcnZlclNvbGlkLCBjbGVhbmVkIHVwIGFuZCByZWZh
Y3RvcmVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
UmVzb3VyY2VTb2xpZENvbG9yOjp+UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcjo6YXBwbHlSZXNvdXJjZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnBvc3RBcHBs
eVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENv
bG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6Omlu
dmFsaWRhdGVDbGllbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlU29s
aWRDb2xvcjo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdS
ZXNvdXJjZVNvbGlkQ29sb3I6OnJlc291cmNlQm91bmRpbmdCb3gpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpyZXNvdXJjZVR5cGUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpjb2xvcik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnNldENvbG9yKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdUZXh0OjpwYWludCk6IEVhcmx5IGV4aXQgaWYgcGFpbnRpbmcgaXMgZGlzYWJsZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
d3JpdGUpOiBBZGQgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIGR1bXBpbmcuCisgICAgICAgIChXZWJD
b3JlOjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKTogUmVtb3ZlIFNWR1Jlc291cmNlIGR1bXBpbmcu
CisgICAgICAgICogcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guY3BwOiBBZGFwdCB0byBTVkdQ
YWludFNlcnZlciBjaGFuZ2VzIChwYWludCBzZXJ2ZXIgcmVxdWVzdCkuCisgICAgICAgIChXZWJD
b3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludENoYXJhY3RlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToKKyAgICAgICAgKiByZW5kZXJp
bmcvU1ZHSW5saW5lVGV4dEJveC5oOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRQ
YWludEluZm86OlNWR1RleHRQYWludEluZm8pOgorICAgICAgICAqIHJlbmRlcmluZy9TVkdSZW5k
ZXJTdXBwb3J0LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJCYXNlOjpw
cmVwYXJlVG9SZW5kZXJTVkdDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlckJh
c2U6OmZpbmlzaFJlbmRlclNWR0NvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6aW52YWxpZGF0
ZVBhaW50aW5nUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6ZGVyZWdpc3RlckZyb21SZXNv
dXJjZXMpOgorICAgICAgICAoV2ViQ29yZTo6ZGFzaEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKTog
TW92ZWQgaGVyZSBmcm9tIFNWR1BhaW50U2VydmVyLgorICAgICAgICAoV2ViQ29yZTo6YXBwbHlT
dHJva2VTdHlsZVRvQ29udGV4dCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9TVkdSZW5k
ZXJTdXBwb3J0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuY3Bw
OiBBZGQgbmV3IGdyYWRpZW50L3BhdHRlcm4gZHVtcGluZyBjb2RlLiBTdG9wcyBhcmUgbm93IHBy
b3Blcmx5IGR1bXBlZCBhcyB3ZWxsIQorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6Cisg
ICAgICAgIChXZWJDb3JlOjp3cml0ZVNWR1BhaW50aW5nUmVzb3VyY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6d3JpdGVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpib3VuZGluZ0JveE1vZGVTdHJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVDb21tb25HcmFkaWVudFByb3BlcnRpZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6d3JpdGVTVkdSZXNvdXJjZUNvbnRhaW5lcik6CisgICAgICAgIChX
ZWJDb3JlOjp3cml0ZVNWR0dyYWRpZW50U3RvcCk6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1Jl
bmRlclRyZWVBc1RleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5j
cHA6IEFkYXB0IHRvIFNWR1BhaW50U2VydmVyIGNoYW5nZXMgKHBhaW50IHNlcnZlciByZXF1ZXN0
KS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6U1ZHUm9v
dElubGluZUJveFBhaW50V2Fsa2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVC
b3hQYWludFdhbGtlcjo6flNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OnRlYXJkb3duRmlsbFBhaW50U2Vy
dmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6dGVh
cmRvd25TdHJva2VQYWludFNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5saW5l
Qm94UGFpbnRXYWxrZXI6OnNldHVwQmFja2dyb3VuZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdS
b290SW5saW5lQm94UGFpbnRXYWxrZXI6OnNldHVwRmlsbCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OnNldHVwRmlsbFNlbGVjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXI6OnNldHVwU3Ryb2tlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6c2V0dXBTdHJva2VT
ZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBhaW50V2Fsa2Vy
OjpzZXR1cEZvcmVncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveFBh
aW50V2Fsa2VyOjphY3RpdmVQYWludGluZ1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlcjo6cGFpbnRDaHVuayk6CisgICAgICAgICogc3ZnL0dy
YWRpZW50QXR0cmlidXRlcy5oOiBSZW1vdmUgU1ZHR3JhZGllbnRTdG9wLCB1c2UgR3JhZGllbnQ6
OkNvbG9yU3RvcCB2ZWN0b3IuIENsZWFudXAuCisgICAgICAgIChXZWJDb3JlOjpHcmFkaWVudEF0
dHJpYnV0ZXM6OnN0b3BzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50QXR0cmlidXRlczo6
c2V0U3RvcHMpOgorICAgICAgICAqIHN2Zy9MaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaDogTW92
ZSBFTkFCTEUoU1ZHKSBndWFyZCB0byBjb3JyZWN0IGxvY2F0aW9uLgorICAgICAgICAqIHN2Zy9Q
YXR0ZXJuQXR0cmlidXRlcy5oOiBBZGQgbWlzc2luZyBpbmNsdWRlcyBhbmQgY2xhc3MgZm9yd2Fy
ZHMuCisgICAgICAgICogc3ZnL1JhZGlhbEdyYWRpZW50QXR0cmlidXRlcy5oOiBNb3ZlIEVOQUJM
RShTVkcpIGd1YXJkIHRvIGNvcnJlY3QgbG9jYXRpb24uCisgICAgICAgICogc3ZnL1NWR0NsaXBQ
YXRoRWxlbWVudC5jcHA6IFJlbmFtZSBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCkgdG8gaW52
YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2xpcFBhdGhF
bGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NsaXBQ
YXRoRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKTogT25seSBjYWxsIGludmFsaWRhdGVSZXNvdXJj
ZUNsaWVudHMoKSB3aGVuICFjaGFuZ2VkQnlQYXJzZXIgaXMgc2V0LgorICAgICAgICAqIHN2Zy9T
VkdDbGlwUGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmNwcDogQ2hhbmdlIEhhc2hNYXBzIHRvIGhhc2ggQXRvbWljU3RyaW5ncyBpbnN0ZWFkIG9mIFN0
cmluZ3MuIFJlbmFtZSBSZW5kZXJTVkdSZXNvdXJjZSB0byBSZW5kZXJTVkdSZXNvdXJjZUNvbnRh
aW5lci4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0RvY3VtZW50RXh0ZW5zaW9uczo6YWRkUmVzb3Vy
Y2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZW1vdmVSZXNv
dXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlc291cmNl
QnlJZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmFkZFBlbmRp
bmdSZXNvdXJjZSk6CisgICAgICAgICogc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oOgorICAg
ICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
Omluc2VydGVkSW50b0RvY3VtZW50KTogUmVtb3ZlIHJlZmVyZW5jZSB0byBTVkdSZXNvdXJjZTo6
aW52YWxpZGF0ZUNsaWVudHMoKSwgaGFuZGxlZCBkaWZmZXJlbnRseSBub3cuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbGVtZW50Ojp1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZSk6IENoYW5nZSBh
c3NlcnRpb24sIHRoYXQgaXMgaW5jb3JyZWN0IG5vdy4KKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVu
dC5oOiBNYWtlIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKCkgcHVibGljLgorICAgICAgICAq
IHN2Zy9TVkdGb250LmNwcDogQWRhcHQgdG8gU1ZHUGFpbnRTZXJ2ZXIgY2hhbmdlcyAocGFpbnQg
c2VydmVyIHJlcXVlc3QpLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd1RleHRVc2luZ1NW
R0ZvbnQpOgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVudC5jcHA6IElmIHN0eWxlKCktPmRpc3Bs
YXkoKSBpcyBOT05FLCBjcmVhdGUgYSBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIsIHJlbW92aW5n
IGhhY2tzIGluIFNWR1N0b3BFbGVtZW50IGZvciBwc2VydmVycy1ncmFkLTE5LWIuc3ZnICh5ZXMs
IFNWRyBpcyBjcmF6eS4pCisgICAgICAgIChXZWJDb3JlOjpTVkdHRWxlbWVudDo6Y3JlYXRlUmVu
ZGVyZXIpOgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVudC5oOiBSZW1vdmUgY2hpbGRyZW5DaGFu
Z2VkKCkgbWV0aG9kIHdoaWNoIF9hbHdheXNfIGNhbGxlZCByZW5kZXJlci0+c2V0TmVlZHNMYXlv
dXQodHJ1ZSksIHdoaWNoIGlzIGNvbXBsZXRseSB3cm9uZyBhbmQgdW5uZWNlc3NhcnkuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdHRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZCk6IEFsd2F5cyByZXR1
cm4gdHJ1ZS4KKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcDogQWRhcHQgdG8g
bmV3IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R0dyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdHcmFkaWVudEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IE9ubHkgY2FsbCBpbnZhbGlk
YXRlUmVzb3VyY2VDbGllbnRzKCkgd2hlbiAhY2hhbmdlZEJ5UGFyc2VyIGlzIHNldC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0dyYWRpZW50RWxlbWVudDo6YnVpbGRTdG9wcyk6CisgICAgICAgICog
c3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVu
dEVsZW1lbnQuY3BwOiBBZGFwdCB0byBuZXcgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVu
dCBjb2RlLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpzdmdB
dHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xpbmVhckdyYWRpZW50RWxl
bWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGluZWFyR3JhZGll
bnRFbGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6Y2FsY3VsYXRlU3RhcnRFbmRQb2ludHMpOgorICAg
ICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
TWFya2VyRWxlbWVudC5jcHA6IFJlbmFtZSBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCkgdG8g
aW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFya2Vy
RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXJr
ZXJFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOiBPbmx5IGNhbGwgaW52YWxpZGF0ZVJlc291cmNl
Q2xpZW50cygpIHdoZW4gIWNoYW5nZWRCeVBhcnNlciBpcyBzZXQuCisgICAgICAgIChXZWJDb3Jl
OjpTVkdNYXJrZXJFbGVtZW50OjpzZXRPcmllbnRUb0F1dG8pOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHTWFya2VyRWxlbWVudDo6c2V0T3JpZW50VG9BbmdsZSk6CisgICAgICAgICogc3ZnL1NWR01h
c2tFbGVtZW50LmNwcDogUmVuYW1lIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKSB0byBpbnZh
bGlkYXRlUmVzb3VyY2VDbGllbnRzKCkuCisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNrRWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNrRWxlbWVu
dDo6Y2hpbGRyZW5DaGFuZ2VkKTogT25seSBjYWxsIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMo
KSB3aGVuICFjaGFuZ2VkQnlQYXJzZXIgaXMgc2V0LgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJu
RWxlbWVudC5jcHA6IFJlbmFtZSBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCkgdG8gaW52YWxp
ZGF0ZVJlc291cmNlQ2xpZW50cygpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1l
bnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVs
ZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IE9ubHkgY2FsbCBpbnZhbGlkYXRlUmVzb3VyY2VDbGll
bnRzKCkgd2hlbiAhY2hhbmdlZEJ5UGFyc2VyIGlzIHNldC4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R1BhdHRlcm5FbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICogc3ZnL1NWR1BhdHRl
cm5FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1BvbHlFbGVtZW50Lmg6IFJlbW92ZSB1bm5l
ZGVkIHJlbmRlcmVySXNOZWVkZWQoKSBvdmVycmlkZS4KKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmNwcDogQWRhcHQgdG8gbmV3IFJlbmRlclNWR1Jlc291cmNlUmFkaWFs
R3JhZGllbnQgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudDo6Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OmNhbGN1bGF0ZUZvY2FsQ2VudGVyUG9p
bnRzQW5kUmFkaXVzKToKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Lmg6
CisgICAgICAgICogc3ZnL1NWR1N0b3BFbGVtZW50LmNwcDogQ2xlYW4gdXAgY29kZSwgbW92ZWQg
c3RvcCBjb2xvciBjYWxjdWxhdGlvbiBmcm9tIFNWR0dyYWRpZW50RWxlbWVudCB0byBoZXJlLCB3
aGVyZSBpdCBiZWxvbmdzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3RvcEVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0b3BFbGVtZW50OjpzdG9w
Q29sb3JJbmNsdWRpbmdPcGFjaXR5KToKKyAgICAgICAgKiBzdmcvU1ZHU3RvcEVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdTdHlsZWRFbGVtZW50Ojp+U1ZHU3R5bGVkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdTdHlsZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKTogT25seSBpbnZhbGlkYXRlUmVz
b3VyY2VzSW5BbmNlc3RvckNoYWluKCkvZGVyZWdpc3RlckZyb21SZXNvdXJjZXMoKSB3aGVuIHdl
J3JlIG5vdCBwYXJzaW5nLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3R5bGVkRWxlbWVudDo6aW52
YWxpZGF0ZVJlc291cmNlc0luQW5jZXN0b3JDaGFpbik6IEVhcmx5IGV4aXQgaWYgd2UgZmluZCBh
IHBhcmVudCByZXNvdXJjZXMsIHRoZXJlIGlzIG5vIHJlc291cmNlIG5lc3RpbmcuCisgICAgICAg
IChXZWJDb3JlOjpTVkdTdHlsZWRFbGVtZW50OjppbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKTog
UmVuYW1lZCBmcm9tIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKQorICAgICAgICAoV2ViQ29y
ZTo6U1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKTogT25seSBpbnZhbGlkYXRlIFNW
R0VsZW1lbnRJbnN0YW5jZXMgd2hlbiAhY2hhbmdlZEJ5UGFyc2VyIGlzIHNldC4KKyAgICAgICAg
KiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5oOiBSZW1vdmUgY2FudmFzUmVzb3VyY2UoKSBsb2dpYywg
cmVtb3ZlIGRldGFjaCgpIG1ldGhvZC4KKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyLmg6IFJlbW92ZWQuCisg
ICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAg
KiBzdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2UuaDogUmVtb3ZlZC4KKwogMjAxMC0wNC0yMyAgRGF2
aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzM4MDMyPiBObyBuZWVkIHRvIGNvbnRlbnQgc25pZmYgMzA0IHJlc3BvbnNlcwpJbmRl
eDogV2ViQ29yZS9BbmRyb2lkLm1rCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQW5kcm9pZC5tawko
cmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL0FuZHJvaWQubWsJKHdvcmtpbmcgY29weSkKQEAg
LTg2MSw3ICs4NjEsNiBAQCBMT0NBTF9TUkNfRklMRVMgOj0gJChMT0NBTF9TUkNfRklMRVMpIFwK
IAlzdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcCBcCiAJXAogCXN2Zy9ncmFwaGljcy9T
VkdJbWFnZS5jcHAgXAotCXN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHAgXAogCVwKIAlzdmcv
Z3JhcGhpY3MvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4LmNwcCBcCiAJc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHRkVEaWZmdXNlTGlnaHRpbmcuY3BwIFwKSW5kZXg6IFdlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24g
NTgxNTkpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zNDYy
LDggKzM0NjIsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TVkdTTUlMRWxlbWVudC5oIFwKIAlXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAg
XAogCVdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmggXAotCVdlYkNvcmUvc3ZnL2dyYXBo
aWNzL1NWR1BhaW50U2VydmVyLmggXAotCVdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNl
LmNwcCBcCiAJV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdEaXN0YW50TGlnaHRTb3Vy
Y2UuaCBcCiAJV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4
LmNwcCBcCiAJV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUNvbnZvbHZlTWF0cml4
LmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9X
ZWJDb3JlLmd5cGkJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdv
cmtpbmcgY29weSkKQEAgLTM0MDMsOSArMzQwMyw2IEBACiAgICAgICAgICAgICAnc3ZnL2dyYXBo
aWNzL2ZpbHRlcnMvU1ZHU3BvdExpZ2h0U291cmNlLmgnLAogICAgICAgICAgICAgJ3N2Zy9ncmFw
aGljcy9TVkdJbWFnZS5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5o
JywKLSAgICAgICAgICAgICdzdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaCcsCi0gICAgICAg
ICAgICAnc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcCcsCi0gICAgICAgICAgICAnc3ZnL2dy
YXBoaWNzL1NWR1Jlc291cmNlLmgnLAogICAgICAgICAgICAgJ3N2Zy9Db2xvckRpc3RhbmNlLmNw
cCcsCiAgICAgICAgICAgICAnc3ZnL0NvbG9yRGlzdGFuY2UuaCcsCiAgICAgICAgICAgICAnc3Zn
L0VsZW1lbnRUaW1lQ29udHJvbC5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3Jl
L1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xODE5LDggKzE4MTksNiBAQCBIRUFERVJT
ICs9IFwKICAgICBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaCBcCiAgICAgc3ZnL2dy
YXBoaWNzL2ZpbHRlcnMvU1ZHTGlnaHRTb3VyY2UuaCBcCiAgICAgc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmggXAotICAgIHN2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlci5oIFwKLSAgICBzdmcvZ3Jh
cGhpY3MvU1ZHUmVzb3VyY2UuaCBcCiAgICAgc3ZnL1NWR0FFbGVtZW50LmggXAogICAgIHN2Zy9T
VkdBbHRHbHlwaEVsZW1lbnQuaCBcCiAgICAgc3ZnL1NWR0FuZ2xlLmggXApAQCAtMjY4NSw3ICsy
NjgzLDYgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7CiAgICAgICAgIHN2Zy9n
cmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlckJ1aWxkZXIuY3BwIFwKICAgICAgICAgc3ZnL2dyYXBo
aWNzL2ZpbHRlcnMvU1ZHTGlnaHRTb3VyY2UuY3BwIFwKICAgICAgICAgc3ZnL2dyYXBoaWNzL1NW
R0ltYWdlLmNwcCBcCi0gICAgICAgIHN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHAgXAogICAg
ICAgICByZW5kZXJpbmcvUmVuZGVyRm9yZWlnbk9iamVjdC5jcHAgXAogICAgICAgICByZW5kZXJp
bmcvUmVuZGVyUGF0aC5jcHAgXAogICAgICAgICByZW5kZXJpbmcvUmVuZGVyU1ZHQmxvY2suY3Bw
IFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNTgx
NTkpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC00MjM1MywxOCArNDIzNTMsNiBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xn
cmFwaGljc1xTVkdJbWFnZS5oIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQot
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xncmFwaGljc1xTVkdQYWludFNlcnZlci5oIg0KLQkJ
CQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2
Z1xncmFwaGljc1xTVkdSZXNvdXJjZS5jcHAiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJ
PEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3ZnXGdyYXBoaWNzXFNWR1Jlc291cmNlLmgi
DQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCiAJCQkJPEZpbHRlcg0KIAkJCQkJTmFtZT0iZmlsdGVy
cyINCiAJCQkJCT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTQzLDkgKzE0Myw2IEBACiAJCTA4QTQ4NDc3
MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QTQ4NDc1MEU1MjcyQzUwMEMzRkU3NiAvKiBT
Y3JpcHRFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDhBNDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNj
cmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA4QTQ4NDc2MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmggKi87IH07CiAJ
CTA4QTQ4QTZFMEU4NkNGNkQwMEUyMjVERCAvKiBKU1NWR0VsZW1lbnRJbnN0YW5jZUN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwOEE0OEE2
RDBFODZDRjZEMDBFMjI1REQgLyogSlNTVkdFbGVtZW50SW5zdGFuY2VDdXN0b20uY3BwICovOyB9
OwotCQkwOEE3RTkyNzExODA1RURBMDBEMEI4NzAgLyogU1ZHUGFpbnRTZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4QTdFOTI2MTE4MDVFREEw
MEQwQjg3MCAvKiBTVkdQYWludFNlcnZlci5oICovOyB9OwotCQkwOEE3RTkyQjExODA1RUYxMDBE
MEI4NzAgLyogU1ZHUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA4QTdFOTJBMTE4MDVFRjEwMEQwQjg3MCAvKiBTVkdSZXNvdXJjZS5oICov
OyB9OwotCQkwOEE3RTkyRjExODA1RUZEMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhBN0U5MkUxMTgwNUVG
RDAwRDBCODcwIC8qIFNWR1Jlc291cmNlLmNwcCAqLzsgfTsKIAkJMDhDMzRBRjUxMTc5QzA1NzAw
MkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjExMTc5QzA1NjAwMkQ3NDU2IC8q
IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuY3BwICovOyB9OwogCQkwOEMzNEFGNjExNzlDMDU3
MDAyRDc0NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjIxMTc5QzA1NzAwMkQ3NDU2IC8q
IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCAqLzsgfTsKIAkJMDhDMzRBRjcxMTc5QzA1NzAw
MkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDhDMzRBRjMxMTc5QzA1NzAwMkQ3
NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuY3BwICovOyB9OwpAQCAtNTUx
NCw5ICs1NTExLDYgQEAKIAkJMDhBNDg0NzUwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1l
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0RWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4QTQ4NDc2MEU1MjcyQzUwMEMz
RkU3NiAvKiBTY3JpcHRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjcmlwdEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDhBNDhBNkQw
RTg2Q0Y2RDAwRTIyNUREIC8qIEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9t
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDhBN0U5MjYxMTgwNUVEQTAwRDBC
ODcwIC8qIFNWR1BhaW50U2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNWR1BhaW50U2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4QTdFOTJB
MTE4MDVFRjEwMEQwQjg3MCAvKiBTVkdSZXNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkw
OEE3RTkyRTExODA1RUZEMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUmVzb3VyY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwOEMzNEFGMTExNzlDMDU2MDAyRDc0NTYgLyogUmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5k
ZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MDhDMzRBRjIxMTc5QzA1NzAwMkQ3NDU2IC8qIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwOEMzNEFGMzExNzlDMDU3MDAyRDc0
NTYgLyogUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTEwLDkgKzE0NTA0LDYgQEAKIAkJ
CQlCMjU1OTg5QzBEMDBEOEI4MDBCQjgyNUMgLyogZmlsdGVycyAqLywKIAkJCQlCMjU1OTkwQjBE
MDBEOEI5MDBCQjgyNUMgLyogU1ZHSW1hZ2UuY3BwICovLAogCQkJCUIyNTU5OTBDMEQwMEQ4Qjkw
MEJCODI1QyAvKiBTVkdJbWFnZS5oICovLAotCQkJCTA4QTdFOTI2MTE4MDVFREEwMEQwQjg3MCAv
KiBTVkdQYWludFNlcnZlci5oICovLAotCQkJCTA4QTdFOTJFMTE4MDVFRkQwMEQwQjg3MCAvKiBT
VkdSZXNvdXJjZS5jcHAgKi8sCi0JCQkJMDhBN0U5MkExMTgwNUVGMTAwRDBCODcwIC8qIFNWR1Jl
c291cmNlLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGdyYXBoaWNzOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKQEAgLTE4ODY3LDggKzE4ODU4LDYgQEAKIAkJCQkwRkQzMDgwRjExN0NGN0U3
MDBBNzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkQzMDhE
NjExN0QxNjg1MDBBNzkxRjcgLyogUmVuZGVySUZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
OEM2QTdBQzExN0RGQkFCMDBGRUExQTIgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmgg
aW4gSGVhZGVycyAqLywKLQkJCQkwOEE3RTkyNzExODA1RURBMDBEMEI4NzAgLyogU1ZHUGFpbnRT
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4QTdFOTJCMTE4MDVFRjEwMEQwQjg3MCAvKiBT
VkdSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMTEwNCw3ICsyMTA5Myw2IEBACiAJCQkJ
MEZEMzA4RDUxMTdEMTY4NTAwQTc5MUY3IC8qIFJlbmRlcklGcmFtZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwOEM2QTdBQjExN0RGQkFCMDBGRUExQTIgLyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3Mzg4OUEwMTE2RUE5REMwMEFERjMxMyAv
KiBEb2N1bWVudFdyaXRlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwOEE3RTkyRjExODA1RUZE
MDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyAr
OTYsMTQgQEAgdm9pZCBHcmFkaWVudDo6YWRkQ29sb3JTdG9wKGZsb2F0IHZhbHVlLAogICAgIG1f
c3RvcHMuYXBwZW5kKENvbG9yU3RvcCh2YWx1ZSwgciwgZywgYiwgYSkpOwogCiAgICAgbV9zdG9w
c1NvcnRlZCA9IGZhbHNlOworICAgIHBsYXRmb3JtRGVzdHJveSgpOworfQogCit2b2lkIEdyYWRp
ZW50OjphZGRDb2xvclN0b3AoY29uc3QgR3JhZGllbnQ6OkNvbG9yU3RvcCYgc3RvcCkKK3sKKyAg
ICBtX3N0b3BzLmFwcGVuZChzdG9wKTsKKworICAgIG1fc3RvcHNTb3J0ZWQgPSBmYWxzZTsKICAg
ICBwbGF0Zm9ybURlc3Ryb3koKTsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFkaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
ZGllbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YWRpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB9CiAgICAgICAgIHZpcnR1YWwgfkdyYWRpZW50KCk7CiAKKyAgICAgICAg
c3RydWN0IENvbG9yU3RvcDsKKyAgICAgICAgdm9pZCBhZGRDb2xvclN0b3AoY29uc3QgQ29sb3JT
dG9wJik7CiAgICAgICAgIHZvaWQgYWRkQ29sb3JTdG9wKGZsb2F0LCBjb25zdCBDb2xvciYpOwog
CiAgICAgICAgIHZvaWQgZ2V0Q29sb3IoZmxvYXQgdmFsdWUsIGZsb2F0KiByLCBmbG9hdCogZywg
ZmxvYXQqIGIsIGZsb2F0KiBhKSBjb25zdDsKQEAgLTkyLDcgKzk0LDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBmbG9hdCByMCgpIGNvbnN0IHsgcmV0dXJuIG1fcjA7IH0KICAgICAg
ICAgZmxvYXQgcjEoKSBjb25zdCB7IHJldHVybiBtX3IxOyB9CiAgICAgICAgIGJvb2wgaXNSYWRp
YWwoKSBjb25zdCB7IHJldHVybiBtX3JhZGlhbDsgfQotICAgICAgICBzdHJ1Y3QgQ29sb3JTdG9w
OwogICAgICAgICBjb25zdCBWZWN0b3I8Q29sb3JTdG9wPiYgZ2V0U3RvcHMoKSBjb25zdDsKICNl
bHNlCiAgICAgICAgIFBsYXRmb3JtR3JhZGllbnQgcGxhdGZvcm1HcmFkaWVudCgpOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0OwotY2xhc3Mg
U1ZHUGFpbnRTZXJ2ZXI7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZTsKIAogY2xhc3MgVGV4dFJ1
biB7CiBwdWJsaWM6CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2Rpc2Fi
bGVTcGFjaW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZl
cmVuY2luZ1JlbmRlck9iamVjdCgwKQotICAgICAgICAsIG1fYWN0aXZlUGFpbnRTZXJ2ZXIoMCkK
KyAgICAgICAgLCBtX2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UoMCkKICNlbmRpZgogICAgIHsKICAg
ICB9CkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5n
KGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1Jl
bmRlck9iamVjdCgwKQotICAgICAgICAsIG1fYWN0aXZlUGFpbnRTZXJ2ZXIoMCkKKyAgICAgICAg
LCBtX2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UoMCkKICNlbmRpZgogICAgIHsKICAgICB9CkBAIC05
OCw4ICs5OCw4IEBAIHB1YmxpYzoKICAgICBSZW5kZXJPYmplY3QqIHJlZmVyZW5jaW5nUmVuZGVy
T2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWZlcmVuY2luZ1JlbmRlck9iamVjdDsgfQogICAg
IHZvaWQgc2V0UmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoUmVuZGVyT2JqZWN0KiBvYmplY3QpIHsg
bV9yZWZlcmVuY2luZ1JlbmRlck9iamVjdCA9IG9iamVjdDsgfQogCi0gICAgU1ZHUGFpbnRTZXJ2
ZXIqIGFjdGl2ZVBhaW50U2VydmVyKCkgY29uc3QgeyByZXR1cm4gbV9hY3RpdmVQYWludFNlcnZl
cjsgfQotICAgIHZvaWQgc2V0QWN0aXZlUGFpbnRTZXJ2ZXIoU1ZHUGFpbnRTZXJ2ZXIqIG9iamVj
dCkgeyBtX2FjdGl2ZVBhaW50U2VydmVyID0gb2JqZWN0OyB9CisgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2UqIGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX2FjdGl2ZVBhaW50
aW5nUmVzb3VyY2U7IH0KKyAgICB2b2lkIHNldEFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoUmVuZGVy
U1ZHUmVzb3VyY2UqIG9iamVjdCkgeyBtX2FjdGl2ZVBhaW50aW5nUmVzb3VyY2UgPSBvYmplY3Q7
IH0KICNlbmRpZgogCiBwcml2YXRlOgpAQCAtMTE3LDcgKzExNyw3IEBAIHByaXZhdGU6CiAKICNp
ZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIFJlbmRlck9iamVjdCogbV9yZWZlcmVuY2luZ1JlbmRl
ck9iamVjdDsKLSAgICBTVkdQYWludFNlcnZlciogbV9hY3RpdmVQYWludFNlcnZlcjsKKyAgICBS
ZW5kZXJTVkdSZXNvdXJjZSogbV9hY3RpdmVQYWludGluZ1Jlc291cmNlOwogI2VuZGlmCiB9Owog
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRXaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNz
Q29udGV4dFdpbi5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsOCAr
NDMsNiBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR1Jlc291cmNlSW1hZ2U7Ci0KIHN0YXRpYyB2b2lkIGZpbGxXaXRoQ2xlYXJDb2xvcihI
QklUTUFQIGJpdG1hcCkKIHsKICAgICBCSVRNQVAgYm1wSW5mbzsKQEAgLTE5OSwxMyArMTk3LDQg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGU6OmNvbgogICAgIE1vZGlmeVdv
cmxkVHJhbnNmb3JtKG1faGRjLCAmeGZvcm0sIE1XVF9MRUZUTVVMVElQTFkpOwogfQogCi0jaWYg
RU5BQkxFKFNWRykKLUdyYXBoaWNzQ29udGV4dCogY29udGV4dEZvckltYWdlKFNWR1Jlc291cmNl
SW1hZ2UqKQotewotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBnbyBpbiBHcmFwaGljc0NvbnRl
eHRDRy5jcHAKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOwotfQotI2VuZGlm
Ci0KIH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAkocmV2aXNpb24gNTgxNTkp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02Niw3ICs2Niw3IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVu
ZGVyU1ZHUmVzb3VyY2UuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5o
IgogI2luY2x1ZGUgIlNWR1JlbmRlclN1cHBvcnQuaCIKICNlbmRpZgogCkBAIC0yNDk3LDcgKzI0
OTcsNyBAQCBjb25zdCBTVkdSZW5kZXJCYXNlKiBSZW5kZXJPYmplY3Q6OnRvU1ZHCiAgICAgcmV0
dXJuIDA7CiB9CiAKLVJlbmRlclNWR1Jlc291cmNlKiBSZW5kZXJPYmplY3Q6OnRvUmVuZGVyU1ZH
UmVzb3VyY2UoKQorUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIFJlbmRlck9iamVjdDo6dG9S
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgcmV0dXJuIDA7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24g
NTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBjb3B5
KQpAQCAtNTQsNyArNTQsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZTsKIGNsYXNzIFRyYW5zZm9ybVN0
YXRlOwogY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogI2lmIEVOQUJMRShTVkcpCi1jbGFzcyBSZW5k
ZXJTVkdSZXNvdXJjZTsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3Mg
U1ZHUmVuZGVyQmFzZTsKICNlbmRpZgogCkBAIC0zMzIsMTYgKzMzMiwxNyBAQCBwdWJsaWM6CiAg
ICAgLy8gdG8gYWRkIFNWRyByZW5kZXJlciBtZXRob2RzIHRvIFJlbmRlck9iamVjdCB3aXRoIGFu
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCiAgICAgdmlydHVh
bCBib29sIGlzU1ZHUm9vdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBi
b29sIGlzU1ZHQ29udGFpbmVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFs
IGJvb2wgaXNTVkdHcmFkaWVudFN0b3AoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCBpc1NWR0hpZGRlbkNvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyUGF0aCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzU1ZHVGV4dCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCBib29sIGlzU1ZHSW1hZ2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgYm9vbCBpc1NWR0ZvcmVpZ25PYmplY3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQotICAgIHZpcnR1YWwgYm9vbCBpc1NWR1Jlc291cmNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdSZXNvdXJjZUNvbnRhaW5lcigpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU1ZHU2hhZG93VHJlZVJvb3RDb250YWlu
ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCBjb25zdCBTVkdSZW5k
ZXJCYXNlKiB0b1NWR1JlbmRlckJhc2UoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFJlbmRlclNWR1Jl
c291cmNlKiB0b1JlbmRlclNWR1Jlc291cmNlKCk7CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNv
dXJjZUNvbnRhaW5lciogdG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpOwogCiAgICAgLy8g
RklYTUU6IFRob3NlIGJlbG9uZyBpbnRvIGEgU1ZHIHNwZWNpZmljIGJhc2UtY2xhc3MgZm9yIGFs
bCByZW5kZXJlcnMgKHNlZSBhYm92ZSkKICAgICAvLyBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhh
dmUgc3VjaCBhIGNsYXNzIHlldCwgYmVjYXVzZSBpdCdzIG5vdCBwb3NzaWJsZSBmb3IgYWxsIHJl
bmRlcmVycwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAJKHJldmlzaW9uIDU4MTU5KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQs
NiArNCw3IEBACiAgICAgICAgICAgICAgICAgICAyMDA1LCAyMDA3IEVyaWMgU2VpZGVsIDxlcmlj
QHdlYmtpdC5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA5IEdvb2dsZSwgSW5jLgogICAgICAg
ICAgICAgICAgICAgMjAwOSBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KKyAgICBDb3B5
cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTM0LDcgKzM1LDYgQEAKICNpbmNsdWRlICJS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlTWFy
a2VyLmgiCiAjaW5jbHVkZSAiU3Ryb2tlU3R5bGVBcHBsaWVyLmgiCi0jaW5jbHVkZSAiU1ZHUGFp
bnRTZXJ2ZXIuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdXBwb3J0LmgiCiAjaW5jbHVkZSAiU1ZH
U3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0
LmgiCkBAIC03Niw3ICs3Niw3IEBAIGJvb2wgUmVuZGVyUGF0aDo6ZmlsbENvbnRhaW5zKGNvbnN0
IEZsb2EKICAgICBpZiAobV9wYXRoLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgaWYgKHJlcXVpcmVzRmlsbCAmJiAhU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZl
cihzdHlsZSgpLCB0aGlzKSkKKyAgICBpZiAocmVxdWlyZXNGaWxsICYmICFSZW5kZXJTVkdSZXNv
dXJjZTo6ZmlsbFBhaW50aW5nUmVzb3VyY2UodGhpcywgc3R5bGUoKSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIHJldHVybiBtX3BhdGguY29udGFpbnMocG9pbnQsIHN0eWxlKCktPnN2
Z1N0eWxlKCktPmZpbGxSdWxlKCkpOwpAQCAtODcsNyArODcsNyBAQCBib29sIFJlbmRlclBhdGg6
OnN0cm9rZUNvbnRhaW5zKGNvbnN0IEZsCiAgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChyZXF1aXJlc1N0cm9rZSAmJiAhU1ZHUGFpbnRT
ZXJ2ZXI6OnN0cm9rZVBhaW50U2VydmVyKHN0eWxlKCksIHRoaXMpKQorICAgIGlmIChyZXF1aXJl
c1N0cm9rZSAmJiAhUmVuZGVyU1ZHUmVzb3VyY2U6OnN0cm9rZVBhaW50aW5nUmVzb3VyY2UodGhp
cywgc3R5bGUoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEJvdW5kaW5nUmVjdFN0
cm9rZVN0eWxlQXBwbGllciBzdHJva2VTdHlsZSh0aGlzLCBzdHlsZSgpKTsKQEAgLTE5OCwyMCAr
MTk4LDIwIEBAIHZvaWQgUmVuZGVyUGF0aDo6bGF5b3V0KCkKICAgICBzZXROZWVkc0xheW91dChm
YWxzZSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBmaWxsQW5kU3Ryb2tlUGF0aChjb25zdCBQ
YXRoJiBwYXRoLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFJlbmRlclN0eWxlKiBzdHlsZSwg
UmVuZGVyUGF0aCogb2JqZWN0KQorc3RhdGljIGlubGluZSB2b2lkIGZpbGxBbmRTdHJva2VQYXRo
KGNvbnN0IFBhdGgmIHBhdGgsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgUmVuZGVyUGF0aCog
b2JqZWN0KQogewogICAgIGNvbnRleHQtPmJlZ2luUGF0aCgpOwogCi0gICAgU1ZHUGFpbnRTZXJ2
ZXIqIGZpbGxQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpmaWxsUGFpbnRTZXJ2ZXIoc3R5
bGUsIG9iamVjdCk7Ci0gICAgaWYgKGZpbGxQYWludFNlcnZlcikgeworICAgIGlmIChSZW5kZXJT
VkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6Zmls
bFBhaW50aW5nUmVzb3VyY2Uob2JqZWN0LCBvYmplY3QtPnN0eWxlKCkpKSB7CiAgICAgICAgIGNv
bnRleHQtPmFkZFBhdGgocGF0aCk7Ci0gICAgICAgIGZpbGxQYWludFNlcnZlci0+ZHJhdyhjb250
ZXh0LCBvYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSk7CisgICAgICAgIGlmIChmaWxsUGFp
bnRpbmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSwgY29u
dGV4dCwgQXBwbHlUb0ZpbGxNb2RlKSkKKyAgICAgICAgICAgIGZpbGxQYWludGluZ1Jlc291cmNl
LT5wb3N0QXBwbHlSZXNvdXJjZShvYmplY3QsIGNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSk7CiAg
ICAgfQotICAgIAotICAgIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZlciA9IFNWR1Bh
aW50U2VydmVyOjpzdHJva2VQYWludFNlcnZlcihzdHlsZSwgb2JqZWN0KTsKLSAgICBpZiAoc3Ry
b2tlUGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgY29udGV4dC0+YWRkUGF0aChwYXRoKTsgLy8gcGF0
aCBpcyBjbGVhcmVkIHdoZW4gZmlsbGVkLgotICAgICAgICBzdHJva2VQYWludFNlcnZlci0+ZHJh
dyhjb250ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlKTsKKworICAgIGlmIChS
ZW5kZXJTVkdSZXNvdXJjZSogc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jlc291
cmNlOjpzdHJva2VQYWludGluZ1Jlc291cmNlKG9iamVjdCwgb2JqZWN0LT5zdHlsZSgpKSkgewor
ICAgICAgICBjb250ZXh0LT5hZGRQYXRoKHBhdGgpOworICAgICAgICBpZiAoc3Ryb2tlUGFpbnRp
bmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSwgY29udGV4
dCwgQXBwbHlUb1N0cm9rZU1vZGUpKQorICAgICAgICAgICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJj
ZS0+cG9zdEFwcGx5UmVzb3VyY2Uob2JqZWN0LCBjb250ZXh0LCBBcHBseVRvU3Ryb2tlTW9kZSk7
CiAgICAgfQogfQogCkBAIC0yNDEsNyArMjQxLDcgQEAgdm9pZCBSZW5kZXJQYXRoOjpwYWludChQ
YWludEluZm8mIHBhaW50SQogICAgICAgICAgICAgaWYgKHByZXBhcmVUb1JlbmRlclNWR0NvbnRl
bnQodGhpcywgY2hpbGRQYWludEluZm8sIGJvdW5kaW5nQm94LCBmaWx0ZXIpKSB7CiAgICAgICAg
ICAgICAgICAgaWYgKHN0eWxlKCktPnN2Z1N0eWxlKCktPnNoYXBlUmVuZGVyaW5nKCkgPT0gU1Jf
Q1JJU1BFREdFUykKICAgICAgICAgICAgICAgICAgICAgY2hpbGRQYWludEluZm8uY29udGV4dC0+
c2V0U2hvdWxkQW50aWFsaWFzKGZhbHNlKTsKLSAgICAgICAgICAgICAgICBmaWxsQW5kU3Ryb2tl
UGF0aChtX3BhdGgsIGNoaWxkUGFpbnRJbmZvLmNvbnRleHQsIHN0eWxlKCksIHRoaXMpOworICAg
ICAgICAgICAgICAgIGZpbGxBbmRTdHJva2VQYXRoKG1fcGF0aCwgY2hpbGRQYWludEluZm8uY29u
dGV4dCwgdGhpcyk7CiAKICAgICAgICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8U1ZHU3R5bGVk
RWxlbWVudCo+KG5vZGUoKSktPnN1cHBvcnRzTWFya2VycygpKQogICAgICAgICAgICAgICAgICAg
ICBtX21hcmtlckxheW91dEluZm8uZHJhd01hcmtlcnMoY2hpbGRQYWludEluZm8pOwpJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuY3BwCShyZXZpc2lvbiA1
ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0dyYWRpZW50U3RvcC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ4LDEwICs0OCw4IEBAIHZvaWQgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
OjpzdHlsZURpZENoYW4KIAogICAgIC8vIDxzdG9wPiBlbGVtZW50cyBzaG91bGQgb25seSBiZSBh
bGxvd2VkIHRvIG1ha2UgcmVuZGVyZXJzIHVuZGVyIGdyYWRpZW50IGVsZW1lbnRzCiAgICAgLy8g
YnV0IEkgY2FuIGltYWdpbmUgYSBmZXcgY2FzZXMgd2UgbWlnaHQgbm90IGJlIGNhdGNoaW5nLCBz
byBsZXQncyBub3QgY3Jhc2ggaWYgb3VyIHBhcmVudCBpc24ndCBhIGdyYWRpZW50LgotICAgIGlm
IChTVkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50ID0gZ3JhZGllbnRFbGVtZW50KCkpIHsKLSAg
ICAgICAgaWYgKFNWR1Jlc291cmNlKiByZXNvdXJjZSA9IGdyYWRpZW50LT5jYW52YXNSZXNvdXJj
ZSh0aGlzKSkKLSAgICAgICAgICAgIHJlc291cmNlLT5pbnZhbGlkYXRlKCk7Ci0gICAgfQorICAg
IGlmIChTVkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50ID0gZ3JhZGllbnRFbGVtZW50KCkpCisg
ICAgICAgIGdyYWRpZW50LT5pbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQg
UmVuZGVyU1ZHR3JhZGllbnRTdG9wOjpsYXlvdXQoKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDMyICsy
Nyw0MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgU1ZHR3JhZGll
bnRFbGVtZW50OwotICAgIGNsYXNzIFNWR1N0b3BFbGVtZW50OwotICAgIAotICAgIC8vIFRoaXMg
Y2xhc3MgZXhpc3RzIG1vc3RseSBzbyB3ZSBjYW4gaGVhciBhYm91dCBncmFkaWVudCBzdG9wIHN0
eWxlIGNoYW5nZXMKLSAgICBjbGFzcyBSZW5kZXJTVkdHcmFkaWVudFN0b3AgOiBwdWJsaWMgUmVu
ZGVyT2JqZWN0IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcChT
VkdTdG9wRWxlbWVudCopOwotICAgICAgICB2aXJ0dWFsIH5SZW5kZXJTVkdHcmFkaWVudFN0b3Ao
KTsKLQotICAgICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJl
dHVybiAiUmVuZGVyU1ZHR3JhZGllbnRTdG9wIjsgfQotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBs
YXlvdXQoKTsKLQotICAgICAgICAvLyBUaGlzIG92ZXJyaWRlcyBhcmUgbmVlZGVkIHRvIHByZXZl
bnQgQVNTRVJUcyBvbiA8c3ZnPjxzdG9wIC8+PC9zdmc+Ci0gICAgICAgIC8vIFJlbmRlck9iamVj
dCdzIGRlZmF1bHQgaW1wbGVtZW50YXRpb25zIEFTU0VSVF9OT1RfUkVBQ0hFRCgpCi0gICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQwMAotICAgICAg
ICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94
TW9kZWxPYmplY3QqKSB7IHJldHVybiBJbnRSZWN0KCk7IH0KLSAgICAgICAgdmlydHVhbCBGbG9h
dFJlY3Qgb2JqZWN0Qm91bmRpbmdCb3goKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQot
ICAgICAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
IGNvbnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9Ci0KLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRl
clN0eWxlKiBvbGRTdHlsZSk7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBTVkdHcmFkaWVudEVs
ZW1lbnQqIGdyYWRpZW50RWxlbWVudCgpIGNvbnN0OwotICAgIH07CitjbGFzcyBTVkdHcmFkaWVu
dEVsZW1lbnQ7CitjbGFzcyBTVkdTdG9wRWxlbWVudDsKKworLy8gVGhpcyBjbGFzcyBleGlzdHMg
bW9zdGx5IHNvIHdlIGNhbiBoZWFyIGFib3V0IGdyYWRpZW50IHN0b3Agc3R5bGUgY2hhbmdlcwor
Y2xhc3MgUmVuZGVyU1ZHR3JhZGllbnRTdG9wIDogcHVibGljIFJlbmRlck9iamVjdCB7CitwdWJs
aWM6CisgICAgUmVuZGVyU1ZHR3JhZGllbnRTdG9wKFNWR1N0b3BFbGVtZW50Kik7CisgICAgdmly
dHVhbCB+UmVuZGVyU1ZHR3JhZGllbnRTdG9wKCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdH
cmFkaWVudFN0b3AoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBjb25zdCBj
aGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR0dyYWRpZW50U3RvcCI7
IH0KKworICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKKworICAgIC8vIFRoaXMgb3ZlcnJpZGVz
IGFyZSBuZWVkZWQgdG8gcHJldmVudCBBU1NFUlRzIG9uIDxzdmc+PHN0b3AgLz48L3N2Zz4KKyAg
ICAvLyBSZW5kZXJPYmplY3QncyBkZWZhdWx0IGltcGxlbWVudGF0aW9ucyBBU1NFUlRfTk9UX1JF
QUNIRUQoKQorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDQwMAorICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChS
ZW5kZXJCb3hNb2RlbE9iamVjdCopIHsgcmV0dXJuIEludFJlY3QoKTsgfQorICAgIHZpcnR1YWwg
RmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7
IH0KKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
IGNvbnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFs
IHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSog
b2xkU3R5bGUpOworCitwcml2YXRlOgorICAgIFNWR0dyYWRpZW50RWxlbWVudCogZ3JhZGllbnRF
bGVtZW50KCkgY29uc3Q7Cit9OworCitpbmxpbmUgY29uc3QgUmVuZGVyU1ZHR3JhZGllbnRTdG9w
KiB0b1JlbmRlclNWR0dyYWRpZW50U3RvcChjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sK
KyAgICBBU1NFUlQoIW9iamVjdCB8fCBvYmplY3QtPmlzU1ZHR3JhZGllbnRTdG9wKCkpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJTVkdHcmFkaWVudFN0b3AqPihvYmplY3Qp
OworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIsMjc2ICsyLDIw
MSBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFu
bkBrZGUub3JnPgogICogICAgICAgICAgICAgICAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+
CiAgKiAgICAgICAgICAgICAgIDIwMDggRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+Cisg
KiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBV
VEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVk
ZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogCi0j
aW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgi
Ci0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCIKLSNp
bmNsdWRlICJSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdVUklSZWZlcmVuY2UuaCIKIAotI2lmIFBMQVRGT1JNKFNLSUEpCi0jaW5jbHVk
ZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotU1ZHUGFpbnRTZXJ2ZXI6OlNWR1BhaW50U2VydmVyKCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBy
ZWdpc3RlclBlbmRpbmdSZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBjb25zdCBTVkdQ
YWludDo6U1ZHUGFpbnRUeXBlJiBwYWludFR5cGUsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0
KQogewotfQorICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJ
KQorICAgICAgICByZXR1cm47CiAKLVNWR1BhaW50U2VydmVyOjp+U1ZHUGFpbnRTZXJ2ZXIoKQot
ewotfQorICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50
Kj4ob2JqZWN0LT5ub2RlKCkpOworICAgIEFTU0VSVChzdmdFbGVtZW50KTsKKyAgICBBU1NFUlQo
c3ZnRWxlbWVudC0+aXNTdHlsZWQoKSk7CiAKLVRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0
cmVhbSYgdHMsIGNvbnN0IFNWR1BhaW50U2VydmVyJiBwYWludFNlcnZlcikKLXsKLSAgICByZXR1
cm4gcGFpbnRTZXJ2ZXIuZXh0ZXJuYWxSZXByZXNlbnRhdGlvbih0cyk7CisgICAgb2JqZWN0LT5k
b2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPmFkZFBlbmRpbmdSZXNvdXJjZShpZCwg
c3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsKIH0KIAotU1ZHUGFp
bnRTZXJ2ZXIqIGdldFBhaW50U2VydmVyQnlJZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0
b21pY1N0cmluZyYgaWQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGlu
ZSB2b2lkIGFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxl
LCBib29sIHVzZUZpbGxQYWludCwgQ29sb3ImIGNvbG9yKQogewotICAgIFNWR1Jlc291cmNlKiBy
ZXNvdXJjZSA9IGdldFJlc291cmNlQnlJZChkb2N1bWVudCwgaWQsIG9iamVjdCk7Ci0gICAgaWYg
KHJlc291cmNlICYmIHJlc291cmNlLT5pc1BhaW50U2VydmVyKCkpCi0gICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxTVkdQYWludFNlcnZlcio+KHJlc291cmNlKTsKKyAgICBpZiAoc3R5bGUtPmlu
c2lkZUxpbmsoKSAhPSBJbnNpZGVWaXNpdGVkTGluaykKKyAgICAgICAgcmV0dXJuOwogCi0gICAg
cmV0dXJuIDA7Ci19CisgICAgUmVuZGVyU3R5bGUqIHZpc2l0ZWRTdHlsZSA9IHN0eWxlLT5nZXRD
YWNoZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTkspOworICAgIFNWR1BhaW50KiB2aXNpdGVkUGFp
bnQgPSB1c2VGaWxsUGFpbnQgPyB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPmZpbGxQYWludCgp
IDogdmlzaXRlZFN0eWxlLT5zdmdTdHlsZSgpLT5zdHJva2VQYWludCgpOworICAgIGlmICh2aXNp
dGVkUGFpbnQtPnBhaW50VHlwZSgpID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSSkKKyAg
ICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICBDb2xvciB2aXNpdGVkQ29sb3I7CisgICAgaWYg
KHZpc2l0ZWRQYWludC0+cGFpbnRUeXBlKCkgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfQ1VS
UkVOVENPTE9SKQorICAgICAgICB2aXNpdGVkQ29sb3IgPSB2aXNpdGVkU3R5bGUtPmNvbG9yKCk7
CisgICAgZWxzZQorICAgICAgICB2aXNpdGVkQ29sb3IgPSB2aXNpdGVkUGFpbnQtPmNvbG9yKCk7
CiAKLVNWR1BhaW50U2VydmVyU29saWQqIFNWR1BhaW50U2VydmVyOjpzaGFyZWRTb2xpZFBhaW50
U2VydmVyKCkKLXsKLSAgICBzdGF0aWMgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCogX3NoYXJlZFNvbGlk
UGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlclNvbGlkOjpjcmVhdGUoKS5yZWxlYXNlUmVmKCk7
Ci0gICAgCi0gICAgcmV0dXJuIF9zaGFyZWRTb2xpZFBhaW50U2VydmVyOworICAgIGlmICh2aXNp
dGVkQ29sb3IuaXNWYWxpZCgpKQorICAgICAgICBjb2xvciA9IENvbG9yKHZpc2l0ZWRDb2xvci5y
ZWQoKSwgdmlzaXRlZENvbG9yLmdyZWVuKCksIHZpc2l0ZWRDb2xvci5ibHVlKCksIGNvbG9yLmFs
cGhhKCkpOwogfQogCi1TVkdQYWludFNlcnZlciogU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNl
cnZlcihjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlck9iamVjdCogaXRlbSkK
Ky8vIEZJWE1FOiBUaGlzIG1ldGhvZCBhbmQgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSgpIHNob3Vs
ZCBiZSByZWZhY3RvcmVkLCB0byBzaGFyZSBldmVuIG1vcmUgY29kZQorUmVuZGVyU1ZHUmVzb3Vy
Y2UqIFJlbmRlclNWR1Jlc291cmNlOjpmaWxsUGFpbnRpbmdSZXNvdXJjZShjb25zdCBSZW5kZXJP
YmplY3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlKQogewotICAgIGlmICghc3R5
bGUtPnN2Z1N0eWxlKCktPmhhc0ZpbGwoKSkKKyAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBBU1NF
UlQoc3R5bGUpOworCisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUt
PnN2Z1N0eWxlKCk7CisgICAgaWYgKCFzdmdTdHlsZSB8fCAhc3ZnU3R5bGUtPmhhc0ZpbGwoKSkK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBTVkdQYWludCogZmlsbCA9IHN0eWxlLT5zdmdTdHls
ZSgpLT5maWxsUGFpbnQoKTsKLSAgICAgICAgCi0gICAgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWlu
dFNlcnZlciA9IDA7Ci0gICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBmaWxs
LT5wYWludFR5cGUoKTsKLSAgICBpZiAocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRU
WVBFX1VSSSB8fAotICAgICAgICBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVf
VVJJX1JHQkNPTE9SKSB7Ci0gICAgICAgIEF0b21pY1N0cmluZyBpZChTVkdVUklSZWZlcmVuY2U6
OmdldFRhcmdldChmaWxsLT51cmkoKSkpOwotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBnZXRQ
YWludFNlcnZlckJ5SWQoaXRlbS0+ZG9jdW1lbnQoKSwgaWQsIGl0ZW0pOwotCi0gICAgICAgIFNW
R0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaXRlbS0+bm9k
ZSgpKTsKLSAgICAgICAgQVNTRVJUKHN2Z0VsZW1lbnQgJiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQo
KSAmJiBzdmdFbGVtZW50LT5pc1N0eWxlZCgpKTsKLQotICAgICAgICBpZiAoaXRlbS0+aXNSZW5k
ZXJQYXRoKCkgJiYgZmlsbFBhaW50U2VydmVyKQotICAgICAgICAgICAgZmlsbFBhaW50U2VydmVy
LT5hZGRDbGllbnQoc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2Z0VsZW1lbnQpKTsK
LSAgICAgICAgZWxzZSBpZiAoIWZpbGxQYWludFNlcnZlciAmJiBwYWludFR5cGUgPT0gU1ZHUGFp
bnQ6OlNWR19QQUlOVFRZUEVfVVJJKQotICAgICAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1lbnQo
KS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2UoaWQsIHN0YXRpY19j
YXN0PFNWR1N0eWxlZEVsZW1lbnQqPihzdmdFbGVtZW50KSk7IAorICAgIFNWR1BhaW50KiBmaWxs
UGFpbnQgPSBzdmdTdHlsZS0+ZmlsbFBhaW50KCk7CisgICAgQVNTRVJUKGZpbGxQYWludCk7CisK
KyAgICBSZW5kZXJTVkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UgPSAwOworCisgICAg
U1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBmaWxsUGFpbnQtPnBhaW50VHlwZSgp
OworICAgIGlmIChwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJCisgICAg
ICAgIHx8IHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUklfUkdCQ09MT1Ip
IHsKKyAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KGZp
bGxQYWludC0+dXJpKCkpKTsKKyAgICAgICAgZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBnZXRSZW5k
ZXJTVkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBpZCk7CisKKyAg
ICAgICAgaWYgKCFmaWxsUGFpbnRpbmdSZXNvdXJjZSkKKyAgICAgICAgICAgIHJlZ2lzdGVyUGVu
ZGluZ1Jlc291cmNlKGlkLCBwYWludFR5cGUsIG9iamVjdCk7CiAgICAgfQotICAgIGlmIChwYWlu
dFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmICFmaWxsUGFpbnRTZXJ2ZXIp
IHsKLSAgICAgICAgZmlsbFBhaW50U2VydmVyID0gc2hhcmVkU29saWRQYWludFNlcnZlcigpOwot
ICAgICAgICBTVkdQYWludFNlcnZlclNvbGlkKiBmaWxsUGFpbnRTZXJ2ZXJTb2xpZCA9IHN0YXRp
Y19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihmaWxsUGFpbnRTZXJ2ZXIpOwotICAgICAgICAK
KworICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJICYmICFm
aWxsUGFpbnRpbmdSZXNvdXJjZSkgeworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29s
b3IqIHNvbGlkUmVzb3VyY2UgPSBzaGFyZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UoKTsKKyAgICAg
ICAgZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBzb2xpZFJlc291cmNlOworCiAgICAgICAgIENvbG9y
IGZpbGxDb2xvcjsKLSAgICAgICAgaWYgKHBhaW50VHlwZSA9PSBTVkdQYWludDo6U1ZHX1BBSU5U
VFlQRV9DVVJSRU5UQ09MT1IpCisgICAgICAgIGlmIChmaWxsUGFpbnQtPnBhaW50VHlwZSgpID09
IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKICAgICAgICAgICAgIGZpbGxD
b2xvciA9IHN0eWxlLT5jb2xvcigpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBmaWxsQ29s
b3IgPSBmaWxsLT5jb2xvcigpOworICAgICAgICAgICAgZmlsbENvbG9yID0gZmlsbFBhaW50LT5j
b2xvcigpOwogCi0gICAgICAgIGlmIChzdHlsZS0+aW5zaWRlTGluaygpID09IEluc2lkZVZpc2l0
ZWRMaW5rKSB7Ci0gICAgICAgICAgICBSZW5kZXJTdHlsZSogdmlzaXRlZFN0eWxlID0gc3R5bGUt
PmdldENhY2hlZFBzZXVkb1N0eWxlKFZJU0lURURfTElOSyk7Ci0gICAgICAgICAgICBTVkdQYWlu
dCogdmlzaXRlZEZpbGwgPSB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPmZpbGxQYWludCgpOwot
ICAgICAgICAgICAgQ29sb3IgdmlzaXRlZEZpbGxDb2xvcjsKLSAgICAgICAgICAgIGlmICh2aXNp
dGVkRmlsbC0+cGFpbnRUeXBlKCkgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsLT5wYWludFR5cGUoKSA9PSBTVkdQYWludDo6
U1ZHX1BBSU5UVFlQRV9DVVJSRU5UQ09MT1IpCi0gICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRG
aWxsQ29sb3IgPSB2aXNpdGVkU3R5bGUtPmNvbG9yKCk7Ci0gICAgICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICAgICB2aXNpdGVkRmlsbENvbG9yID0gdmlzaXRlZEZpbGwtPmNvbG9y
KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRGaWxsQ29sb3IuaXNWYWxpZCgpKQotICAg
ICAgICAgICAgICAgICAgICBmaWxsQ29sb3IgPSBDb2xvcih2aXNpdGVkRmlsbENvbG9yLnJlZCgp
LCB2aXNpdGVkRmlsbENvbG9yLmdyZWVuKCksIHZpc2l0ZWRGaWxsQ29sb3IuYmx1ZSgpLCBmaWxs
Q29sb3IuYWxwaGEoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgYWRqdXN0
Q29sb3JGb3JQc2V1ZG9SdWxlcyhzdHlsZSwgdHJ1ZSAvKiB1c2VGaWxsUGFpbnQgKi8sIGZpbGxD
b2xvcik7CiAKLSAgICAgICAgZmlsbFBhaW50U2VydmVyU29saWQtPnNldENvbG9yKGZpbGxDb2xv
cik7Ci0gICAgICAgIAogICAgICAgICAvLyBGSVhNRTogSWRlYWxseSBpbnZhbGlkIGNvbG9ycyB3
b3VsZCBuZXZlciBnZXQgc2V0IG9uIHRoZSBSZW5kZXJTdHlsZSBhbmQgdGhpcyBjb3VsZCB0dXJu
IGludG8gYW4gQVNTRVJUCi0gICAgICAgIGlmICghZmlsbFBhaW50U2VydmVyU29saWQtPmNvbG9y
KCkuaXNWYWxpZCgpKQotICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyID0gMDsKKyAgICAgICAg
aWYgKGZpbGxDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgICAgICBzb2xpZFJlc291cmNlLT5zZXRD
b2xvcihmaWxsQ29sb3IpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmaWxsUGFpbnRpbmdS
ZXNvdXJjZSA9IDA7CiAgICAgfQotICAgIGlmICghZmlsbFBhaW50U2VydmVyKSB7CisKKyAgICBp
ZiAoIWZpbGxQYWludGluZ1Jlc291cmNlKSB7CiAgICAgICAgIC8vIGRlZmF1bHQgdmFsdWUgKGJs
YWNrKSwgc2VlIGJ1ZyAxMTAxNwotICAgICAgICBmaWxsUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xp
ZFBhaW50U2VydmVyKCk7Ci0gICAgICAgIHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQq
PihmaWxsUGFpbnRTZXJ2ZXIpLT5zZXRDb2xvcihDb2xvcjo6YmxhY2spOworICAgICAgICBSZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNvbGlkUmVzb3VyY2UgPSBzaGFyZWRTb2xpZFBhaW50
aW5nUmVzb3VyY2UoKTsKKyAgICAgICAgc29saWRSZXNvdXJjZS0+c2V0Q29sb3IoQ29sb3I6OmJs
YWNrKTsKKyAgICAgICAgZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBzb2xpZFJlc291cmNlOwogICAg
IH0KLSAgICByZXR1cm4gZmlsbFBhaW50U2VydmVyOworCisgICAgcmV0dXJuIGZpbGxQYWludGlu
Z1Jlc291cmNlOwogfQogCi1TVkdQYWludFNlcnZlciogU1ZHUGFpbnRTZXJ2ZXI6OnN0cm9rZVBh
aW50U2VydmVyKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2JqZWN0KiBp
dGVtKQorUmVuZGVyU1ZHUmVzb3VyY2UqIFJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGlu
Z1Jlc291cmNlKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBSZW5kZXJTdHlsZSog
c3R5bGUpCiB7Ci0gICAgaWYgKCFzdHlsZS0+c3ZnU3R5bGUoKS0+aGFzU3Ryb2tlKCkpCisgICAg
QVNTRVJUKG9iamVjdCk7CisgICAgQVNTRVJUKHN0eWxlKTsKKworICAgIGNvbnN0IFNWR1JlbmRl
clN0eWxlKiBzdmdTdHlsZSA9IHN0eWxlLT5zdmdTdHlsZSgpOworICAgIGlmICghc3ZnU3R5bGUg
fHwgIXN2Z1N0eWxlLT5oYXNTdHJva2UoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBTVkdQ
YWludCogc3Ryb2tlID0gc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVBhaW50KCk7CisgICAgU1ZH
UGFpbnQqIHN0cm9rZVBhaW50ID0gc3ZnU3R5bGUtPnN0cm9rZVBhaW50KCk7CisgICAgQVNTRVJU
KHN0cm9rZVBhaW50KTsKIAotICAgIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZlciA9
IDA7Ci0gICAgU1ZHUGFpbnQ6OlNWR1BhaW50VHlwZSBwYWludFR5cGUgPSBzdHJva2UtPnBhaW50
VHlwZSgpOwotICAgIGlmICgocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VS
SQotICAgICAgICB8fCBwYWludFR5cGUgPT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJX1JH
QkNPTE9SKQotICAgICAgICAmJiBpdGVtLT5vYmplY3RCb3VuZGluZ0JveCgpLndpZHRoKCkgIT0g
MAotICAgICAgICAmJiBpdGVtLT5vYmplY3RCb3VuZGluZ0JveCgpLmhlaWdodCgpICE9IDApIHsK
LSAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHN0cm9r
ZS0+dXJpKCkpKTsKLSAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBnZXRQYWludFNlcnZlckJ5
SWQoaXRlbS0+ZG9jdW1lbnQoKSwgaWQsIGl0ZW0pOwotCi0gICAgICAgIFNWR0VsZW1lbnQqIHN2
Z0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4oaXRlbS0+bm9kZSgpKTsKLSAgICAg
ICAgQVNTRVJUKHN2Z0VsZW1lbnQgJiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKSAmJiBzdmdFbGVt
ZW50LT5pc1N0eWxlZCgpKTsKLSAKLSAgICAgICAgaWYgKGl0ZW0tPmlzUmVuZGVyUGF0aCgpICYm
IHN0cm9rZVBhaW50U2VydmVyKQotICAgICAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXItPmFkZENs
aWVudChzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOwotICAgICAg
ICBlbHNlIGlmICghc3Ryb2tlUGFpbnRTZXJ2ZXIgJiYgcGFpbnRUeXBlID09IFNWR1BhaW50OjpT
VkdfUEFJTlRUWVBFX1VSSSkKLSAgICAgICAgICAgIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCktPmFj
Y2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKGlkLCBzdGF0aWNfY2FzdDxT
VkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCkpOyAKKyAgICBSZW5kZXJTVkdSZXNvdXJjZSog
c3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IDA7CisgICAgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5n
Qm94ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpOworCisgICAgU1ZHUGFpbnQ6OlNWR1Bh
aW50VHlwZSBwYWludFR5cGUgPSBzdHJva2VQYWludC0+cGFpbnRUeXBlKCk7CisgICAgaWYgKCFv
YmplY3RCb3VuZGluZ0JveC5pc0VtcHR5KCkKKyAgICAgICAgJiYgKHBhaW50VHlwZSA9PSBTVkdQ
YWludDo6U1ZHX1BBSU5UVFlQRV9VUkkgfHwgcGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJ
TlRUWVBFX1VSSV9SR0JDT0xPUikpIHsKKyAgICAgICAgQXRvbWljU3RyaW5nIGlkKFNWR1VSSVJl
ZmVyZW5jZTo6Z2V0VGFyZ2V0KHN0cm9rZVBhaW50LT51cmkoKSkpOworICAgICAgICBzdHJva2VQ
YWludGluZ1Jlc291cmNlID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXJCeUlkKG9iamVj
dC0+ZG9jdW1lbnQoKSwgaWQpOworCisgICAgICAgIGlmICghc3Ryb2tlUGFpbnRpbmdSZXNvdXJj
ZSkKKyAgICAgICAgICAgIHJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKGlkLCBwYWludFR5cGUsIG9i
amVjdCk7CiAgICAgfQotICAgIGlmIChwYWludFR5cGUgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZ
UEVfVVJJICYmICFzdHJva2VQYWludFNlcnZlcikgewotICAgICAgICBzdHJva2VQYWludFNlcnZl
ciA9IHNoYXJlZFNvbGlkUGFpbnRTZXJ2ZXIoKTsKLSAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJTb2xp
ZCogc3Ryb2tlUGFpbnRTZXJ2ZXJTb2xpZCA9IHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29s
aWQqPihzdHJva2VQYWludFNlcnZlcik7Ci0gICAgICAgIAorCisgICAgaWYgKHBhaW50VHlwZSAh
PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9VUkkgJiYgIXN0cm9rZVBhaW50aW5nUmVzb3VyY2Up
IHsKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKiBzb2xpZFJlc291cmNlID0g
c2hhcmVkU29saWRQYWludGluZ1Jlc291cmNlKCk7CisgICAgICAgIHN0cm9rZVBhaW50aW5nUmVz
b3VyY2UgPSBzb2xpZFJlc291cmNlOworCiAgICAgICAgIENvbG9yIHN0cm9rZUNvbG9yOwotICAg
ICAgICBpZiAocGFpbnRUeXBlID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xP
UikKKyAgICAgICAgaWYgKHN0cm9rZVBhaW50LT5wYWludFR5cGUoKSA9PSBTVkdQYWludDo6U1ZH
X1BBSU5UVFlQRV9DVVJSRU5UQ09MT1IpCiAgICAgICAgICAgICBzdHJva2VDb2xvciA9IHN0eWxl
LT5jb2xvcigpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBzdHJva2VDb2xvciA9IHN0cm9r
ZS0+Y29sb3IoKTsKLQotICAgICAgICBpZiAoc3R5bGUtPmluc2lkZUxpbmsoKSA9PSBJbnNpZGVW
aXNpdGVkTGluaykgewotICAgICAgICAgICAgUmVuZGVyU3R5bGUqIHZpc2l0ZWRTdHlsZSA9IHN0
eWxlLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTkspOwotICAgICAgICAgICAgU1ZH
UGFpbnQqIHZpc2l0ZWRTdHJva2UgPSB2aXNpdGVkU3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZVBh
aW50KCk7Ci0gICAgICAgICAgICBDb2xvciB2aXNpdGVkU3Ryb2tlQ29sb3I7Ci0gICAgICAgICAg
ICBpZiAodmlzaXRlZFN0cm9rZS0+cGFpbnRUeXBlKCkgIT0gU1ZHUGFpbnQ6OlNWR19QQUlOVFRZ
UEVfVVJJKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWRTdHJva2UtPnBhaW50VHlwZSgp
ID09IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX0NVUlJFTlRDT0xPUikKLSAgICAgICAgICAgICAg
ICAgICAgdmlzaXRlZFN0cm9rZUNvbG9yID0gdmlzaXRlZFN0eWxlLT5jb2xvcigpOwotICAgICAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdmlzaXRlZFN0cm9rZUNvbG9yID0g
dmlzaXRlZFN0cm9rZS0+Y29sb3IoKTsKLSAgICAgICAgICAgICAgICBpZiAodmlzaXRlZFN0cm9r
ZUNvbG9yLmlzVmFsaWQoKSkKLSAgICAgICAgICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBDb2xv
cih2aXNpdGVkU3Ryb2tlQ29sb3IucmVkKCksIHZpc2l0ZWRTdHJva2VDb2xvci5ncmVlbigpLCB2
aXNpdGVkU3Ryb2tlQ29sb3IuYmx1ZSgpLCBzdHJva2VDb2xvci5hbHBoYSgpKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQorICAgICAgICAgICAgc3Ryb2tlQ29sb3IgPSBzdHJva2VQYWludC0+
Y29sb3IoKTsKIAotICAgICAgICBzdHJva2VQYWludFNlcnZlclNvbGlkLT5zZXRDb2xvcihzdHJv
a2VDb2xvcik7CisgICAgICAgIGFkanVzdENvbG9yRm9yUHNldWRvUnVsZXMoc3R5bGUsIGZhbHNl
IC8qIHVzZUZpbGxQYWludCAqLywgc3Ryb2tlQ29sb3IpOwogCiAgICAgICAgIC8vIEZJWE1FOiBJ
ZGVhbGx5IGludmFsaWQgY29sb3JzIHdvdWxkIG5ldmVyIGdldCBzZXQgb24gdGhlIFJlbmRlclN0
eWxlIGFuZCB0aGlzIGNvdWxkIHR1cm4gaW50byBhbiBBU1NFUlQKLSAgICAgICAgaWYgKCFzdHJv
a2VQYWludFNlcnZlclNvbGlkLT5jb2xvcigpLmlzVmFsaWQoKSkKLSAgICAgICAgICAgIHN0cm9r
ZVBhaW50U2VydmVyID0gMDsKKyAgICAgICAgaWYgKHN0cm9rZUNvbG9yLmlzVmFsaWQoKSkKKyAg
ICAgICAgICAgIHNvbGlkUmVzb3VyY2UtPnNldENvbG9yKHN0cm9rZUNvbG9yKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IDA7CiAgICAgfQotICAg
IGlmICghc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsKKworICAgIGlmICghc3Ryb2tlUGFpbnRpbmdSZXNv
dXJjZSkgewogICAgICAgICAvLyBkZWZhdWx0IHZhbHVlIChibGFjayksIHNlZSBidWcgMTEwMTcK
LSAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBzaGFyZWRTb2xpZFBhaW50U2VydmVyKCk7Ci0g
ICAgICAgIHN0YXRpY19jYXN0PFNWR1BhaW50U2VydmVyU29saWQqPihzdHJva2VQYWludFNlcnZl
ciktPnNldENvbG9yKENvbG9yOjpibGFjayk7CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlU29s
aWRDb2xvciogc29saWRSZXNvdXJjZSA9IHNoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSgpOwor
ICAgICAgICBzb2xpZFJlc291cmNlLT5zZXRDb2xvcihDb2xvcjo6YmxhY2spOworICAgICAgICBz
dHJva2VQYWludGluZ1Jlc291cmNlID0gc29saWRSZXNvdXJjZTsKICAgICB9CiAKLSAgICByZXR1
cm4gc3Ryb2tlUGFpbnRTZXJ2ZXI7CisgICAgcmV0dXJuIHN0cm9rZVBhaW50aW5nUmVzb3VyY2U7
CiB9CiAKLXZvaWQgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCitSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIFJlbmRlclNWR1Jlc291cmNlOjpzaGFy
ZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UoKQogewotICAgIGNvbnRleHQtPnNldFN0cm9rZVRoaWNr
bmVzcyhTVkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+
c3ZnU3R5bGUoKS0+c3Ryb2tlV2lkdGgoKSwgMS4wZikpOwotICAgIGNvbnRleHQtPnNldExpbmVD
YXAoc3R5bGUtPnN2Z1N0eWxlKCktPmNhcFN0eWxlKCkpOwotICAgIGNvbnRleHQtPnNldExpbmVK
b2luKHN0eWxlLT5zdmdTdHlsZSgpLT5qb2luU3R5bGUoKSk7Ci0gICAgaWYgKHN0eWxlLT5zdmdT
dHlsZSgpLT5qb2luU3R5bGUoKSA9PSBNaXRlckpvaW4pCi0gICAgICAgIGNvbnRleHQtPnNldE1p
dGVyTGltaXQoc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZU1pdGVyTGltaXQoKSk7Ci0KLSAgICBj
b25zdCBEYXNoQXJyYXkmIGRhc2hlcyA9IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShvYmpl
Y3QtPnN0eWxlKCksIG9iamVjdC0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRl
clN0eWxlKCkpOwotICAgIGZsb2F0IGRhc2hPZmZzZXQgPSBTVkdSZW5kZXJTdHlsZTo6Y3NzUHJp
bWl0aXZlVG9MZW5ndGgob2JqZWN0LCBzdHlsZS0+c3ZnU3R5bGUoKS0+c3Ryb2tlRGFzaE9mZnNl
dCgpLCAwLjBmKTsKLSAgICBjb250ZXh0LT5zZXRMaW5lRGFzaChkYXNoZXMsIGRhc2hPZmZzZXQp
OworICAgIHN0YXRpYyBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNfc2hhcmVkU29saWRQ
YWludGluZ1Jlc291cmNlID0gMDsKKyAgICBpZiAoIXNfc2hhcmVkU29saWRQYWludGluZ1Jlc291
cmNlKQorICAgICAgICBzX3NoYXJlZFNvbGlkUGFpbnRpbmdSZXNvdXJjZSA9IG5ldyBSZW5kZXJT
VkdSZXNvdXJjZVNvbGlkQ29sb3I7CisgICAgcmV0dXJuIHNfc2hhcmVkU29saWRQYWludGluZ1Jl
c291cmNlOwogfQogCi1ib29sIFNWR1BhaW50U2VydmVyOjpzZXR1cChHcmFwaGljc0NvbnRleHQq
JiBjb250ZXh0LCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgU1ZHUGFpbnRUYXJnZXRUeXBl
IHR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0Cit2b2lkIFJlbmRlclNWR1Jlc291cmNl
OjptYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24oUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCiB7Ci0gICAgcmV0dXJuIHNldHVwKGNvbnRleHQsIG9iamVjdCwgb2JqZWN0ID8gb2JqZWN0
LT5zdHlsZSgpIDogMCwgdHlwZSwgaXNQYWludGluZ1RleHQpOwotfQorICAgIEFTU0VSVChvYmpl
Y3QpOworICAgIEFTU0VSVChvYmplY3QtPm5vZGUoKSk7CisgICAgQVNTRVJUKG9iamVjdC0+bm9k
ZSgpLT5pc1NWR0VsZW1lbnQoKSk7CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXI6OmRyYXcoR3JhcGhp
Y3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBwYXRoLCBTVkdQYWludFRh
cmdldFR5cGUgdHlwZSkgY29uc3QKLXsKLSAgICBpZiAoIXNldHVwKGNvbnRleHQsIHBhdGgsIHR5
cGUpKQotICAgICAgICByZXR1cm47CisgICAgLy8gTWFyayB0aGUgcmVuZGVyZXIgZm9yIGxheW91
dAorICAgIG9iamVjdC0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7CiAKLSAgICByZW5kZXJQYXRoKGNv
bnRleHQsIHBhdGgsIHR5cGUpOwotICAgIHRlYXJkb3duKGNvbnRleHQsIHBhdGgsIHR5cGUpOwot
fQotCi12b2lkIFNWR1BhaW50U2VydmVyOjpyZW5kZXJQYXRoKEdyYXBoaWNzQ29udGV4dComIGNv
bnRleHQsIGNvbnN0IFJlbmRlck9iamVjdCogcGF0aCwgU1ZHUGFpbnRUYXJnZXRUeXBlIHR5cGUp
IGNvbnN0Ci17Ci0gICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN0eWxlID0gcGF0aCA/IHBhdGgt
PnN0eWxlKCktPnN2Z1N0eWxlKCkgOiAwOwotCi0gICAgaWYgKCh0eXBlICYgQXBwbHlUb0ZpbGxU
YXJnZXRUeXBlKSAmJiAoIXN0eWxlIHx8IHN0eWxlLT5oYXNGaWxsKCkpKQotICAgICAgICBjb250
ZXh0LT5maWxsUGF0aCgpOworICAgIC8vIE5vdGlmeSBhbnkgcmVzb3VyY2VzIGluIHRoZSBhbmNl
c3RvciBjaGFpbiwgdGhhdCB3ZSd2ZSBiZWVuIGludmFsaWRhdGVkCisgICAgU1ZHRWxlbWVudCog
ZWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihvYmplY3QtPm5vZGUoKSk7CisgICAg
aWYgKCFlbGVtZW50LT5pc1N0eWxlZCgpKQorICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoKHR5
cGUgJiBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSkgJiYgKCFzdHlsZSB8fCBzdHlsZS0+aGFzU3Ry
b2tlKCkpKQotICAgICAgICBjb250ZXh0LT5zdHJva2VQYXRoKCk7CisgICAgc3RhdGljX2Nhc3Q8
U1ZHU3R5bGVkRWxlbWVudCo+KGVsZW1lbnQpLT5pbnZhbGlkYXRlUmVzb3VyY2VzSW5BbmNlc3Rv
ckNoYWluKCk7CiB9CiAKLSNpZiBQTEFURk9STShTS0lBKQotdm9pZCBTVkdQYWludFNlcnZlcjo6
dGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0Kiwg
U1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBNb3ZlIHRo
aXMgaW50byB0aGUgR3JhcGhpY3NDb250ZXh0Ci0gICAgLy8gV2ViS2l0IGltcGxpY2l0bHkgZXhw
ZWN0cyB1cyB0byByZXNldCB0aGUgcGF0aC4KLSAgICAvLyBGb3IgZXhhbXBsZSBpbiBmaWxsQW5k
U3Ryb2tlUGF0aCgpIG9mIFJlbmRlclBhdGguY3BwIHRoZSBwYXRoIGlzIAotICAgIC8vIGFkZGVk
IGJhY2sgdG8gdGhlIGNvbnRleHQgYWZ0ZXIgZmlsbGluZy4gVGhpcyBpcyBiZWNhdXNlIGludGVy
bmFsbHkgaXQKLSAgICAvLyBjYWxscyBDR0NvbnRleHRGaWxsUGF0aCgpIHdoaWNoIGNsb3NlcyB0
aGUgcGF0aC4KLSAgICBjb250ZXh0LT5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0LT5wbGF0Zm9y
bUNvbnRleHQoKS0+c2V0RmlsbFNoYWRlcigwKTsKLSAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRl
eHQoKS0+c2V0U3Ryb2tlU2hhZGVyKDApOwogfQotI2Vsc2UKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXI6
OnRlYXJkb3duKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWlu
dFRhcmdldFR5cGUsIGJvb2wpIGNvbnN0Ci17Ci19Ci0jZW5kaWYKLQotRGFzaEFycmF5IGRhc2hB
cnJheUZyb21SZW5kZXJpbmdTdHlsZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0
eWxlKiByb290U3R5bGUpCi17Ci0gICAgRGFzaEFycmF5IGFycmF5OwotICAgIAotICAgIENTU1Zh
bHVlTGlzdCogZGFzaGVzID0gc3R5bGUtPnN2Z1N0eWxlKCktPnN0cm9rZURhc2hBcnJheSgpOwot
ICAgIGlmIChkYXNoZXMpIHsKLSAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIGRhc2ggPSAwOwot
ICAgICAgICB1bnNpZ25lZCBsb25nIGxlbiA9IGRhc2hlcy0+bGVuZ3RoKCk7Ci0gICAgICAgIGZv
ciAodW5zaWduZWQgbG9uZyBpID0gMDsgaSA8IGxlbjsgaSsrKSB7Ci0gICAgICAgICAgICBkYXNo
ID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihkYXNoZXMtPml0ZW1XaXRob3V0Qm91
bmRzQ2hlY2soaSkpOwotICAgICAgICAgICAgaWYgKCFkYXNoKQotICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwotCi0gICAgICAgICAgICBhcnJheS5hcHBlbmQoKGZsb2F0KSBkYXNoLT5jb21wdXRl
TGVuZ3RoRmxvYXQoY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KHN0eWxlKSwgcm9vdFN0eWxlKSk7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gYXJyYXk7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdS
ZXNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNjQgKzIyLDQ3IEBACiAjZGVmaW5lIFJlbmRl
clNWR1Jlc291cmNlX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
Ci0jaW5jbHVkZSAiUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgiCisjaW5jbHVkZSAiU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBSZW5kZXJT
VkdSZXNvdXJjZVR5cGUgewogICAgIE1hc2tlclJlc291cmNlVHlwZSwKICAgICBNYXJrZXJSZXNv
dXJjZVR5cGUsCisgICAgUGF0dGVyblJlc291cmNlVHlwZSwKKyAgICBMaW5lYXJHcmFkaWVudFJl
c291cmNlVHlwZSwKKyAgICBSYWRpYWxHcmFkaWVudFJlc291cmNlVHlwZSwKKyAgICBTb2xpZENv
bG9yUmVzb3VyY2VUeXBlLAogICAgIEZpbHRlclJlc291cmNlVHlwZSwKICAgICBDbGlwcGVyUmVz
b3VyY2VUeXBlCiB9OwogCi1jbGFzcyBSZW5kZXJTVkdSZXNvdXJjZSA6IHB1YmxpYyBSZW5kZXJT
VkdIaWRkZW5Db250YWluZXIgeworZW51bSBSZW5kZXJTVkdSZXNvdXJjZU1vZGUgeworICAgIEFw
cGx5VG9EZWZhdWx0TW9kZSA9IDEgPDwgMCwgLy8gdXNlZCBmb3IgYWxsIHJlc291cmNlcyBleGNl
cHQgZ3JhZGllbnQvcGF0dGVybgorICAgIEFwcGx5VG9GaWxsTW9kZSAgICA9IDEgPDwgMSwKKyAg
ICBBcHBseVRvU3Ryb2tlTW9kZSAgPSAxIDw8IDIsCisgICAgQXBwbHlUb1RleHRNb2RlICAgID0g
MSA8PCAzIC8vIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBBcHBseVRve0ZpbGx8U3Ryb2tlfU1v
ZGUKK307CisKK2NsYXNzIEZsb2F0UmVjdDsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dDsKK2NsYXNz
IFJlbmRlck9iamVjdDsKK2NsYXNzIFJlbmRlclN0eWxlOworY2xhc3MgUmVuZGVyU1ZHUmVzb3Vy
Y2VTb2xpZENvbG9yOworCitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZSB7CiBwdWJsaWM6Ci0gICAg
UmVuZGVyU1ZHUmVzb3VyY2UoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKLSAgICAgICAgOiBSZW5k
ZXJTVkdIaWRkZW5Db250YWluZXIobm9kZSkKLSAgICAgICAgLCBtX2lkKG5vZGUtPmdldElEQXR0
cmlidXRlKCkpCi0gICAgewotICAgICAgICBBU1NFUlQobm9kZS0+ZG9jdW1lbnQoKSk7Ci0gICAg
ICAgIG5vZGUtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUmVzb3VyY2Uo
bV9pZCwgdGhpcyk7Ci0gICAgfQorICAgIFJlbmRlclNWR1Jlc291cmNlKCkgeyB9CisgICAgdmly
dHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2UoKSB7IH0KIAotICAgIHZpcnR1YWwgflJlbmRlclNWR1Jl
c291cmNlKCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChub2RlKCkpOwotICAgICAgICBBU1NFUlQo
bm9kZSgpLT5kb2N1bWVudCgpKTsKLSAgICAgICAgbm9kZSgpLT5kb2N1bWVudCgpLT5hY2Nlc3NT
VkdFeHRlbnNpb25zKCktPnJlbW92ZVJlc291cmNlKG1faWQpOwotICAgIH0KKyAgICB2aXJ0dWFs
IHZvaWQgaW52YWxpZGF0ZUNsaWVudHMoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGludmFsaWRh
dGVDbGllbnQoUmVuZGVyT2JqZWN0KikgPSAwOwogCi0gICAgdm9pZCBpZENoYW5nZWQoKQotICAg
IHsKLSAgICAgICAgQVNTRVJUKG5vZGUoKSk7Ci0gICAgICAgIEFTU0VSVChub2RlKCktPmRvY3Vt
ZW50KCkpOwotICAgICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSBub2Rl
KCktPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKTsKLQotICAgICAgICAvLyBSZW1v
dmUgb2xkIGlkLCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudCBpbiBjYWNoZQotICAg
ICAgICBleHRlbnNpb25zLT5yZW1vdmVSZXNvdXJjZShtX2lkKTsKLQotICAgICAgICBtX2lkID0g
c3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUoKSktPmdldElEQXR0cmlidXRlKCk7Ci0KLSAgICAg
ICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IGFuIGVsZW1lbnQgaXMgcmVmZXJlbmNpbmcgdXMgd2l0
aCB0aGUgbmV3IGlkLCBhbmQgaGFzIHRvIGJlIG5vdGlmaWVkIHRoYXQgd2UncmUgZXhpc3Rpbmcg
bm93Ci0gICAgICAgIGlmIChleHRlbnNpb25zLT5pc1BlbmRpbmdSZXNvdXJjZShtX2lkKSkgewot
ICAgICAgICAgICAgT3duUHRyPEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+ID4gY2xpZW50cyhl
eHRlbnNpb25zLT5yZW1vdmVQZW5kaW5nUmVzb3VyY2UobV9pZCkpOwotICAgICAgICAgICAgaWYg
KGNsaWVudHMtPmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAg
ICAgIEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGNsaWVu
dHMtPmJlZ2luKCk7Ci0gICAgICAgICAgICBjb25zdCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQq
Pjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gY2xpZW50cy0+ZW5kKCk7Ci0KLSAgICAgICAgICAgIGZv
ciAoOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgICAgICBpZiAoUmVuZGVyT2JqZWN0
KiByZW5kZXJlciA9ICgqaXQpLT5yZW5kZXJlcigpKQotICAgICAgICAgICAgICAgICAgICByZW5k
ZXJlci0+c2V0TmVlZHNMYXlvdXQodHJ1ZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAg
ICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSos
IEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3ND
b250ZXh0KiYsIHVuc2lnbmVkIHNob3J0KSB7IH0KKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXNv
dXJjZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0ID0gMDsKIAotICAgICAgICAv
LyBSZWNhY2hlIHVzIHdpdGggdGhlIG5ldyBpZAotICAgICAgICBleHRlbnNpb25zLT5hZGRSZXNv
dXJjZShtX2lkLCB0aGlzKTsKLSAgICB9CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5
cGUgcmVzb3VyY2VUeXBlKCkgY29uc3QgPSAwOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgUmVuZGVy
ZXI+CiAgICAgUmVuZGVyZXIqIGNhc3QoKQpAQCAtOTAsMzUgKzczLDE1IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZSog
dG9SZW5kZXJTVkdSZXNvdXJjZSgpIHsgcmV0dXJuIHRoaXM7IH0KLSAgICB2aXJ0dWFsIGJvb2wg
aXNTVkdSZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGJvb2wg
ZHJhd3NDb250ZW50cygpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgLy8gSGVscGVyIHV0aWxpdGll
cyB1c2VkIGluIHRoZSByZW5kZXIgdHJlZSB0byBhY2Nlc3MgcmVzb3VyY2VzIHVzZWQgZm9yIHBh
aW50aW5nIHNoYXBlcy90ZXh0IChncmFkaWVudHMgJiBwYXR0ZXJucyBvbmx5KQorICAgIHN0YXRp
YyBSZW5kZXJTVkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UoY29uc3QgUmVuZGVyT2Jq
ZWN0KiwgY29uc3QgUmVuZGVyU3R5bGUqKTsKKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2Uq
IHN0cm9rZVBhaW50aW5nUmVzb3VyY2UoY29uc3QgUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVy
U3R5bGUqKTsKKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKiBzaGFyZWRT
b2xpZFBhaW50aW5nUmVzb3VyY2UoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xp
ZW50cygpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmpl
Y3QqKSA9IDA7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3Qq
LCBHcmFwaGljc0NvbnRleHQqJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBwb3N0QXBwbHlSZXNv
dXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJikgeyB9Ci0gICAgdmlydHVhbCBG
bG9hdFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCA9IDA7
Ci0KLSAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25z
dCA9IDA7Ci0KLXByaXZhdGU6Ci0gICAgQXRvbWljU3RyaW5nIG1faWQ7Citwcm90ZWN0ZWQ6Cisg
ICAgdm9pZCBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24oUmVuZGVyT2JqZWN0
Kik7CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBSZW5kZXJlcj4KLVJlbmRlcmVyKiBnZXRSZW5k
ZXJTVkdSZXNvdXJjZUJ5SWQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcm
IGlkKQotewotICAgIGlmIChpZC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAg
aWYgKFJlbmRlclNWR1Jlc291cmNlKiByZW5kZXJSZXNvdXJjZSA9IGRvY3VtZW50LT5hY2Nlc3NT
VkdFeHRlbnNpb25zKCktPnJlc291cmNlQnlJZChpZCkpCi0gICAgICAgIHJldHVybiByZW5kZXJS
ZXNvdXJjZS0+Y2FzdDxSZW5kZXJlcj4oKTsKLQotICAgIHJldHVybiAwOwotfQotCiB9CiAKICNl
bmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBw
ZXIuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jl
c291cmNlQ2xpcHBlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDggKzQzLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VD
bGlwcGVyOjpzX3Jlc291cmNlVHlwZSA9IENsaXBwZXJSZXNvdXJjZVR5cGU7CiAKLVJlbmRlclNW
R1Jlc291cmNlQ2xpcHBlcjo6UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyKFNWR1N0eWxlZEVsZW1l
bnQqIG5vZGUpCi0gICAgOiBSZW5kZXJTVkdSZXNvdXJjZShub2RlKQorUmVuZGVyU1ZHUmVzb3Vy
Y2VDbGlwcGVyOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIoU1ZHQ2xpcFBhdGhFbGVtZW50KiBu
b2RlKQorICAgIDogUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKIHsKIH0KIApAQCAt
NzgsMTAgKzc4LDE0IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjppbnZhbGlkYXQK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgZGVsZXRlIG1fY2xpcHBlci50YWtlKG9iamVjdCk7Cisg
ICAgbWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKG9iamVjdCk7CiB9CiAKLWJv
b2wgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjphcHBseVJlc291cmNlKFJlbmRlck9iamVjdCog
b2JqZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0KQorYm9vbCBSZW5kZXJTVkdSZXNvdXJj
ZUNsaXBwZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRlclN0eWxl
KiwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2Rl
KQogeworICAgIEFTU0VSVChvYmplY3QpOworICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBBU1NF
UlQocmVzb3VyY2VNb2RlID09IEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAgICAgYXBwbHlDbGlwcGlu
Z1RvQ29udGV4dChvYmplY3QsIG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKSwgb2JqZWN0LT5y
ZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLCBjb250ZXh0KTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KQEAgLTE0Miw5ICsxNDYsNiBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6
cGF0aE9ubHlDCiBib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6YXBwbHlDbGlwcGluZ1Rv
Q29udGV4dChSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgRmxvYXRSZWN0JiBvYmplY3RCb3Vu
ZGluZ0JveCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgcmVwYWludFJlY3QsIEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCkKIHsKLSAgICBBU1NFUlQob2JqZWN0KTsKLSAgICBBU1NFUlQoY29udGV4dCk7Ci0KICAg
ICBpZiAoIW1fY2xpcHBlci5jb250YWlucyhvYmplY3QpKQogICAgICAgICBtX2NsaXBwZXIuc2V0
KG9iamVjdCwgbmV3IENsaXBwZXJEYXRhKTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDcgKzI3LDcgQEAKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludFNpemUu
aCIKICNpbmNsdWRlICJQYXRoLmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKKyNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlNWR0NsaXBQ
YXRoRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgogCkBAIC00MCwxMCArNDAs
OSBAQCBzdHJ1Y3QgQ2xpcHBlckRhdGEgewogICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gY2xpcE1h
c2tJbWFnZTsKIH07CiAKLWNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciA6IHB1YmxpYyBS
ZW5kZXJTVkdSZXNvdXJjZSB7Ci0KK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciA6IHB1
YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CiBwdWJsaWM6Ci0gICAgUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyKFNWR1N0eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJj
ZUNsaXBwZXIoU1ZHQ2xpcFBhdGhFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVz
b3VyY2VDbGlwcGVyKCk7CiAKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBj
b25zdCB7IHJldHVybiAiUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyIjsgfQpAQCAtNTEsNyArNTAs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnRzKCk7CiAgICAg
dmlydHVhbCB2b2lkIGludmFsaWRhdGVDbGllbnQoUmVuZGVyT2JqZWN0Kik7CiAKLSAgICB2aXJ0
dWFsIGJvb2wgYXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJik7
CisgICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5
bGUqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKICAg
ICB2aXJ0dWFsIEZsb2F0UmVjdCByZXNvdXJjZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYp
IGNvbnN0OwogCiAgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBl
KCkgY29uc3QgeyByZXR1cm4gQ2xpcHBlclJlc291cmNlVHlwZTsgfQpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFJl
bmRlclNWR1Jlc291cmNlQ29udGFpbmVyX2gKKyNkZWZpbmUgUmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXJfaAorCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyIDogcHVibGljIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHVibGljIFJlbmRlclNWR1Jlc291cmNlIHsKK3B1YmxpYzoKKyAgICBSZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lcihTVkdTdHlsZWRFbGVtZW50KiBub2RlKQorICAgICAgICA6IFJlbmRlclNWR0hp
ZGRlbkNvbnRhaW5lcihub2RlKQorICAgICAgICAsIFJlbmRlclNWR1Jlc291cmNlKCkKKyAgICAg
ICAgLCBtX2lkKG5vZGUtPmdldElEQXR0cmlidXRlKCkpCisgICAgeworICAgICAgICBBU1NFUlQo
bm9kZS0+ZG9jdW1lbnQoKSk7CisgICAgICAgIG5vZGUtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4
dGVuc2lvbnMoKS0+YWRkUmVzb3VyY2UobV9pZCwgdGhpcyk7CisgICAgfQorCisgICAgdmlydHVh
bCB+UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG5v
ZGUoKSk7CisgICAgICAgIEFTU0VSVChub2RlKCktPmRvY3VtZW50KCkpOworICAgICAgICBub2Rl
KCktPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVtb3ZlUmVzb3VyY2UobV9p
ZCk7CisgICAgfQorCisgICAgdm9pZCBpZENoYW5nZWQoKQorICAgIHsKKyAgICAgICAgQVNTRVJU
KG5vZGUoKSk7CisgICAgICAgIEFTU0VSVChub2RlKCktPmRvY3VtZW50KCkpOworICAgICAgICBT
VkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSBub2RlKCktPmRvY3VtZW50KCktPmFj
Y2Vzc1NWR0V4dGVuc2lvbnMoKTsKKworICAgICAgICAvLyBSZW1vdmUgb2xkIGlkLCB0aGF0IGlz
IGd1YXJhbnRlZWQgdG8gYmUgcHJlc2VudCBpbiBjYWNoZQorICAgICAgICBleHRlbnNpb25zLT5y
ZW1vdmVSZXNvdXJjZShtX2lkKTsKKworICAgICAgICBtX2lkID0gc3RhdGljX2Nhc3Q8RWxlbWVu
dCo+KG5vZGUoKSktPmdldElEQXR0cmlidXRlKCk7CisKKyAgICAgICAgLy8gSXQncyBwb3NzaWJs
ZSB0aGF0IGFuIGVsZW1lbnQgaXMgcmVmZXJlbmNpbmcgdXMgd2l0aCB0aGUgbmV3IGlkLCBhbmQg
aGFzIHRvIGJlIG5vdGlmaWVkIHRoYXQgd2UncmUgZXhpc3Rpbmcgbm93CisgICAgICAgIGlmIChl
eHRlbnNpb25zLT5pc1BlbmRpbmdSZXNvdXJjZShtX2lkKSkgeworICAgICAgICAgICAgT3duUHRy
PEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+ID4gY2xpZW50cyhleHRlbnNpb25zLT5yZW1vdmVQ
ZW5kaW5nUmVzb3VyY2UobV9pZCkpOworICAgICAgICAgICAgaWYgKGNsaWVudHMtPmlzRW1wdHko
KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIEhhc2hTZXQ8U1ZHU3R5
bGVkRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGNsaWVudHMtPmJlZ2luKCk7CisgICAg
ICAgICAgICBjb25zdCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3Ig
ZW5kID0gY2xpZW50cy0+ZW5kKCk7CisKKyAgICAgICAgICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsr
aXQpIHsKKyAgICAgICAgICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9ICgqaXQp
LT5yZW5kZXJlcigpKQorICAgICAgICAgICAgICAgICAgICByZW5kZXJlci0+c2V0TmVlZHNMYXlv
dXQodHJ1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBSZWNhY2hl
IHVzIHdpdGggdGhlIG5ldyBpZAorICAgICAgICBleHRlbnNpb25zLT5hZGRSZXNvdXJjZShtX2lk
LCB0aGlzKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNTVkdSZXNvdXJjZUNvbnRhaW5l
cigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgZHJhd3NDb250ZW50
cygpIHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyKiB0b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCkgeyByZXR1cm4gdGhpczsgfQor
Citwcml2YXRlOgorICAgIEF0b21pY1N0cmluZyBtX2lkOworfTsKKworaW5saW5lIFJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyKiBnZXRSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lckJ5SWQoRG9j
dW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGlkKQoreworICAgIGlmIChpZC5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgaWYgKFJlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyKiByZW5kZXJSZXNvdXJjZSA9IGRvY3VtZW50LT5hY2Nlc3NTVkdFeHRlbnNpb25z
KCktPnJlc291cmNlQnlJZChpZCkpCisgICAgICAgIHJldHVybiByZW5kZXJSZXNvdXJjZTsKKwor
ICAgIHJldHVybiAwOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBSZW5kZXJlcj4KK1JlbmRlcmVy
KiBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9t
aWNTdHJpbmcmIGlkKQoreworICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogY29u
dGFpbmVyID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXJCeUlkKGRvY3VtZW50LCBpZCkp
CisgICAgICAgIHJldHVybiBjb250YWluZXItPmNhc3Q8UmVuZGVyZXI+KCk7CisKKyAgICByZXR1
cm4gMDsKK30KKworfQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUyLDggKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBSZW5kZXJTVkdSZXNvdXJj
ZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnNfcmVzb3VyY2VUeXBlID0gRmlsdGVyUmVz
b3VyY2VUeXBlOwogCi1SZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6UmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXIoU1ZHU3R5bGVkRWxlbWVudCogbm9kZSkKLSAgICA6IFJlbmRlclNWR1Jlc291cmNlKG5v
ZGUpCitSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIoU1ZH
RmlsdGVyRWxlbWVudCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKG5v
ZGUpCiAgICAgLCBtX3NhdmVkQ29udGV4dCgwKQogICAgICwgbV9zb3VyY2VHcmFwaGljQnVmZmVy
KDApCiB7CkBAIC04OCw3ICs4OCw4IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6Omlu
dmFsaWRhdGUKICAgICBpZiAoIW1fZmlsdGVyLmNvbnRhaW5zKG9iamVjdCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGRlbGV0ZSBtX2ZpbHRlci50YWtlKG9iamVjdCk7IAorICAgIGRlbGV0ZSBt
X2ZpbHRlci50YWtlKG9iamVjdCk7CisgICAgbWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxp
ZGF0aW9uKG9iamVjdCk7CiB9CiAKIFBhc3NPd25QdHI8U1ZHRmlsdGVyQnVpbGRlcj4gUmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXI6OmJ1aWxkUHJpbWl0aXZlcygpCkBAIC0xMzQsMTAgKzEzNSwxMSBA
QCBib29sIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpmaXRzSW5NYXhpCiAgICAgcmV0dXJuIG1h
dGNoZXNGaWx0ZXJTaXplOwogfQogCi1ib29sIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjphcHBs
eVJlc291cmNlKFJlbmRlck9iamVjdCogb2JqZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0
KQorYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqLCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNp
Z25lZCBzaG9ydCByZXNvdXJjZU1vZGUpCiB7CiAgICAgQVNTRVJUKG9iamVjdCk7CiAgICAgQVNT
RVJUKGNvbnRleHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUgPT0gQXBwbHlUb0RlZmF1bHRN
b2RlKTsKIAogICAgIC8vIFJldHVybmluZyBmYWxzZSBoZXJlLCB0byBhdm9pZCBkcmF3aW5ncyBv
bnRvIHRoZSBjb250ZXh0LiBXZSBqdXN0IHdhbnQgdG8KICAgICAvLyBkcmF3IHRoZSBzdG9yZWQg
ZmlsdGVyIG91dHB1dCwgbm90IHRoZSB1bmZpbHRlcmVkIG9iamVjdCBhcyB3ZWxsLgpAQCAtMjI4
LDEwICsyMzAsMTEgQEAgYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdQog
ICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpwb3N0
QXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgR3JhcGhpY3NDb250ZXh0KiYgY29u
dGV4dCkKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKFJl
bmRlck9iamVjdCogb2JqZWN0LCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBz
aG9ydCByZXNvdXJjZU1vZGUpCiB7CiAgICAgQVNTRVJUKG9iamVjdCk7CiAgICAgQVNTRVJUKGNv
bnRleHQpOworICAgIEFTU0VSVChyZXNvdXJjZU1vZGUgPT0gQXBwbHlUb0RlZmF1bHRNb2RlKTsK
IAogICAgIGlmICghbV9maWx0ZXIuY29udGFpbnMob2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oCShyZXZp
c2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpZiBFTkFCTEUoU1ZHKSAmJiBF
TkFCTEUoRklMVEVSUykKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbWFnZUJ1
ZmZlci5oIgotI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXIuaCIKICNpbmNsdWRl
ICJTVkdGaWx0ZXJCdWlsZGVyLmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyRWxlbWVudC5oIgpAQCAt
NTUsOSArNTUsOSBAQCBzdHJ1Y3QgRmlsdGVyRGF0YSB7CiAKIGNsYXNzIEdyYXBoaWNzQ29udGV4
dDsKIAotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIgOiBwdWJsaWMgUmVuZGVyU1ZHUmVz
b3VyY2UgeworY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIgOiBwdWJsaWMgUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXIgewogcHVibGljOgotICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVy
KFNWR1N0eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcihTVkdGaWx0
ZXJFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIoKTsKIAog
ICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlciI7IH0KQEAgLTY1LDggKzY1LDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50cygpOwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlk
YXRlQ2xpZW50KFJlbmRlck9iamVjdCopOwogCi0gICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3Vy
Y2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYpOwotICAgIHZpcnR1YWwgdm9pZCBw
b3N0QXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqLCBHcmFwaGljc0NvbnRleHQqJik7CisgICAg
dmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUqLCBH
cmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0
KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CiAKICAgICB2aXJ0dWFsIEZsb2F0UmVj
dCByZXNvdXJjZUJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OwogCkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmNwcAkocmV2
aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUdyYWRp
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMiwyNyArMiwyMyBAQAogICogQ29weXJpZ2h0IChD
KSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICogICAgICAg
ICAgICAgICAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKiAgICAgICAgICAg
ICAgIDIwMDggRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+CisgKiBDb3B5cmlnaHQgKEMp
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKQEAgLTMwLDkwICsyNiw1MCBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5j
bHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIgogCi0jaW5jbHVkZSAiRmxvYXRDb252
ZXJzaW9uLmgiCisjaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVzLmgiCiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJSZW5k
ZXJPYmplY3QuaCIKLSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50Lmgi
Ci0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oIgotI2luY2x1ZGUg
IlJlbmRlclZpZXcuaCIKLSNpbmNsdWRlICJTVkdHcmFkaWVudEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJTVkdSZW5kZXJTdXBwb3J0LmgiCi0jaW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgot
Ci11c2luZyBuYW1lc3BhY2Ugc3RkOworI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRT
dHJlYW0mIHRzLCBHcmFkaWVudFNwcmVhZE1ldGhvZCBtKQotewotICAgIHN3aXRjaCAobSkgewot
ICAgICAgICBjYXNlIFNwcmVhZE1ldGhvZFBhZDoKLSAgICAgICAgICAgIHRzIDw8ICJQQUQiOyBi
cmVhazsKLSAgICAgICAgY2FzZSBTcHJlYWRNZXRob2RSZXBlYXQ6Ci0gICAgICAgICAgICB0cyA8
PCAiUkVQRUFUIjsgYnJlYWs7Ci0gICAgICAgIGNhc2UgU3ByZWFkTWV0aG9kUmVmbGVjdDoKLSAg
ICAgICAgICAgIHRzIDw8ICJSRUZMRUNUIjsgYnJlYWs7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRz
OwotfQotCi1zdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29u
c3QgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIGwpCi17Ci0gICAgdHMgPDwgIlsiOwotICAgIGZv
ciAoVmVjdG9yPFNWR0dyYWRpZW50U3RvcD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbC5iZWdpbigp
OyBpdCAhPSBsLmVuZCgpOyArK2l0KSB7Ci0gICAgICAgIHRzIDw8ICIoIiA8PCBpdC0+Zmlyc3Qg
PDwgIiwiIDw8IGl0LT5zZWNvbmQgPDwgIikiOwotICAgICAgICBpZiAoaXQgKyAxICE9IGwuZW5k
KCkpCi0gICAgICAgICAgICB0cyA8PCAiLCAiOwotICAgIH0KLSAgICB0cyA8PCAiXSI7Ci0gICAg
cmV0dXJuIHRzOwotfQotCi1TVkdQYWludFNlcnZlckdyYWRpZW50OjpTVkdQYWludFNlcnZlckdy
YWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpCi0gICAgOiBtX2JvdW5kaW5n
Qm94TW9kZSh0cnVlKQotICAgICwgbV9vd25lckVsZW1lbnQob3duZXIpCitSZW5kZXJTVkdSZXNv
dXJjZUdyYWRpZW50OjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50KFNWR0dyYWRpZW50RWxlbWVu
dCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKG5vZGUpCiAjaWYgUExB
VEZPUk0oQ0cpCiAgICAgLCBtX3NhdmVkQ29udGV4dCgwKQotICAgICwgbV9pbWFnZUJ1ZmZlcigw
KQogI2VuZGlmCiB7Ci0gICAgQVNTRVJUKG93bmVyKTsKLX0KLQotU1ZHUGFpbnRTZXJ2ZXJHcmFk
aWVudDo6flNWR1BhaW50U2VydmVyR3JhZGllbnQoKQotewogfQogCi1HcmFkaWVudCogU1ZHUGFp
bnRTZXJ2ZXJHcmFkaWVudDo6Z3JhZGllbnQoKSBjb25zdAorUmVuZGVyU1ZHUmVzb3VyY2VHcmFk
aWVudDo6flJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQoKQogewotICAgIHJldHVybiBtX2dyYWRp
ZW50LmdldCgpOworICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2dyYWRpZW50KTsKKyAgICBtX2dyYWRp
ZW50LmNsZWFyKCk7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0R3JhZGll
bnQoUGFzc1JlZlB0cjxHcmFkaWVudD4gZ3JhZGllbnQpCit2b2lkIFJlbmRlclNWR1Jlc291cmNl
R3JhZGllbnQ6OmludmFsaWRhdGVDbGllbnRzKCkKIHsKLSAgICBtX2dyYWRpZW50ID0gZ3JhZGll
bnQ7Ci19CisgICAgY29uc3QgSGFzaE1hcDxSZW5kZXJPYmplY3QqLCBHcmFkaWVudERhdGEqPjo6
Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9ncmFkaWVudC5lbmQoKTsKKyAgICBmb3IgKEhhc2hNYXA8
UmVuZGVyT2JqZWN0KiwgR3JhZGllbnREYXRhKj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9ncmFk
aWVudC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgIG1hcmtGb3JMYXlvdXRBbmRS
ZXNvdXJjZUludmFsaWRhdGlvbihpdC0+Zmlyc3QpOwogCi1ib29sIFNWR1BhaW50U2VydmVyR3Jh
ZGllbnQ6OmJvdW5kaW5nQm94TW9kZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fYm91bmRpbmdC
b3hNb2RlOworICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2dyYWRpZW50KTsKKyAgICBtX2dyYWRpZW50
LmNsZWFyKCk7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0Qm91bmRpbmdC
b3hNb2RlKGJvb2wgbW9kZSkKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6aW52YWxp
ZGF0ZUNsaWVudChSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKLSAgICBtX2JvdW5kaW5nQm94TW9k
ZSA9IG1vZGU7Ci19CisgICAgQVNTRVJUKG9iamVjdCk7CiAKLUFmZmluZVRyYW5zZm9ybSBTVkdQ
YWludFNlcnZlckdyYWRpZW50OjpncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fZ3JhZGllbnRUcmFuc2Zvcm07Ci19CisgICAgLy8gRklYTUU6IFRoZSBIYXNoTWFwIHNo
b3VsZCBhbHdheXMgY29udGFpbiB0aGUgb2JqZWN0IG9uIGNhbGxpbmcgaW52YWxpZGF0ZUNsaWVu
dC4gQSByYWNlIGNvbmRpdGlvbgorICAgIC8vIGR1cmluZyB0aGUgcGFyc2luZyBjYW4gY2F1c2Vz
IGEgY2FsbCBvZiBpbnZhbGlkYXRlQ2xpZW50IHJpZ2h0IGJlZm9yZSB0aGUgY2FsbCBvZiBhcHBs
eVJlc291cmNlLgorICAgIC8vIFdlIHJldHVybiBlYXJsaWVyIGZvciB0aGUgbW9tZW50LiBUaGlz
IGJ1ZyBzaG91bGQgYmUgZml4ZWQgaW46CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM1MTgxCisgICAgaWYgKCFtX2dyYWRpZW50LmNvbnRhaW5zKG9iamVj
dCkpCisgICAgICAgIHJldHVybjsKIAotdm9pZCBTVkdQYWludFNlcnZlckdyYWRpZW50OjpzZXRH
cmFkaWVudFRyYW5zZm9ybShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSkKLXsKLSAg
ICBtX2dyYWRpZW50VHJhbnNmb3JtID0gdHJhbnNmb3JtOworICAgIGRlbGV0ZSBtX2dyYWRpZW50
LnRha2Uob2JqZWN0KTsKKyAgICBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24o
b2JqZWN0KTsKIH0KIAogI2lmIFBMQVRGT1JNKENHKQpAQCAtMTMwLDkgKzg2LDEwIEBAIHN0YXRp
YyBpbmxpbmUgQWZmaW5lVHJhbnNmb3JtIGFic29sdXRlVHIKICAgICByZXR1cm4gYWJzb2x1dGVU
cmFuc2Zvcm07CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBjcmVhdGVNYXNrQW5kU3dhcENvbnRl
eHRGb3JUZXh0R3JhZGllbnQoCi0gICAgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgR3JhcGhp
Y3NDb250ZXh0KiYgc2F2ZWRDb250ZXh0LAotICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4mIGltYWdl
QnVmZmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBj
cmVhdGVNYXNrQW5kU3dhcENvbnRleHRGb3JUZXh0R3JhZGllbnQoR3JhcGhpY3NDb250ZXh0KiYg
Y29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR3JhcGhpY3NDb250ZXh0KiYgc2F2ZWRDb250ZXh0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPd25QdHI8SW1h
Z2VCdWZmZXI+JiBpbWFnZUJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCiB7
CiAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiB0ZXh0Um9vdEJsb2NrID0gZmluZFRleHRSb290T2Jq
ZWN0KG9iamVjdCk7CiAKQEAgLTE2MiwzNSArMTE5LDU3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBj
cmVhdGVNYXNrQW5kU3dhcENvbnQKIH0KIAogc3RhdGljIGlubGluZSBBZmZpbmVUcmFuc2Zvcm0g
Y2xpcFRvVGV4dE1hc2soR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAotICAgIE93blB0cjxJbWFn
ZUJ1ZmZlcj4mIGltYWdlQnVmZmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwKLSAgICBj
b25zdCBTVkdQYWludFNlcnZlckdyYWRpZW50KiBncmFkaWVudFNlcnZlcikKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4mIGlt
YWdlQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHcmFkaWVudERhdGEqIGdyYWRpZW50RGF0YSkKIHsKICAgICBjb25z
dCBSZW5kZXJPYmplY3QqIHRleHRSb290QmxvY2sgPSBmaW5kVGV4dFJvb3RPYmplY3Qob2JqZWN0
KTsKICAgICBjb250ZXh0LT5jbGlwVG9JbWFnZUJ1ZmZlcih0ZXh0Um9vdEJsb2NrLT5yZXBhaW50
UmVjdEluTG9jYWxDb29yZGluYXRlcygpLCBpbWFnZUJ1ZmZlci5nZXQoKSk7CiAKICAgICBBZmZp
bmVUcmFuc2Zvcm0gbWF0cml4OwotICAgIGlmIChncmFkaWVudFNlcnZlci0+Ym91bmRpbmdCb3hN
b2RlKCkpIHsKKyAgICBpZiAoZ3JhZGllbnREYXRhLT5ib3VuZGluZ0JveE1vZGUpIHsKICAgICAg
ICAgRmxvYXRSZWN0IG1hc2tCb3VuZGluZ0JveCA9IHRleHRSb290QmxvY2stPm9iamVjdEJvdW5k
aW5nQm94KCk7CiAgICAgICAgIG1hdHJpeC50cmFuc2xhdGUobWFza0JvdW5kaW5nQm94LngoKSwg
bWFza0JvdW5kaW5nQm94LnkoKSk7CiAgICAgICAgIG1hdHJpeC5zY2FsZU5vblVuaWZvcm0obWFz
a0JvdW5kaW5nQm94LndpZHRoKCksIG1hc2tCb3VuZGluZ0JveC5oZWlnaHQoKSk7CiAgICAgfQot
ICAgIG1hdHJpeC5tdWx0aXBseShncmFkaWVudFNlcnZlci0+Z3JhZGllbnRUcmFuc2Zvcm0oKSk7
CisgICAgbWF0cml4Lm11bHRpcGx5KGdyYWRpZW50RGF0YS0+dHJhbnNmb3JtKTsKICAgICByZXR1
cm4gbWF0cml4OwogfQogI2VuZGlmCiAKLWJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0
dXAoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3Qs
IGNvbnN0IFJlbmRlclN0eWxlKnN0eWxlLCBTVkdQYWludFRhcmdldFR5cGUgdHlwZSwgYm9vbCBp
c1BhaW50aW5nVGV4dCkgY29uc3QKK2Jvb2wgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6YXBw
bHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqIHN0eWxlLCBHcmFw
aGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUpCiB7Ci0g
ICAgbV9vd25lckVsZW1lbnQtPmJ1aWxkR3JhZGllbnQoKTsKKyAgICBBU1NFUlQob2JqZWN0KTsK
KyAgICBBU1NFUlQoc3R5bGUpOworICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBBU1NFUlQocmVz
b3VyY2VNb2RlICE9IEFwcGx5VG9EZWZhdWx0TW9kZSk7CisKKyAgICAvLyBCZSBzdXJlIHRvIHN5
bmNocm9uaXplIGFsbCBTVkcgcHJvcGVydGllcyBvbiB0aGUgZ3JhZGllbnRFbGVtZW50IF9iZWZv
cmVfIHByb2Nlc3NpbmcgYW55IGZ1cnRoZXIuCisgICAgLy8gT3RoZXJ3aGlzZSB0aGUgY2FsbCB0
byBjb2xsZWN0R3JhZGllbnRBdHRyaWJ1dGVzKCkgaW4gY3JlYXRlVGlsZUltYWdlKCksIG1heSBj
YXVzZSB0aGUgU1ZHIERPTSBwcm9wZXJ0eQorICAgIC8vIHN5bmNocm9uaXphdGlvbiB0byBraWNr
IGluLCB3aGljaCBjYXVzZXMgaW52YWxpZGF0ZUNsaWVudHMoKSB0byBiZSBjYWxsZWQsIHdoaWNo
IGluIHR1cm4gZGVsZXRlcyBvdXIKKyAgICAvLyBHcmFkaWVudERhdGEgb2JqZWN0ISBMZWF2aW5n
IG91dCB0aGUgbGluZSBiZWxvdyB3aWxsIGNhdXNlIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHKkdy
YWRpZW50RWxlbWVudC1zdmdkb20qIHRvIGNyYXNoLgorICAgIFNWR0dyYWRpZW50RWxlbWVudCog
Z3JhZGllbnRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHR3JhZGllbnRFbGVtZW50Kj4obm9kZSgp
KTsKKyAgICBpZiAoIWdyYWRpZW50RWxlbWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2Z1N0eWxlKCk7Ci0g
ICAgYm9vbCBpc0ZpbGxlZCA9ICh0eXBlICYgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlKSAmJiBzdmdT
dHlsZS0+aGFzRmlsbCgpOwotICAgIGJvb2wgaXNTdHJva2VkID0gKHR5cGUgJiBBcHBseVRvU3Ry
b2tlVGFyZ2V0VHlwZSkgJiYgc3ZnU3R5bGUtPmhhc1N0cm9rZSgpOworICAgIGdyYWRpZW50RWxl
bWVudC0+dXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoYW55UU5hbWUoKSk7CisKKyAgICBpZiAo
IW1fZ3JhZGllbnQuY29udGFpbnMob2JqZWN0KSkKKyAgICAgICAgbV9ncmFkaWVudC5zZXQob2Jq
ZWN0LCBuZXcgR3JhZGllbnREYXRhKTsKKworICAgIEdyYWRpZW50RGF0YSogZ3JhZGllbnREYXRh
ID0gbV9ncmFkaWVudC5nZXQob2JqZWN0KTsKIAotICAgIEFTU0VSVCgoaXNGaWxsZWQgJiYgIWlz
U3Ryb2tlZCkgfHwgKCFpc0ZpbGxlZCAmJiBpc1N0cm9rZWQpKTsKKyAgICAvLyBDcmVhdGUgZ3Jh
ZGllbnQgb2JqZWN0CisgICAgaWYgKCFncmFkaWVudERhdGEtPmdyYWRpZW50KQorICAgICAgICBi
dWlsZEdyYWRpZW50KGdyYWRpZW50RGF0YSwgZ3JhZGllbnRFbGVtZW50KTsKIAorICAgIGlmICgh
Z3JhZGllbnREYXRhLT5ncmFkaWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8g
RHJhdyBncmFkaWVudAogICAgIGNvbnRleHQtPnNhdmUoKTsKIAorICAgIGJvb2wgaXNQYWludGlu
Z1RleHQgPSByZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1vZGU7CiAgICAgaWYgKGlzUGFpbnRp
bmdUZXh0KSB7CiAjaWYgUExBVEZPUk0oQ0cpCiAgICAgICAgIGlmICghY3JlYXRlTWFza0FuZFN3
YXBDb250ZXh0Rm9yVGV4dEdyYWRpZW50KGNvbnRleHQsIG1fc2F2ZWRDb250ZXh0LCBtX2ltYWdl
QnVmZmVyLCBvYmplY3QpKSB7CkBAIC0xOTgsNzkgKzE3Nyw4OSBAQCBib29sIFNWR1BhaW50U2Vy
dmVyR3JhZGllbnQ6OnNldHVwKEdyYXBoCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIH0KICNlbmRpZgotICAgICAgICBjb250ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUoaXNGaWxs
ZWQgPyBjVGV4dEZpbGwgOiBjVGV4dFN0cm9rZSk7Ci0gICAgfQogCi0gICAgaWYgKGlzRmlsbGVk
KSB7Ci0gICAgICAgIGNvbnRleHQtPnNldEFscGhhKHN2Z1N0eWxlLT5maWxsT3BhY2l0eSgpKTsK
LSAgICAgICAgY29udGV4dC0+c2V0RmlsbEdyYWRpZW50KG1fZ3JhZGllbnQpOwotICAgICAgICBj
b250ZXh0LT5zZXRGaWxsUnVsZShzdmdTdHlsZS0+ZmlsbFJ1bGUoKSk7Ci0gICAgfQotICAgIGlm
IChpc1N0cm9rZWQpIHsKLSAgICAgICAgY29udGV4dC0+c2V0QWxwaGEoc3ZnU3R5bGUtPnN0cm9r
ZU9wYWNpdHkoKSk7Ci0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUdyYWRpZW50KG1fZ3JhZGll
bnQpOwotICAgICAgICBhcHBseVN0cm9rZVN0eWxlVG9Db250ZXh0KGNvbnRleHQsIHN0eWxlLCBv
YmplY3QpOworICAgICAgICBjb250ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUocmVzb3VyY2VNb2Rl
ICYgQXBwbHlUb0ZpbGxNb2RlID8gY1RleHRGaWxsIDogY1RleHRTdHJva2UpOwogICAgIH0KIAot
ICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7Ci0gICAgLy8gQ0cgcGxhdGZvcm1zIHdpbGwgaGFu
ZGxlIHRoZSBncmFkaWVudCBzcGFjZSB0cmFuc2Zvcm0gZm9yIHRleHQgaW4KLSAgICAvLyB0ZWFy
ZG93biwgc28gd2UgZG9uJ3QgYXBwbHkgaXQgaGVyZS4gIEZvciBub24tQ0cgcGxhdGZvcm1zLCB3
ZQotICAgIC8vIHdhbnQgdGhlIHRleHQgYm91bmRpbmcgYm94IGFwcGxpZWQgdG8gdGhlIGdyYWRp
ZW50IHNwYWNlIHRyYW5zZm9ybSBub3csCi0gICAgLy8gc28gdGhlIGdyYWRpZW50IHNoYWRlciBj
YW4gdXNlIGl0LgorICAgIEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm07CisKKyAgICAvLyBDRyBw
bGF0Zm9ybXMgd2lsbCBoYW5kbGUgdGhlIGdyYWRpZW50IHNwYWNlIHRyYW5zZm9ybSBmb3IgdGV4
dCBhZnRlciBhcHBseWluZyB0aGUKKyAgICAvLyByZXNvdXJjZSwgc28gZG9uJ3QgYXBwbHkgaXQg
aGVyZS4gRm9yIG5vbi1DRyBwbGF0Zm9ybXMsIHdlIHdhbnQgdGhlIHRleHQgYm91bmRpbmcKKyAg
ICAvLyBib3ggYXBwbGllZCB0byB0aGUgZ3JhZGllbnQgc3BhY2UgdHJhbnNmb3JtIG5vdywgc28g
dGhlIGdyYWRpZW50IHNoYWRlciBjYW4gdXNlIGl0LgogI2lmIFBMQVRGT1JNKENHKQotICAgIGlm
IChib3VuZGluZ0JveE1vZGUoKSAmJiAhaXNQYWludGluZ1RleHQpIHsKKyAgICBpZiAoZ3JhZGll
bnREYXRhLT5ib3VuZGluZ0JveE1vZGUgJiYgIWlzUGFpbnRpbmdUZXh0KSB7CiAjZWxzZQotICAg
IGlmIChib3VuZGluZ0JveE1vZGUoKSkgeworICAgIGlmIChncmFkaWVudERhdGEtPmJvdW5kaW5n
Qm94TW9kZSkgewogI2VuZGlmCi0gICAgICAgIEZsb2F0UmVjdCBiYm94ID0gb2JqZWN0LT5vYmpl
Y3RCb3VuZGluZ0JveCgpOwotICAgICAgICBtYXRyaXgudHJhbnNsYXRlKGJib3gueCgpLCBiYm94
LnkoKSk7Ci0gICAgICAgIG1hdHJpeC5zY2FsZU5vblVuaWZvcm0oYmJveC53aWR0aCgpLCBiYm94
LmhlaWdodCgpKTsKKyAgICAgICAgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94ID0gb2JqZWN0
LT5vYmplY3RCb3VuZGluZ0JveCgpOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKG9iamVj
dEJvdW5kaW5nQm94LngoKSwgb2JqZWN0Qm91bmRpbmdCb3gueSgpKTsKKyAgICAgICAgdHJhbnNm
b3JtLnNjYWxlTm9uVW5pZm9ybShvYmplY3RCb3VuZGluZ0JveC53aWR0aCgpLCBvYmplY3RCb3Vu
ZGluZ0JveC5oZWlnaHQoKSk7CisgICAgfQorCisgICAgdHJhbnNmb3JtLm11bHRpcGx5KGdyYWRp
ZW50RGF0YS0+dHJhbnNmb3JtKTsKKyAgICBncmFkaWVudERhdGEtPmdyYWRpZW50LT5zZXRHcmFk
aWVudFNwYWNlVHJhbnNmb3JtKHRyYW5zZm9ybSk7CisKKyAgICBjb25zdCBTVkdSZW5kZXJTdHls
ZSogc3ZnU3R5bGUgPSBzdHlsZS0+c3ZnU3R5bGUoKTsKKyAgICBBU1NFUlQoc3ZnU3R5bGUpOwor
CisgICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9GaWxsTW9kZSkgeworICAgICAgICBjb250
ZXh0LT5zZXRBbHBoYShzdmdTdHlsZS0+ZmlsbE9wYWNpdHkoKSk7CisgICAgICAgIGNvbnRleHQt
PnNldEZpbGxHcmFkaWVudChncmFkaWVudERhdGEtPmdyYWRpZW50KTsKKyAgICAgICAgY29udGV4
dC0+c2V0RmlsbFJ1bGUoc3ZnU3R5bGUtPmZpbGxSdWxlKCkpOworICAgIH0gZWxzZSBpZiAocmVz
b3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpIHsKKyAgICAgICAgY29udGV4dC0+c2V0QWxw
aGEoc3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSk7CisgICAgICAgIGNvbnRleHQtPnNldFN0cm9r
ZUdyYWRpZW50KGdyYWRpZW50RGF0YS0+Z3JhZGllbnQpOworICAgICAgICBhcHBseVN0cm9rZVN0
eWxlVG9Db250ZXh0KGNvbnRleHQsIHN0eWxlLCBvYmplY3QpOwogICAgIH0KLSAgICBtYXRyaXgu
bXVsdGlwbHkoZ3JhZGllbnRUcmFuc2Zvcm0oKSk7Ci0gICAgbV9ncmFkaWVudC0+c2V0R3JhZGll
bnRTcGFjZVRyYW5zZm9ybShtYXRyaXgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQg
U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6dGVhcmRvd24oR3JhcGhpY3NDb250ZXh0KiYgY29udGV4
dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIFNWR1BhaW50VGFyZ2V0VHlwZSwgYm9vbCBp
c1BhaW50aW5nVGV4dCkgY29uc3QKK3ZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudDo6cG9z
dEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIEdyYXBoaWNzQ29udGV4dComIGNv
bnRleHQsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkKIHsKKyAgICBBU1NFUlQoY29udGV4
dCk7CisgICAgQVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOworCisg
ICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9UZXh0TW9kZSkgewogI2lmIFBMQVRGT1JNKENH
KQotICAgIC8vIHJlbmRlclBhdGgoKSBpcyBub3QgdXNlZCB3aGVuIHBhaW50aW5nIHRleHQsIHNv
IHdlIHBhaW50IHRoZSBncmFkaWVudCBkdXJpbmcgdGVhcmRvd24oKQotICAgIGlmIChpc1BhaW50
aW5nVGV4dCAmJiBtX3NhdmVkQ29udGV4dCkgewotICAgICAgICAvLyBSZXN0b3JlIG9uLXNjcmVl
biBkcmF3aW5nIGNvbnRleHQKLSAgICAgICAgY29udGV4dCA9IG1fc2F2ZWRDb250ZXh0OwotICAg
ICAgICBtX3NhdmVkQ29udGV4dCA9IDA7Ci0KLSAgICAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJp
eCA9IGNsaXBUb1RleHRNYXNrKGNvbnRleHQsIG1faW1hZ2VCdWZmZXIsIG9iamVjdCwgdGhpcyk7
Ci0gICAgICAgIG1fZ3JhZGllbnQtPnNldEdyYWRpZW50U3BhY2VUcmFuc2Zvcm0obWF0cml4KTsK
LSAgICAgICAgY29udGV4dC0+c2V0RmlsbEdyYWRpZW50KG1fZ3JhZGllbnQpOwotICAgICAgICAK
LSAgICAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiB0ZXh0Um9vdEJsb2NrID0gZmluZFRleHRSb290
T2JqZWN0KG9iamVjdCk7Ci0gICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHRleHRSb290QmxvY2st
PnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgICAgICAvLyBDRyByZXF1aXJl
cyBzcGVjaWFsIGhhbmRsaW5nIGZvciBncmFkaWVudCBvbiB0ZXh0CisgICAgICAgIGlmIChtX3Nh
dmVkQ29udGV4dCAmJiBtX2dyYWRpZW50LmNvbnRhaW5zKG9iamVjdCkpIHsKKyAgICAgICAgICAg
IEdyYWRpZW50RGF0YSogZ3JhZGllbnREYXRhID0gbV9ncmFkaWVudC5nZXQob2JqZWN0KTsKIAot
ICAgICAgICBtX2ltYWdlQnVmZmVyLmNsZWFyKCk7Ci0gICAgfQorICAgICAgICAgICAgLy8gUmVz
dG9yZSBvbi1zY3JlZW4gZHJhd2luZyBjb250ZXh0CisgICAgICAgICAgICBjb250ZXh0ID0gbV9z
YXZlZENvbnRleHQ7CisgICAgICAgICAgICBtX3NhdmVkQ29udGV4dCA9IDA7CisKKyAgICAgICAg
ICAgIGdyYWRpZW50RGF0YS0+Z3JhZGllbnQtPnNldEdyYWRpZW50U3BhY2VUcmFuc2Zvcm0oY2xp
cFRvVGV4dE1hc2soY29udGV4dCwgbV9pbWFnZUJ1ZmZlciwgb2JqZWN0LCBncmFkaWVudERhdGEp
KTsKKyAgICAgICAgICAgIGNvbnRleHQtPnNldEZpbGxHcmFkaWVudChncmFkaWVudERhdGEtPmdy
YWRpZW50KTsKKworICAgICAgICAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiB0ZXh0Um9vdEJsb2Nr
ID0gZmluZFRleHRSb290T2JqZWN0KG9iamVjdCk7CisgICAgICAgICAgICBjb250ZXh0LT5maWxs
UmVjdCh0ZXh0Um9vdEJsb2NrLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKwor
ICAgICAgICAgICAgbV9pbWFnZUJ1ZmZlci5jbGVhcigpOworICAgICAgICB9CisjZWxzZQorICAg
ICAgICBVTlVTRURfUEFSQU0ob2JqZWN0KTsKICNlbmRpZgorICAgIH0gZWxzZSB7CisgICAgICAg
IGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpCisgICAgICAgICAgICBjb250ZXh0
LT5maWxsUGF0aCgpOworICAgICAgICBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvU3Ry
b2tlTW9kZSkKKyAgICAgICAgICAgIGNvbnRleHQtPnN0cm9rZVBhdGgoKTsKKyAgICB9CisKICAg
ICBjb250ZXh0LT5yZXN0b3JlKCk7CiB9CiAKLVRleHRTdHJlYW0mIFNWR1BhaW50U2VydmVyR3Jh
ZGllbnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Cit2b2lk
IFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQ6OmFkZFN0b3BzKEdyYWRpZW50RGF0YSogZ3JhZGll
bnREYXRhLCBjb25zdCBWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mIHN0b3BzKSBjb25zdAog
ewotICAgIC8vIEdyYWRpZW50cy9wYXR0ZXJucyBhcmVuJ3Qgc2V0dXAsIHVudGlsIHRoZXkgYXJl
IHVzZWQgZm9yIHBhaW50aW5nLiBXb3JrIGFyb3VuZCB0aGF0IGZhY3QuCi0gICAgbV9vd25lckVs
ZW1lbnQtPmJ1aWxkR3JhZGllbnQoKTsKLQotICAgIC8vIGFic3RyYWN0LCBkb24ndCBzdHJlYW0g
dHlwZQotICAgIHRzICA8PCAiW3N0b3BzPSIgPDwgZ3JhZGllbnRTdG9wcygpIDw8ICJdIjsKLSAg
ICBpZiAobV9ncmFkaWVudC0+c3ByZWFkTWV0aG9kKCkgIT0gU3ByZWFkTWV0aG9kUGFkKQotICAg
ICAgICB0cyA8PCAiW21ldGhvZD0iIDw8IG1fZ3JhZGllbnQtPnNwcmVhZE1ldGhvZCgpIDw8ICJd
IjsKLSAgICBpZiAoIWJvdW5kaW5nQm94TW9kZSgpKQotICAgICAgICB0cyA8PCAiIFtib3VuZGlu
ZyBib3ggbW9kZT0iIDw8IGJvdW5kaW5nQm94TW9kZSgpIDw8ICJdIjsKLSAgICBpZiAoIWdyYWRp
ZW50VHJhbnNmb3JtKCkuaXNJZGVudGl0eSgpKQotICAgICAgICB0cyA8PCAiIFt0cmFuc2Zvcm09
IiA8PCBncmFkaWVudFRyYW5zZm9ybSgpIDw8ICJdIjsKKyAgICBBU1NFUlQoZ3JhZGllbnREYXRh
LT5ncmFkaWVudCk7CiAKLSAgICByZXR1cm4gdHM7CisgICAgY29uc3QgVmVjdG9yPEdyYWRpZW50
OjpDb2xvclN0b3A+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBzdG9wcy5lbmQoKTsKKyAgICBmb3Ig
KFZlY3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBzdG9wcy5i
ZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgIGdyYWRpZW50RGF0YS0+Z3JhZGllbnQt
PmFkZENvbG9yU3RvcCgqaXQpOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9CiAKICNl
bmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlR3JhZGll
bnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZUdyYWRpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsOTggKzEsNzUgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+
CiAgKiAgICAgICAgICAgICAgIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAq
IENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KICAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBV
VEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVU
RVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CiAgKi8KIAogI2lmbmRlZiBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50X2gKICNkZWZpbmUgUmVu
ZGVyU1ZHUmVzb3VyY2VHcmFkaWVudF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotCiAjaW5jbHVkZSAi
QWZmaW5lVHJhbnNmb3JtLmgiCi0jaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJGbG9hdFJl
Y3QuaCIKICNpbmNsdWRlICJHcmFkaWVudC5oIgotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5o
IgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCisjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIK
KyNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIgorI2luY2x1ZGUgIlNWR0dy
YWRpZW50RWxlbWVudC5oIgogCi0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBJbWFnZUJ1ZmZlcjsKLWNsYXNzIFNWR0dyYWRpZW50RWxlbWVudDsK
LQotdHlwZWRlZiBzdGQ6OnBhaXI8ZmxvYXQsIENvbG9yPiBTVkdHcmFkaWVudFN0b3A7Ci0KLWNs
YXNzIFNWR1BhaW50U2VydmVyR3JhZGllbnQgOiBwdWJsaWMgU1ZHUGFpbnRTZXJ2ZXIgewotcHVi
bGljOgotICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyR3JhZGllbnQoKTsKLQotICAgIHZvaWQg
c2V0R3JhZGllbnQoUGFzc1JlZlB0cjxHcmFkaWVudD4pOwotICAgIEdyYWRpZW50KiBncmFkaWVu
dCgpIGNvbnN0Oworc3RydWN0IEdyYWRpZW50RGF0YSB7CisgICAgUmVmUHRyPEdyYWRpZW50PiBn
cmFkaWVudDsKIAotICAgIC8vIEdyYWRpZW50IHN0YXJ0IGFuZCBlbmQgcG9pbnRzIGFyZSBwZXJj
ZW50YWdlcyB3aGVuIHVzZWQgaW4gYm91bmRpbmdCb3ggbW9kZS4KLSAgICAvLyBGb3IgaW5zdGFu
Y2Ugc3RhcnQgcG9pbnQgd2l0aCB2YWx1ZSAoMCwwKSBpcyB0b3AtbGVmdCBhbmQgZW5kIHBvaW50
IHdpdGgKLSAgICAvLyB2YWx1ZSAoMTAwLCAxMDApIGlzIGJvdHRvbS1yaWdodC4gQm91bmRpbmdC
b3ggbW9kZSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCi0gICAgYm9vbCBib3VuZGluZ0JveE1vZGUo
KSBjb25zdDsKLSAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9kZShib29sIG1vZGUgPSB0cnVlKTsK
KyAgICBib29sIGJvdW5kaW5nQm94TW9kZTsKKyAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3Jt
OworfTsKIAotICAgIEFmZmluZVRyYW5zZm9ybSBncmFkaWVudFRyYW5zZm9ybSgpIGNvbnN0Owot
ICAgIHZvaWQgc2V0R3JhZGllbnRUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7Citj
bGFzcyBHcmFwaGljc0NvbnRleHQ7CiAKLSAgICB2b2lkIHNldEdyYWRpZW50U3RvcHMoY29uc3Qg
VmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIHN0b3BzKSB7IG1fc3RvcHMgPSBzdG9wczsgfQotICAg
IGNvbnN0IFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+JiBncmFkaWVudFN0b3BzKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdG9wczsgfQorY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCA6IHB1Ymxp
YyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CitwdWJsaWM6CisgICAgUmVuZGVyU1ZHUmVz
b3VyY2VHcmFkaWVudChTVkdHcmFkaWVudEVsZW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5SZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50KCk7CiAKLSAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFs
UmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBpbnZh
bGlkYXRlQ2xpZW50cygpOworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50KFJlbmRl
ck9iamVjdCopOwogCi0gICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dComLCBj
b25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFyZ2V0VHlw
ZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHRlYXJkb3du
KEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRhcmdldFR5
cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBhcHBseVJl
c291cmNlKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYsIHVu
c2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBcHBseVJl
c291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComLCB1bnNpZ25lZCBzaG9ydCBy
ZXNvdXJjZU1vZGUpOworICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91bmRpbmdCb3go
Y29uc3QgRmxvYXRSZWN0JikgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KIAogcHJvdGVj
dGVkOgotICAgIFNWR1BhaW50U2VydmVyR3JhZGllbnQoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50
KiBvd25lcik7Ci0gICAgCisgICAgdm9pZCBhZGRTdG9wcyhHcmFkaWVudERhdGEqLCBjb25zdCBW
ZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgYnVp
bGRHcmFkaWVudChHcmFkaWVudERhdGEqLCBTVkdHcmFkaWVudEVsZW1lbnQqKSBjb25zdCA9IDA7
CisKIHByaXZhdGU6Ci0gICAgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gbV9zdG9wczsKLSAgICBS
ZWZQdHI8R3JhZGllbnQ+IG1fZ3JhZGllbnQ7Ci0gICAgYm9vbCBtX2JvdW5kaW5nQm94TW9kZTsK
LSAgICBBZmZpbmVUcmFuc2Zvcm0gbV9ncmFkaWVudFRyYW5zZm9ybTsKLSAgICBjb25zdCBTVkdH
cmFkaWVudEVsZW1lbnQqIG1fb3duZXJFbGVtZW50OworICAgIEhhc2hNYXA8UmVuZGVyT2JqZWN0
KiwgR3JhZGllbnREYXRhKj4gbV9ncmFkaWVudDsKIAogI2lmIFBMQVRGT1JNKENHKQotcHVibGlj
OgotICAgIG11dGFibGUgR3JhcGhpY3NDb250ZXh0KiBtX3NhdmVkQ29udGV4dDsKLSAgICBtdXRh
YmxlIE93blB0cjxJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZlcjsKKyAgICBHcmFwaGljc0NvbnRl
eHQqIG1fc2F2ZWRDb250ZXh0OworICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZl
cjsKICNlbmRpZgogfTsKIAotaW5saW5lIFNWR0dyYWRpZW50U3RvcCBtYWtlR3JhZGllbnRTdG9w
KGZsb2F0IG9mZnNldCwgY29uc3QgQ29sb3ImIGNvbG9yKQotewotICAgIHJldHVybiBzdGQ6Om1h
a2VfcGFpcihvZmZzZXQsIGNvbG9yKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCiAj
ZW5kaWYKLQotI2VuZGlmIC8vIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnRfaAorI2VuZGlmCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVh
ckdyYWRpZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwyNiAr
MSwyMiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHpp
bW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExp
bWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMjgs
NDggKzI0LDQzIEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJj
ZUxpbmVhckdyYWRpZW50LmgiCiAKLSNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCisj
aW5jbHVkZSAiTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSAiU1ZHTGluZWFy
R3JhZGllbnRFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU1ZHUGFpbnRTZXJ2
ZXJMaW5lYXJHcmFkaWVudDo6U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudChjb25zdCBTVkdH
cmFkaWVudEVsZW1lbnQqIG93bmVyKQotICAgIDogU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudChvd25l
cikKLXsgCi19CitSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJH
cmFkaWVudDo6c19yZXNvdXJjZVR5cGUgPSBMaW5lYXJHcmFkaWVudFJlc291cmNlVHlwZTsKIAot
U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6flNWR1BhaW50U2VydmVyTGluZWFyR3JhZGll
bnQoKQorUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6UmVuZGVyU1ZHUmVzb3VyY2VM
aW5lYXJHcmFkaWVudChTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqIG5vZGUpCisgICAgOiBSZW5k
ZXJTVkdSZXNvdXJjZUdyYWRpZW50KG5vZGUpCiB7CiB9CiAKLUZsb2F0UG9pbnQgU1ZHUGFpbnRT
ZXJ2ZXJMaW5lYXJHcmFkaWVudDo6Z3JhZGllbnRTdGFydCgpIGNvbnN0CitSZW5kZXJTVkdSZXNv
dXJjZUxpbmVhckdyYWRpZW50Ojp+UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCgpCiB7
Ci0gICAgcmV0dXJuIG1fc3RhcnQ7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFk
aWVudDo6c2V0R3JhZGllbnRTdGFydChjb25zdCBGbG9hdFBvaW50JiBzdGFydCkKK3ZvaWQgUmVu
ZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudDo6YnVpbGRHcmFkaWVudChHcmFkaWVudERhdGEq
IGdyYWRpZW50RGF0YSwgU1ZHR3JhZGllbnRFbGVtZW50KiBncmFkaWVudEVsZW1lbnQpIGNvbnN0
CiB7Ci0gICAgbV9zdGFydCA9IHN0YXJ0OwotfQorICAgIFNWR0xpbmVhckdyYWRpZW50RWxlbWVu
dCogbGluZWFyR3JhZGllbnRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHTGluZWFyR3JhZGllbnRF
bGVtZW50Kj4oZ3JhZGllbnRFbGVtZW50KTsKKyAgICBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMg
YXR0cmlidXRlcyA9IGxpbmVhckdyYWRpZW50RWxlbWVudC0+Y29sbGVjdEdyYWRpZW50UHJvcGVy
dGllcygpOwogCi1GbG9hdFBvaW50IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQ6OmdyYWRp
ZW50RW5kKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9lbmQ7Ci19CisgICAgLy8gRGV0ZXJtaW5l
IGdyYWRpZW50IHN0YXJ0L2VuZCBwb2ludHMKKyAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQ7Cisg
ICAgRmxvYXRQb2ludCBlbmRQb2ludDsKKyAgICBsaW5lYXJHcmFkaWVudEVsZW1lbnQtPmNhbGN1
bGF0ZVN0YXJ0RW5kUG9pbnRzKGF0dHJpYnV0ZXMsIHN0YXJ0UG9pbnQsIGVuZFBvaW50KTsKIAot
dm9pZCBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50OjpzZXRHcmFkaWVudEVuZChjb25zdCBG
bG9hdFBvaW50JiBlbmQpCi17Ci0gICAgbV9lbmQgPSBlbmQ7Ci19CisgICAgZ3JhZGllbnREYXRh
LT5ncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoc3RhcnRQb2ludCwgZW5kUG9pbnQpOworICAg
IGdyYWRpZW50RGF0YS0+Z3JhZGllbnQtPnNldFNwcmVhZE1ldGhvZChhdHRyaWJ1dGVzLnNwcmVh
ZE1ldGhvZCgpKTsKIAotVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6
ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKLXsKLSAgICB0cyA8
PCAiW3R5cGU9TElORUFSLUdSQURJRU5UXSAiOwotICAgIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6
OmV4dGVybmFsUmVwcmVzZW50YXRpb24odHMpOwotICAgIHRzICA8PCAiIFtzdGFydD0iIDw8IGdy
YWRpZW50U3RhcnQoKSA8PCAiXSIKLSAgICAgICAgPDwgIiBbZW5kPSIgPDwgZ3JhZGllbnRFbmQo
KSA8PCAiXSI7Ci0gICAgcmV0dXJuIHRzOworICAgIC8vIFJlY29yZCBjdXJyZW50IGdyYWRpZW50
IHRyYW5zZm9ybQorICAgIGdyYWRpZW50RGF0YS0+dHJhbnNmb3JtID0gYXR0cmlidXRlcy5ncmFk
aWVudFRyYW5zZm9ybSgpOworICAgIGdyYWRpZW50RGF0YS0+Ym91bmRpbmdCb3hNb2RlID0gYXR0
cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKTsKKworICAgIC8vIEFkZCBzdG9wcworICAgIGFkZFN0
b3BzKGdyYWRpZW50RGF0YSwgYXR0cmlidXRlcy5zdG9wcygpKTsKIH0KIAotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorfQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlTGluZWFyR3JhZGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYyICsxLDQ4IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IE5p
a29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSBS
ZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaWZuZGVm
IFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnRfaAogI2RlZmluZSBSZW5kZXJTVkdSZXNv
dXJjZUxpbmVhckdyYWRpZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0KLSNpbmNsdWRlICJGbG9h
dFBvaW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQgOiBw
dWJsaWMgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudD4gY3JlYXRlKGNvbnN0IFNWR0dyYWRp
ZW50RWxlbWVudCogb3duZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZlckxp
bmVhckdyYWRpZW50KG93bmVyKSk7IH0KLSAgICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlckxpbmVh
ckdyYWRpZW50KCk7Ci0KLSAgICB2aXJ0dWFsIFNWR1BhaW50U2VydmVyVHlwZSB0eXBlKCkgY29u
c3QgeyByZXR1cm4gTGluZWFyR3JhZGllbnRQYWludFNlcnZlcjsgfQorY2xhc3MgU1ZHTGluZWFy
R3JhZGllbnRFbGVtZW50OwogCi0gICAgRmxvYXRQb2ludCBncmFkaWVudFN0YXJ0KCkgY29uc3Q7
Ci0gICAgdm9pZCBzZXRHcmFkaWVudFN0YXJ0KGNvbnN0IEZsb2F0UG9pbnQmKTsKLQotICAgIEZs
b2F0UG9pbnQgZ3JhZGllbnRFbmQoKSBjb25zdDsKLSAgICB2b2lkIHNldEdyYWRpZW50RW5kKGNv
bnN0IEZsb2F0UG9pbnQmKTsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQg
OiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCB7CitwdWJsaWM6CisgICAgUmVuZGVy
U1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudChTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqKTsKKyAg
ICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KCk7CiAKLSAgICB2aXJ0
dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0
OworICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJS
ZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IjsgfQogCi1wcml2YXRlOgotICAgIFNWR1Bh
aW50U2VydmVyTGluZWFyR3JhZGllbnQoY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBvd25lcik7
CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlKCkgY29uc3Qg
eyByZXR1cm4gc19yZXNvdXJjZVR5cGU7IH0KKyAgICBzdGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2VU
eXBlIHNfcmVzb3VyY2VUeXBlOwogCi0gICAgRmxvYXRQb2ludCBtX3N0YXJ0OwotICAgIEZsb2F0
UG9pbnQgbV9lbmQ7CisgICAgdmlydHVhbCB2b2lkIGJ1aWxkR3JhZGllbnQoR3JhZGllbnREYXRh
KiwgU1ZHR3JhZGllbnRFbGVtZW50KikgY29uc3Q7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCit9CiAKICNlbmRpZgotCi0jZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFk
aWVudF9oCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
TWFya2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZU1hcmtlci5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIFJlbmRlclNWR1Jl
c291cmNlTWFya2VyOjpzX3Jlc291cmNlVHlwZSA9IE1hcmtlclJlc291cmNlVHlwZTsKIAotUmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OlJlbmRlclNWR1Jlc291cmNlTWFya2VyKFNWR1N0eWxlZEVs
ZW1lbnQqIG5vZGUpCi0gICAgOiBSZW5kZXJTVkdSZXNvdXJjZShub2RlKQorUmVuZGVyU1ZHUmVz
b3VyY2VNYXJrZXI6OlJlbmRlclNWR1Jlc291cmNlTWFya2VyKFNWR01hcmtlckVsZW1lbnQqIG5v
ZGUpCisgICAgOiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihub2RlKQogewogfQogCkBAIC04
Miw2ICs4Miw3IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI6OmludmFsaWRhdGUKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9tYXJrZXIucmVtb3ZlKG9iamVjdCk7CisgICAgbWFya0Zv
ckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKG9iamVjdCk7CiB9CiAKIHZvaWQgUmVuZGVy
U1ZHUmVzb3VyY2VNYXJrZXI6OmFwcGx5Vmlld3BvcnRDbGlwKFBhaW50SW5mbyYgcGFpbnRJbmZv
KQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oCShy
ZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFy
a2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICNpZiBFTkFCTEUoU1ZHKQog
I2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1
ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VDb250
YWluZXIuaCIKICNpbmNsdWRlICJTVkdNYXJrZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHU3R5
bGVkRWxlbWVudC5oIgogCkBAIC0zNCwxMCArMzQsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIAotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIg
OiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2UgewotCitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1h
cmtlciA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CiBwdWJsaWM6Ci0gICAg
UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIoU1ZHU3R5bGVkRWxlbWVudCopOworICAgIFJlbmRlclNW
R1Jlc291cmNlTWFya2VyKFNWR01hcmtlckVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJT
VkdSZXNvdXJjZU1hcmtlcigpOwogCiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1l
KCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR1Jlc291cmNlTWFya2VyIjsgfQpAQCAtNTgsNyAr
NTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGxvY2Fs
VG9QYXJlbnRUcmFuc2Zvcm0oKSBjb25zdDsKICAgICBBZmZpbmVUcmFuc2Zvcm0gbWFya2VyVHJh
bnNmb3JtYXRpb24oY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9hdCBhbmdsZSwgZmxvYXQg
c3Ryb2tlV2lkdGgpIGNvbnN0OwogCi0gICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVu
ZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmly
dHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUqLCBHcmFw
aGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmly
dHVhbCBGbG9hdFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25z
dCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQogCiAgICAgRmxvYXRQb2ludCByZWZlcmVuY2VQb2lu
dCgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNr
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
TWFza2VyLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdSZXNvdXJjZU1hc2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDggKzQyLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgUmVuZGVyU1ZHUmVzb3Vy
Y2VNYXNrZXI6OnNfcmVzb3VyY2VUeXBlID0gTWFza2VyUmVzb3VyY2VUeXBlOwogCi1SZW5kZXJT
VkdSZXNvdXJjZU1hc2tlcjo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIoU1ZHU3R5bGVkRWxlbWVu
dCogbm9kZSkKLSAgICA6IFJlbmRlclNWR1Jlc291cmNlKG5vZGUpCitSZW5kZXJTVkdSZXNvdXJj
ZU1hc2tlcjo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIoU1ZHTWFza0VsZW1lbnQqIG5vZGUpCisg
ICAgOiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcihub2RlKQogewogfQogCkBAIC03NywxMyAr
NzcsMTUgQEAgdm9pZCBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6aW52YWxpZGF0ZQogICAgIGlm
ICghbV9tYXNrZXIuY29udGFpbnMob2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZGVs
ZXRlIG1fbWFza2VyLnRha2Uob2JqZWN0KTsgCisgICAgZGVsZXRlIG1fbWFza2VyLnRha2Uob2Jq
ZWN0KTsKKyAgICBtYXJrRm9yTGF5b3V0QW5kUmVzb3VyY2VJbnZhbGlkYXRpb24ob2JqZWN0KTsK
IH0KIAotYm9vbCBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6YXBwbHlSZXNvdXJjZShSZW5kZXJP
YmplY3QqIG9iamVjdCwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCkKK2Jvb2wgUmVuZGVyU1ZH
UmVzb3VyY2VNYXNrZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRl
clN0eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVzb3Vy
Y2VNb2RlKQogewogICAgIEFTU0VSVChvYmplY3QpOwogICAgIEFTU0VSVChjb250ZXh0KTsKKyAg
ICBBU1NFUlQocmVzb3VyY2VNb2RlID09IEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAKICAgICBpZiAo
IW1fbWFza2VyLmNvbnRhaW5zKG9iamVjdCkpCiAgICAgICAgIG1fbWFza2VyLnNldChvYmplY3Qs
IG5ldyBNYXNrZXJEYXRhKTsKQEAgLTE1MSw3ICsxNTMsNyBAQCB2b2lkIFJlbmRlclNWR1Jlc291
cmNlTWFza2VyOjpjcmVhdGVNYXNrCiAgICAgbWFza0ltYWdlUmVjdC5zZXRMb2NhdGlvbihJbnRQ
b2ludCgpKTsKIAogICAgIC8vIERvbid0IGNyZWF0ZSBJbWFnZUJ1ZmZlcnMgd2l0aCBpbWFnZSBz
aXplIG9mIDAKLSAgICBpZiAoIW1hc2tJbWFnZVJlY3Qud2lkdGgoKSB8fCAhbWFza0ltYWdlUmVj
dC5oZWlnaHQoKSkgeworICAgIGlmIChtYXNrSW1hZ2VSZWN0LmlzRW1wdHkoKSkgewogICAgICAg
ICBtYXNrZXJEYXRhLT5lbXB0eU1hc2sgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5oCShyZXZp
c2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlTWFza2Vy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0Nv
bnRleHQuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIK
LSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyLmgiCiAjaW5jbHVkZSAiU1ZHTWFza0VsZW1lbnQuaCIKICNpbmNsdWRlICJT
VkdVbml0VHlwZXMuaCIKIApAQCAtMzYsOSArMzYsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdHJ1Y3QgTWFza2VyRGF0YSB7Ci0gICAgTWFza2VyRGF0YShGbG9hdFJlY3QgcmVjdCA9IEZs
b2F0UmVjdCgpLCBib29sIGVtcHR5T2JqZWN0ID0gZmFsc2UpCi0gICAgICAgIDogbWFza1JlY3Qo
cmVjdCkKLSAgICAgICAgLCBlbXB0eU1hc2soZW1wdHlPYmplY3QpCisgICAgTWFza2VyRGF0YSgp
CisgICAgICAgIDogZW1wdHlNYXNrKGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTQ3LDEwICs0
Niw5IEBAIHN0cnVjdCBNYXNrZXJEYXRhIHsKICAgICBib29sIGVtcHR5TWFzazsKIH07CiAKLWNs
YXNzIFJlbmRlclNWR1Jlc291cmNlTWFza2VyIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlIHsK
LQorY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIgewogcHVibGljOgotICAgIFJlbmRlclNWR1Jlc291cmNlTWFza2VyKFNWR1N0
eWxlZEVsZW1lbnQqKTsKKyAgICBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcihTVkdNYXNrRWxlbWVu
dCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlTWFza2VyKCk7CiAKICAgICB2aXJ0
dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyU1ZHUmVz
b3VyY2VNYXNrZXIiOyB9CkBAIC01OCw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgaW52YWxpZGF0ZUNsaWVudHMoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVu
dChSZW5kZXJPYmplY3QqKTsKIAotICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291cmNlKFJlbmRl
ck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComKTsKKyAgICB2aXJ0dWFsIGJvb2wgYXBwbHlSZXNv
dXJjZShSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHlsZSosIEdyYXBoaWNzQ29udGV4dComLCB1bnNp
Z25lZCBzaG9ydCByZXNvdXJjZU1vZGUpOwogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNl
Qm91bmRpbmdCb3goY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKICAgICBTVkdVbml0VHlwZXM6
OlNWR1VuaXRUeXBlIG1hc2tVbml0cygpIGNvbnN0IHsgcmV0dXJuIHRvVW5pdFR5cGUoc3RhdGlj
X2Nhc3Q8U1ZHTWFza0VsZW1lbnQqPihub2RlKCkpLT5tYXNrVW5pdHMoKSk7IH0KSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmNwcAkocmV2aXNp
b24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI3ICsxLDIyIEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICogICAgICAg
ICAgICAgICAyMDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICogQ29weXJpZ2h0
IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgog
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCkBAIC0yOSwxNTUgKzI0LDMwNiBAQAogI2lmIEVOQUJMRShTVkcp
CiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgiCiAKLSNpbmNsdWRlICJBZmZp
bmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJJ
bWFnZS5oIgotI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiUGF0dGVybi5oIgot
I2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlNWR1BhdHRlcm5FbGVtZW50Lmgi
Ci0jaW5jbHVkZSAiU1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgotCi11c2luZyBuYW1lc3BhY2Ugc3Rk
OworI2luY2x1ZGUgIlBhdHRlcm5BdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3Vw
cG9ydC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1BhaW50U2VydmVyUGF0dGVybjo6
U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKGNvbnN0IFNWR1BhdHRlcm5FbGVtZW50KiBvd25lcikKLSAg
ICA6IG1fb3duZXJFbGVtZW50KG93bmVyKQotICAgICwgbV9wYXR0ZXJuKDApCi17Ci0gICAgQVNT
RVJUKG93bmVyKTsKLX0KK1JlbmRlclNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZVBh
dHRlcm46OnNfcmVzb3VyY2VUeXBlID0gUGF0dGVyblJlc291cmNlVHlwZTsKIAotU1ZHUGFpbnRT
ZXJ2ZXJQYXR0ZXJuOjp+U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKCkKK1JlbmRlclNWR1Jlc291cmNl
UGF0dGVybjo6UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuKFNWR1BhdHRlcm5FbGVtZW50KiBub2Rl
KQorICAgIDogUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIobm9kZSkKIHsKIH0KIAotRmxvYXRS
ZWN0IFNWR1BhaW50U2VydmVyUGF0dGVybjo6cGF0dGVybkJvdW5kYXJpZXMoKSBjb25zdAorUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjp+UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuKCkKIHsKLSAg
ICByZXR1cm4gbV9wYXR0ZXJuQm91bmRhcmllczsKKyAgICBkZWxldGVBbGxWYWx1ZXMobV9wYXR0
ZXJuKTsKKyAgICBtX3BhdHRlcm4uY2xlYXIoKTsKIH0KIAotdm9pZCBTVkdQYWludFNlcnZlclBh
dHRlcm46OnNldFBhdHRlcm5Cb3VuZGFyaWVzKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3ZvaWQg
UmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuOjppbnZhbGlkYXRlQ2xpZW50cygpCiB7Ci0gICAgbV9w
YXR0ZXJuQm91bmRhcmllcyA9IHJlY3Q7Ci19CisgICAgY29uc3QgSGFzaE1hcDxSZW5kZXJPYmpl
Y3QqLCBQYXR0ZXJuRGF0YSo+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3BhdHRlcm4uZW5kKCk7
CisgICAgZm9yIChIYXNoTWFwPFJlbmRlck9iamVjdCosIFBhdHRlcm5EYXRhKj46OmNvbnN0X2l0
ZXJhdG9yIGl0ID0gbV9wYXR0ZXJuLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAg
bWFya0ZvckxheW91dEFuZFJlc291cmNlSW52YWxpZGF0aW9uKGl0LT5maXJzdCk7CiAKLUltYWdl
QnVmZmVyKiBTVkdQYWludFNlcnZlclBhdHRlcm46OnRpbGUoKSBjb25zdAotewotICAgIHJldHVy
biBtX3RpbGUuZ2V0KCk7CisgICAgZGVsZXRlQWxsVmFsdWVzKG1fcGF0dGVybik7CisgICAgbV9w
YXR0ZXJuLmNsZWFyKCk7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpzZXRUaWxl
KFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGUpCit2b2lkIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybjo6aW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKLSAgICBtX3Rp
bGUgPSB0aWxlOwotfQorICAgIEFTU0VSVChvYmplY3QpOwogCi1BZmZpbmVUcmFuc2Zvcm0gU1ZH
UGFpbnRTZXJ2ZXJQYXR0ZXJuOjpwYXR0ZXJuVHJhbnNmb3JtKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gbV9wYXR0ZXJuVHJhbnNmb3JtOwotfQorICAgIC8vIEZJWE1FOiBUaGUgSGFzaE1hcCBzaG91
bGQgYWx3YXlzIGNvbnRhaW4gdGhlIG9iamVjdCBvbiBjYWxsaW5nIGludmFsaWRhdGVDbGllbnQu
IEEgcmFjZSBjb25kaXRpb24KKyAgICAvLyBkdXJpbmcgdGhlIHBhcnNpbmcgY2FuIGNhdXNlcyBh
IGNhbGwgb2YgaW52YWxpZGF0ZUNsaWVudCByaWdodCBiZWZvcmUgdGhlIGNhbGwgb2YgYXBwbHlS
ZXNvdXJjZS4KKyAgICAvLyBXZSByZXR1cm4gZWFybGllciBmb3IgdGhlIG1vbWVudC4gVGhpcyBi
dWcgc2hvdWxkIGJlIGZpeGVkIGluOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNTE4MQorICAgIGlmICghbV9wYXR0ZXJuLmNvbnRhaW5zKG9iamVjdCkp
CisgICAgICAgIHJldHVybjsKIAotdm9pZCBTVkdQYWludFNlcnZlclBhdHRlcm46OnNldFBhdHRl
cm5UcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCi17Ci0gICAgbV9w
YXR0ZXJuVHJhbnNmb3JtID0gdHJhbnNmb3JtOworICAgIGRlbGV0ZSBtX3BhdHRlcm4udGFrZShv
YmplY3QpOworICAgIG1hcmtGb3JMYXlvdXRBbmRSZXNvdXJjZUludmFsaWRhdGlvbihvYmplY3Qp
OwogfQogCi1UZXh0U3RyZWFtJiBTVkdQYWludFNlcnZlclBhdHRlcm46OmV4dGVybmFsUmVwcmVz
ZW50YXRpb24oVGV4dFN0cmVhbSYgdHMpIGNvbnN0Citib29sIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybjo6YXBwbHlSZXNvdXJjZShSZW5kZXJPYmplY3QqIG9iamVjdCwgUmVuZGVyU3R5bGUqIHN0
eWxlLCBHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0LCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1v
ZGUpCiB7Ci0gICAgLy8gR3JhZGllbnRzL3BhdHRlcm5zIGFyZW4ndCBzZXR1cCwgdW50aWwgdGhl
eSBhcmUgdXNlZCBmb3IgcGFpbnRpbmcuIFdvcmsgYXJvdW5kIHRoYXQgZmFjdC4KLSAgICBtX293
bmVyRWxlbWVudC0+YnVpbGRQYXR0ZXJuKEZsb2F0UmVjdCgwLjBmLCAwLjBmLCAxLjBmLCAxLjBm
KSk7CisgICAgQVNTRVJUKG9iamVjdCk7CisgICAgQVNTRVJUKHN0eWxlKTsKKyAgICBBU1NFUlQo
Y29udGV4dCk7CisgICAgQVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUp
OwogCi0gICAgdHMgPDwgIlt0eXBlPVBBVFRFUk5dIgotICAgICAgICA8PCAiIFtiYm94PSIgPDwg
cGF0dGVybkJvdW5kYXJpZXMoKSA8PCAiXSI7Ci0gICAgaWYgKCFwYXR0ZXJuVHJhbnNmb3JtKCku
aXNJZGVudGl0eSgpKQotICAgICAgICB0cyA8PCAiIFtwYXR0ZXJuIHRyYW5zZm9ybT0iIDw8IHBh
dHRlcm5UcmFuc2Zvcm0oKSA8PCAiXSI7Ci0gICAgcmV0dXJuIHRzOwotfQorICAgIC8vIEJlIHN1
cmUgdG8gc3luY2hyb25pemUgYWxsIFNWRyBwcm9wZXJ0aWVzIG9uIHRoZSBwYXR0ZXJuRWxlbWVu
dCBfYmVmb3JlXyBwcm9jZXNzaW5nIGFueSBmdXJ0aGVyLgorICAgIC8vIE90aGVyd2hpc2UgdGhl
IGNhbGwgdG8gY29sbGVjdFBhdHRlcm5BdHRyaWJ1dGVzKCkgaW4gY3JlYXRlVGlsZUltYWdlKCks
IG1heSBjYXVzZSB0aGUgU1ZHIERPTSBwcm9wZXJ0eQorICAgIC8vIHN5bmNocm9uaXphdGlvbiB0
byBraWNrIGluLCB3aGljaCBjYXVzZXMgaW52YWxpZGF0ZUNsaWVudHMoKSB0byBiZSBjYWxsZWQs
IHdoaWNoIGluIHR1cm4gZGVsZXRlcyBvdXIKKyAgICAvLyBQYXR0ZXJuRGF0YSBvYmplY3QhIExl
YXZpbmcgb3V0IHRoZSBsaW5lIGJlbG93IHdpbGwgY2F1c2Ugc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdQYXR0ZXJuRWxlbWVudC1zdmdkb20qIHRvIGNyYXNoLgorICAgIFNWR1BhdHRlcm5FbGVtZW50
KiBwYXR0ZXJuRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1BhdHRlcm5FbGVtZW50Kj4obm9kZSgp
KTsKKyAgICBpZiAoIXBhdHRlcm5FbGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLWJv
b2wgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpzZXR1cChHcmFwaGljc0NvbnRleHQqJiBjb250ZXh0
LCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBT
VkdQYWludFRhcmdldFR5cGUgdHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3QKLXsKLSAg
ICBGbG9hdFJlY3QgdGFyZ2V0UmVjdCA9IG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKTsKKyAg
ICBwYXR0ZXJuRWxlbWVudC0+dXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoYW55UU5hbWUoKSk7
CiAKLSAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSBzdHlsZS0+c3ZnU3R5bGUo
KTsKLSAgICBib29sIGlzRmlsbGVkID0gKHR5cGUgJiBBcHBseVRvRmlsbFRhcmdldFR5cGUpICYm
IHN2Z1N0eWxlLT5oYXNGaWxsKCk7Ci0gICAgYm9vbCBpc1N0cm9rZWQgPSAodHlwZSAmIEFwcGx5
VG9TdHJva2VUYXJnZXRUeXBlKSAmJiBzdmdTdHlsZS0+aGFzU3Ryb2tlKCk7CisgICAgaWYgKCFt
X3BhdHRlcm4uY29udGFpbnMob2JqZWN0KSkKKyAgICAgICAgbV9wYXR0ZXJuLnNldChvYmplY3Qs
IG5ldyBQYXR0ZXJuRGF0YSk7CiAKLSAgICBBU1NFUlQoKGlzRmlsbGVkICYmICFpc1N0cm9rZWQp
IHx8ICghaXNGaWxsZWQgJiYgaXNTdHJva2VkKSk7Ci0KLSAgICBtX293bmVyRWxlbWVudC0+YnVp
bGRQYXR0ZXJuKHRhcmdldFJlY3QpOwotICAgIGlmICghdGlsZSgpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgUGF0dGVybkRhdGEqIHBhdHRlcm5EYXRhID0gbV9wYXR0ZXJuLmdldChvYmpl
Y3QpOworICAgIGlmICghcGF0dGVybkRhdGEtPnBhdHRlcm4pIHsKKyAgICAgICAgRmxvYXRSZWN0
IHBhdHRlcm5Cb3VuZGFyaWVzOworICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5z
Zm9ybTsKKworICAgICAgICAvLyBDcmVhdGUgdGlsZSBpbWFnZQorICAgICAgICBPd25QdHI8SW1h
Z2VCdWZmZXI+IHRpbGVJbWFnZSA9IGNyZWF0ZVRpbGVJbWFnZShwYXR0ZXJuQm91bmRhcmllcywg
cGF0dGVyblRyYW5zZm9ybSwgcGF0dGVybkVsZW1lbnQsIG9iamVjdCk7CisgICAgICAgIGlmICgh
dGlsZUltYWdlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIC8vIENyZWF0
ZSBwYXR0ZXJuIG9iamVjdAorICAgICAgICBidWlsZFBhdHRlcm4ocGF0dGVybkRhdGEsIHBhdHRl
cm5Cb3VuZGFyaWVzLCB0aWxlSW1hZ2UucmVsZWFzZSgpKTsKKworICAgICAgICBpZiAoIXBhdHRl
cm5EYXRhLT5wYXR0ZXJuKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIC8v
IENvbXB1dGUgcGF0dGVybiB0cmFuc2Zvcm1hdGlvbgorICAgICAgICBBZmZpbmVUcmFuc2Zvcm0g
dHJhbnNmb3JtOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVz
LngoKSwgcGF0dGVybkJvdW5kYXJpZXMueSgpKTsKKyAgICAgICAgdHJhbnNmb3JtLm11bHRpcGx5
KHBhdHRlcm5UcmFuc2Zvcm0pOworICAgICAgICBwYXR0ZXJuRGF0YS0+cGF0dGVybi0+c2V0UGF0
dGVyblNwYWNlVHJhbnNmb3JtKHRyYW5zZm9ybSk7CisgICAgfQogCisgICAgLy8gRHJhdyBwYXR0
ZXJuCiAgICAgY29udGV4dC0+c2F2ZSgpOwogCi0gICAgQVNTRVJUKCFtX3BhdHRlcm4pOwotCi0g
ICAgSW50UmVjdCB0aWxlUmVjdCA9IHRpbGUoKS0+aW1hZ2UoKS0+cmVjdCgpOwotICAgIGlmICh0
aWxlUmVjdC53aWR0aCgpID4gcGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpIHx8IHRpbGVSZWN0
LmhlaWdodCgpID4gcGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSkgewotICAgICAgICAvLyBE
cmF3IHRoZSBmaXJzdCBjZWxsIG9mIHRoZSBwYXR0ZXJuIG1hbnVhbGx5IHRvIHN1cHBvcnQgb3Zl
cmZsb3c9InZpc2libGUiIG9uIGFsbCBwbGF0Zm9ybXMuCi0gICAgICAgIGludCB0aWxlV2lkdGgg
PSBzdGF0aWNfY2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVzKCkud2lkdGgoKSArIDAuNWYpOwot
ICAgICAgICBpbnQgdGlsZUhlaWdodCA9IHN0YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJp
ZXMoKS5oZWlnaHQoKSArIDAuNWYpOwotICAgICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGVJ
bWFnZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUoSW50U2l6ZSh0aWxlV2lkdGgsIHRpbGVIZWlnaHQp
KTsKLSAgCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCogdGlsZUltYWdlQ29udGV4dCA9IHRpbGVJ
bWFnZS0+Y29udGV4dCgpOwotCi0gICAgICAgIGludCBudW1ZID0gc3RhdGljX2Nhc3Q8aW50Pihj
ZWlsZih0aWxlUmVjdC5oZWlnaHQoKSAvIHRpbGVIZWlnaHQpKSArIDE7Ci0gICAgICAgIGludCBu
dW1YID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZih0aWxlUmVjdC53aWR0aCgpIC8gdGlsZVdpZHRo
KSkgKyAxOwotCi0gICAgICAgIHRpbGVJbWFnZUNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgdGls
ZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKC1wYXR0ZXJuQm91bmRhcmllcygpLndpZHRoKCkgKiBu
dW1YLCAtcGF0dGVybkJvdW5kYXJpZXMoKS5oZWlnaHQoKSAqIG51bVkpOwotICAgICAgICBmb3Ig
KGludCBpID0gbnVtWTsgaSA+IDA7IGktLSkgewotICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4
dC0+dHJhbnNsYXRlKDAsIHBhdHRlcm5Cb3VuZGFyaWVzKCkuaGVpZ2h0KCkpOwotICAgICAgICAg
ICAgZm9yIChpbnQgaiA9IG51bVg7IGogPiAwOyBqLS0pIHsKLSAgICAgICAgICAgICAgICB0aWxl
SW1hZ2VDb250ZXh0LT50cmFuc2xhdGUocGF0dGVybkJvdW5kYXJpZXMoKS53aWR0aCgpLCAwKTsK
LSAgICAgICAgICAgICAgICB0aWxlSW1hZ2VDb250ZXh0LT5kcmF3SW1hZ2UodGlsZSgpLT5pbWFn
ZSgpLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCB0aWxlUmVjdCwgdGlsZVJlY3QpOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgdGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKC1wYXR0ZXJuQm91
bmRhcmllcygpLndpZHRoKCkgKiBudW1YLCAwKTsKLSAgICAgICAgfQotICAgICAgICB0aWxlSW1h
Z2VDb250ZXh0LT5yZXN0b3JlKCk7Ci0KLSAgICAgICAgbV9wYXR0ZXJuID0gUGF0dGVybjo6Y3Jl
YXRlKHRpbGVJbWFnZS0+aW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7Ci0gICAgfQotICAgIGVsc2UKLSAg
ICAgICAgbV9wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGUoKS0+aW1hZ2UoKSwgdHJ1ZSwg
dHJ1ZSk7CisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUtPnN2Z1N0
eWxlKCk7CisgICAgQVNTRVJUKHN2Z1N0eWxlKTsKIAotICAgIGlmIChpc0ZpbGxlZCkgeworICAg
IGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKICAgICAgICAgY29udGV4dC0+
c2V0QWxwaGEoc3ZnU3R5bGUtPmZpbGxPcGFjaXR5KCkpOwotICAgICAgICBjb250ZXh0LT5zZXRG
aWxsUGF0dGVybihtX3BhdHRlcm4pOworICAgICAgICBjb250ZXh0LT5zZXRGaWxsUGF0dGVybihw
YXR0ZXJuRGF0YS0+cGF0dGVybik7CiAgICAgICAgIGNvbnRleHQtPnNldEZpbGxSdWxlKHN2Z1N0
eWxlLT5maWxsUnVsZSgpKTsKLSAgICB9Ci0gICAgaWYgKGlzU3Ryb2tlZCkgeworICAgIH0gZWxz
ZSBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpIHsKICAgICAgICAgY29udGV4
dC0+c2V0QWxwaGEoc3ZnU3R5bGUtPnN0cm9rZU9wYWNpdHkoKSk7Ci0gICAgICAgIGNvbnRleHQt
PnNldFN0cm9rZVBhdHRlcm4obV9wYXR0ZXJuKTsKKyAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tl
UGF0dGVybihwYXR0ZXJuRGF0YS0+cGF0dGVybik7CiAgICAgICAgIGFwcGx5U3Ryb2tlU3R5bGVU
b0NvbnRleHQoY29udGV4dCwgc3R5bGUsIG9iamVjdCk7CiAgICAgfQogCi0gICAgQWZmaW5lVHJh
bnNmb3JtIG1hdHJpeDsKLSAgICBtYXRyaXgudHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzKCku
eCgpLCBwYXR0ZXJuQm91bmRhcmllcygpLnkoKSk7Ci0gICAgbWF0cml4Lm11bHRpcGx5KHBhdHRl
cm5UcmFuc2Zvcm0oKSk7Ci0gICAgbV9wYXR0ZXJuLT5zZXRQYXR0ZXJuU3BhY2VUcmFuc2Zvcm0o
bWF0cml4KTsKKyAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlKSB7CisgICAg
ICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpIHsKKyAgICAgICAgICAgIGNv
bnRleHQtPnNldFRleHREcmF3aW5nTW9kZShjVGV4dEZpbGwpOwogCi0gICAgaWYgKGlzUGFpbnRp
bmdUZXh0KSB7Ci0gICAgICAgIGNvbnRleHQtPnNldFRleHREcmF3aW5nTW9kZShpc0ZpbGxlZCA/
IGNUZXh0RmlsbCA6IGNUZXh0U3Ryb2tlKTsKICNpZiBQTEFURk9STShDRykKLSAgICAgICAgaWYg
KGlzRmlsbGVkKQogICAgICAgICAgICAgY29udGV4dC0+YXBwbHlGaWxsUGF0dGVybigpOwotICAg
ICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgfSBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBs
eVRvU3Ryb2tlTW9kZSkgeworICAgICAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2Rl
KGNUZXh0U3Ryb2tlKTsKKworI2lmIFBMQVRGT1JNKENHKQogICAgICAgICAgICAgY29udGV4dC0+
YXBwbHlTdHJva2VQYXR0ZXJuKCk7CiAjZW5kaWYKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJl
dHVybiB0cnVlOwogfQogCi12b2lkIFNWR1BhaW50U2VydmVyUGF0dGVybjo6dGVhcmRvd24oR3Jh
cGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJn
ZXRUeXBlLCBib29sKSBjb25zdAordm9pZCBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm46OnBvc3RB
cHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29udGV4dComIGNvbnRleHQsIHVu
c2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSkKK3sKKyAgICBBU1NFUlQoY29udGV4dCk7CisgICAg
QVNTRVJUKHJlc291cmNlTW9kZSAhPSBBcHBseVRvRGVmYXVsdE1vZGUpOworCisgICAgaWYgKCEo
cmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlKSkgeworICAgICAgICBpZiAocmVzb3VyY2VN
b2RlICYgQXBwbHlUb0ZpbGxNb2RlKQorICAgICAgICAgICAgY29udGV4dC0+ZmlsbFBhdGgoKTsK
KyAgICAgICAgZWxzZSBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1N0cm9rZU1vZGUpCisgICAg
ICAgICAgICBjb250ZXh0LT5zdHJva2VQYXRoKCk7CisgICAgfQorCisgICAgY29udGV4dC0+cmVz
dG9yZSgpOworfQorCitzdGF0aWMgaW5saW5lIEZsb2F0UmVjdCBjYWxjdWxhdGVQYXR0ZXJuQm91
bmRhcmllcyhQYXR0ZXJuQXR0cmlidXRlcyYgYXR0cmlidXRlcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0
Qm91bmRpbmdCb3gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogcGF0dGVybkVsZW1lbnQpCit7CisgICAg
aWYgKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpCisgICAgICAgIHJldHVybiBGbG9hdFJl
Y3QoYXR0cmlidXRlcy54KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSAqIG9iamVjdEJvdW5kaW5nQm94
LndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy55KCkudmFsdWVB
c1BlcmNlbnRhZ2UoKSAqIG9iamVjdEJvdW5kaW5nQm94LmhlaWdodCgpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZXMud2lkdGgoKS52YWx1ZUFzUGVyY2VudGFnZSgpICogb2Jq
ZWN0Qm91bmRpbmdCb3gud2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGVzLmhlaWdodCgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiBvYmplY3RCb3VuZGluZ0JveC5oZWln
aHQoKSk7CisKKyAgICByZXR1cm4gRmxvYXRSZWN0KGF0dHJpYnV0ZXMueCgpLnZhbHVlKHBhdHRl
cm5FbGVtZW50KSwKKyAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMueSgpLnZhbHVlKHBh
dHRlcm5FbGVtZW50KSwKKyAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMud2lkdGgoKS52
YWx1ZShwYXR0ZXJuRWxlbWVudCksCisgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLmhl
aWdodCgpLnZhbHVlKHBhdHRlcm5FbGVtZW50KSk7Cit9CisKK0Zsb2F0UmVjdCBSZW5kZXJTVkdS
ZXNvdXJjZVBhdHRlcm46OmNhbGN1bGF0ZVBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZs
b3coUGF0dGVybkF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbmdCb3gsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdmlld0JveENUTSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcykgY29uc3QKK3sKKyAgICAv
LyBFdmVudHVhbGx5IGNhbGN1bGF0ZSB0aGUgcGF0dGVybiBjb250ZW50IGJvdW5kYXJpZXMgKG9u
bHkgbmVlZGVkIHdpdGggb3ZlcmZsb3c9InZpc2libGUiKS4KKyAgICBGbG9hdFJlY3QgcGF0dGVy
bkNvbnRlbnRCb3VuZGFyaWVzOworCisgICAgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlID0gdGhp
cy0+c3R5bGUoKTsKKyAgICBpZiAoc3R5bGUtPm92ZXJmbG93WCgpID09IE9WSVNJQkxFICYmIHN0
eWxlLT5vdmVyZmxvd1koKSA9PSBPVklTSUJMRSkgeworICAgICAgICBmb3IgKE5vZGUqIG5vZGUg
PSBhdHRyaWJ1dGVzLnBhdHRlcm5Db250ZW50RWxlbWVudCgpLT5maXJzdENoaWxkKCk7IG5vZGU7
IG5vZGUgPSBub2RlLT5uZXh0U2libGluZygpKSB7CisgICAgICAgICAgICBpZiAoIW5vZGUtPmlz
U1ZHRWxlbWVudCgpIHx8ICFzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4obm9kZSktPmlzU3R5bGVk
VHJhbnNmb3JtYWJsZSgpIHx8ICFub2RlLT5yZW5kZXJlcigpKQorICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAgICAgcGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzLnVuaXRlKG5vZGUt
PnJlbmRlcmVyKCktPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgICAgICB9
CisgICAgfQorCisgICAgaWYgKHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybiBwYXR0ZXJuQm91bmRhcmllczsKKworICAgIEZsb2F0UmVjdCBwYXR0ZXJu
Qm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93ID0gcGF0dGVybkJvdW5kYXJpZXM7CisKKyAgICAv
LyBSZXNwZWN0IG9iamVjdEJvdW5kaW5nQm94TW9kZSBmb3IgcGF0dGVybkNvbnRlbnRVbml0cywg
aWYgdmlld0JveCBpcyBub3Qgc2V0LgorICAgIGlmICghdmlld0JveENUTS5pc0lkZW50aXR5KCkp
CisgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcyA9IHZpZXdCb3hDVE0ubWFwUmVjdChw
YXR0ZXJuQ29udGVudEJvdW5kYXJpZXMpOworICAgIGVsc2UgaWYgKGF0dHJpYnV0ZXMuYm91bmRp
bmdCb3hNb2RlQ29udGVudCgpKQorICAgICAgICBwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMgPSBG
bG9hdFJlY3QocGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzLngoKSAqIG9iamVjdEJvdW5kaW5nQm94
LndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
YXR0ZXJuQ29udGVudEJvdW5kYXJpZXMueSgpICogb2JqZWN0Qm91bmRpbmdCb3guaGVpZ2h0KCks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQ29u
dGVudEJvdW5kYXJpZXMud2lkdGgoKSAqIG9iamVjdEJvdW5kaW5nQm94LndpZHRoKCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQ29udGVudEJv
dW5kYXJpZXMuaGVpZ2h0KCkgKiBvYmplY3RCb3VuZGluZ0JveC5oZWlnaHQoKSk7CisKKyAgICBw
YXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LnVuaXRlKHBhdHRlcm5Db250ZW50Qm91
bmRhcmllcyk7CisgICAgcmV0dXJuIHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3c7
Cit9CisKK1Bhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IFJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6
Y3JlYXRlVGlsZUltYWdlKEZsb2F0UmVjdCYgcGF0dGVybkJvdW5kYXJpZXMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBB
ZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zvcm0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTVkdQYXR0
ZXJuRWxlbWVudCogcGF0dGVybkVsZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIG9iamVj
dCkgY29uc3QKIHsKLSAgICBtX3BhdHRlcm4gPSAwOworICAgIFBhdHRlcm5BdHRyaWJ1dGVzIGF0
dHJpYnV0ZXMgPSBwYXR0ZXJuRWxlbWVudC0+Y29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKCk7CisK
KyAgICAvLyBJZiB3ZSBjb3VsZG4ndCBkZXRlcm1pbmUgdGhlIHBhdHRlcm4gY29udGVudCBlbGVt
ZW50IHJvb3QsIHN0b3AgaGVyZS4KKyAgICBpZiAoIWF0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRF
bGVtZW50KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgRmxvYXRSZWN0IG9iamVjdEJvdW5k
aW5nQm94ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpOyAgICAKKyAgICBwYXR0ZXJuQm91
bmRhcmllcyA9IGNhbGN1bGF0ZVBhdHRlcm5Cb3VuZGFyaWVzKGF0dHJpYnV0ZXMsIG9iamVjdEJv
dW5kaW5nQm94LCBwYXR0ZXJuRWxlbWVudCk7IAorICAgIHBhdHRlcm5UcmFuc2Zvcm0gPSBhdHRy
aWJ1dGVzLnBhdHRlcm5UcmFuc2Zvcm0oKTsKKworICAgIEFmZmluZVRyYW5zZm9ybSB2aWV3Qm94
Q1RNID0gcGF0dGVybkVsZW1lbnQtPnZpZXdCb3hUb1ZpZXdUcmFuc2Zvcm0ocGF0dGVybkVsZW1l
bnQtPnZpZXdCb3goKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5FbGVtZW50LT5wcmVzZXJ2ZUFz
cGVjdFJhdGlvKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuQm91bmRhcmllcy53aWR0aCgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkpOworCisgICAgRmxvYXRS
ZWN0IHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cgPSBjYWxjdWxhdGVQYXR0ZXJu
Qm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93KGF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9iamVjdEJvdW5kaW5nQm94LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94Q1RNLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXR0ZXJuQm91bmRhcmllcyk7CisKKyAgICBJbnRTaXplIGltYWdl
U2l6ZShscm91bmRmKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cud2lkdGgoKSks
IGxyb3VuZGYocGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy5oZWlnaHQoKSkpOwor
CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBiZSBhYmxlIHRvIGNsaXAgdGhpcyBtb3JlLCBuZWVk
cyBpbnZlc3RpZ2F0aW9uCisgICAgY2xhbXBJbWFnZUJ1ZmZlclNpemVUb1ZpZXdwb3J0KG9iamVj
dC0+ZG9jdW1lbnQoKS0+dmlldygpLCBpbWFnZVNpemUpOworCisgICAgLy8gRG9uJ3QgY3JlYXRl
IEltYWdlQnVmZmVycyB3aXRoIGltYWdlIHNpemUgb2YgMAorICAgIGlmIChpbWFnZVNpemUuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gdGls
ZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShpbWFnZVNpemUpOworCisgICAgR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0ID0gdGlsZUltYWdlLT5jb250ZXh0KCk7CisgICAgQVNTRVJUKGNvbnRl
eHQpOworCisgICAgY29udGV4dC0+c2F2ZSgpOworCisgICAgLy8gVHJhbnNsYXRlIHRvIHBhdHRl
cm4gc3RhcnQgb3JpZ2luCisgICAgaWYgKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZs
b3cubG9jYXRpb24oKSAhPSBwYXR0ZXJuQm91bmRhcmllcy5sb2NhdGlvbigpKSB7CisgICAgICAg
IGNvbnRleHQtPnRyYW5zbGF0ZShwYXR0ZXJuQm91bmRhcmllcy54KCkgLSBwYXR0ZXJuQm91bmRh
cmllc0luY2x1ZGluZ092ZXJmbG93LngoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh
dHRlcm5Cb3VuZGFyaWVzLnkoKSAtIHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cu
eSgpKTsKKworICAgICAgICBwYXR0ZXJuQm91bmRhcmllcy5zZXRMb2NhdGlvbihwYXR0ZXJuQm91
bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LmxvY2F0aW9uKCkpOworICAgIH0KKworICAgIC8vIFBy
b2Nlc3Mgdmlld0JveCBvciBib3VuZGluZ0JveE1vZGVDb250ZW50IGNvcnJlY3Rpb24KKyAgICBp
ZiAoIXZpZXdCb3hDVE0uaXNJZGVudGl0eSgpKQorICAgICAgICBjb250ZXh0LT5jb25jYXRDVE0o
dmlld0JveENUTSk7CisgICAgZWxzZSBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGVDb250
ZW50KCkpIHsKKyAgICAgICAgY29udGV4dC0+dHJhbnNsYXRlKG9iamVjdEJvdW5kaW5nQm94Lngo
KSwgb2JqZWN0Qm91bmRpbmdCb3gueSgpKTsKKyAgICAgICAgY29udGV4dC0+c2NhbGUoRmxvYXRT
aXplKG9iamVjdEJvdW5kaW5nQm94LndpZHRoKCksIG9iamVjdEJvdW5kaW5nQm94LmhlaWdodCgp
KSk7CisgICAgfQorCisgICAgLy8gUmVuZGVyIHN1YnRyZWUgaW50byBJbWFnZUJ1ZmZlcgorICAg
IGZvciAoTm9kZSogbm9kZSA9IGF0dHJpYnV0ZXMucGF0dGVybkNvbnRlbnRFbGVtZW50KCktPmZp
cnN0Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAg
aWYgKCFub2RlLT5pc1NWR0VsZW1lbnQoKSB8fCAhc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG5v
ZGUpLT5pc1N0eWxlZCgpIHx8ICFub2RlLT5yZW5kZXJlcigpKQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIHJlbmRlclN1YnRyZWVUb0ltYWdlKHRpbGVJbWFnZS5nZXQoKSwgbm9kZS0+
cmVuZGVyZXIoKSk7CisgICAgfQogCiAgICAgY29udGV4dC0+cmVzdG9yZSgpOworICAgIHJldHVy
biB0aWxlSW1hZ2UucmVsZWFzZSgpOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit2b2lk
IFJlbmRlclNWR1Jlc291cmNlUGF0dGVybjo6YnVpbGRQYXR0ZXJuKFBhdHRlcm5EYXRhKiBwYXR0
ZXJuRGF0YSwgY29uc3QgRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmllcywgUGFzc093blB0cjxJ
bWFnZUJ1ZmZlcj4gdGlsZUltYWdlKSBjb25zdAoreworICAgIGlmICghdGlsZUltYWdlLT5pbWFn
ZSgpKSB7CisgICAgICAgIHBhdHRlcm5EYXRhLT5wYXR0ZXJuID0gMDsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIEludFJlY3QgdGlsZVJlY3QgPSB0aWxlSW1hZ2UtPmltYWdlKCktPnJl
Y3QoKTsKKyAgICBpZiAodGlsZVJlY3Qud2lkdGgoKSA8PSBwYXR0ZXJuQm91bmRhcmllcy53aWR0
aCgpICYmIHRpbGVSZWN0LmhlaWdodCgpIDw9IHBhdHRlcm5Cb3VuZGFyaWVzLmhlaWdodCgpKSB7
CisgICAgICAgIHBhdHRlcm5EYXRhLT5wYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGVJbWFn
ZS0+aW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAv
LyBEcmF3IHRoZSBmaXJzdCBjZWxsIG9mIHRoZSBwYXR0ZXJuIG1hbnVhbGx5IHRvIHN1cHBvcnQg
b3ZlcmZsb3c9InZpc2libGUiIG9uIGFsbCBwbGF0Zm9ybXMuCisgICAgaW50IHRpbGVXaWR0aCA9
IHN0YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJpZXMud2lkdGgoKSArIDAuNWYpOworICAg
IGludCB0aWxlSGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50PihwYXR0ZXJuQm91bmRhcmllcy5oZWln
aHQoKSArIDAuNWYpOworCisgICAgLy8gRG9uJ3QgY3JlYXRlIEltYWdlQnVmZmVycyB3aXRoIGlt
YWdlIHNpemUgb2YgMAorICAgIGlmICghdGlsZVdpZHRoIHx8ICF0aWxlSGVpZ2h0KSB7CisgICAg
ICAgIHBhdHRlcm5EYXRhLT5wYXR0ZXJuID0gMDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gbmV3VGlsZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0
ZShJbnRTaXplKHRpbGVXaWR0aCwgdGlsZUhlaWdodCkpOworICAgIEdyYXBoaWNzQ29udGV4dCog
bmV3VGlsZUltYWdlQ29udGV4dCA9IG5ld1RpbGVJbWFnZS0+Y29udGV4dCgpOworCisgICAgaW50
IG51bVkgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHRpbGVSZWN0LmhlaWdodCgpIC8gdGlsZUhl
aWdodCkpICsgMTsKKyAgICBpbnQgbnVtWCA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYodGlsZVJl
Y3Qud2lkdGgoKSAvIHRpbGVXaWR0aCkpICsgMTsKKworICAgIG5ld1RpbGVJbWFnZUNvbnRleHQt
PnNhdmUoKTsKKyAgICBuZXdUaWxlSW1hZ2VDb250ZXh0LT50cmFuc2xhdGUoLXBhdHRlcm5Cb3Vu
ZGFyaWVzLndpZHRoKCkgKiBudW1YLCAtcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkgKiBudW1Z
KTsKKyAgICBmb3IgKGludCBpID0gbnVtWTsgaSA+IDA7IC0taSkgeworICAgICAgICBuZXdUaWxl
SW1hZ2VDb250ZXh0LT50cmFuc2xhdGUoMCwgcGF0dGVybkJvdW5kYXJpZXMuaGVpZ2h0KCkpOwor
ICAgICAgICBmb3IgKGludCBqID0gbnVtWDsgaiA+IDA7IC0taikgeworICAgICAgICAgICAgbmV3
VGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRlKHBhdHRlcm5Cb3VuZGFyaWVzLndpZHRoKCksIDAp
OworICAgICAgICAgICAgbmV3VGlsZUltYWdlQ29udGV4dC0+ZHJhd0ltYWdlKHRpbGVJbWFnZS0+
aW1hZ2UoKSwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpLCB0aWxlUmVjdCwgdGlsZVJlY3QpOworICAg
ICAgICB9CisgICAgICAgIG5ld1RpbGVJbWFnZUNvbnRleHQtPnRyYW5zbGF0ZSgtcGF0dGVybkJv
dW5kYXJpZXMud2lkdGgoKSAqIG51bVgsIDApOworICAgIH0KKyAgICBuZXdUaWxlSW1hZ2VDb250
ZXh0LT5yZXN0b3JlKCk7CisKKyAgICBwYXR0ZXJuRGF0YS0+cGF0dGVybiA9IFBhdHRlcm46OmNy
ZWF0ZShuZXdUaWxlSW1hZ2UtPmltYWdlKCksIHRydWUsIHRydWUpOworfQorCit9CiAKICNlbmRp
ZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgJ
KHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VQ
YXR0ZXJuLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsODUgKzEsNzQgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRF
UiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVS
LCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAog
ICovCiAKICNpZm5kZWYgUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuX2gKICNkZWZpbmUgUmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuX2gKIAogI2lmIEVOQUJMRShTVkcpCi0KICNpbmNsdWRlICJBZmZp
bmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlICJJbWFnZUJ1
ZmZlci5oIgogI2luY2x1ZGUgIlBhdHRlcm4uaCIKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlci5o
IgotCi0jaW5jbHVkZSA8bWVtb3J5PgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyLmgiCisjaW5jbHVkZSAiU1ZHUGF0dGVybkVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdVbml0
VHlwZXMuaCIKIAorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgR3JhcGhpY3NDb250ZXh0OwotY2xhc3MgSW1hZ2VCdWZmZXI7Ci1jbGFzcyBTVkdQ
YXR0ZXJuRWxlbWVudDsKLQotY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuIDogcHVibGljIFNW
R1BhaW50U2VydmVyIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWludFNl
cnZlclBhdHRlcm4+IGNyZWF0ZShjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogb3duZXIpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTVkdQYWludFNlcnZlclBhdHRlcm4ob3duZXIpKTsgfQotCi0gICAg
dmlydHVhbCB+U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuKCk7CitzdHJ1Y3QgUGF0dGVybkRhdGEgewor
ICAgIFJlZlB0cjxQYXR0ZXJuPiBwYXR0ZXJuOworfTsKIAotICAgIHZpcnR1YWwgU1ZHUGFpbnRT
ZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBQYXR0ZXJuUGFpbnRTZXJ2ZXI7IH0KK3N0
cnVjdCBQYXR0ZXJuQXR0cmlidXRlczsKIAotICAgIC8vIFBhdHRlcm4gYm91bmRhcmllcwotICAg
IHZvaWQgc2V0UGF0dGVybkJvdW5kYXJpZXMoY29uc3QgRmxvYXRSZWN0Jik7Ci0gICAgRmxvYXRS
ZWN0IHBhdHRlcm5Cb3VuZGFyaWVzKCkgY29uc3Q7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZVBh
dHRlcm4gOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIgeworcHVibGljOgorICAg
IFJlbmRlclNWR1Jlc291cmNlUGF0dGVybihTVkdQYXR0ZXJuRWxlbWVudCopOworICAgIHZpcnR1
YWwgflJlbmRlclNWR1Jlc291cmNlUGF0dGVybigpOwogCi0gICAgSW1hZ2VCdWZmZXIqIHRpbGUo
KSBjb25zdDsKLSAgICB2b2lkIHNldFRpbGUoUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4pOworICAg
IHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJT
VkdSZXNvdXJjZVBhdHRlcm4iOyB9CiAKLSAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5z
Zm9ybSgpIGNvbnN0OwotICAgIHZvaWQgc2V0UGF0dGVyblRyYW5zZm9ybShjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudHMoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNsaWVudChSZW5kZXJPYmplY3QqKTsKIAotICAgIHZpcnR1
YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7
CisgICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5
bGUqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3ND
b250ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCBGbG9h
dFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCB7IHJldHVy
biBGbG9hdFJlY3QoKTsgfQogCi0gICAgdmlydHVhbCBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4
dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJTdHlsZSosIFNWR1BhaW50VGFy
Z2V0VHlwZSwgYm9vbCBpc1BhaW50aW5nVGV4dCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHRl
YXJkb3duKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqLCBTVkdQYWludFRh
cmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0OworICAgIHZpcnR1YWwgUmVuZGVy
U1ZHUmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHNfcmVzb3VyY2VU
eXBlOyB9CisgICAgc3RhdGljIFJlbmRlclNWR1Jlc291cmNlVHlwZSBzX3Jlc291cmNlVHlwZTsK
IAogcHJpdmF0ZToKLSAgICBTVkdQYWludFNlcnZlclBhdHRlcm4oY29uc3QgU1ZHUGF0dGVybkVs
ZW1lbnQqKTsKLSAgICAKLSAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IG1fdGlsZTsKLSAgICBjb25z
dCBTVkdQYXR0ZXJuRWxlbWVudCogbV9vd25lckVsZW1lbnQ7Ci0gICAgQWZmaW5lVHJhbnNmb3Jt
IG1fcGF0dGVyblRyYW5zZm9ybTsKLSAgICBGbG9hdFJlY3QgbV9wYXR0ZXJuQm91bmRhcmllczsK
KyAgICBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBjcmVhdGVUaWxlSW1hZ2UoRmxvYXRSZWN0JiBw
YXR0ZXJuQm91bmRhcmllcywgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25z
dCBTVkdQYXR0ZXJuRWxlbWVudCosIFJlbmRlck9iamVjdCopIGNvbnN0OworICAgIHZvaWQgYnVp
bGRQYXR0ZXJuKFBhdHRlcm5EYXRhKiwgY29uc3QgRmxvYXRSZWN0JiBwYXR0ZXJuQm91bmRhcmll
cywgUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gdGlsZUltYWdlKSBjb25zdDsKKyAgICBGbG9hdFJl
Y3QgY2FsY3VsYXRlUGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdyhQYXR0ZXJuQXR0
cmlidXRlcyYsIGNvbnN0IEZsb2F0UmVjdCYgb2JqZWN0Qm91bmRpbmdCb3gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQWZm
aW5lVHJhbnNmb3JtJiB2aWV3Qm94Q1RNLCBjb25zdCBGbG9hdFJlY3QmIHBhdHRlcm5Cb3VuZGFy
aWVzKSBjb25zdDsKIAotICAgIG11dGFibGUgUmVmUHRyPFBhdHRlcm4+IG1fcGF0dGVybjsKKyAg
ICBIYXNoTWFwPFJlbmRlck9iamVjdCosIFBhdHRlcm5EYXRhKj4gbV9wYXR0ZXJuOwogfTsKIAot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfQogCiAjZW5kaWYKLQotI2VuZGlmIC8vIFJlbmRlclNW
R1Jlc291cmNlUGF0dGVybl9oCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuY3BwCShyZXZpc2lvbiA1ODE1
OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI2ICsxLDIyIEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogQ29weXJp
Z2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0yOCw2MSArMjQsNDggQEAKICNpZiBFTkFCTEUoU1ZH
KQogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaCIKIAotI2luY2x1
ZGUgIlNWR1JlbmRlclRyZWVBc1RleHQuaCIKKyNpbmNsdWRlICJSYWRpYWxHcmFkaWVudEF0dHJp
YnV0ZXMuaCIKKyNpbmNsdWRlICJTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1TVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpTVkdQYWludFNl
cnZlclJhZGlhbEdyYWRpZW50KGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCogb3duZXIpCi0gICAg
OiBTVkdQYWludFNlcnZlckdyYWRpZW50KG93bmVyKQotICAgICwgbV9yYWRpdXMoMC4wZikKLXsK
LX0KK1JlbmRlclNWR1Jlc291cmNlVHlwZSBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50
OjpzX3Jlc291cmNlVHlwZSA9IFJhZGlhbEdyYWRpZW50UmVzb3VyY2VUeXBlOwogCi1TVkdQYWlu
dFNlcnZlclJhZGlhbEdyYWRpZW50Ojp+U1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCgpCitS
ZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50OjpSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdy
YWRpZW50KFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCogbm9kZSkKKyAgICA6IFJlbmRlclNWR1Jl
c291cmNlR3JhZGllbnQobm9kZSkKIHsKIH0KIAotCi1GbG9hdFBvaW50IFNWR1BhaW50U2VydmVy
UmFkaWFsR3JhZGllbnQ6OmdyYWRpZW50Q2VudGVyKCkgY29uc3QKK1JlbmRlclNWR1Jlc291cmNl
UmFkaWFsR3JhZGllbnQ6On5SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50KCkKIHsKLSAg
ICByZXR1cm4gbV9jZW50ZXI7CiB9CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVu
dDo6c2V0R3JhZGllbnRDZW50ZXIoY29uc3QgRmxvYXRQb2ludCYgY2VudGVyKQordm9pZCBSZW5k
ZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50OjpidWlsZEdyYWRpZW50KEdyYWRpZW50RGF0YSog
Z3JhZGllbnREYXRhLCBTVkdHcmFkaWVudEVsZW1lbnQqIGdyYWRpZW50RWxlbWVudCkgY29uc3QK
IHsKLSAgICBtX2NlbnRlciA9IGNlbnRlcjsKLX0KKyAgICBTVkdSYWRpYWxHcmFkaWVudEVsZW1l
bnQqIHJhZGlhbEdyYWRpZW50RWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR1JhZGlhbEdyYWRpZW50
RWxlbWVudCo+KGdyYWRpZW50RWxlbWVudCk7CisgICAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVz
IGF0dHJpYnV0ZXMgPSByYWRpYWxHcmFkaWVudEVsZW1lbnQtPmNvbGxlY3RHcmFkaWVudFByb3Bl
cnRpZXMoKTsKIAotRmxvYXRQb2ludCBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50OjpncmFk
aWVudEZvY2FsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9mb2NhbDsKLX0KKyAgICAvLyBEZXRl
cm1pbmUgZ3JhZGllbnQgZm9jYWwvY2VudGVyIHBvaW50cyBhbmQgcmFkaXVzCisgICAgRmxvYXRQ
b2ludCBmb2NhbFBvaW50OworICAgIEZsb2F0UG9pbnQgY2VudGVyUG9pbnQ7CisgICAgZmxvYXQg
cmFkaXVzOworICAgIHJhZGlhbEdyYWRpZW50RWxlbWVudC0+Y2FsY3VsYXRlRm9jYWxDZW50ZXJQ
b2ludHNBbmRSYWRpdXMoYXR0cmlidXRlcywgZm9jYWxQb2ludCwgY2VudGVyUG9pbnQsIHJhZGl1
cyk7CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6c2V0R3JhZGllbnRGb2Nh
bChjb25zdCBGbG9hdFBvaW50JiBmb2NhbCkKLXsKLSAgICBtX2ZvY2FsID0gZm9jYWw7Ci19Cisg
ICAgZ3JhZGllbnREYXRhLT5ncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoZm9jYWxQb2ludCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjBmLCAvLyBT
VkcgZG9lcyBub3Qgc3VwcG9ydCBhICJmb2N1cyByYWRpdXMiCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyUG9pbnQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFkaXVzKTsKIAotZmxvYXQgU1ZHUGFpbnRT
ZXJ2ZXJSYWRpYWxHcmFkaWVudDo6Z3JhZGllbnRSYWRpdXMoKSBjb25zdAotewotICAgIHJldHVy
biBtX3JhZGl1czsKLX0KKyAgICBncmFkaWVudERhdGEtPmdyYWRpZW50LT5zZXRTcHJlYWRNZXRo
b2QoYXR0cmlidXRlcy5zcHJlYWRNZXRob2QoKSk7CiAKLXZvaWQgU1ZHUGFpbnRTZXJ2ZXJSYWRp
YWxHcmFkaWVudDo6c2V0R3JhZGllbnRSYWRpdXMoZmxvYXQgcmFkaXVzKQotewotICAgIG1fcmFk
aXVzID0gcmFkaXVzOwotfQorICAgIC8vIFJlY29yZCBjdXJyZW50IGdyYWRpZW50IHRyYW5zZm9y
bQorICAgIGdyYWRpZW50RGF0YS0+dHJhbnNmb3JtID0gYXR0cmlidXRlcy5ncmFkaWVudFRyYW5z
Zm9ybSgpOworICAgIGdyYWRpZW50RGF0YS0+Ym91bmRpbmdCb3hNb2RlID0gYXR0cmlidXRlcy5i
b3VuZGluZ0JveE1vZGUoKTsKIAotVGV4dFN0cmVhbSYgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFk
aWVudDo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cykgY29uc3QKLXsKLSAg
ICB0cyA8PCAiW3R5cGU9UkFESUFMLUdSQURJRU5UXSAiOwotICAgIFNWR1BhaW50U2VydmVyR3Jh
ZGllbnQ6OmV4dGVybmFsUmVwcmVzZW50YXRpb24odHMpOwotICAgIHRzIDw8ICIgW2NlbnRlcj0i
IDw8IGdyYWRpZW50Q2VudGVyKCkgPDwgIl0iCi0gICAgICAgIDw8ICIgW2ZvY2FsPSIgPDwgZ3Jh
ZGllbnRGb2NhbCgpIDw8ICJdIgotICAgICAgICA8PCAiIFtyYWRpdXM9IiA8PCBncmFkaWVudFJh
ZGl1cygpIDw8ICJdIjsKLSAgICByZXR1cm4gdHM7CisgICAgLy8gQWRkIHN0b3BzCisgICAgYWRk
U3RvcHMoZ3JhZGllbnREYXRhLCBhdHRyaWJ1dGVzLnN0b3BzKCkpOwogfQogCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCit9CiAKICNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaAkocmV2aXNpb24gNTgxNTkpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTEsNjYgKzEsNDggQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYg
Tmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMp
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKICNpZm5k
ZWYgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudF9oCiAjZGVmaW5lIFJlbmRlclNWR1Jl
c291cmNlUmFkaWFsR3JhZGllbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUgIkZs
b2F0UG9pbnQuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCA6
IHB1YmxpYyBTVkdQYWludFNlcnZlckdyYWRpZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50PiBjcmVhdGUoY29uc3QgU1ZHR3Jh
ZGllbnRFbGVtZW50KiBvd25lcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1BhaW50U2VydmVy
UmFkaWFsR3JhZGllbnQob3duZXIpKTsgfQotICAgIHZpcnR1YWwgflNWR1BhaW50U2VydmVyUmFk
aWFsR3JhZGllbnQoKTsKLQotICAgIHZpcnR1YWwgU1ZHUGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBj
b25zdCB7IHJldHVybiBSYWRpYWxHcmFkaWVudFBhaW50U2VydmVyOyB9CitjbGFzcyBTVkdSYWRp
YWxHcmFkaWVudEVsZW1lbnQ7CiAKLSAgICBGbG9hdFBvaW50IGdyYWRpZW50Q2VudGVyKCkgY29u
c3Q7Ci0gICAgdm9pZCBzZXRHcmFkaWVudENlbnRlcihjb25zdCBGbG9hdFBvaW50Jik7Ci0KLSAg
ICBGbG9hdFBvaW50IGdyYWRpZW50Rm9jYWwoKSBjb25zdDsKLSAgICB2b2lkIHNldEdyYWRpZW50
Rm9jYWwoY29uc3QgRmxvYXRQb2ludCYpOwotCi0gICAgZmxvYXQgZ3JhZGllbnRSYWRpdXMoKSBj
b25zdDsKLSAgICB2b2lkIHNldEdyYWRpZW50UmFkaXVzKGZsb2F0KTsKK2NsYXNzIFJlbmRlclNW
R1Jlc291cmNlUmFkaWFsR3JhZGllbnQgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVu
dCB7CitwdWJsaWM6CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudChTVkdSYWRp
YWxHcmFkaWVudEVsZW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZVJhZGlh
bEdyYWRpZW50KCk7CiAKLSAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50
YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OworICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVy
TmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Ijsg
fQogCi1wcml2YXRlOgotICAgIFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQoY29uc3QgU1ZH
R3JhZGllbnRFbGVtZW50KiBvd25lcik7CisgICAgdmlydHVhbCBSZW5kZXJTVkdSZXNvdXJjZVR5
cGUgcmVzb3VyY2VUeXBlKCkgY29uc3QgeyByZXR1cm4gc19yZXNvdXJjZVR5cGU7IH0KKyAgICBz
dGF0aWMgUmVuZGVyU1ZHUmVzb3VyY2VUeXBlIHNfcmVzb3VyY2VUeXBlOwogCi0gICAgZmxvYXQg
bV9yYWRpdXM7Ci0gICAgRmxvYXRQb2ludCBtX2NlbnRlcjsKLSAgICBGbG9hdFBvaW50IG1fZm9j
YWw7CisgICAgdmlydHVhbCB2b2lkIGJ1aWxkR3JhZGllbnQoR3JhZGllbnREYXRhKiwgU1ZHR3Jh
ZGllbnRFbGVtZW50KikgY29uc3Q7CiB9OwogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9CiAK
ICNlbmRpZgotCi0jZW5kaWYgLy8gUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudF9oCisj
ZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlU29saWRDb2xv
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VT
b2xpZENvbG9yLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI3ICsxLDIx
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVy
bWFubkBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3
ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAy
MDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0zMCw2NCArMjQs
ODAgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaCIKIAogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIlJlbmRlclBhdGguaCIKLSNpbmNsdWRl
ICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCisjaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9ydC5oIgog
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYgUExBVEZPUk0oU0tJQSkKKyNpbmNsdWRlICJQbGF0
Zm9ybUNvbnRleHRTa2lhLmgiCisjZW5kaWYKIAotU1ZHUGFpbnRTZXJ2ZXJTb2xpZDo6U1ZHUGFp
bnRTZXJ2ZXJTb2xpZCgpCi17Ci19CituYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1BhaW50U2Vy
dmVyU29saWQ6On5TVkdQYWludFNlcnZlclNvbGlkKCkKLXsKLX0KK1JlbmRlclNWR1Jlc291cmNl
VHlwZSBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3I6OnNfcmVzb3VyY2VUeXBlID0gU29saWRD
b2xvclJlc291cmNlVHlwZTsKIAotQ29sb3IgU1ZHUGFpbnRTZXJ2ZXJTb2xpZDo6Y29sb3IoKSBj
b25zdAorUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yOjpSZW5kZXJTVkdSZXNvdXJjZVNvbGlk
Q29sb3IoKQogewotICAgIHJldHVybiBtX2NvbG9yOwogfQogCi12b2lkIFNWR1BhaW50U2VydmVy
U29saWQ6OnNldENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKK1JlbmRlclNWR1Jlc291cmNlU29s
aWRDb2xvcjo6flJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvcigpCiB7Ci0gICAgbV9jb2xvciA9
IGNvbG9yOwogfQogCi1UZXh0U3RyZWFtJiBTVkdQYWludFNlcnZlclNvbGlkOjpleHRlcm5hbFJl
cHJlc2VudGF0aW9uKFRleHRTdHJlYW0mIHRzKSBjb25zdAorYm9vbCBSZW5kZXJTVkdSZXNvdXJj
ZVNvbGlkQ29sb3I6OmFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiBvYmplY3QsIFJlbmRlclN0
eWxlKiBzdHlsZSwgR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVz
b3VyY2VNb2RlKQogewotICAgIHRzIDw8ICJbdHlwZT1TT0xJRF0iCi0gICAgICAgIDw8ICIgW2Nv
bG9yPSI8PCBjb2xvcigpIDw8ICJdIjsKLSAgICByZXR1cm4gdHM7Ci19CisgICAgLy8gV2UgYXJl
IE5PVCBhbGxvd2VkIHRvIEFTU0VSVChvYmplY3QpIGhlcmUsIHVubGlrZSBhbGwgb3RoZXIgcmVz
b3VyY2VzLgorICAgIC8vIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xvciBpcyB0aGUgb25seSBy
ZXNvdXJjZSB3aGljaCBtYXkgYmUgdXNlZCBmcm9tIEhUTUwsIHdoZW4gcmVuZGVyaW5nCisgICAg
Ly8gU1ZHIEZvbnRzIGZvciBhIEhUTUwgZG9jdW1lbnQuIFRoaXMgd2lsbCBiZSBpbmRpY2F0ZWQg
YnkgYSBudWxsIFJlbmRlck9iamVjdCBwb2ludGVyLgorICAgIEFTU0VSVChjb250ZXh0KTsKKyAg
ICBBU1NFUlQocmVzb3VyY2VNb2RlICE9IEFwcGx5VG9EZWZhdWx0TW9kZSk7CiAKLWJvb2wgU1ZH
UGFpbnRTZXJ2ZXJTb2xpZDo6c2V0dXAoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3Qg
UmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgU1ZHUGFpbnRU
YXJnZXRUeXBlIHR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQpIGNvbnN0Ci17CiAgICAgY29uc3Qg
U1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUgPyBzdHlsZS0+c3ZnU3R5bGUoKSA6IDA7
CiAgICAgQ29sb3JTcGFjZSBjb2xvclNwYWNlID0gc3R5bGUgPyBzdHlsZS0+Y29sb3JTcGFjZSgp
IDogRGV2aWNlQ29sb3JTcGFjZTsKIAotICAgIGlmICgodHlwZSAmIEFwcGx5VG9GaWxsVGFyZ2V0
VHlwZSkgJiYgKCFzdHlsZSB8fCBzdmdTdHlsZS0+aGFzRmlsbCgpKSkgewotICAgICAgICBjb250
ZXh0LT5zZXRBbHBoYShzdHlsZSA/IHN2Z1N0eWxlLT5maWxsT3BhY2l0eSgpIDogMSk7Ci0gICAg
ICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihjb2xvcigpLnJnYigpLCBjb2xvclNwYWNlKTsKLSAg
ICAgICAgY29udGV4dC0+c2V0RmlsbFJ1bGUoc3R5bGUgPyBzdmdTdHlsZS0+ZmlsbFJ1bGUoKSA6
IFJVTEVfTk9OWkVSTyk7CisgICAgaWYgKHJlc291cmNlTW9kZSAmIEFwcGx5VG9GaWxsTW9kZSkg
eworICAgICAgICBjb250ZXh0LT5zZXRBbHBoYShzdmdTdHlsZSA/IHN2Z1N0eWxlLT5maWxsT3Bh
Y2l0eSgpIDogMS4wZik7CisgICAgICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihtX2NvbG9yLCBj
b2xvclNwYWNlKTsKKyAgICAgICAgY29udGV4dC0+c2V0RmlsbFJ1bGUoc3ZnU3R5bGUgPyBzdmdT
dHlsZS0+ZmlsbFJ1bGUoKSA6IFJVTEVfTk9OWkVSTyk7CiAKLSAgICAgICAgaWYgKGlzUGFpbnRp
bmdUZXh0KQorICAgICAgICBpZiAocmVzb3VyY2VNb2RlICYgQXBwbHlUb1RleHRNb2RlKQogICAg
ICAgICAgICAgY29udGV4dC0+c2V0VGV4dERyYXdpbmdNb2RlKGNUZXh0RmlsbCk7Ci0gICAgfQot
Ci0gICAgaWYgKCh0eXBlICYgQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUpICYmICghc3R5bGUgfHwg
c3ZnU3R5bGUtPmhhc1N0cm9rZSgpKSkgewotICAgICAgICBjb250ZXh0LT5zZXRBbHBoYShzdHls
ZSA/IHN2Z1N0eWxlLT5zdHJva2VPcGFjaXR5KCkgOiAxKTsKLSAgICAgICAgY29udGV4dC0+c2V0
U3Ryb2tlQ29sb3IoY29sb3IoKS5yZ2IoKSwgY29sb3JTcGFjZSk7CisgICAgfSBlbHNlIGlmIChy
ZXNvdXJjZU1vZGUgJiBBcHBseVRvU3Ryb2tlTW9kZSkgeworICAgICAgICBjb250ZXh0LT5zZXRB
bHBoYShzdmdTdHlsZSA/IHN2Z1N0eWxlLT5zdHJva2VPcGFjaXR5KCkgOiAxLjBmKTsKKyAgICAg
ICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3IobV9jb2xvciwgY29sb3JTcGFjZSk7CiAKICAgICAg
ICAgaWYgKHN0eWxlKQogICAgICAgICAgICAgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChjb250
ZXh0LCBzdHlsZSwgb2JqZWN0KTsKIAotICAgICAgICBpZiAoaXNQYWludGluZ1RleHQpCisgICAg
ICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1vZGUpCiAgICAgICAgICAgICBjb250
ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUoY1RleHRTdHJva2UpOwogICAgIH0KIAogICAgIHJldHVy
biB0cnVlOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCit2b2lkIFJlbmRlclNWR1Jlc291
cmNlU29saWRDb2xvcjo6cG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3ND
b250ZXh0KiYgY29udGV4dCwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKQoreworICAgIEFT
U0VSVChjb250ZXh0KTsKKyAgICBBU1NFUlQocmVzb3VyY2VNb2RlICE9IEFwcGx5VG9EZWZhdWx0
TW9kZSk7CisKKyAgICBpZiAoIShyZXNvdXJjZU1vZGUgJiBBcHBseVRvVGV4dE1vZGUpKSB7Cisg
ICAgICAgIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBseVRvRmlsbE1vZGUpCisgICAgICAgICAgICBj
b250ZXh0LT5maWxsUGF0aCgpOworICAgICAgICBlbHNlIGlmIChyZXNvdXJjZU1vZGUgJiBBcHBs
eVRvU3Ryb2tlTW9kZSkKKyAgICAgICAgICAgIGNvbnRleHQtPnN0cm9rZVBhdGgoKTsKKyAgICB9
CisKKyNpZiBQTEFURk9STShTS0lBKQorICAgIC8vIEZJWE1FOiBNb3ZlIHRoaXMgaW50byB0aGUg
R3JhcGhpY3NDb250ZXh0CisgICAgLy8gV2ViS2l0IGltcGxpY2l0bHkgZXhwZWN0cyB1cyB0byBy
ZXNldCB0aGUgcGF0aC4KKyAgICAvLyBGb3IgZXhhbXBsZSBpbiBmaWxsQW5kU3Ryb2tlUGF0aCgp
IG9mIFJlbmRlclBhdGguY3BwIHRoZSBwYXRoIGlzIAorICAgIC8vIGFkZGVkIGJhY2sgdG8gdGhl
IGNvbnRleHQgYWZ0ZXIgZmlsbGluZy4gVGhpcyBpcyBiZWNhdXNlIGludGVybmFsbHkgaXQKKyAg
ICAvLyBjYWxscyBDR0NvbnRleHRGaWxsUGF0aCgpIHdoaWNoIGNsb3NlcyB0aGUgcGF0aC4KKyAg
ICBjb250ZXh0LT5iZWdpblBhdGgoKTsKKyAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+
c2V0RmlsbFNoYWRlcigwKTsKKyAgICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+c2V0U3Ry
b2tlU2hhZGVyKDApOworI2VuZGlmCit9CisKK30KIAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaAkocmV2aXNpb24gNTgx
NTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw2MCArMSw1NiBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
NiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAo
QykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAogI2lm
bmRlZiBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3JfaAogI2RlZmluZSBSZW5kZXJTVkdSZXNv
dXJjZVNvbGlkQ29sb3JfaAogCiAjaWYgRU5BQkxFKFNWRykKLQogI2luY2x1ZGUgIkNvbG9yLmgi
Ci0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXIuaCIKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR1BhaW50U2VydmVyU29saWQgOiBwdWJsaWMgU1ZHUGFpbnRTZXJ2ZXIgeworY2xhc3Mg
UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlIHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdQYWludFNlcnZlclNvbGlkPiBjcmVh
dGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCk7IH0KLSAgICB2
aXJ0dWFsIH5TVkdQYWludFNlcnZlclNvbGlkKCk7CisgICAgUmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yKCk7CisgICAgdmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKCk7CiAK
LSAgICB2aXJ0dWFsIFNWR1BhaW50U2VydmVyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gU29s
aWRQYWludFNlcnZlcjsgfQorICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50cygpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlQ2xpZW50KFJlbmRlck9iamVjdCopIHsgfQog
Ci0gICAgQ29sb3IgY29sb3IoKSBjb25zdDsKLSAgICB2b2lkIHNldENvbG9yKGNvbnN0IENvbG9y
Jik7CisgICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVy
U3R5bGUqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWduZWQgc2hvcnQgcmVzb3VyY2VNb2RlKTsK
KyAgICB2aXJ0dWFsIHZvaWQgcG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhp
Y3NDb250ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7CisgICAgdmlydHVhbCBG
bG9hdFJlY3QgcmVzb3VyY2VCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmKSBjb25zdCB7IHJl
dHVybiBGbG9hdFJlY3QoKTsgfQogCi0gICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJl
cHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdDsKKyAgICB2aXJ0dWFsIFJlbmRlclNWR1Jl
c291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25zdCB7IHJldHVybiBzX3Jlc291cmNlVHlwZTsg
fQorICAgIHN0YXRpYyBSZW5kZXJTVkdSZXNvdXJjZVR5cGUgc19yZXNvdXJjZVR5cGU7CiAKLSAg
ICB2aXJ0dWFsIGJvb2wgc2V0dXAoR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVj
dCosIGNvbnN0IFJlbmRlclN0eWxlKiwgU1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sIGlzUGFpbnRp
bmdUZXh0KSBjb25zdDsKKyAgICBjb25zdCBDb2xvciYgY29sb3IoKSBjb25zdCB7IHJldHVybiBt
X2NvbG9yOyB9CisgICAgdm9pZCBzZXRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpIHsgbV9jb2xv
ciA9IGNvbG9yOyB9CiAKIHByaXZhdGU6Ci0gICAgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCgpOwotCiAg
ICAgQ29sb3IgbV9jb2xvcjsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKK30KIAogI2Vu
ZGlmCi0KLSNlbmRpZiAvLyBSZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3JfaAorI2VuZGlmCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYw
LDcgKzE2MCwxMCBAQCB2b2lkIFJlbmRlclNWR1RleHQ6OmFic29sdXRlUXVhZHMoVmVjdG9yCiB9
CiAKIHZvaWQgUmVuZGVyU1ZHVGV4dDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCwg
aW50KQoteyAgIAoreworICAgIGlmIChwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxl
ZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBQYWludEluZm8gcGkocGFpbnRJbmZvKTsKICAg
ICBwaS5jb250ZXh0LT5zYXZlKCk7CiAgICAgYXBwbHlUcmFuc2Zvcm1Ub1BhaW50SW5mbyhwaSwg
bG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRyZWVBc1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRy
ZWVBc1RleHQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRyZWVBc1RleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw3IEBACiAjaWYgRU5B
QkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJQYXRoLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHQ29u
dGFpbmVyLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgiCiAjaW5jbHVkZSAi
UmVuZGVyU1ZHSW1hZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdJbmxpbmVUZXh0LmgiCiAjaW5j
bHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgpAQCAtMzk2LDggKzM5NywxMiBAQCB2b2lkIHdyaXRlKFRl
eHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJPCiAgICAgICAgIHdyaXRlKHRzLCAqdG9SZW5kZXJQ
YXRoKCZvKSwgaW5kZW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpZiAoby5pc1NW
R1Jlc291cmNlKCkpIHsKLSAgICAgICAgd3JpdGVTVkdSZXNvdXJjZSh0cywgbywgaW5kZW50KTsK
KyAgICBpZiAoby5pc1NWR0dyYWRpZW50U3RvcCgpKSB7CisgICAgICAgIHdyaXRlU1ZHR3JhZGll
bnRTdG9wKHRzLCAqdG9SZW5kZXJTVkdHcmFkaWVudFN0b3AoJm8pLCBpbmRlbnQpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIGlmIChvLmlzU1ZHUmVzb3VyY2VDb250YWluZXIoKSkgewor
ICAgICAgICB3cml0ZVNWR1Jlc291cmNlQ29udGFpbmVyKHRzLCBvLCBpbmRlbnQpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogICAgIGlmIChvLmlzU1ZHQ29udGFpbmVyKCkpIHsKQEAgLTYxOSw5
ICs2MjQsNiBAQCBTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihGcmFtZSogZnJhCiAgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKIAogICAgIFRleHRTdHJlYW0gdHM7Ci0jaWYgRU5BQkxFKFNW
RykKLSAgICB3cml0ZVJlbmRlclJlc291cmNlcyh0cywgby0+ZG9jdW1lbnQoKSk7Ci0jZW5kaWYK
ICAgICBpZiAoby0+aGFzTGF5ZXIoKSkgewogICAgICAgICBSZW5kZXJMYXllciogbCA9IHRvUmVu
ZGVyQm94KG8pLT5sYXllcigpOwogICAgICAgICB3cml0ZUxheWVycyh0cywgbCwgbCwgSW50UmVj
dChsLT54KCksIGwtPnkoKSwgbC0+d2lkdGgoKSwgbC0+aGVpZ2h0KCkpLCAwLCBiZWhhdmlvcik7
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNTgx
NTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2lu
Y2x1ZGUgIklubGluZUZsb3dCb3guaCIKICNpbmNsdWRlICJSYW5nZS5oIgotI2luY2x1ZGUgIlNW
R1BhaW50U2VydmVyLmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKICNpbmNsdWRl
ICJTVkdSb290SW5saW5lQm94LmgiCiAjaW5jbHVkZSAiVGV4dC5oIgogCkBAIC00MTgsMTAgKzQx
OCw5IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnRDaGFyYWN0ZXJzKFIKICAgICAgICAg
VGV4dFJ1biBydW4gPSBzdmdUZXh0UnVuRm9ySW5saW5lVGV4dEJveChjaGFycywgbGVuZ3RoLCBz
dHlsZVRvVXNlLCB0aGlzLCBzdmdDaGFyLngpOwogCiAjaWYgRU5BQkxFKFNWR19GT05UUykKLSAg
ICAgICAgLy8gU1ZHIEZvbnRzIG5lZWQgYWNjZXNzIHRvIHRoZSBwYWludCBzZXJ2ZXIgdXNlZCB0
byBkcmF3IHRoZSBjdXJyZW50IHRleHQgY2h1bmsuCi0gICAgICAgIC8vIFRoZXkgbmVlZCB0byBi
ZSBhYmxlIHRvIGNhbGwgcmVuZGVyUGF0aCgpIG9uIGEgU1ZHUGFpbnRTZXJ2ZXIgb2JqZWN0Lgot
ICAgICAgICBBU1NFUlQodGV4dFBhaW50SW5mby5hY3RpdmVQYWludFNlcnZlcik7Ci0gICAgICAg
IHJ1bi5zZXRBY3RpdmVQYWludFNlcnZlcih0ZXh0UGFpbnRJbmZvLmFjdGl2ZVBhaW50U2VydmVy
KTsKKyAgICAgICAgLy8gU1ZHIEZvbnRzIG5lZWQgYWNjZXNzIHRvIHRoZSBwYWludGluZyByZXNv
dXJjZSB1c2VkIHRvIGRyYXcgdGhlIGN1cnJlbnQgdGV4dCBjaHVuay4KKyAgICAgICAgQVNTRVJU
KHRleHRQYWludEluZm8uYWN0aXZlUGFpbnRpbmdSZXNvdXJjZSk7CisgICAgICAgIHJ1bi5zZXRB
Y3RpdmVQYWludGluZ1Jlc291cmNlKHRleHRQYWludEluZm8uYWN0aXZlUGFpbnRpbmdSZXNvdXJj
ZSk7CiAjZW5kaWYKIAogICAgICAgICBpbnQgc2VsZWN0aW9uU3RhcnQgPSAwOwpAQCAtNTY5LDE4
ICs1NjgsMjAgQEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oRQogCiAg
ICAgaWYgKGlzRmlsbGVkKSB7CiAgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIGZpbGxPYmplY3Qg
PSBpbmZvLmZpbGxTZXJ2ZXJNYXAuZ2V0KGRlY29yYXRpb24pKSB7Ci0gICAgICAgICAgICBpZiAo
U1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpmaWxsUGFp
bnRTZXJ2ZXIoZmlsbE9iamVjdC0+c3R5bGUoKSwgZmlsbE9iamVjdCkpIHsKKyAgICAgICAgICAg
IGlmIChSZW5kZXJTVkdSZXNvdXJjZSogZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdS
ZXNvdXJjZTo6ZmlsbFBhaW50aW5nUmVzb3VyY2UoZmlsbE9iamVjdCwgZmlsbE9iamVjdC0+c3R5
bGUoKSkpIHsKICAgICAgICAgICAgICAgICBjb250ZXh0LT5hZGRQYXRoKHBhdGhGb3JEZWNvcmF0
aW9uKGRlY29yYXRpb24sIGZpbGxPYmplY3QsIHR4LCB0eSwgd2lkdGgpKTsKLSAgICAgICAgICAg
ICAgICBmaWxsUGFpbnRTZXJ2ZXItPmRyYXcoY29udGV4dCwgZmlsbE9iamVjdCwgQXBwbHlUb0Zp
bGxUYXJnZXRUeXBlKTsKKyAgICAgICAgICAgICAgICBpZiAoZmlsbFBhaW50aW5nUmVzb3VyY2Ut
PmFwcGx5UmVzb3VyY2UoZmlsbE9iamVjdCwgZmlsbE9iamVjdC0+c3R5bGUoKSwgY29udGV4dCwg
QXBwbHlUb0ZpbGxNb2RlKSkKKyAgICAgICAgICAgICAgICAgICAgZmlsbFBhaW50aW5nUmVzb3Vy
Y2UtPnBvc3RBcHBseVJlc291cmNlKGZpbGxPYmplY3QsIGNvbnRleHQsIEFwcGx5VG9GaWxsTW9k
ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoaXNTdHJva2Vk
KSB7CiAgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIHN0cm9rZU9iamVjdCA9IGluZm8uc3Ryb2tl
U2VydmVyTWFwLmdldChkZWNvcmF0aW9uKSkgewotICAgICAgICAgICAgaWYgKFNWR1BhaW50U2Vy
dmVyKiBzdHJva2VQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpzdHJva2VQYWludFNlcnZl
cihzdHJva2VPYmplY3QtPnN0eWxlKCksIHN0cm9rZU9iamVjdCkpIHsKKyAgICAgICAgICAgIGlm
IChSZW5kZXJTVkdSZXNvdXJjZSogc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jl
c291cmNlOjpzdHJva2VQYWludGluZ1Jlc291cmNlKHN0cm9rZU9iamVjdCwgc3Ryb2tlT2JqZWN0
LT5zdHlsZSgpKSkgewogICAgICAgICAgICAgICAgIGNvbnRleHQtPmFkZFBhdGgocGF0aEZvckRl
Y29yYXRpb24oZGVjb3JhdGlvbiwgc3Ryb2tlT2JqZWN0LCB0eCwgdHksIHdpZHRoKSk7Ci0gICAg
ICAgICAgICAgICAgc3Ryb2tlUGFpbnRTZXJ2ZXItPmRyYXcoY29udGV4dCwgc3Ryb2tlT2JqZWN0
LCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSk7CisgICAgICAgICAgICAgICAgaWYgKHN0cm9rZVBh
aW50aW5nUmVzb3VyY2UtPmFwcGx5UmVzb3VyY2Uoc3Ryb2tlT2JqZWN0LCBzdHJva2VPYmplY3Qt
PnN0eWxlKCksIGNvbnRleHQsIEFwcGx5VG9TdHJva2VNb2RlKSkKKyAgICAgICAgICAgICAgICAg
ICAgc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZS0+cG9zdEFwcGx5UmVzb3VyY2Uoc3Ryb2tlT2JqZWN0
LCBjb250ZXh0LCBBcHBseVRvU3Ryb2tlTW9kZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdJbmxpbmVUZXh0Qm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiA1
ODE1OSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR0lubGluZVRleHRCb3guaAkod29ya2luZyBj
b3B5KQpAQCAtMjQsNiArMjQsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJJbmxp
bmVUZXh0Qm94LmgiCisjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC00Miw5ICs0MywxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
fTsKIAogICAgIHN0cnVjdCBTVkdUZXh0UGFpbnRJbmZvIHsKLSAgICAgICAgU1ZHVGV4dFBhaW50
SW5mbygpIDogYWN0aXZlUGFpbnRTZXJ2ZXIoMCksIHN1YnBoYXNlKFNWR1RleHRQYWludFN1YnBo
YXNlQmFja2dyb3VuZCkge30KKyAgICAgICAgU1ZHVGV4dFBhaW50SW5mbygpCisgICAgICAgICAg
ICA6IGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoMCkKKyAgICAgICAgICAgICwgc3VicGhhc2UoU1ZH
VGV4dFBhaW50U3VicGhhc2VCYWNrZ3JvdW5kKQorICAgICAgICB7CisgICAgICAgIH0KIAotICAg
ICAgICBTVkdQYWludFNlcnZlciogYWN0aXZlUGFpbnRTZXJ2ZXI7CisgICAgICAgIFJlbmRlclNW
R1Jlc291cmNlKiBhY3RpdmVQYWludGluZ1Jlc291cmNlOwogICAgICAgICBTVkdUZXh0UGFpbnRT
dWJwaGFzZSBzdWJwaGFzZTsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZW5kZXJTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5k
ZXJTdXBwb3J0LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZW5kZXJTdXBwb3J0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIsNyArOTIsNyBAQCBib29sIFNW
R1JlbmRlckJhc2U6OnByZXBhcmVUb1JlbmRlclNWR0NvCiAgICAgQVNTRVJUKHN2Z0VsZW1lbnQg
JiYgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKSAmJiBzdmdFbGVtZW50LT5pc1N0eWxlZCgpKTsKIAog
ICAgIFNWR1N0eWxlZEVsZW1lbnQqIHN0eWxlZEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdTdHls
ZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCk7Ci0gICAgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlID0g
b2JqZWN0LT5zdHlsZSgpOworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IG9iamVjdC0+c3R5bGUo
KTsKICAgICBBU1NFUlQoc3R5bGUpOwogCiAgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0
eWxlID0gc3R5bGUtPnN2Z1N0eWxlKCk7CkBAIC0xMzIsMTkgKzEzMiwxOSBAQCBib29sIFNWR1Jl
bmRlckJhc2U6OnByZXBhcmVUb1JlbmRlclNWR0NvCiAjZW5kaWYKIAogICAgIGlmIChSZW5kZXJT
VkdSZXNvdXJjZU1hc2tlciogbWFza2VyID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRl
clNWR1Jlc291cmNlTWFza2VyPihkb2N1bWVudCwgbWFza2VySWQpKSB7Ci0gICAgICAgIGlmICgh
bWFza2VyLT5hcHBseVJlc291cmNlKG9iamVjdCwgcGFpbnRJbmZvLmNvbnRleHQpKQorICAgICAg
ICBpZiAoIW1hc2tlci0+YXBwbHlSZXNvdXJjZShvYmplY3QsIHN0eWxlLCBwYWludEluZm8uY29u
dGV4dCwgQXBwbHlUb0RlZmF1bHRNb2RlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9IGVsc2UgaWYgKCFtYXNrZXJJZC5pc0VtcHR5KCkpCiAgICAgICAgIHN2Z0VsZW1lbnQtPmRv
Y3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+YWRkUGVuZGluZ1Jlc291cmNlKG1hc2tl
cklkLCBzdHlsZWRFbGVtZW50KTsKIAogICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIq
IGNsaXBwZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyPihkb2N1bWVudCwgY2xpcHBlcklkKSkKLSAgICAgICAgY2xpcHBlci0+YXBwbHlSZXNvdXJj
ZShvYmplY3QsIHBhaW50SW5mby5jb250ZXh0KTsKKyAgICAgICAgY2xpcHBlci0+YXBwbHlSZXNv
dXJjZShvYmplY3QsIHN0eWxlLCBwYWludEluZm8uY29udGV4dCwgQXBwbHlUb0RlZmF1bHRNb2Rl
KTsKICAgICBlbHNlIGlmICghY2xpcHBlcklkLmlzRW1wdHkoKSkKICAgICAgICAgc3ZnRWxlbWVu
dC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5hZGRQZW5kaW5nUmVzb3VyY2Uo
Y2xpcHBlcklkLCBzdHlsZWRFbGVtZW50KTsKIAogI2lmIEVOQUJMRShGSUxURVJTKQogICAgIGlm
IChmaWx0ZXIpIHsKLSAgICAgICAgaWYgKCFmaWx0ZXItPmFwcGx5UmVzb3VyY2Uob2JqZWN0LCBw
YWludEluZm8uY29udGV4dCkpCisgICAgICAgIGlmICghZmlsdGVyLT5hcHBseVJlc291cmNlKG9i
amVjdCwgc3R5bGUsIHBhaW50SW5mby5jb250ZXh0LCBBcHBseVRvRGVmYXVsdE1vZGUpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0gZWxzZSBpZiAoIWZpbHRlcklkLmlzRW1wdHko
KSkKICAgICAgICAgc3ZnRWxlbWVudC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygp
LT5hZGRQZW5kaW5nUmVzb3VyY2UoZmlsdGVySWQsIHN0eWxlZEVsZW1lbnQpOwpAQCAtMTY3LDcg
KzE2Nyw3IEBAIHZvaWQgU1ZHUmVuZGVyQmFzZTo6ZmluaXNoUmVuZGVyU1ZHQ29udGUKIAogI2lm
IEVOQUJMRShGSUxURVJTKQogICAgIGlmIChmaWx0ZXIpIHsKLSAgICAgICAgZmlsdGVyLT5wb3N0
QXBwbHlSZXNvdXJjZShvYmplY3QsIHBhaW50SW5mby5jb250ZXh0KTsKKyAgICAgICAgZmlsdGVy
LT5wb3N0QXBwbHlSZXNvdXJjZShvYmplY3QsIHBhaW50SW5mby5jb250ZXh0LCBBcHBseVRvRGVm
YXVsdE1vZGUpOwogICAgICAgICBwYWludEluZm8uY29udGV4dCA9IHNhdmVkQ29udGV4dDsKICAg
ICB9CiAjZW5kaWYKQEAgLTMwNiwyMyArMzA2LDU3IEBAIEZsb2F0UmVjdCBTVkdSZW5kZXJCYXNl
OjptYXNrZXJCb3VuZGluZ0IKICAgICByZXR1cm4gRmxvYXRSZWN0KCk7CiB9CiAKK3N0YXRpYyBp
bmxpbmUgdm9pZCBpbnZhbGlkYXRlUGFpbnRpbmdSZXNvdXJjZShTVkdQYWludCogcGFpbnQsIFJl
bmRlck9iamVjdCogb2JqZWN0KQoreworICAgIEFTU0VSVChwYWludCk7CisKKyAgICBTVkdQYWlu
dDo6U1ZHUGFpbnRUeXBlIHBhaW50VHlwZSA9IHBhaW50LT5wYWludFR5cGUoKTsKKyAgICBpZiAo
cGFpbnRUeXBlICE9IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX1VSSSAmJiBwYWludFR5cGUgIT0g
U1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJX1JHQkNPTE9SKQorICAgICAgICByZXR1cm47CisK
KyAgICBBdG9taWNTdHJpbmcgaWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQocGFpbnQtPnVy
aSgpKSk7CisgICAgaWYgKFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiBwYWludGluZ1Jlc291
cmNlID0gZ2V0UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXJCeUlkKG9iamVjdC0+ZG9jdW1lbnQo
KSwgaWQpKQorICAgICAgICBwYWludGluZ1Jlc291cmNlLT5pbnZhbGlkYXRlQ2xpZW50KG9iamVj
dCk7Cit9CisKIHZvaWQgZGVyZWdpc3RlckZyb21SZXNvdXJjZXMoUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCiB7Ci0gICAgLy8gV2Ugb25seSBoYXZlIHRoZSByZW5kZXJlciBmb3IgbWFza2VyIGFuZCBj
bGlwcGVyIGF0IHRoZSBtb21lbnQuCi0gICAgaWYgKFJlbmRlclNWR1Jlc291cmNlTWFza2VyKiBt
YXNrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI+
KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpLT5tYXNrZXJS
ZXNvdXJjZSgpKSkKKyAgICBBU1NFUlQob2JqZWN0KTsKKyAgICBBU1NFUlQob2JqZWN0LT5zdHls
ZSgpKTsKKworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG9iamVjdC0+ZG9jdW1lbnQoKTsKKyAg
ICBBU1NFUlQoZG9jdW1lbnQpOworCisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxl
ID0gb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpOworICAgIEFTU0VSVChzdmdTdHlsZSk7CisK
KyAgICAvLyBNYXNrZXIKKyAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIqIG1hc2tlciA9
IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcj4oZG9jdW1l
bnQsIHN2Z1N0eWxlLT5tYXNrZXJSZXNvdXJjZSgpKSkKICAgICAgICAgbWFza2VyLT5pbnZhbGlk
YXRlQ2xpZW50KG9iamVjdCk7Ci0gICAgaWYgKFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlciogY2xp
cHBlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI+
KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpLT5jbGlwcGVy
UmVzb3VyY2UoKSkpCisKKyAgICAvLyBDbGlwcGVyCisgICAgaWYgKFJlbmRlclNWR1Jlc291cmNl
Q2xpcHBlciogY2xpcHBlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNv
dXJjZUNsaXBwZXI+KGRvY3VtZW50LCBzdmdTdHlsZS0+Y2xpcHBlclJlc291cmNlKCkpKQogICAg
ICAgICBjbGlwcGVyLT5pbnZhbGlkYXRlQ2xpZW50KG9iamVjdCk7CisKKyAgICAvLyBGaWx0ZXIK
ICNpZiBFTkFCTEUoRklMVEVSUykKLSAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIqIGZp
bHRlciA9IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcj4o
b2JqZWN0LT5kb2N1bWVudCgpLCBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCktPmZpbHRlclJl
c291cmNlKCkpKQorICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyID0gZ2V0
UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlRmlsdGVyPihkb2N1bWVudCwg
c3ZnU3R5bGUtPmZpbHRlclJlc291cmNlKCkpKQogICAgICAgICBmaWx0ZXItPmludmFsaWRhdGVD
bGllbnQob2JqZWN0KTsKICNlbmRpZgotICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciog
c3RhcnRNYXJrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8UmVuZGVyU1ZHUmVzb3VyY2VN
YXJrZXI+KG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHlsZSgpLT5zdmdTdHlsZSgpLT5t
YXJrZXJTdGFydFJlc291cmNlKCkpKQorCisgICAgLy8gTWFya2VycworICAgIGlmIChSZW5kZXJT
VkdSZXNvdXJjZU1hcmtlciogc3RhcnRNYXJrZXIgPSBnZXRSZW5kZXJTVkdSZXNvdXJjZUJ5SWQ8
UmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXI+KGRvY3VtZW50LCBzdmdTdHlsZS0+bWFya2VyU3RhcnRS
ZXNvdXJjZSgpKSkKICAgICAgICAgc3RhcnRNYXJrZXItPmludmFsaWRhdGVDbGllbnQob2JqZWN0
KTsKLSAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIG1pZE1hcmtlciA9IGdldFJlbmRl
clNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcj4ob2JqZWN0LT5kb2N1bWVu
dCgpLCBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCktPm1hcmtlck1pZFJlc291cmNlKCkpKQor
ICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciogbWlkTWFya2VyID0gZ2V0UmVuZGVyU1ZH
UmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihkb2N1bWVudCwgc3ZnU3R5bGUt
Pm1hcmtlck1pZFJlc291cmNlKCkpKQogICAgICAgICBtaWRNYXJrZXItPmludmFsaWRhdGVDbGll
bnQob2JqZWN0KTsKLSAgICBpZiAoUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIGVuZE1hcmtlciA9
IGdldFJlbmRlclNWR1Jlc291cmNlQnlJZDxSZW5kZXJTVkdSZXNvdXJjZU1hcmtlcj4ob2JqZWN0
LT5kb2N1bWVudCgpLCBvYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCktPm1hcmtlckVuZFJlc291
cmNlKCkpKQorICAgIGlmIChSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciogZW5kTWFya2VyID0gZ2V0
UmVuZGVyU1ZHUmVzb3VyY2VCeUlkPFJlbmRlclNWR1Jlc291cmNlTWFya2VyPihkb2N1bWVudCwg
c3ZnU3R5bGUtPm1hcmtlckVuZFJlc291cmNlKCkpKQogICAgICAgICBlbmRNYXJrZXItPmludmFs
aWRhdGVDbGllbnQob2JqZWN0KTsKKworICAgIC8vIEdyYWRpZW50cy9QYXR0ZXJucworICAgIGlm
IChzdmdTdHlsZS0+aGFzRmlsbCgpKQorICAgICAgICBpbnZhbGlkYXRlUGFpbnRpbmdSZXNvdXJj
ZShzdmdTdHlsZS0+ZmlsbFBhaW50KCksIG9iamVjdCk7CisgICAgaWYgKHN2Z1N0eWxlLT5oYXNT
dHJva2UoKSkKKyAgICAgICAgaW52YWxpZGF0ZVBhaW50aW5nUmVzb3VyY2Uoc3ZnU3R5bGUtPnN0
cm9rZVBhaW50KCksIG9iamVjdCk7CiB9CiAKIHZvaWQgYXBwbHlUcmFuc2Zvcm1Ub1BhaW50SW5m
byhSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBBZmZpbmVUcmFuc2Zv
cm0mIGxvY2FsVG9BbmNlc3RvclRyYW5zZm9ybSkKQEAgLTMzNCw2ICszNjgsMzkgQEAgdm9pZCBh
cHBseVRyYW5zZm9ybVRvUGFpbnRJbmZvKFJlbmRlck9iagogICAgIHBhaW50SW5mby5yZWN0ID0g
bG9jYWxUb0FuY2VzdG9yVHJhbnNmb3JtLmludmVyc2UoKS5tYXBSZWN0KHBhaW50SW5mby5yZWN0
KTsKIH0KIAorRGFzaEFycmF5IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShjb25zdCBSZW5k
ZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUpCit7CisgICAgRGFzaEFycmF5
IGFycmF5OworICAgIAorICAgIENTU1ZhbHVlTGlzdCogZGFzaGVzID0gc3R5bGUtPnN2Z1N0eWxl
KCktPnN0cm9rZURhc2hBcnJheSgpOworICAgIGlmIChkYXNoZXMpIHsKKyAgICAgICAgQ1NTUHJp
bWl0aXZlVmFsdWUqIGRhc2ggPSAwOworICAgICAgICB1bnNpZ25lZCBsb25nIGxlbiA9IGRhc2hl
cy0+bGVuZ3RoKCk7CisgICAgICAgIGZvciAodW5zaWduZWQgbG9uZyBpID0gMDsgaSA8IGxlbjsg
aSsrKSB7CisgICAgICAgICAgICBkYXNoID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUq
PihkYXNoZXMtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soaSkpOworICAgICAgICAgICAgaWYgKCFk
YXNoKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBhcnJheS5hcHBl
bmQoKGZsb2F0KSBkYXNoLT5jb21wdXRlTGVuZ3RoRmxvYXQoY29uc3RfY2FzdDxSZW5kZXJTdHls
ZSo+KHN0eWxlKSwgcm9vdFN0eWxlKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4g
YXJyYXk7Cit9CisKK3ZvaWQgYXBwbHlTdHJva2VTdHlsZVRvQ29udGV4dChHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyT2JqZWN0
KiBvYmplY3QpCit7CisgICAgY29udGV4dC0+c2V0U3Ryb2tlVGhpY2tuZXNzKFNWR1JlbmRlclN0
eWxlOjpjc3NQcmltaXRpdmVUb0xlbmd0aChvYmplY3QsIHN0eWxlLT5zdmdTdHlsZSgpLT5zdHJv
a2VXaWR0aCgpLCAxLjBmKSk7CisgICAgY29udGV4dC0+c2V0TGluZUNhcChzdHlsZS0+c3ZnU3R5
bGUoKS0+Y2FwU3R5bGUoKSk7CisgICAgY29udGV4dC0+c2V0TGluZUpvaW4oc3R5bGUtPnN2Z1N0
eWxlKCktPmpvaW5TdHlsZSgpKTsKKyAgICBpZiAoc3R5bGUtPnN2Z1N0eWxlKCktPmpvaW5TdHls
ZSgpID09IE1pdGVySm9pbikKKyAgICAgICAgY29udGV4dC0+c2V0TWl0ZXJMaW1pdChzdHlsZS0+
c3ZnU3R5bGUoKS0+c3Ryb2tlTWl0ZXJMaW1pdCgpKTsKKworICAgIGNvbnN0IERhc2hBcnJheSYg
ZGFzaGVzID0gZGFzaEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKG9iamVjdC0+c3R5bGUoKSwgb2Jq
ZWN0LT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSk7CisgICAg
ZmxvYXQgZGFzaE9mZnNldCA9IFNWR1JlbmRlclN0eWxlOjpjc3NQcmltaXRpdmVUb0xlbmd0aChv
YmplY3QsIHN0eWxlLT5zdmdTdHlsZSgpLT5zdHJva2VEYXNoT2Zmc2V0KCksIDAuMGYpOworICAg
IGNvbnRleHQtPnNldExpbmVEYXNoKGRhc2hlcywgZGFzaE9mZnNldCk7Cit9CisKIGNvbnN0IFJl
bmRlck9iamVjdCogZmluZFRleHRSb290T2JqZWN0KGNvbnN0IFJlbmRlck9iamVjdCogc3RhcnQp
CiB7CiAgICAgd2hpbGUgKHN0YXJ0ICYmICFzdGFydC0+aXNTVkdUZXh0KCkpCkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUs
NyBAQAogI2RlZmluZSBTVkdSZW5kZXJCYXNlX2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVk
ZSAiRGFzaEFycmF5LmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiU1ZH
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKQEAgLTg1LDcgKzg2LDEx
IEBAIHZvaWQgcmVuZGVyU3VidHJlZVRvSW1hZ2UoSW1hZ2VCdWZmZXIqLCAKIHZvaWQgZGVyZWdp
c3RlckZyb21SZXNvdXJjZXMoUmVuZGVyT2JqZWN0Kik7CiB2b2lkIGNsYW1wSW1hZ2VCdWZmZXJT
aXplVG9WaWV3cG9ydChGcmFtZVZpZXcqLCBJbnRTaXplJiBpbWFnZUJ1ZmZlclNpemUpOwogCit2
b2lkIGFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgUmVu
ZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJPYmplY3QqKTsKK0Rhc2hBcnJheSBkYXNoQXJyYXlGcm9t
UmVuZGVyaW5nU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9v
dFN0eWxlKTsKKwogY29uc3QgUmVuZGVyT2JqZWN0KiBmaW5kVGV4dFJvb3RPYmplY3QoY29uc3Qg
UmVuZGVyT2JqZWN0KiBzdGFydCk7CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJUcmVlQXNU
ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJUcmVlQXNU
ZXh0LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJU
cmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsMjYgKzM0LDM3IEBACiAjaW5jbHVk
ZSAiR3JhcGhpY3NUeXBlcy5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIklu
bGluZVRleHRCb3guaCIKKyNpbmNsdWRlICJMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaCIKICNp
bmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJQYXRoLmgiCisjaW5jbHVkZSAi
UGF0dGVybkF0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlICJSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMu
aCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclBhdGguaCIKICNp
bmNsdWRlICJSZW5kZXJTVkdDb250YWluZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdHcmFkaWVu
dFN0b3AuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdJbmxpbmVUZXh0LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgiCisjaW5jbHVkZSAi
UmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jl
c291cmNlTWFya2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuaCIKICNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdS
ZXNvdXJjZVJhZGlhbEdyYWRpZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VTb2xp
ZENvbG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUm9vdC5oIgogI2luY2x1ZGUgIlJlbmRlclNW
R1RleHQuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQXNUZXh0LmgiCiAjaW5jbHVkZSAiU1ZHQ2hh
cmFjdGVyTGF5b3V0SW5mby5oIgogI2luY2x1ZGUgIlNWR0lubGluZVRleHRCb3guaCIKKyNpbmNs
dWRlICJTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdQYXR0ZXJuRWxl
bWVudC5oIgorI2luY2x1ZGUgIlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oIgogI2luY2x1ZGUg
IlNWR1Jvb3RJbmxpbmVCb3guaCIKKyNpbmNsdWRlICJTVkdTdG9wRWxlbWVudC5oIgogI2luY2x1
ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKKwogI2luY2x1ZGUgPG1hdGguaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMzA3LDYgKzMxOCw0NyBAQCBzdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChUZXh0U3RyZWFtCiAgICAgcmV0dXJuIHRzOwogfQogCisvLyBGSVhNRTogTWF5YmUgdGhp
cyBzaG91bGQgYmUgaW4gR3JhZGllbnQuY3BwCitzdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8
PChUZXh0U3RyZWFtJiB0cywgR3JhZGllbnRTcHJlYWRNZXRob2QgbW9kZSkKK3sKKyAgICBzd2l0
Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFNwcmVhZE1ldGhvZFBhZDoKKyAgICAgICAgdHMgPDwgIlBB
RCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU3ByZWFkTWV0aG9kUmVwZWF0OgorICAgICAg
ICB0cyA8PCAiUkVQRUFUIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTcHJlYWRNZXRob2RS
ZWZsZWN0OgorICAgICAgICB0cyA8PCAiUkVGTEVDVCI7CisgICAgICAgIGJyZWFrOworICAgIH0K
KworICAgIHJldHVybiB0czsKK30KKworc3RhdGljIHZvaWQgd3JpdGVTVkdQYWludGluZ1Jlc291
cmNlKFRleHRTdHJlYW0mIHRzLCBSZW5kZXJTVkdSZXNvdXJjZSogcmVzb3VyY2UpCit7CisgICAg
aWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBTb2xpZENvbG9yUmVzb3VyY2VUeXBlKSB7
CisgICAgICAgIHRzIDw8ICJbdHlwZT1TT0xJRF0gW2NvbG9yPSIgPDwgc3RhdGljX2Nhc3Q8UmVu
ZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yKj4ocmVzb3VyY2UpLT5jb2xvcigpIDw8ICJdIjsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIEFsbCBvdGhlciByZXNvdXJjZXMgZGVyaXZl
IGZyb20gUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIKKyAgICBSZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lciogY29udGFpbmVyID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXIqPihyZXNvdXJjZSk7CisgICAgTm9kZSogbm9kZSA9IGNvbnRhaW5lci0+bm9kZSgpOworICAg
IEFTU0VSVChub2RlKTsKKyAgICBBU1NFUlQobm9kZS0+aXNTVkdFbGVtZW50KCkpOworCisgICAg
aWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBQYXR0ZXJuUmVzb3VyY2VUeXBlKQorICAg
ICAgICB0cyA8PCAiW3R5cGU9UEFUVEVSTl0iOworICAgIGVsc2UgaWYgKHJlc291cmNlLT5yZXNv
dXJjZVR5cGUoKSA9PSBMaW5lYXJHcmFkaWVudFJlc291cmNlVHlwZSkKKyAgICAgICAgdHMgPDwg
Ilt0eXBlPUxJTkVBUi1HUkFESUVOVF0iOworICAgIGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJj
ZVR5cGUoKSA9PSBSYWRpYWxHcmFkaWVudFJlc291cmNlVHlwZSkKKyAgICAgICAgdHMgPDwgIlt0
eXBlPVJBRElBTC1HUkFESUVOVF0iOworCisgICAgdHMgPDwgIiBbaWQ9XCIiIDw8IHN0YXRpY19j
YXN0PFNWR0VsZW1lbnQqPihub2RlKS0+Z2V0SURBdHRyaWJ1dGUoKSA8PCAiXCJdIjsKK30KKwog
c3RhdGljIHZvaWQgd3JpdGVTdHlsZShUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0
JiBvYmplY3QpCiB7CiAgICAgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlID0gb2JqZWN0LnN0eWxl
KCk7CkBAIC0zMTgsMTIgKzM3MCwxMSBAQCBzdGF0aWMgdm9pZCB3cml0ZVN0eWxlKFRleHRTdHJl
YW0mIHRzLCBjCiAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJvcGFjaXR5Iiwgc3R5bGUtPm9w
YWNpdHkoKSwgUmVuZGVyU3R5bGU6OmluaXRpYWxPcGFjaXR5KCkpOwogICAgIGlmIChvYmplY3Qu
aXNSZW5kZXJQYXRoKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyUGF0aCYgcGF0aCA9IHN0YXRp
Y19jYXN0PGNvbnN0IFJlbmRlclBhdGgmPihvYmplY3QpOwotICAgICAgICBTVkdQYWludFNlcnZl
ciogc3Ryb2tlUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlcjo6c3Ryb2tlUGFpbnRTZXJ2ZXIo
c3R5bGUsICZwYXRoKTsKLSAgICAgICAgaWYgKHN0cm9rZVBhaW50U2VydmVyKSB7CisKKyAgICAg
ICAgaWYgKFJlbmRlclNWR1Jlc291cmNlKiBzdHJva2VQYWludGluZ1Jlc291cmNlID0gUmVuZGVy
U1ZHUmVzb3VyY2U6OnN0cm9rZVBhaW50aW5nUmVzb3VyY2UoJnBhdGgsIHBhdGguc3R5bGUoKSkp
IHsKICAgICAgICAgICAgIFRleHRTdHJlYW1TZXBhcmF0b3IgcygiICIpOwotICAgICAgICAgICAg
dHMgPDwgIiBbc3Ryb2tlPXsiOwotICAgICAgICAgICAgaWYgKHN0cm9rZVBhaW50U2VydmVyKQot
ICAgICAgICAgICAgICAgIHRzIDw8IHMgPDwgKnN0cm9rZVBhaW50U2VydmVyOworICAgICAgICAg
ICAgdHMgPDwgIiBbc3Ryb2tlPXsiIDw8IHM7CisgICAgICAgICAgICB3cml0ZVNWR1BhaW50aW5n
UmVzb3VyY2UodHMsIHN0cm9rZVBhaW50aW5nUmVzb3VyY2UpOwogCiAgICAgICAgICAgICBkb3Vi
bGUgZGFzaE9mZnNldCA9IFNWR1JlbmRlclN0eWxlOjpjc3NQcmltaXRpdmVUb0xlbmd0aCgmcGF0
aCwgc3ZnU3R5bGUtPnN0cm9rZURhc2hPZmZzZXQoKSwgMC4wZik7CiAgICAgICAgICAgICBjb25z
dCBEYXNoQXJyYXkmIGRhc2hBcnJheSA9IGRhc2hBcnJheUZyb21SZW5kZXJpbmdTdHlsZShzdHls
ZSwgb2JqZWN0LmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpKTsK
QEAgLTM0MCwxMiArMzkxLDExIEBAIHN0YXRpYyB2b2lkIHdyaXRlU3R5bGUoVGV4dFN0cmVhbSYg
dHMsIGMKIAogICAgICAgICAgICAgdHMgPDwgIn1dIjsKICAgICAgICAgfQotICAgICAgICBTVkdQ
YWludFNlcnZlciogZmlsbFBhaW50U2VydmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNl
cnZlcihzdHlsZSwgJnBhdGgpOwotICAgICAgICBpZiAoZmlsbFBhaW50U2VydmVyKSB7CisKKyAg
ICAgICAgaWYgKFJlbmRlclNWR1Jlc291cmNlKiBmaWxsUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRl
clNWR1Jlc291cmNlOjpmaWxsUGFpbnRpbmdSZXNvdXJjZSgmcGF0aCwgcGF0aC5zdHlsZSgpKSkg
ewogICAgICAgICAgICAgVGV4dFN0cmVhbVNlcGFyYXRvciBzKCIgIik7Ci0gICAgICAgICAgICB0
cyA8PCAiIFtmaWxsPXsiOwotICAgICAgICAgICAgaWYgKGZpbGxQYWludFNlcnZlcikKLSAgICAg
ICAgICAgICAgICB0cyA8PCBzIDw8ICpmaWxsUGFpbnRTZXJ2ZXI7CisgICAgICAgICAgICB0cyA8
PCAiIFtmaWxsPXsiIDw8IHM7CisgICAgICAgICAgICB3cml0ZVNWR1BhaW50aW5nUmVzb3VyY2Uo
dHMsIGZpbGxQYWludGluZ1Jlc291cmNlKTsKIAogICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1
bHQodHMsICJvcGFjaXR5Iiwgc3ZnU3R5bGUtPmZpbGxPcGFjaXR5KCksIDEuMGYpOwogICAgICAg
ICAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJmaWxsIHJ1bGUiLCBzdmdTdHlsZS0+ZmlsbFJ1
bGUoKSwgUlVMRV9OT05aRVJPKTsKQEAgLTUxNSw3ICs1NjUsMjMgQEAgc3RhdGljIHZvaWQgd3Jp
dGVDaGlsZHJlbihUZXh0U3RyZWFtJiB0cwogICAgICAgICB3cml0ZSh0cywgKmNoaWxkLCBpbmRl
bnQgKyAxKTsKIH0KIAotdm9pZCB3cml0ZVNWR1Jlc291cmNlKFRleHRTdHJlYW0mIHRzLCBjb25z
dCBSZW5kZXJPYmplY3QmIG9iamVjdCwgaW50IGluZGVudCkKK3N0YXRpYyBpbmxpbmUgU3RyaW5n
IGJvdW5kaW5nQm94TW9kZVN0cmluZyhib29sIGJvdW5kaW5nQm94TW9kZSkKK3sKKyAgICByZXR1
cm4gYm91bmRpbmdCb3hNb2RlID8gIm9iamVjdEJvdW5kaW5nQm94IiA6ICJ1c2VyU3BhY2VPblVz
ZSI7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZUNvbW1vbkdyYWRpZW50UHJvcGVydGll
cyhUZXh0U3RyZWFtJiB0cywgR3JhZGllbnRTcHJlYWRNZXRob2Qgc3ByZWFkTWV0aG9kLCBjb25z
dCBBZmZpbmVUcmFuc2Zvcm0mIGdyYWRpZW50VHJhbnNmb3JtLCBib29sIGJvdW5kaW5nQm94TW9k
ZSkKK3sKKyAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJncmFkaWVudFVuaXRzIiwgYm91bmRp
bmdCb3hNb2RlU3RyaW5nKGJvdW5kaW5nQm94TW9kZSkpOworCisgICAgaWYgKHNwcmVhZE1ldGhv
ZCAhPSBTcHJlYWRNZXRob2RQYWQpCisgICAgICAgIHRzIDw8ICIgW3NwcmVhZE1ldGhvZD0iIDw8
IHNwcmVhZE1ldGhvZCA8PCAiXSI7CisKKyAgICBpZiAoIWdyYWRpZW50VHJhbnNmb3JtLmlzSWRl
bnRpdHkoKSkKKyAgICAgICAgdHMgPDwgIiBbZ3JhZGllbnRUcmFuc2Zvcm09IiA8PCBncmFkaWVu
dFRyYW5zZm9ybSA8PCAiXSI7Cit9CisKK3ZvaWQgd3JpdGVTVkdSZXNvdXJjZUNvbnRhaW5lcihU
ZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0JiBvYmplY3QsIGludCBpbmRlbnQpCiB7
CiAgICAgd3JpdGVTdGFuZGFyZFByZWZpeCh0cywgb2JqZWN0LCBpbmRlbnQpOwogCkBAIC01MjMs
MTYgKzU4OSwxNiBAQCB2b2lkIHdyaXRlU1ZHUmVzb3VyY2UoVGV4dFN0cmVhbSYgdHMsIGNvCiAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBpZCA9IGVsZW1lbnQtPmdldElEQXR0cmlidXRlKCk7CiAg
ICAgd3JpdGVOYW1lQW5kUXVvdGVkVmFsdWUodHMsICJpZCIsIGlkKTsgICAgCiAKLSAgICBSZW5k
ZXJTVkdSZXNvdXJjZSogcmVzb3VyY2UgPSBjb25zdF9jYXN0PFJlbmRlck9iamVjdCY+KG9iamVj
dCkudG9SZW5kZXJTVkdSZXNvdXJjZSgpOworICAgIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
KiByZXNvdXJjZSA9IGNvbnN0X2Nhc3Q8UmVuZGVyT2JqZWN0Jj4ob2JqZWN0KS50b1JlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyKCk7CisgICAgQVNTRVJUKHJlc291cmNlKTsKKwogICAgIGlmIChy
ZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gTWFza2VyUmVzb3VyY2VUeXBlKSB7CiAgICAgICAg
IFJlbmRlclNWR1Jlc291cmNlTWFza2VyKiBtYXNrZXIgPSBzdGF0aWNfY2FzdDxSZW5kZXJTVkdS
ZXNvdXJjZU1hc2tlcio+KHJlc291cmNlKTsKLSAgICAgICAgQVNTRVJUKG1hc2tlcik7CiAgICAg
ICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgIm1hc2tVbml0cyIsIG1hc2tlci0+bWFza1VuaXRz
KCkpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJtYXNrQ29udGVudFVuaXRzIiwg
bWFza2VyLT5tYXNrQ29udGVudFVuaXRzKCkpOwogI2lmIEVOQUJMRShGSUxURVJTKQogICAgIH0g
ZWxzZSBpZiAocmVzb3VyY2UtPnJlc291cmNlVHlwZSgpID09IEZpbHRlclJlc291cmNlVHlwZSkg
ewogICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciogZmlsdGVyID0gc3RhdGljX2Nhc3Q8
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIqPihyZXNvdXJjZSk7Ci0gICAgICAgIEFTU0VSVChmaWx0
ZXIpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBhaXIodHMsICJmaWx0ZXJVbml0cyIsIGZpbHRl
ci0+ZmlsdGVyVW5pdHMoKSk7CiAgICAgICAgIHdyaXRlTmFtZVZhbHVlUGFpcih0cywgInByaW1p
dGl2ZVVuaXRzIiwgZmlsdGVyLT5wcmltaXRpdmVVbml0cygpKTsKICAgICAgICAgaWYgKE93blB0
cjxTVkdGaWx0ZXJCdWlsZGVyPiBidWlsZGVyID0gZmlsdGVyLT5idWlsZFByaW1pdGl2ZXMoKSkg
ewpAQCAtNTU4LDExICs2MjQsOSBAQCB2b2lkIHdyaXRlU1ZHUmVzb3VyY2UoVGV4dFN0cmVhbSYg
dHMsIGNvCiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9
PSBDbGlwcGVyUmVzb3VyY2VUeXBlKSB7CiAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBl
ciogY2xpcHBlciA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcio+KHJlc291
cmNlKTsKLSAgICAgICAgQVNTRVJUKGNsaXBwZXIpOwogICAgICAgICB3cml0ZU5hbWVWYWx1ZVBh
aXIodHMsICJjbGlwUGF0aFVuaXRzIiwgY2xpcHBlci0+Y2xpcFBhdGhVbml0cygpKTsKICAgICB9
IGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBNYXJrZXJSZXNvdXJjZVR5cGUp
IHsKICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIqIG1hcmtlciA9IHN0YXRpY19jYXN0
PFJlbmRlclNWR1Jlc291cmNlTWFya2VyKj4ocmVzb3VyY2UpOwotICAgICAgICBBU1NFUlQobWFy
a2VyKTsKICAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAibWFya2VyVW5pdHMiLCBtYXJr
ZXItPm1hcmtlclVuaXRzKCkpOwogICAgICAgICB0cyA8PCAiIFtyZWYgYXQgIiA8PCBtYXJrZXIt
PnJlZmVyZW5jZVBvaW50KCkgPDwgIl0iOwogICAgICAgICB0cyA8PCAiIFthbmdsZT0iOwpAQCAt
NTcwLDYgKzYzNCw0OSBAQCB2b2lkIHdyaXRlU1ZHUmVzb3VyY2UoVGV4dFN0cmVhbSYgdHMsIGNv
CiAgICAgICAgICAgICB0cyA8PCAiYXV0byIgPDwgIl0iOwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICB0cyA8PCBtYXJrZXItPmFuZ2xlKCkgPDwgIl0iOworICAgIH0gZWxzZSBpZiAocmVzb3Vy
Y2UtPnJlc291cmNlVHlwZSgpID09IFBhdHRlcm5SZXNvdXJjZVR5cGUpIHsKKyAgICAgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuKiBwYXR0ZXJuID0gc3RhdGljX2Nhc3Q8UmVuZGVyU1ZHUmVz
b3VyY2VQYXR0ZXJuKj4ocmVzb3VyY2UpOworCisgICAgICAgIC8vIER1bXAgZmluYWwgcmVzdWx0
cyB0aGF0IGFyZSB1c2VkIGZvciByZW5kZXJpbmcuIE5vIHVzZSBpbiBhc2tpbmcgU1ZHUGF0dGVy
bkVsZW1lbnQgZm9yIGl0cyBwYXR0ZXJuVW5pdHMoKSwgYXMgaXQgbWF5CisgICAgICAgIC8vIGxp
bmsgdG8gb3RoZXIgcGF0dGVybnMgdXNpbmcgeGxpbms6aHJlZiwgd2UgbmVlZCB0byBidWlsZCB0
aGUgZnVsbCBpbmhlcml0YW5jZSBjaGFpbiwgYWthLiBjb2xsZWN0UGF0dGVyblByb3BlcnRpZXMo
KQorICAgICAgICBQYXR0ZXJuQXR0cmlidXRlcyBhdHRyaWJ1dGVzID0gc3RhdGljX2Nhc3Q8U1ZH
UGF0dGVybkVsZW1lbnQqPihwYXR0ZXJuLT5ub2RlKCkpLT5jb2xsZWN0UGF0dGVyblByb3BlcnRp
ZXMoKTsKKyAgICAgICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAicGF0dGVyblVuaXRzIiwgYm91
bmRpbmdCb3hNb2RlU3RyaW5nKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpKTsKKyAgICAg
ICAgd3JpdGVOYW1lVmFsdWVQYWlyKHRzLCAicGF0dGVybkNvbnRlbnRVbml0cyIsIGJvdW5kaW5n
Qm94TW9kZVN0cmluZyhhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZUNvbnRlbnQoKSkpOworCisg
ICAgICAgIEFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBhdHRyaWJ1dGVzLnBhdHRlcm5UcmFu
c2Zvcm0oKTsKKyAgICAgICAgaWYgKCF0cmFuc2Zvcm0uaXNJZGVudGl0eSgpKQorICAgICAgICAg
ICAgdHMgPDwgIiBbcGF0dGVyblRyYW5zZm9ybT0iIDw8IHRyYW5zZm9ybSA8PCAiXSI7CisgICAg
fSBlbHNlIGlmIChyZXNvdXJjZS0+cmVzb3VyY2VUeXBlKCkgPT0gTGluZWFyR3JhZGllbnRSZXNv
dXJjZVR5cGUpIHsKKyAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudCogZ3Jh
ZGllbnQgPSBzdGF0aWNfY2FzdDxSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50Kj4ocmVz
b3VyY2UpOworCisgICAgICAgIC8vIER1bXAgZmluYWwgcmVzdWx0cyB0aGF0IGFyZSB1c2VkIGZv
ciByZW5kZXJpbmcuIE5vIHVzZSBpbiBhc2tpbmcgU1ZHR3JhZGllbnRFbGVtZW50IGZvciBpdHMg
Z3JhZGllbnRVbml0cygpLCBhcyBpdCBtYXkKKyAgICAgICAgLy8gbGluayB0byBvdGhlciBncmFk
aWVudHMgdXNpbmcgeGxpbms6aHJlZiwgd2UgbmVlZCB0byBidWlsZCB0aGUgZnVsbCBpbmhlcml0
YW5jZSBjaGFpbiwgYWthLiBjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCkKKyAgICAgICAgU1ZH
TGluZWFyR3JhZGllbnRFbGVtZW50KiBsaW5lYXJHcmFkaWVudEVsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqPihncmFkaWVudC0+bm9kZSgpKTsKKworICAgICAg
ICBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgYXR0cmlidXRlcyA9IGxpbmVhckdyYWRpZW50RWxl
bWVudC0+Y29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpOworICAgICAgICB3cml0ZUNvbW1vbkdy
YWRpZW50UHJvcGVydGllcyh0cywgYXR0cmlidXRlcy5zcHJlYWRNZXRob2QoKSwgYXR0cmlidXRl
cy5ncmFkaWVudFRyYW5zZm9ybSgpLCBhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKTsKKwor
ICAgICAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQ7CisgICAgICAgIEZsb2F0UG9pbnQgZW5kUG9p
bnQ7CisgICAgICAgIGxpbmVhckdyYWRpZW50RWxlbWVudC0+Y2FsY3VsYXRlU3RhcnRFbmRQb2lu
dHMoYXR0cmlidXRlcywgc3RhcnRQb2ludCwgZW5kUG9pbnQpOworCisgICAgICAgIHRzIDw8ICIg
W3N0YXJ0PSIgPDwgc3RhcnRQb2ludCA8PCAiXSBbZW5kPSIgPDwgZW5kUG9pbnQgPDwgIl0iOwor
ICAgIH0gIGVsc2UgaWYgKHJlc291cmNlLT5yZXNvdXJjZVR5cGUoKSA9PSBSYWRpYWxHcmFkaWVu
dFJlc291cmNlVHlwZSkgeworICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50
KiBncmFkaWVudCA9IHN0YXRpY19jYXN0PFJlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQq
PihyZXNvdXJjZSk7CisKKyAgICAgICAgLy8gRHVtcCBmaW5hbCByZXN1bHRzIHRoYXQgYXJlIHVz
ZWQgZm9yIHJlbmRlcmluZy4gTm8gdXNlIGluIGFza2luZyBTVkdHcmFkaWVudEVsZW1lbnQgZm9y
IGl0cyBncmFkaWVudFVuaXRzKCksIGFzIGl0IG1heQorICAgICAgICAvLyBsaW5rIHRvIG90aGVy
IGdyYWRpZW50cyB1c2luZyB4bGluazpocmVmLCB3ZSBuZWVkIHRvIGJ1aWxkIHRoZSBmdWxsIGlu
aGVyaXRhbmNlIGNoYWluLCBha2EuIGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKQorICAgICAg
ICBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQqIHJhZGlhbEdyYWRpZW50RWxlbWVudCA9IHN0YXRp
Y19jYXN0PFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCo+KGdyYWRpZW50LT5ub2RlKCkpOworCisg
ICAgICAgIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBhdHRyaWJ1dGVzID0gcmFkaWFsR3JhZGll
bnRFbGVtZW50LT5jb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCk7CisgICAgICAgIHdyaXRlQ29t
bW9uR3JhZGllbnRQcm9wZXJ0aWVzKHRzLCBhdHRyaWJ1dGVzLnNwcmVhZE1ldGhvZCgpLCBhdHRy
aWJ1dGVzLmdyYWRpZW50VHJhbnNmb3JtKCksIGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkp
OworCisgICAgICAgIEZsb2F0UG9pbnQgZm9jYWxQb2ludDsKKyAgICAgICAgRmxvYXRQb2ludCBj
ZW50ZXJQb2ludDsKKyAgICAgICAgZmxvYXQgcmFkaXVzOworICAgICAgICByYWRpYWxHcmFkaWVu
dEVsZW1lbnQtPmNhbGN1bGF0ZUZvY2FsQ2VudGVyUG9pbnRzQW5kUmFkaXVzKGF0dHJpYnV0ZXMs
IGZvY2FsUG9pbnQsIGNlbnRlclBvaW50LCByYWRpdXMpOworCisgICAgICAgIHRzIDw8ICIgW2Nl
bnRlcj0iIDw8IGNlbnRlclBvaW50IDw8ICJdIFtmb2NhbD0iIDw8IGZvY2FsUG9pbnQgPDwgIl0g
W3JhZGl1cz0iIDw8IHJhZGl1cyA8PCAiXSI7CiAgICAgfQogCiAgICAgdHMgPDwgIlxuIjsKQEAg
LTYyNiw2ICs3MzMsMjAgQEAgdm9pZCB3cml0ZShUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVy
UAogICAgIHdyaXRlUmVzb3VyY2VzKHRzLCBwYXRoLCBpbmRlbnQpOwogfQogCit2b2lkIHdyaXRl
U1ZHR3JhZGllbnRTdG9wKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJTVkdHcmFkaWVudFN0
b3AmIHN0b3AsIGludCBpbmRlbnQpCit7CisgICAgd3JpdGVTdGFuZGFyZFByZWZpeCh0cywgc3Rv
cCwgaW5kZW50KTsKKworICAgIFNWR1N0b3BFbGVtZW50KiBzdG9wRWxlbWVudCA9IHN0YXRpY19j
YXN0PFNWR1N0b3BFbGVtZW50Kj4oc3RvcC5ub2RlKCkpOworICAgIEFTU0VSVChzdG9wRWxlbWVu
dCk7CisKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBzdG9wLnN0eWxlKCk7CisgICAgaWYgKCFz
dHlsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdHMgPDwgIiBbb2Zmc2V0PSIgPDwgc3RvcEVs
ZW1lbnQtPm9mZnNldCgpIDw8ICJdIFtjb2xvcj0iIDw8IHN0b3BFbGVtZW50LT5zdG9wQ29sb3JJ
bmNsdWRpbmdPcGFjaXR5KCkgPDwgIl1cbiI7Cit9CisKIHZvaWQgd3JpdGVSZXNvdXJjZXMoVGV4
dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0LCBpbnQgaW5kZW50KQogewog
ICAgIGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSA9IG9iamVjdC5zdHlsZSgpOwpAQCAtNjY1LDMx
ICs3ODYsNiBAQCB2b2lkIHdyaXRlUmVzb3VyY2VzKFRleHRTdHJlYW0mIHRzLCBjb25zCiAjZW5k
aWYKIH0KIAotdm9pZCB3cml0ZVJlbmRlclJlc291cmNlcyhUZXh0U3RyZWFtJiB0cywgTm9kZSog
cGFyZW50KQotewotICAgIEFTU0VSVChwYXJlbnQpOwotICAgIE5vZGUqIG5vZGUgPSBwYXJlbnQ7
Ci0gICAgZG8gewotICAgICAgICBpZiAoIW5vZGUtPmlzU1ZHRWxlbWVudCgpKQotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIFNWR0VsZW1lbnQqIHN2Z0VsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxTVkdFbGVtZW50Kj4obm9kZSk7Ci0gICAgICAgIGlmICghc3ZnRWxlbWVudC0+aXNTdHlsZWQo
KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIFNWR1N0eWxlZEVsZW1lbnQqIHN0
eWxlZCA9IHN0YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihzdmdFbGVtZW50KTsKLSAgICAg
ICAgUmVmUHRyPFNWR1Jlc291cmNlPiByZXNvdXJjZShzdHlsZWQtPmNhbnZhc1Jlc291cmNlKG5v
ZGUtPnJlbmRlcmVyKCkpKTsKLSAgICAgICAgaWYgKCFyZXNvdXJjZSkKLSAgICAgICAgICAgIGNv
bnRpbnVlOwotCi0gICAgICAgIFN0cmluZyBlbGVtZW50SWQgPSBzdmdFbGVtZW50LT5nZXRBdHRy
aWJ1dGUoc3ZnRWxlbWVudC0+aWRBdHRyaWJ1dGVOYW1lKCkpOwotICAgICAgICAvLyBGSVhNRTog
VGhlc2UgbmFtZXMgYXJlIGxpZXMhCi0gICAgICAgIGlmIChyZXNvdXJjZS0+aXNQYWludFNlcnZl
cigpKSB7Ci0gICAgICAgICAgICBSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXI+IHBhaW50U2VydmVyID0g
V1RGOjpzdGF0aWNfcG9pbnRlcl9jYXN0PFNWR1BhaW50U2VydmVyPihyZXNvdXJjZSk7Ci0gICAg
ICAgICAgICB0cyA8PCAiS1JlbmRlcmluZ1BhaW50U2VydmVyIHtpZD1cIiIgPDwgZWxlbWVudElk
IDw8ICJcIiAiIDw8ICpwYWludFNlcnZlciA8PCAifSIgPDwgIlxuIjsKLSAgICAgICAgfQotICAg
IH0gd2hpbGUgKChub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0Tm9kZShwYXJlbnQpKSk7Ci19Ci0K
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJUcmVlQXNUZXh0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5oCShyZXZpc2lvbiA1ODE1OSkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclRyZWVBc1RleHQuaAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNiArNDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVuZGVySW1h
Z2U7CiAgICAgY2xhc3MgUmVuZGVyT2JqZWN0OwogICAgIGNsYXNzIFJlbmRlclBhdGg7CisgICAg
Y2xhc3MgUmVuZGVyU1ZHR3JhZGllbnRTdG9wOwogICAgIGNsYXNzIFJlbmRlclNWR1Jvb3Q7CiAg
ICAgY2xhc3MgUmVuZGVyVGV4dDsKICAgICBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CkBAIC01MSwx
NSArNTIsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gZnVuY3Rpb25zIHVzZWQgYnkgdGhl
IG1haW4gUmVuZGVyVHJlZUFzVGV4dCBjb2RlCiB2b2lkIHdyaXRlKFRleHRTdHJlYW0mLCBjb25z
dCBSZW5kZXJQYXRoJiwgaW50IGluZGVudCk7CiB2b2lkIHdyaXRlKFRleHRTdHJlYW0mLCBjb25z
dCBSZW5kZXJTVkdSb290JiwgaW50IGluZGVudCk7Ci12b2lkIHdyaXRlU1ZHUmVzb3VyY2UoVGV4
dFN0cmVhbSYsIGNvbnN0IFJlbmRlck9iamVjdCYsIGludCBpbmRlbnQpOwordm9pZCB3cml0ZVNW
R0dyYWRpZW50U3RvcChUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyU1ZHR3JhZGllbnRTdG9wJiwg
aW50IGluZGVudCk7Cit2b2lkIHdyaXRlU1ZHUmVzb3VyY2VDb250YWluZXIoVGV4dFN0cmVhbSYs
IGNvbnN0IFJlbmRlck9iamVjdCYsIGludCBpbmRlbnQpOwogdm9pZCB3cml0ZVNWR0NvbnRhaW5l
cihUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyT2JqZWN0JiwgaW50IGluZGVudCk7CiB2b2lkIHdy
aXRlU1ZHSW1hZ2UoVGV4dFN0cmVhbSYsIGNvbnN0IFJlbmRlckltYWdlJiwgaW50IGluZGVudCk7
CiB2b2lkIHdyaXRlU1ZHSW5saW5lVGV4dChUZXh0U3RyZWFtJiwgY29uc3QgUmVuZGVyVGV4dCYs
IGludCBpbmRlbnQpOwogdm9pZCB3cml0ZVNWR1RleHQoVGV4dFN0cmVhbSYsIGNvbnN0IFJlbmRl
ckJsb2NrJiwgaW50IGluZGVudCk7CiB2b2lkIHdyaXRlUmVzb3VyY2VzKFRleHRTdHJlYW0mLCBj
b25zdCBSZW5kZXJPYmplY3QmLCBpbnQgaW5kZW50KTsKIAotdm9pZCB3cml0ZVJlbmRlclJlc291
cmNlcyhUZXh0U3RyZWFtJiwgTm9kZSogcGFyZW50KTsKLQogLy8gaGVscGVyIG9wZXJhdG9ycyBk
ZWZpbmVkIHVzZWQgaW4gdmFyaW91cyBjbGFzc2VzIHRvIGR1bXAgdGhlIHJlbmRlciB0cmVlLgog
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiwgY29uc3QgQWZmaW5lVHJhbnNmb3Jt
Jik7CiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mLCBjb25zdCBJbnRSZWN0Jik7
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNwcAkocmV2aXNpb24gNTgx
NTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiBPbGl2ZXIgSHVudCA8
b2poMTZAc3R1ZGVudC5jYW50ZXJidXJ5LmFjLm56PgogICogICAgICAgICAgIChDKSAyMDA2IEFw
cGxlIENvbXB1dGVyIEluYy4KICAqICAgICAgICAgICAoQykgMjAwNyBOaWtvbGFzIFppbW1lcm1h
bm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtMzIsMTIgKzMzLDEyIEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9jay5oIgorI2luY2x1ZGUgIlJlbmRl
clNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaCIKICNp
bmNsdWRlICJSZW5kZXJTVkdSb290LmgiCiAjaW5jbHVkZSAiU1ZHSW5saW5lRmxvd0JveC5oIgog
I2luY2x1ZGUgIlNWR0lubGluZVRleHRCb3guaCIKICNpbmNsdWRlICJTVkdGb250RWxlbWVudC5o
IgotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyLmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGVE
ZWZzLmgiCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3VwcG9ydC5oIgogI2luY2x1ZGUgIlNWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQuaCIKQEAgLTM0NSwxMCArMzQ2LDEwIEBAIHN0cnVjdCBTVkdSb290
SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgICAgICAsIG1fYm91bmRpbmdCb3godHggKyByb290
Qm94LT54KCksIHR5ICsgcm9vdEJveC0+eSgpLCByb290Qm94LT53aWR0aCgpLCByb290Qm94LT5o
ZWlnaHQoKSkKICAgICAgICAgLCBtX2ZpbHRlcigwKQogICAgICAgICAsIG1fcm9vdEZpbHRlcihy
b290RmlsdGVyKQotICAgICAgICAsIG1fZmlsbFBhaW50U2VydmVyKDApCi0gICAgICAgICwgbV9z
dHJva2VQYWludFNlcnZlcigwKQotICAgICAgICAsIG1fZmlsbFBhaW50U2VydmVyT2JqZWN0KDAp
Ci0gICAgICAgICwgbV9zdHJva2VQYWludFNlcnZlck9iamVjdCgwKQorICAgICAgICAsIG1fZmls
bFBhaW50aW5nUmVzb3VyY2UoMCkKKyAgICAgICAgLCBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2Uo
MCkKKyAgICAgICAgLCBtX2ZpbGxQYWludGluZ1Jlc291cmNlT2JqZWN0KDApCisgICAgICAgICwg
bV9zdHJva2VQYWludGluZ1Jlc291cmNlT2JqZWN0KDApCiAgICAgICAgICwgbV90eCh0eCkKICAg
ICAgICAgLCBtX3R5KHR5KQogICAgIHsKQEAgLTM1NywxMCArMzU4LDEwIEBAIHN0cnVjdCBTVkdS
b290SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgIH5TVkdSb290SW5saW5lQm94UGFpbnRXYWxr
ZXIoKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFtX2ZpbHRlcik7Ci0gICAgICAgIEFTU0VSVCgh
bV9maWxsUGFpbnRTZXJ2ZXIpOwotICAgICAgICBBU1NFUlQoIW1fZmlsbFBhaW50U2VydmVyT2Jq
ZWN0KTsKLSAgICAgICAgQVNTRVJUKCFtX3N0cm9rZVBhaW50U2VydmVyKTsKLSAgICAgICAgQVNT
RVJUKCFtX3N0cm9rZVBhaW50U2VydmVyT2JqZWN0KTsKKyAgICAgICAgQVNTRVJUKCFtX2ZpbGxQ
YWludGluZ1Jlc291cmNlKTsKKyAgICAgICAgQVNTRVJUKCFtX2ZpbGxQYWludGluZ1Jlc291cmNl
T2JqZWN0KTsKKyAgICAgICAgQVNTRVJUKCFtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UpOworICAg
ICAgICBBU1NFUlQoIW1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZU9iamVjdCk7CiAgICAgICAgIEFT
U0VSVCghbV9jaHVua1N0YXJ0ZWQpOwogICAgIH0KIApAQCAtMzczLDI0ICszNzQsMjIgQEAgc3Ry
dWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAKICAgICB2b2lkIHRlYXJkb3duRmls
bFBhaW50U2VydmVyKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9maWxsUGFpbnRTZXJ2ZXIpCisg
ICAgICAgIGlmICghbV9maWxsUGFpbnRpbmdSZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybjsK
IAotICAgICAgICBtX2ZpbGxQYWludFNlcnZlci0+dGVhcmRvd24obV9wYWludEluZm8uY29udGV4
dCwgbV9maWxsUGFpbnRTZXJ2ZXJPYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7
Ci0KLSAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXIgPSAwOwotICAgICAgICBtX2ZpbGxQYWludFNl
cnZlck9iamVjdCA9IDA7CisgICAgICAgIG1fZmlsbFBhaW50aW5nUmVzb3VyY2UtPnBvc3RBcHBs
eVJlc291cmNlKG1fZmlsbFBhaW50aW5nUmVzb3VyY2VPYmplY3QsIG1fcGFpbnRJbmZvLmNvbnRl
eHQsIEFwcGx5VG9GaWxsTW9kZSB8IEFwcGx5VG9UZXh0TW9kZSk7CisgICAgICAgIG1fZmlsbFBh
aW50aW5nUmVzb3VyY2UgPSAwOworICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlT2JqZWN0
ID0gMDsKICAgICB9CiAKICAgICB2b2lkIHRlYXJkb3duU3Ryb2tlUGFpbnRTZXJ2ZXIoKQogICAg
IHsKLSAgICAgICAgaWYgKCFtX3N0cm9rZVBhaW50U2VydmVyKQorICAgICAgICBpZiAoIW1fc3Ry
b2tlUGFpbnRpbmdSZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBtX3N0
cm9rZVBhaW50U2VydmVyLT50ZWFyZG93bihtX3BhaW50SW5mby5jb250ZXh0LCBtX3N0cm9rZVBh
aW50U2VydmVyT2JqZWN0LCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSk7Ci0KLSAgICAg
ICAgbV9zdHJva2VQYWludFNlcnZlciA9IDA7Ci0gICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXJP
YmplY3QgPSAwOworICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UtPnBvc3RBcHBseVJl
c291cmNlKG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZU9iamVjdCwgbV9wYWludEluZm8uY29udGV4
dCwgQXBwbHlUb1N0cm9rZU1vZGUgfCBBcHBseVRvVGV4dE1vZGUpOworICAgICAgICBtX3N0cm9r
ZVBhaW50aW5nUmVzb3VyY2UgPSAwOworICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2VP
YmplY3QgPSAwOwogICAgIH0KIAogICAgIHZvaWQgY2h1bmtTdGFydENhbGxiYWNrKElubGluZUJv
eCogYm94KQpAQCAtNDM3LDcgKzQzNiw3IEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94UGFpbnRX
YWxrZXIgewogICAgICAgICBtX3BhaW50SW5mby5yZWN0ID0gbV9zYXZlZEluZm8ucmVjdDsKICAg
ICB9CiAKLSAgICBib29sIHNldHVwQmFja2dyb3VuZChTVkdJbmxpbmVUZXh0Qm94KiAvKmJveCov
KQorICAgIGJvb2wgc2V0dXBCYWNrZ3JvdW5kKFNWR0lubGluZVRleHRCb3gqKQogICAgIHsKICAg
ICAgICAgbV90ZXh0UGFpbnRJbmZvLnN1YnBoYXNlID0gU1ZHVGV4dFBhaW50U3VicGhhc2VCYWNr
Z3JvdW5kOwogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTQ1MSwxNCArNDUwLDE0IEBAIHN0cnVj
dCBTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgICAgICBSZW5kZXJPYmplY3QqIG9i
amVjdCA9IGZsb3dCb3gtPnJlbmRlcmVyKCk7CiAgICAgICAgIEFTU0VSVChvYmplY3QpOwogCi0g
ICAgICAgIEFTU0VSVCghbV9zdHJva2VQYWludFNlcnZlcik7CisgICAgICAgIEFTU0VSVCghbV9z
dHJva2VQYWludGluZ1Jlc291cmNlKTsKICAgICAgICAgdGVhcmRvd25GaWxsUGFpbnRTZXJ2ZXIo
KTsKIAogICAgICAgICBtX3RleHRQYWludEluZm8uc3VicGhhc2UgPSBTVkdUZXh0UGFpbnRTdWJw
aGFzZUdseXBoRmlsbDsKLSAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZl
cjo6ZmlsbFBhaW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwgb2JqZWN0KTsKLSAgICAgICAgaWYg
KG1fZmlsbFBhaW50U2VydmVyKSB7Ci0gICAgICAgICAgICBtX2ZpbGxQYWludFNlcnZlci0+c2V0
dXAobV9wYWludEluZm8uY29udGV4dCwgb2JqZWN0LCBBcHBseVRvRmlsbFRhcmdldFR5cGUsIHRy
dWUpOwotICAgICAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXJPYmplY3QgPSBvYmplY3Q7CisgICAg
ICAgIG1fZmlsbFBhaW50aW5nUmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6ZmlsbFBhaW50
aW5nUmVzb3VyY2Uob2JqZWN0LCBvYmplY3QtPnN0eWxlKCkpOworICAgICAgICBpZiAobV9maWxs
UGFpbnRpbmdSZXNvdXJjZSkgeworICAgICAgICAgICAgbV9maWxsUGFpbnRpbmdSZXNvdXJjZS0+
YXBwbHlSZXNvdXJjZShvYmplY3QsIG9iamVjdC0+c3R5bGUoKSwgbV9wYWludEluZm8uY29udGV4
dCwgQXBwbHlUb0ZpbGxNb2RlIHwgQXBwbHlUb1RleHRNb2RlKTsKKyAgICAgICAgICAgIG1fZmls
bFBhaW50aW5nUmVzb3VyY2VPYmplY3QgPSBvYmplY3Q7CiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgfQogCkBAIC00NzYsMTcgKzQ3NSwxNyBAQCBzdHJ1Y3QgU1ZHUm9vdElubGlu
ZUJveFBhaW50V2Fsa2VyIHsKICAgICAgICAgaWYgKCFzdHlsZSkKICAgICAgICAgICAgIHN0eWxl
ID0gb2JqZWN0LT5zdHlsZSgpOwogCi0gICAgICAgIEFTU0VSVCghbV9zdHJva2VQYWludFNlcnZl
cik7CisgICAgICAgIEFTU0VSVCghbV9zdHJva2VQYWludGluZ1Jlc291cmNlKTsKICAgICAgICAg
dGVhcmRvd25GaWxsUGFpbnRTZXJ2ZXIoKTsKIAogICAgICAgICBpZiAoIW1heUhhdmVTZWxlY3Rp
b24oYm94KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICBtX3RleHRQYWlu
dEluZm8uc3VicGhhc2UgPSBTVkdUZXh0UGFpbnRTdWJwaGFzZUdseXBoRmlsbFNlbGVjdGlvbjsK
LSAgICAgICAgbV9maWxsUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlcjo6ZmlsbFBhaW50U2Vy
dmVyKHN0eWxlLCBvYmplY3QpOwotICAgICAgICBpZiAobV9maWxsUGFpbnRTZXJ2ZXIpIHsKLSAg
ICAgICAgICAgIG1fZmlsbFBhaW50U2VydmVyLT5zZXR1cChtX3BhaW50SW5mby5jb250ZXh0LCBv
YmplY3QsIHN0eWxlLCBBcHBseVRvRmlsbFRhcmdldFR5cGUsIHRydWUpOwotICAgICAgICAgICAg
bV9maWxsUGFpbnRTZXJ2ZXJPYmplY3QgPSBvYmplY3Q7CisgICAgICAgIG1fZmlsbFBhaW50aW5n
UmVzb3VyY2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6ZmlsbFBhaW50aW5nUmVzb3VyY2Uob2JqZWN0
LCBzdHlsZSk7CisgICAgICAgIGlmIChtX2ZpbGxQYWludGluZ1Jlc291cmNlKSB7CisgICAgICAg
ICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlLT5hcHBseVJlc291cmNlKG9iamVjdCwgc3R5bGUs
IG1fcGFpbnRJbmZvLmNvbnRleHQsIEFwcGx5VG9GaWxsTW9kZSB8IEFwcGx5VG9UZXh0TW9kZSk7
CisgICAgICAgICAgICBtX2ZpbGxQYWludGluZ1Jlc291cmNlT2JqZWN0ID0gb2JqZWN0OwogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KIApAQCAtNTA2LDExICs1MDUsMTAgQEAg
c3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtlciB7CiAgICAgICAgIHRlYXJkb3duU3Ry
b2tlUGFpbnRTZXJ2ZXIoKTsKIAogICAgICAgICBtX3RleHRQYWludEluZm8uc3VicGhhc2UgPSBT
VkdUZXh0UGFpbnRTdWJwaGFzZUdseXBoU3Ryb2tlOwotICAgICAgICBtX3N0cm9rZVBhaW50U2Vy
dmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OnN0cm9rZVBhaW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwg
b2JqZWN0KTsKLQotICAgICAgICBpZiAobV9zdHJva2VQYWludFNlcnZlcikgewotICAgICAgICAg
ICAgbV9zdHJva2VQYWludFNlcnZlci0+c2V0dXAobV9wYWludEluZm8uY29udGV4dCwgb2JqZWN0
LCBBcHBseVRvU3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSk7Ci0gICAgICAgICAgICBtX3N0cm9rZVBh
aW50U2VydmVyT2JqZWN0ID0gb2JqZWN0OworICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3Vy
Y2UgPSBSZW5kZXJTVkdSZXNvdXJjZTo6c3Ryb2tlUGFpbnRpbmdSZXNvdXJjZShvYmplY3QsIG9i
amVjdC0+c3R5bGUoKSk7CisgICAgICAgIGlmIChtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UpIHsK
KyAgICAgICAgICAgIG1fc3Ryb2tlUGFpbnRpbmdSZXNvdXJjZS0+YXBwbHlSZXNvdXJjZShvYmpl
Y3QsIG9iamVjdC0+c3R5bGUoKSwgbV9wYWludEluZm8uY29udGV4dCwgQXBwbHlUb1N0cm9rZU1v
ZGUgfCBBcHBseVRvVGV4dE1vZGUpOworICAgICAgICAgICAgbV9zdHJva2VQYWludGluZ1Jlc291
cmNlT2JqZWN0ID0gb2JqZWN0OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0K
IApAQCAtNTM2LDE3ICs1MzQsMTcgQEAgc3RydWN0IFNWR1Jvb3RJbmxpbmVCb3hQYWludFdhbGtl
ciB7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgbV90ZXh0UGFpbnRJbmZv
LnN1YnBoYXNlID0gU1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaFN0cm9rZVNlbGVjdGlvbjsKLSAg
ICAgICAgbV9zdHJva2VQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVyOjpzdHJva2VQYWludFNl
cnZlcihzdHlsZSwgb2JqZWN0KTsKLSAgICAgICAgaWYgKG1fc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsK
LSAgICAgICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXItPnNldHVwKG1fcGFpbnRJbmZvLmNvbnRl
eHQsIG9iamVjdCwgc3R5bGUsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlLCB0cnVlKTsKLSAgICAg
ICAgICAgIG1fc3Ryb2tlUGFpbnRTZXJ2ZXJPYmplY3QgPSBvYmplY3Q7CisgICAgICAgIG1fc3Ry
b2tlUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRlclNWR1Jlc291cmNlOjpzdHJva2VQYWludGluZ1Jl
c291cmNlKG9iamVjdCwgc3R5bGUpOworICAgICAgICBpZiAobV9zdHJva2VQYWludGluZ1Jlc291
cmNlKSB7CisgICAgICAgICAgICBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2UtPmFwcGx5UmVzb3Vy
Y2Uob2JqZWN0LCBzdHlsZSwgbV9wYWludEluZm8uY29udGV4dCwgQXBwbHlUb1N0cm9rZU1vZGUg
fCBBcHBseVRvVGV4dE1vZGUpOworICAgICAgICAgICAgbV9zdHJva2VQYWludGluZ1Jlc291cmNl
T2JqZWN0ID0gb2JqZWN0OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KIAog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgYm9vbCBzZXR1cEZvcmVncm91bmQo
U1ZHSW5saW5lVGV4dEJveCogLypib3gqLykKKyAgICBib29sIHNldHVwRm9yZWdyb3VuZChTVkdJ
bmxpbmVUZXh0Qm94KikKICAgICB7CiAgICAgICAgIHRlYXJkb3duRmlsbFBhaW50U2VydmVyKCk7
CiAgICAgICAgIHRlYXJkb3duU3Ryb2tlUGFpbnRTZXJ2ZXIoKTsKQEAgLTU1NiwxNyArNTU0LDE3
IEBAIHN0cnVjdCBTVkdSb290SW5saW5lQm94UGFpbnRXYWxrZXIgewogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9CiAKLSAgICBTVkdQYWludFNlcnZlciogYWN0aXZlUGFpbnRTZXJ2ZXIoKSBj
b25zdAorICAgIFJlbmRlclNWR1Jlc291cmNlKiBhY3RpdmVQYWludGluZ1Jlc291cmNlKCkgY29u
c3QKICAgICB7CiAgICAgICAgIHN3aXRjaCAobV90ZXh0UGFpbnRJbmZvLnN1YnBoYXNlKSB7CiAg
ICAgICAgIGNhc2UgU1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaEZpbGw6CiAgICAgICAgIGNhc2Ug
U1ZHVGV4dFBhaW50U3VicGhhc2VHbHlwaEZpbGxTZWxlY3Rpb246Ci0gICAgICAgICAgICBBU1NF
UlQobV9maWxsUGFpbnRTZXJ2ZXIpOwotICAgICAgICAgICAgcmV0dXJuIG1fZmlsbFBhaW50U2Vy
dmVyOworICAgICAgICAgICAgQVNTRVJUKG1fZmlsbFBhaW50aW5nUmVzb3VyY2UpOworICAgICAg
ICAgICAgcmV0dXJuIG1fZmlsbFBhaW50aW5nUmVzb3VyY2U7CiAgICAgICAgIGNhc2UgU1ZHVGV4
dFBhaW50U3VicGhhc2VHbHlwaFN0cm9rZToKICAgICAgICAgY2FzZSBTVkdUZXh0UGFpbnRTdWJw
aGFzZUdseXBoU3Ryb2tlU2VsZWN0aW9uOgotICAgICAgICAgICAgQVNTRVJUKG1fc3Ryb2tlUGFp
bnRTZXJ2ZXIpOwotICAgICAgICAgICAgcmV0dXJuIG1fc3Ryb2tlUGFpbnRTZXJ2ZXI7CisgICAg
ICAgICAgICBBU1NFUlQobV9zdHJva2VQYWludGluZ1Jlc291cmNlKTsKKyAgICAgICAgICAgIHJl
dHVybiBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2U7CiAgICAgICAgIGNhc2UgU1ZHVGV4dFBhaW50
U3VicGhhc2VCYWNrZ3JvdW5kOgogICAgICAgICBjYXNlIFNWR1RleHRQYWludFN1YnBoYXNlRm9y
ZWdyb3VuZDoKICAgICAgICAgZGVmYXVsdDoKQEAgLTY0Niw3ICs2NDQsNyBAQCBzdHJ1Y3QgU1ZH
Um9vdElubGluZUJveFBhaW50V2Fsa2VyIHsKICAgICAgICAgICAgICAgICB0ZXh0Qm94LT5wYWlu
dERlY29yYXRpb24oT1ZFUkxJTkUsIG1fcGFpbnRJbmZvLmNvbnRleHQsIGRlY29yYXRpb25Pcmln
aW4ueCgpLCBkZWNvcmF0aW9uT3JpZ2luLnkoKSwgdGV4dFdpZHRoLCAqaXQsIGluZm8pOwogCiAg
ICAgICAgICAgICAvLyBQYWludCB0ZXh0Ci0gICAgICAgICAgICBtX3RleHRQYWludEluZm8uYWN0
aXZlUGFpbnRTZXJ2ZXIgPSBhY3RpdmVQYWludFNlcnZlcigpOworICAgICAgICAgICAgbV90ZXh0
UGFpbnRJbmZvLmFjdGl2ZVBhaW50aW5nUmVzb3VyY2UgPSBhY3RpdmVQYWludGluZ1Jlc291cmNl
KCk7CiAgICAgICAgICAgICB0ZXh0Qm94LT5wYWludENoYXJhY3RlcnMobV9wYWludEluZm8sIG1f
dHgsIG1fdHksICppdCwgc3RyaW5nU3RhcnQsIHN0cmluZ0xlbmd0aCwgbV90ZXh0UGFpbnRJbmZv
KTsKIAogICAgICAgICAgICAgLy8gUGFpbnQgZGVjb3JhdGlvbnMsIHRoYXQgaGF2ZSB0byBiZSBk
cmF3biBhZnRlcndhcmRzCkBAIC02NzIsMTEgKzY3MCwxMSBAQCBwcml2YXRlOgogICAgIFJlbmRl
clNWR1Jlc291cmNlRmlsdGVyKiBtX2ZpbHRlcjsKICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRl
ciogbV9yb290RmlsdGVyOwogCi0gICAgU1ZHUGFpbnRTZXJ2ZXIqIG1fZmlsbFBhaW50U2VydmVy
OwotICAgIFNWR1BhaW50U2VydmVyKiBtX3N0cm9rZVBhaW50U2VydmVyOworICAgIFJlbmRlclNW
R1Jlc291cmNlKiBtX2ZpbGxQYWludGluZ1Jlc291cmNlOworICAgIFJlbmRlclNWR1Jlc291cmNl
KiBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2U7CiAKLSAgICBSZW5kZXJPYmplY3QqIG1fZmlsbFBh
aW50U2VydmVyT2JqZWN0OwotICAgIFJlbmRlck9iamVjdCogbV9zdHJva2VQYWludFNlcnZlck9i
amVjdDsKKyAgICBSZW5kZXJPYmplY3QqIG1fZmlsbFBhaW50aW5nUmVzb3VyY2VPYmplY3Q7Cisg
ICAgUmVuZGVyT2JqZWN0KiBtX3N0cm9rZVBhaW50aW5nUmVzb3VyY2VPYmplY3Q7CiAKICAgICBp
bnQgbV90eDsKICAgICBpbnQgbV90eTsKSW5kZXg6IFdlYkNvcmUvc3ZnL0dyYWRpZW50QXR0cmli
dXRlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL0dyYWRpZW50QXR0cmlidXRlcy5oCShy
ZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL0dyYWRpZW50QXR0cmlidXRlcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMSw1MSArMjEsNzIgQEAKICNkZWZpbmUgR3JhZGllbnRBdHRyaWJ1dGVz
X2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJHcmFk
aWVudC5oIgorI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0g
ICAgc3RydWN0IEdyYWRpZW50QXR0cmlidXRlcyB7Ci0gICAgICAgIEdyYWRpZW50QXR0cmlidXRl
cygpCi0gICAgICAgICAgICA6IG1fc3ByZWFkTWV0aG9kKFNwcmVhZE1ldGhvZFBhZCkKLSAgICAg
ICAgICAgICwgbV9ib3VuZGluZ0JveE1vZGUodHJ1ZSkKLSAgICAgICAgICAgICwgbV9zcHJlYWRN
ZXRob2RTZXQoZmFsc2UpCi0gICAgICAgICAgICAsIG1fYm91bmRpbmdCb3hNb2RlU2V0KGZhbHNl
KQotICAgICAgICAgICAgLCBtX2dyYWRpZW50VHJhbnNmb3JtU2V0KGZhbHNlKQotICAgICAgICAg
ICAgLCBtX3N0b3BzU2V0KGZhbHNlKQotICAgICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICBH
cmFkaWVudFNwcmVhZE1ldGhvZCBzcHJlYWRNZXRob2QoKSBjb25zdCB7IHJldHVybiBtX3NwcmVh
ZE1ldGhvZDsgfQotICAgICAgICBib29sIGJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJu
IG1fYm91bmRpbmdCb3hNb2RlOyB9Ci0gICAgICAgIEFmZmluZVRyYW5zZm9ybSBncmFkaWVudFRy
YW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZ3JhZGllbnRUcmFuc2Zvcm07IH0KLSAgICAgICAg
Y29uc3QgVmVjdG9yPFNWR0dyYWRpZW50U3RvcD4mIHN0b3BzKCkgY29uc3QgeyByZXR1cm4gbV9z
dG9wczsgfQotCi0gICAgICAgIHZvaWQgc2V0U3ByZWFkTWV0aG9kKEdyYWRpZW50U3ByZWFkTWV0
aG9kIHZhbHVlKSB7IG1fc3ByZWFkTWV0aG9kID0gdmFsdWU7IG1fc3ByZWFkTWV0aG9kU2V0ID0g
dHJ1ZTsgfQotICAgICAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9kZShib29sIHZhbHVlKSB7IG1f
Ym91bmRpbmdCb3hNb2RlID0gdmFsdWU7IG1fYm91bmRpbmdCb3hNb2RlU2V0ID0gdHJ1ZTsgfQot
ICAgICAgICB2b2lkIHNldEdyYWRpZW50VHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYg
dmFsdWUpIHsgbV9ncmFkaWVudFRyYW5zZm9ybSA9IHZhbHVlOyBtX2dyYWRpZW50VHJhbnNmb3Jt
U2V0ID0gdHJ1ZTsgfQotICAgICAgICB2b2lkIHNldFN0b3BzKGNvbnN0IFZlY3RvcjxTVkdHcmFk
aWVudFN0b3A+JiB2YWx1ZSkgeyBtX3N0b3BzID0gdmFsdWU7IG1fc3RvcHNTZXQgPSB0cnVlOyB9
IAotCi0gICAgICAgIGJvb2wgaGFzU3ByZWFkTWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9zcHJl
YWRNZXRob2RTZXQ7IH0KLSAgICAgICAgYm9vbCBoYXNCb3VuZGluZ0JveE1vZGUoKSBjb25zdCB7
IHJldHVybiBtX2JvdW5kaW5nQm94TW9kZVNldDsgfQotICAgICAgICBib29sIGhhc0dyYWRpZW50
VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9ncmFkaWVudFRyYW5zZm9ybVNldDsgfQotICAg
ICAgICBib29sIGhhc1N0b3BzKCkgY29uc3QgeyByZXR1cm4gbV9zdG9wc1NldDsgfQotCi0gICAg
cHJpdmF0ZToKLSAgICAgICAgLy8gUHJvcGVydGllcwotICAgICAgICBHcmFkaWVudFNwcmVhZE1l
dGhvZCBtX3NwcmVhZE1ldGhvZDsKLSAgICAgICAgYm9vbCBtX2JvdW5kaW5nQm94TW9kZTsKLSAg
ICAgICAgQWZmaW5lVHJhbnNmb3JtIG1fZ3JhZGllbnRUcmFuc2Zvcm07Ci0gICAgICAgIFZlY3Rv
cjxTVkdHcmFkaWVudFN0b3A+IG1fc3RvcHM7Ci0KLSAgICAgICAgLy8gUHJvcGVydHkgc3RhdGVz
Ci0gICAgICAgIGJvb2wgbV9zcHJlYWRNZXRob2RTZXQgOiAxOwotICAgICAgICBib29sIG1fYm91
bmRpbmdCb3hNb2RlU2V0IDogMTsKLSAgICAgICAgYm9vbCBtX2dyYWRpZW50VHJhbnNmb3JtU2V0
IDogMTsKLSAgICAgICAgYm9vbCBtX3N0b3BzU2V0IDogMTsKLSAgICB9OworCitzdHJ1Y3QgR3Jh
ZGllbnRBdHRyaWJ1dGVzIHsKKyAgICBHcmFkaWVudEF0dHJpYnV0ZXMoKQorICAgICAgICA6IG1f
c3ByZWFkTWV0aG9kKFNwcmVhZE1ldGhvZFBhZCkKKyAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9k
ZSh0cnVlKQorICAgICAgICAsIG1fc3ByZWFkTWV0aG9kU2V0KGZhbHNlKQorICAgICAgICAsIG1f
Ym91bmRpbmdCb3hNb2RlU2V0KGZhbHNlKQorICAgICAgICAsIG1fZ3JhZGllbnRUcmFuc2Zvcm1T
ZXQoZmFsc2UpCisgICAgICAgICwgbV9zdG9wc1NldChmYWxzZSkKKyAgICB7CisgICAgfQorCisg
ICAgR3JhZGllbnRTcHJlYWRNZXRob2Qgc3ByZWFkTWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9z
cHJlYWRNZXRob2Q7IH0KKyAgICBib29sIGJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJu
IG1fYm91bmRpbmdCb3hNb2RlOyB9CisgICAgQWZmaW5lVHJhbnNmb3JtIGdyYWRpZW50VHJhbnNm
b3JtKCkgY29uc3QgeyByZXR1cm4gbV9ncmFkaWVudFRyYW5zZm9ybTsgfQorICAgIGNvbnN0IFZl
Y3RvcjxHcmFkaWVudDo6Q29sb3JTdG9wPiYgc3RvcHMoKSBjb25zdCB7IHJldHVybiBtX3N0b3Bz
OyB9CisKKyAgICB2b2lkIHNldFNwcmVhZE1ldGhvZChHcmFkaWVudFNwcmVhZE1ldGhvZCB2YWx1
ZSkKKyAgICB7CisgICAgICAgIG1fc3ByZWFkTWV0aG9kID0gdmFsdWU7CisgICAgICAgIG1fc3By
ZWFkTWV0aG9kU2V0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9k
ZShib29sIHZhbHVlKQorICAgIHsKKyAgICAgICAgbV9ib3VuZGluZ0JveE1vZGUgPSB2YWx1ZTsK
KyAgICAgICAgbV9ib3VuZGluZ0JveE1vZGVTZXQgPSB0cnVlOworICAgIH0KKworICAgIHZvaWQg
c2V0R3JhZGllbnRUcmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB2YWx1ZSkKKyAgICB7
CisgICAgICAgIG1fZ3JhZGllbnRUcmFuc2Zvcm0gPSB2YWx1ZTsKKyAgICAgICAgbV9ncmFkaWVu
dFRyYW5zZm9ybVNldCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRTdG9wcyhjb25zdCBW
ZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4mIHZhbHVlKQorICAgIHsKKyAgICAgICAgbV9zdG9w
cyA9IHZhbHVlOworICAgICAgICBtX3N0b3BzU2V0ID0gdHJ1ZTsKKyAgICB9IAorCisgICAgYm9v
bCBoYXNTcHJlYWRNZXRob2QoKSBjb25zdCB7IHJldHVybiBtX3NwcmVhZE1ldGhvZFNldDsgfQor
ICAgIGJvb2wgaGFzQm91bmRpbmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0Jv
eE1vZGVTZXQ7IH0KKyAgICBib29sIGhhc0dyYWRpZW50VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1
cm4gbV9ncmFkaWVudFRyYW5zZm9ybVNldDsgfQorICAgIGJvb2wgaGFzU3RvcHMoKSBjb25zdCB7
IHJldHVybiBtX3N0b3BzU2V0OyB9CisKK3ByaXZhdGU6CisgICAgLy8gUHJvcGVydGllcworICAg
IEdyYWRpZW50U3ByZWFkTWV0aG9kIG1fc3ByZWFkTWV0aG9kOworICAgIGJvb2wgbV9ib3VuZGlu
Z0JveE1vZGU7CisgICAgQWZmaW5lVHJhbnNmb3JtIG1fZ3JhZGllbnRUcmFuc2Zvcm07CisgICAg
VmVjdG9yPEdyYWRpZW50OjpDb2xvclN0b3A+IG1fc3RvcHM7CisKKyAgICAvLyBQcm9wZXJ0eSBz
dGF0ZXMKKyAgICBib29sIG1fc3ByZWFkTWV0aG9kU2V0IDogMTsKKyAgICBib29sIG1fYm91bmRp
bmdCb3hNb2RlU2V0IDogMTsKKyAgICBib29sIG1fZ3JhZGllbnRUcmFuc2Zvcm1TZXQgOiAxOwor
ICAgIGJvb2wgbV9zdG9wc1NldCA6IDE7Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogI2VuZGlmCi0KLS8vIHZpbTp0cz00Om5vZXQKSW5kZXg6
IFdlYkNvcmUvc3ZnL0xpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL0xpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oCShyZXZpc2lvbiA1ODE1OSkKKysr
IFdlYkNvcmUvc3ZnL0xpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yMCw5ICsyMCw4IEBACiAjaWZuZGVmIExpbmVhckdyYWRpZW50QXR0cmlidXRlc19oCiAjZGVm
aW5lIExpbmVhckdyYWRpZW50QXR0cmlidXRlc19oCiAKLSNpbmNsdWRlICJHcmFkaWVudEF0dHJp
YnV0ZXMuaCIKLQogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVz
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgTGluZWFyR3JhZGllbnRBdHRy
aWJ1dGVzIDogR3JhZGllbnRBdHRyaWJ1dGVzIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1BhdHRlcm5B
dHRyaWJ1dGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvUGF0dGVybkF0dHJpYnV0ZXMu
aAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9QYXR0ZXJuQXR0cmlidXRlcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMSw4MCArMjEsMTIxIEBACiAjZGVmaW5lIFBhdHRlcm5BdHRyaWJ1
dGVzX2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHTGVuZ3RoLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKLSAgICBzdHJ1Y3QgUGF0dGVybkF0dHJpYnV0ZXMgewotICAgICAgICBQ
YXR0ZXJuQXR0cmlidXRlcygpCi0gICAgICAgICAgICA6IG1feCgpCi0gICAgICAgICAgICAsIG1f
eSgpCi0gICAgICAgICAgICAsIG1fd2lkdGgoKQotICAgICAgICAgICAgLCBtX2hlaWdodCgpCi0g
ICAgICAgICAgICAsIG1fYm91bmRpbmdCb3hNb2RlKHRydWUpCi0gICAgICAgICAgICAsIG1fYm91
bmRpbmdCb3hNb2RlQ29udGVudChmYWxzZSkKLSAgICAgICAgICAgICwgbV9wYXR0ZXJuQ29udGVu
dEVsZW1lbnQoMCkKLSAgICAgICAgICAgICwgbV94U2V0KGZhbHNlKQotICAgICAgICAgICAgLCBt
X3lTZXQoZmFsc2UpCi0gICAgICAgICAgICAsIG1fd2lkdGhTZXQoZmFsc2UpCi0gICAgICAgICAg
ICAsIG1faGVpZ2h0U2V0KGZhbHNlKQotICAgICAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZVNl
dChmYWxzZSkKLSAgICAgICAgICAgICwgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50U2V0KGZhbHNl
KQotICAgICAgICAgICAgLCBtX3BhdHRlcm5UcmFuc2Zvcm1TZXQoZmFsc2UpCi0gICAgICAgICAg
ICAsIG1fcGF0dGVybkNvbnRlbnRFbGVtZW50U2V0KGZhbHNlKQotICAgICAgICB7Ci0gICAgICAg
IH0KLQotICAgICAgICBTVkdMZW5ndGggeCgpIGNvbnN0IHsgcmV0dXJuIG1feDsgfQotICAgICAg
ICBTVkdMZW5ndGggeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQotICAgICAgICBTVkdMZW5ndGgg
d2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3dpZHRoOyB9Ci0gICAgICAgIFNWR0xlbmd0aCBoZWln
aHQoKSBjb25zdCB7IHJldHVybiBtX2hlaWdodDsgfQotICAgICAgICBib29sIGJvdW5kaW5nQm94
TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRpbmdCb3hNb2RlOyB9Ci0gICAgICAgIGJvb2wg
Ym91bmRpbmdCb3hNb2RlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRpbmdCb3hNb2Rl
Q29udGVudDsgfQotICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5zZm9ybSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGF0dGVyblRyYW5zZm9ybTsgfQotICAgICAgICBjb25zdCBTVkdQYXR0
ZXJuRWxlbWVudCogcGF0dGVybkNvbnRlbnRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9wYXR0
ZXJuQ29udGVudEVsZW1lbnQ7IH0KLQotICAgICAgICB2b2lkIHNldFgoY29uc3QgU1ZHTGVuZ3Ro
JiB2YWx1ZSkgeyBtX3ggPSB2YWx1ZTsgbV94U2V0ID0gdHJ1ZTsgfQotICAgICAgICB2b2lkIHNl
dFkoY29uc3QgU1ZHTGVuZ3RoJiB2YWx1ZSkgeyBtX3kgPSB2YWx1ZTsgbV95U2V0ID0gdHJ1ZTsg
fQotICAgICAgICB2b2lkIHNldFdpZHRoKGNvbnN0IFNWR0xlbmd0aCYgdmFsdWUpIHsgbV93aWR0
aCA9IHZhbHVlOyBtX3dpZHRoU2V0ID0gdHJ1ZTsgfQotICAgICAgICB2b2lkIHNldEhlaWdodChj
b25zdCBTVkdMZW5ndGgmIHZhbHVlKSB7IG1faGVpZ2h0ID0gdmFsdWU7IG1faGVpZ2h0U2V0ID0g
dHJ1ZTsgfQotICAgICAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9kZShib29sIHZhbHVlKSB7IG1f
Ym91bmRpbmdCb3hNb2RlID0gdmFsdWU7IG1fYm91bmRpbmdCb3hNb2RlU2V0ID0gdHJ1ZTsgfQot
ICAgICAgICB2b2lkIHNldEJvdW5kaW5nQm94TW9kZUNvbnRlbnQoYm9vbCB2YWx1ZSkgeyBtX2Jv
dW5kaW5nQm94TW9kZUNvbnRlbnQgPSB2YWx1ZTsgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50U2V0
ID0gdHJ1ZTsgfQotICAgICAgICB2b2lkIHNldFBhdHRlcm5UcmFuc2Zvcm0oY29uc3QgQWZmaW5l
VHJhbnNmb3JtJiB2YWx1ZSkgeyBtX3BhdHRlcm5UcmFuc2Zvcm0gPSB2YWx1ZTsgbV9wYXR0ZXJu
VHJhbnNmb3JtU2V0ID0gdHJ1ZTsgfQotICAgICAgICB2b2lkIHNldFBhdHRlcm5Db250ZW50RWxl
bWVudChjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogdmFsdWUpIHsgbV9wYXR0ZXJuQ29udGVudEVs
ZW1lbnQgPSB2YWx1ZTsgbV9wYXR0ZXJuQ29udGVudEVsZW1lbnRTZXQgPSB0cnVlOyB9Ci0KLSAg
ICAgICAgYm9vbCBoYXNYKCkgY29uc3QgeyByZXR1cm4gbV94U2V0OyB9Ci0gICAgICAgIGJvb2wg
aGFzWSgpIGNvbnN0IHsgcmV0dXJuIG1feVNldDsgfQotICAgICAgICBib29sIGhhc1dpZHRoKCkg
Y29uc3QgeyByZXR1cm4gbV93aWR0aFNldDsgfQotICAgICAgICBib29sIGhhc0hlaWdodCgpIGNv
bnN0IHsgcmV0dXJuIG1faGVpZ2h0U2V0OyB9Ci0gICAgICAgIGJvb2wgaGFzQm91bmRpbmdCb3hN
b2RlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0JveE1vZGVTZXQ7IH0KLSAgICAgICAgYm9v
bCBoYXNCb3VuZGluZ0JveE1vZGVDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0Jv
eE1vZGVDb250ZW50U2V0OyB9Ci0gICAgICAgIGJvb2wgaGFzUGF0dGVyblRyYW5zZm9ybSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGF0dGVyblRyYW5zZm9ybVNldDsgfQotICAgICAgICBib29sIGhhc1Bh
dHRlcm5Db250ZW50RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGF0dGVybkNvbnRlbnRFbGVt
ZW50U2V0OyB9Ci0KLSAgICBwcml2YXRlOgotICAgICAgICAvLyBQcm9wZXJ0aWVzCi0gICAgICAg
IFNWR0xlbmd0aCBtX3g7Ci0gICAgICAgIFNWR0xlbmd0aCBtX3k7Ci0gICAgICAgIFNWR0xlbmd0
aCBtX3dpZHRoOwotICAgICAgICBTVkdMZW5ndGggbV9oZWlnaHQ7Ci0gICAgICAgIGJvb2wgbV9i
b3VuZGluZ0JveE1vZGU7Ci0gICAgICAgIGJvb2wgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50Owot
ICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gbV9wYXR0ZXJuVHJhbnNmb3JtOwotICAgICAgICBjb25z
dCBTVkdQYXR0ZXJuRWxlbWVudCogbV9wYXR0ZXJuQ29udGVudEVsZW1lbnQ7Ci0KLSAgICAgICAg
Ly8gUHJvcGVydHkgc3RhdGVzCi0gICAgICAgIGJvb2wgbV94U2V0IDogMTsKLSAgICAgICAgYm9v
bCBtX3lTZXQgOiAxOwotICAgICAgICBib29sIG1fd2lkdGhTZXQgOiAxOwotICAgICAgICBib29s
IG1faGVpZ2h0U2V0IDogMTsKLSAgICAgICAgYm9vbCBtX2JvdW5kaW5nQm94TW9kZVNldCA6IDE7
Ci0gICAgICAgIGJvb2wgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50U2V0IDogMTsKLSAgICAgICAg
Ym9vbCBtX3BhdHRlcm5UcmFuc2Zvcm1TZXQgOiAxOwotICAgICAgICBib29sIG1fcGF0dGVybkNv
bnRlbnRFbGVtZW50U2V0IDogMTsKLSAgICB9OworCitjbGFzcyBTVkdQYXR0ZXJuRWxlbWVudDsK
Kworc3RydWN0IFBhdHRlcm5BdHRyaWJ1dGVzIHsKKyAgICBQYXR0ZXJuQXR0cmlidXRlcygpCisg
ICAgICAgIDogbV94KCkKKyAgICAgICAgLCBtX3koKQorICAgICAgICAsIG1fd2lkdGgoKQorICAg
ICAgICAsIG1faGVpZ2h0KCkKKyAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZSh0cnVlKQorICAg
ICAgICAsIG1fYm91bmRpbmdCb3hNb2RlQ29udGVudChmYWxzZSkKKyAgICAgICAgLCBtX3BhdHRl
cm5Db250ZW50RWxlbWVudCgwKQorICAgICAgICAsIG1feFNldChmYWxzZSkKKyAgICAgICAgLCBt
X3lTZXQoZmFsc2UpCisgICAgICAgICwgbV93aWR0aFNldChmYWxzZSkKKyAgICAgICAgLCBtX2hl
aWdodFNldChmYWxzZSkKKyAgICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZVNldChmYWxzZSkKKyAg
ICAgICAgLCBtX2JvdW5kaW5nQm94TW9kZUNvbnRlbnRTZXQoZmFsc2UpCisgICAgICAgICwgbV9w
YXR0ZXJuVHJhbnNmb3JtU2V0KGZhbHNlKQorICAgICAgICAsIG1fcGF0dGVybkNvbnRlbnRFbGVt
ZW50U2V0KGZhbHNlKQorICAgIHsKKyAgICB9CisKKyAgICBTVkdMZW5ndGggeCgpIGNvbnN0IHsg
cmV0dXJuIG1feDsgfQorICAgIFNWR0xlbmd0aCB5KCkgY29uc3QgeyByZXR1cm4gbV95OyB9Cisg
ICAgU1ZHTGVuZ3RoIHdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV93aWR0aDsgfQorICAgIFNWR0xl
bmd0aCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hlaWdodDsgfQorICAgIGJvb2wgYm91bmRp
bmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZGluZ0JveE1vZGU7IH0KKyAgICBib29s
IGJvdW5kaW5nQm94TW9kZUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kaW5nQm94TW9k
ZUNvbnRlbnQ7IH0KKyAgICBBZmZpbmVUcmFuc2Zvcm0gcGF0dGVyblRyYW5zZm9ybSgpIGNvbnN0
IHsgcmV0dXJuIG1fcGF0dGVyblRyYW5zZm9ybTsgfQorICAgIGNvbnN0IFNWR1BhdHRlcm5FbGVt
ZW50KiBwYXR0ZXJuQ29udGVudEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3BhdHRlcm5Db250
ZW50RWxlbWVudDsgfQorCisgICAgdm9pZCBzZXRYKGNvbnN0IFNWR0xlbmd0aCYgdmFsdWUpCisg
ICAgeworICAgICAgICBtX3ggPSB2YWx1ZTsKKyAgICAgICAgbV94U2V0ID0gdHJ1ZTsKKyAgICB9
CisKKyAgICB2b2lkIHNldFkoY29uc3QgU1ZHTGVuZ3RoJiB2YWx1ZSkKKyAgICB7CisgICAgICAg
IG1feSA9IHZhbHVlOworICAgICAgICBtX3lTZXQgPSB0cnVlOworICAgIH0KKworICAgIHZvaWQg
c2V0V2lkdGgoY29uc3QgU1ZHTGVuZ3RoJiB2YWx1ZSkKKyAgICB7CisgICAgICAgIG1fd2lkdGgg
PSB2YWx1ZTsKKyAgICAgICAgbV93aWR0aFNldCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBz
ZXRIZWlnaHQoY29uc3QgU1ZHTGVuZ3RoJiB2YWx1ZSkKKyAgICB7CisgICAgICAgIG1faGVpZ2h0
ID0gdmFsdWU7CisgICAgICAgIG1faGVpZ2h0U2V0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lk
IHNldEJvdW5kaW5nQm94TW9kZShib29sIHZhbHVlKQorICAgIHsKKyAgICAgICAgbV9ib3VuZGlu
Z0JveE1vZGUgPSB2YWx1ZTsKKyAgICAgICAgbV9ib3VuZGluZ0JveE1vZGVTZXQgPSB0cnVlOwor
ICAgIH0KKworICAgIHZvaWQgc2V0Qm91bmRpbmdCb3hNb2RlQ29udGVudChib29sIHZhbHVlKQor
ICAgIHsKKyAgICAgICAgbV9ib3VuZGluZ0JveE1vZGVDb250ZW50ID0gdmFsdWU7CisgICAgICAg
IG1fYm91bmRpbmdCb3hNb2RlQ29udGVudFNldCA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBz
ZXRQYXR0ZXJuVHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdmFsdWUpCisgICAgewor
ICAgICAgICBtX3BhdHRlcm5UcmFuc2Zvcm0gPSB2YWx1ZTsKKyAgICAgICAgbV9wYXR0ZXJuVHJh
bnNmb3JtU2V0ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldFBhdHRlcm5Db250ZW50RWxl
bWVudChjb25zdCBTVkdQYXR0ZXJuRWxlbWVudCogdmFsdWUpCisgICAgeworICAgICAgICBtX3Bh
dHRlcm5Db250ZW50RWxlbWVudCA9IHZhbHVlOworICAgICAgICBtX3BhdHRlcm5Db250ZW50RWxl
bWVudFNldCA9IHRydWU7CisgICAgfQorCisgICAgYm9vbCBoYXNYKCkgY29uc3QgeyByZXR1cm4g
bV94U2V0OyB9CisgICAgYm9vbCBoYXNZKCkgY29uc3QgeyByZXR1cm4gbV95U2V0OyB9CisgICAg
Ym9vbCBoYXNXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGhTZXQ7IH0KKyAgICBib29sIGhh
c0hlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1faGVpZ2h0U2V0OyB9CisgICAgYm9vbCBoYXNCb3Vu
ZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kaW5nQm94TW9kZVNldDsgfQorICAg
IGJvb2wgaGFzQm91bmRpbmdCb3hNb2RlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRp
bmdCb3hNb2RlQ29udGVudFNldDsgfQorICAgIGJvb2wgaGFzUGF0dGVyblRyYW5zZm9ybSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGF0dGVyblRyYW5zZm9ybVNldDsgfQorICAgIGJvb2wgaGFzUGF0dGVy
bkNvbnRlbnRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9wYXR0ZXJuQ29udGVudEVsZW1lbnRT
ZXQ7IH0KKworcHJpdmF0ZToKKyAgICAvLyBQcm9wZXJ0aWVzCisgICAgU1ZHTGVuZ3RoIG1feDsK
KyAgICBTVkdMZW5ndGggbV95OworICAgIFNWR0xlbmd0aCBtX3dpZHRoOworICAgIFNWR0xlbmd0
aCBtX2hlaWdodDsKKyAgICBib29sIG1fYm91bmRpbmdCb3hNb2RlOworICAgIGJvb2wgbV9ib3Vu
ZGluZ0JveE1vZGVDb250ZW50OworICAgIEFmZmluZVRyYW5zZm9ybSBtX3BhdHRlcm5UcmFuc2Zv
cm07CisgICAgY29uc3QgU1ZHUGF0dGVybkVsZW1lbnQqIG1fcGF0dGVybkNvbnRlbnRFbGVtZW50
OworCisgICAgLy8gUHJvcGVydHkgc3RhdGVzCisgICAgYm9vbCBtX3hTZXQgOiAxOworICAgIGJv
b2wgbV95U2V0IDogMTsKKyAgICBib29sIG1fd2lkdGhTZXQgOiAxOworICAgIGJvb2wgbV9oZWln
aHRTZXQgOiAxOworICAgIGJvb2wgbV9ib3VuZGluZ0JveE1vZGVTZXQgOiAxOworICAgIGJvb2wg
bV9ib3VuZGluZ0JveE1vZGVDb250ZW50U2V0IDogMTsKKyAgICBib29sIG1fcGF0dGVyblRyYW5z
Zm9ybVNldCA6IDE7CisgICAgYm9vbCBtX3BhdHRlcm5Db250ZW50RWxlbWVudFNldCA6IDE7Cit9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogI2Vu
ZGlmCi0KLS8vIHZpbTp0cz00Om5vZXQKSW5kZXg6IFdlYkNvcmUvc3ZnL1JhZGlhbEdyYWRpZW50
QXR0cmlidXRlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1JhZGlhbEdyYWRpZW50QXR0
cmlidXRlcy5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1JhZGlhbEdyYWRpZW50
QXR0cmlidXRlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw5ICsyMCw4IEBACiAjaWZuZGVmIFJh
ZGlhbEdyYWRpZW50QXR0cmlidXRlc19oCiAjZGVmaW5lIFJhZGlhbEdyYWRpZW50QXR0cmlidXRl
c19oCiAKLSNpbmNsdWRlICJHcmFkaWVudEF0dHJpYnV0ZXMuaCIKLQogI2lmIEVOQUJMRShTVkcp
CisjaW5jbHVkZSAiR3JhZGllbnRBdHRyaWJ1dGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBzdHJ1Y3QgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIDogR3JhZGllbnRBdHRyaWJ1dGVz
IHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisr
KyBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
NCw3ICs3NCw3IEBAIHZvaWQgU1ZHQ2xpcFBhdGhFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGEKICAg
ICAgICAgU1ZHTGFuZ1NwYWNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAogICAgICAg
ICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1l
KSB8fAogICAgICAgICBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDo6aXNLbm93bkF0dHJp
YnV0ZShhdHRyTmFtZSkpCi0gICAgICAgIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKTsKKyAg
ICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR0NsaXBQYXRo
RWxlbWVudDo6c3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFt
ZSkKQEAgLTk2LDcgKzk2LDkgQEAgdm9pZCBTVkdDbGlwUGF0aEVsZW1lbnQ6OnN5bmNocm9uaXpl
UHJvcAogdm9pZCBTVkdDbGlwUGF0aEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5n
ZWRCeVBhcnNlciwgTm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNo
aWxkQ291bnREZWx0YSkKIHsKICAgICBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDo6Y2hp
bGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwgYmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwg
Y2hpbGRDb3VudERlbHRhKTsKLSAgICBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisKKyAg
ICBpZiAoIWNoYW5nZWRCeVBhcnNlcikKKyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50
cygpOwogfQogCiBSZW5kZXJPYmplY3QqIFNWR0NsaXBQYXRoRWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdDbGlwUGF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0
aEVsZW1lbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIlNWR1Rl
c3RzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKwogY2xhc3MgU1ZHQ2xpcFBhdGhFbGVtZW50
IDogcHVibGljIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFNWR1Rlc3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHVibGljIFNWR0xhbmdTcGFjZSwKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5z
aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lv
bnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Miw3ICs2Miw3IEBAIHZvaWQgU1ZHRG9jdW1lbnRF
eHRlbnNpb25zOjpyZW1vdmVUaW1lQ28KICAgICBtX3RpbWVDb250YWluZXJzLnJlbW92ZShlbGVt
ZW50KTsKIH0KIAotdm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmFkZFJlc291cmNlKGNvbnN0
IFN0cmluZyYgaWQsIFJlbmRlclNWR1Jlc291cmNlKiByZXNvdXJjZSkKK3ZvaWQgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zOjphZGRSZXNvdXJjZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lciogcmVzb3VyY2UpCiB7CiAgICAgQVNTRVJUKHJlc291cmNlKTsK
IApAQCAtNzMsNyArNzMsNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6YWRkUmVzb3Vy
Y2UoCiAgICAgbV9yZXNvdXJjZXMuc2V0KGlkLCByZXNvdXJjZSk7CiB9CiAKLXZvaWQgU1ZHRG9j
dW1lbnRFeHRlbnNpb25zOjpyZW1vdmVSZXNvdXJjZShjb25zdCBTdHJpbmcmIGlkKQordm9pZCBT
VkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlbW92ZVJlc291cmNlKGNvbnN0IEF0b21pY1N0cmluZyYg
aWQpCiB7CiAgICAgaWYgKGlkLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtODIsNyAr
ODIsNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVtb3ZlUmVzb3VyCiAgICAgbV9y
ZXNvdXJjZXMucmVtb3ZlKGlkKTsKIH0KIAotUmVuZGVyU1ZHUmVzb3VyY2UqIFNWR0RvY3VtZW50
RXh0ZW5zaW9uczo6cmVzb3VyY2VCeUlkKGNvbnN0IFN0cmluZyYgaWQpIGNvbnN0CitSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lciogU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZXNvdXJjZUJ5SWQo
Y29uc3QgQXRvbWljU3RyaW5nJiBpZCkgY29uc3QKIHsKICAgICBpZiAoaWQuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gMDsKQEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0
ZW5zaW9uczo6YWRkUGVuZGluZ1JlCiAgICAgaWYgKG1fcGVuZGluZ1Jlc291cmNlcy5jb250YWlu
cyhpZCkpCiAgICAgICAgIG1fcGVuZGluZ1Jlc291cmNlcy5nZXQoaWQpLT5hZGQob2JqKTsKICAg
ICBlbHNlIHsKLSAgICAgICAgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4qIHNldCA9IG5ldyBI
YXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPigpOworICAgICAgICBIYXNoU2V0PFNWR1N0eWxlZEVs
ZW1lbnQqPiogc2V0ID0gbmV3IEhhc2hTZXQ8U1ZHU3R5bGVkRWxlbWVudCo+OwogICAgICAgICBz
ZXQtPmFkZChvYmopOwogCiAgICAgICAgIG1fcGVuZGluZ1Jlc291cmNlcy5hZGQoaWQsIHNldCk7
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAkocmV2aXNpb24gNTgxNTkpCisr
KyBXZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAkod29ya2luZyBjb3B5KQpAQCAt
MjQsMTggKzI0LDE2IEBACiAjZGVmaW5lIFNWR0RvY3VtZW50RXh0ZW5zaW9uc19oCiAKICNpZiBF
TkFCTEUoU1ZHKQotCi0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0KLSNpbmNsdWRlICJTdHJpbmdI
YXNoLmgiCisjaW5jbHVkZSAiQXRvbWljU3RyaW5nSGFzaC5oIgogI2luY2x1ZGUgIlN0cmluZ0lt
cGwuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBEb2N1bWVudDsKLWNsYXNzIFJlbmRlclNWR1Jlc291cmNlOworY2xhc3MgUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTdHJpbmc7CiBjbGFzcyBTVkdTdHlsZWRFbGVtZW50
OwogY2xhc3MgU1ZHU01JTEVsZW1lbnQ7CkBAIC00OSw5ICs0Nyw5IEBAIHB1YmxpYzoKICAgICB2
b2lkIGFkZFRpbWVDb250YWluZXIoU1ZHU1ZHRWxlbWVudCopOwogICAgIHZvaWQgcmVtb3ZlVGlt
ZUNvbnRhaW5lcihTVkdTVkdFbGVtZW50Kik7CiAKLSAgICB2b2lkIGFkZFJlc291cmNlKGNvbnN0
IFN0cmluZyYgaWQsIFJlbmRlclNWR1Jlc291cmNlKik7Ci0gICAgdm9pZCByZW1vdmVSZXNvdXJj
ZShjb25zdCBTdHJpbmcmIGlkKTsKLSAgICBSZW5kZXJTVkdSZXNvdXJjZSogcmVzb3VyY2VCeUlk
KGNvbnN0IFN0cmluZyYgaWQpIGNvbnN0OworICAgIHZvaWQgYWRkUmVzb3VyY2UoY29uc3QgQXRv
bWljU3RyaW5nJiBpZCwgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqKTsKKyAgICB2b2lkIHJl
bW92ZVJlc291cmNlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQpOworICAgIFJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyKiByZXNvdXJjZUJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJiBpZCkgY29uc3Q7
CiAKICAgICB2b2lkIHN0YXJ0QW5pbWF0aW9ucygpOwogICAgIHZvaWQgcGF1c2VBbmltYXRpb25z
KCk7CkBAIC02NCw4ICs2Miw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgRG9jdW1lbnQqIG1f
ZG9jOyAvLyB3ZWFrIHJlZmVyZW5jZQogICAgIEhhc2hTZXQ8U1ZHU1ZHRWxlbWVudCo+IG1fdGlt
ZUNvbnRhaW5lcnM7IC8vIEZvciBTVkcgMS4yIHN1cHBvcnQgdGhpcyB3aWxsIG5lZWQgdG8gYmUg
bWFkZSBtb3JlIGdlbmVyYWwuCi0gICAgSGFzaE1hcDxTdHJpbmcsIFJlbmRlclNWR1Jlc291cmNl
Kj4gbV9yZXNvdXJjZXM7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIEhhc2hTZXQ8U1ZHU3R5bGVkRWxl
bWVudCo+Kj4gbV9wZW5kaW5nUmVzb3VyY2VzOworICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBS
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcio+IG1fcmVzb3VyY2VzOworICAgIEhhc2hNYXA8QXRv
bWljU3RyaW5nLCBIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPio+IG1fcGVuZGluZ1Jlc291cmNl
czsKIAogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhjb25zdCBTVkdEb2N1bWVudEV4dGVuc2lv
bnMmKTsKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMmIG9wZXJhdG9yPShjb25zdCBTVkdEb2N1
bWVudEV4dGVuc2lvbnMmKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysr
IFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw2
IEBACiAjaW5jbHVkZSAiU1ZHRWxlbWVudEluc3RhbmNlLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVu
dFJhcmVEYXRhLmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRlICJTVkdSZXNvdXJj
ZS5oIgogI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdVUklSZWZlcmVu
Y2UuaCIKICNpbmNsdWRlICJTVkdVc2VFbGVtZW50LmgiCkBAIC0yOTIsOCArMjkxLDYgQEAgdm9p
ZCBTVkdFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCiAKICAgICAgICAgZm9yICg7IGl0
ICE9IGVuZDsgKytpdCkKICAgICAgICAgICAgICgqaXQpLT5idWlsZFBlbmRpbmdSZXNvdXJjZSgp
OwotCi0gICAgICAgIFNWR1Jlc291cmNlOjppbnZhbGlkYXRlQ2xpZW50cygqY2xpZW50cyk7CiAg
ICAgfQogfQogCkBAIC0zMDksOSArMzA2LDcgQEAgdm9pZCBTVkdFbGVtZW50OjphdHRyaWJ1dGVD
aGFuZ2VkKEF0dHJpYgogCiB2b2lkIFNWR0VsZW1lbnQ6OnVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKCFtX2Fy
ZVNWR0F0dHJpYnV0ZXNWYWxpZCk7Ci0KLSAgICBpZiAobV9zeW5jaHJvbml6aW5nU1ZHQXR0cmli
dXRlcykKKyAgICBpZiAobV9zeW5jaHJvbml6aW5nU1ZHQXR0cmlidXRlcyB8fCBtX2FyZVNWR0F0
dHJpYnV0ZXNWYWxpZCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9zeW5jaHJvbml6aW5nU1ZH
QXR0cmlidXRlcyA9IHRydWU7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdl
YkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzksMTMgKzc5LDE0IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRDdXJzb3JFbGVtZW50KFNWR0N1
cnNvckVsZW1lbnQqKTsKICAgICAgICAgdm9pZCBzZXRDdXJzb3JJbWFnZVZhbHVlKENTU0N1cnNv
ckltYWdlVmFsdWUqKTsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQW5pbWF0ZWRTVkdB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OworCiAgICAgcHJvdGVjdGVkOgog
ICAgICAgICBTVkdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogCiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKICAgICAgICAgdmly
dHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50KCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBh
dHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSosIGJvb2wgcHJlc2VydmVEZWNscyA9IGZhbHNlKTsK
LSAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmKSBjb25zdDsKIAogICAgICAgICBTVkdFbGVtZW50UmFyZURhdGEqIHJhcmVT
VkdEYXRhKCkgY29uc3Q7CiAgICAgICAgIFNWR0VsZW1lbnRSYXJlRGF0YSogZW5zdXJlUmFyZVNW
R0RhdGEoKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NW
R0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzAsMjAgKzQ3MCwyMCBAQCB2b2lkIEZvbnQ6
OmRyYXdUZXh0VXNpbmdTVkdGb250KEdyYXBoaWNzCiAgICAgICAgIEZsb2F0UG9pbnQgY3VycmVu
dFBvaW50ID0gcG9pbnQ7CiAgICAgICAgIGZsb2F0IHNjYWxlID0gY29udmVydEVtVW5pdFRvUGl4
ZWwoc2l6ZSgpLCBmb250RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKSwgMS4wZik7CiAKLSAgICAg
ICAgU1ZHUGFpbnRTZXJ2ZXIqIGFjdGl2ZVBhaW50U2VydmVyID0gcnVuLmFjdGl2ZVBhaW50U2Vy
dmVyKCk7CisgICAgICAgIFJlbmRlclNWR1Jlc291cmNlKiBhY3RpdmVQYWludGluZ1Jlc291cmNl
ID0gcnVuLmFjdGl2ZVBhaW50aW5nUmVzb3VyY2UoKTsKIAogICAgICAgICAvLyBJZiByZW5kZXJP
YmplY3QgaXMgbm90IHNldCwgd2UncmUgZGVhbGluZyBmb3IgSFRNTCB0ZXh0IHJlbmRlcmVkIHVz
aW5nIFNWRyBGb250cy4KICAgICAgICAgaWYgKCFydW4ucmVmZXJlbmNpbmdSZW5kZXJPYmplY3Qo
KSkgewotICAgICAgICAgICAgQVNTRVJUKCFhY3RpdmVQYWludFNlcnZlcik7CisgICAgICAgICAg
ICBBU1NFUlQoIWFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOwogCiAgICAgICAgICAgICAvLyBUT0RP
OiBXZSdyZSBvbmx5IHN1cHBvcnRpbmcgc2ltcGxlIGZpbGxlZCBIVE1MIHRleHQgc28gZmFyLgot
ICAgICAgICAgICAgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCogc29saWRQYWludFNlcnZlciA9IFNWR1Bh
aW50U2VydmVyOjpzaGFyZWRTb2xpZFBhaW50U2VydmVyKCk7Ci0gICAgICAgICAgICBzb2xpZFBh
aW50U2VydmVyLT5zZXRDb2xvcihjb250ZXh0LT5maWxsQ29sb3IoKSk7CisgICAgICAgICAgICBS
ZW5kZXJTVkdSZXNvdXJjZVNvbGlkQ29sb3IqIHNvbGlkUGFpbnRpbmdSZXNvdXJjZSA9IFJlbmRl
clNWR1Jlc291cmNlOjpzaGFyZWRTb2xpZFBhaW50aW5nUmVzb3VyY2UoKTsKKyAgICAgICAgICAg
IHNvbGlkUGFpbnRpbmdSZXNvdXJjZS0+c2V0Q29sb3IoY29udGV4dC0+ZmlsbENvbG9yKCkpOwog
Ci0gICAgICAgICAgICBhY3RpdmVQYWludFNlcnZlciA9IHNvbGlkUGFpbnRTZXJ2ZXI7CisgICAg
ICAgICAgICBhY3RpdmVQYWludGluZ1Jlc291cmNlID0gc29saWRQYWludGluZ1Jlc291cmNlOwog
ICAgICAgICB9CiAKLSAgICAgICAgQVNTRVJUKGFjdGl2ZVBhaW50U2VydmVyKTsKKyAgICAgICAg
QVNTRVJUKGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UpOwogCiAgICAgICAgIGludCBjaGFyc0NvbnN1
bWVkOwogICAgICAgICBTdHJpbmcgZ2x5cGhOYW1lOwpAQCAtNTEyLDcgKzUxMiw3IEBAIHZvaWQg
Rm9udDo6ZHJhd1RleHRVc2luZ1NWR0ZvbnQoR3JhcGhpY3MKICAgICAgICAgU1ZHVGV4dFJ1bldh
bGtlcjxTVkdUZXh0UnVuV2Fsa2VyRHJhd1RleHREYXRhPiBydW5XYWxrZXIoZm9udERhdGEsIGZv
bnRFbGVtZW50LCBkYXRhLCBkcmF3VGV4dFVzaW5nU1ZHRm9udENhbGxiYWNrLCBkcmF3VGV4dE1p
c3NpbmdHbHlwaENhbGxiYWNrKTsKICAgICAgICAgcnVuV2Fsa2VyLndhbGsocnVuLCBpc1ZlcnRp
Y2FsVGV4dCwgbGFuZ3VhZ2UsIGZyb20sIHRvKTsKIAotICAgICAgICBTVkdQYWludFRhcmdldFR5
cGUgdGFyZ2V0VHlwZSA9IGNvbnRleHQtPnRleHREcmF3aW5nTW9kZSgpID09IGNUZXh0U3Ryb2tl
ID8gQXBwbHlUb1N0cm9rZVRhcmdldFR5cGUgOiBBcHBseVRvRmlsbFRhcmdldFR5cGU7CisgICAg
ICAgIFJlbmRlclNWR1Jlc291cmNlTW9kZSByZXNvdXJjZU1vZGUgPSBjb250ZXh0LT50ZXh0RHJh
d2luZ01vZGUoKSA9PSBjVGV4dFN0cm9rZSA/IEFwcGx5VG9TdHJva2VNb2RlIDogQXBwbHlUb0Zp
bGxNb2RlOwogCiAgICAgICAgIHVuc2lnbmVkIG51bUdseXBocyA9IGRhdGEuZ2x5cGhJZGVudGlm
aWVycy5zaXplKCk7CiAgICAgICAgIHVuc2lnbmVkIGZhbGxiYWNrQ2hhcmFjdGVySW5kZXggPSAw
OwpAQCAtNTM3LDEwICs1MzcsMTAgQEAgdm9pZCBGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udChH
cmFwaGljcwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmJlZ2luUGF0aCgpOwogICAg
ICAgICAgICAgICAgICAgICBjb250ZXh0LT5hZGRQYXRoKGdseXBoUGF0aCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChhY3RpdmVQYWludFNlcnZlci0+c2V0dXAoY29udGV4dCwgcnVuLnJlZmVy
ZW5jaW5nUmVuZGVyT2JqZWN0KCksIHRhcmdldFR5cGUpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBhY3RpdmVQYWludFNlcnZlci0+cmVuZGVyUGF0aChjb250ZXh0LCBydW4ucmVmZXJlbmNp
bmdSZW5kZXJPYmplY3QoKSwgdGFyZ2V0VHlwZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBh
Y3RpdmVQYWludFNlcnZlci0+dGVhcmRvd24oY29udGV4dCwgcnVuLnJlZmVyZW5jaW5nUmVuZGVy
T2JqZWN0KCksIHRhcmdldFR5cGUpOwotICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gcnVuLnJlZmVyZW5jaW5nUmVuZGVyT2Jq
ZWN0KCkgPyBydW4ucmVmZXJlbmNpbmdSZW5kZXJPYmplY3QoKS0+c3R5bGUoKSA6IDA7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChhY3RpdmVQYWludGluZ1Jlc291cmNlLT5hcHBseVJlc291cmNl
KHJ1bi5yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgpLCBzdHlsZSwgY29udGV4dCwgcmVzb3VyY2VN
b2RlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVBhaW50aW5nUmVzb3VyY2UtPnBv
c3RBcHBseVJlc291cmNlKHJ1bi5yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgpLCBjb250ZXh0LCBy
ZXNvdXJjZU1vZGUpOwogCiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnJlc3RvcmUoKTsK
ICAgICAgICAgICAgICAgICB9CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODE1OSkK
KysrIFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiAr
MjMsNyBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHR0VsZW1lbnQuaCIKIAorI2lu
Y2x1ZGUgIlJlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Ry
YW5zZm9ybWFibGVDb250YWluZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzksMTYg
KzgwLDE1IEBAIHZvaWQgU1ZHR0VsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY28KICAgICAg
ICAgc3luY2hyb25pemVFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCk7CiB9CiAKLXZvaWQgU1ZH
R0VsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwgTm9kZSogYmVm
b3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSkKK1JlbmRl
ck9iamVjdCogU1ZHR0VsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwg
UmVuZGVyU3R5bGUqIHN0eWxlKQogewotICAgIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlZEJ5UGFyc2VyLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hh
bmdlLCBjaGlsZENvdW50RGVsdGEpOworICAgIC8vIFNWRyAxLjEgdGVzdHN1aXRlIGV4cGxpY2l0
ZWx5IHVzZXMgY29uc3RydWN0cyBsaWtlIDxnIGRpc3BsYXk9Im5vbmUiPjxsaW5lYXJHcmFkaWVu
dD4KKyAgICAvLyBXZSBzdGlsbCBoYXZlIHRvIGNyZWF0ZSByZW5kZXJlcnMgZm9yIHRoZSA8Zz4g
JiA8bGluZWFyR3JhZGllbnQ+IGVsZW1lbnQsIHRob3VnaCB0aGUKKyAgICAvLyBzdWJ0cmVlIG1h
eSBiZSBoaWRkZW4gLSB3ZSBvbmx5IHdhbnQgdGhlIHJlc291cmNlIHJlbmRlcmVycyB0byBleGlz
dCBzbyB0aGV5IGNhbiBiZQorICAgIC8vIHJlZmVyZW5jZWQgZnJvbSBzb21ld2hlcmUgZWxzZS4K
KyAgICBpZiAoc3R5bGUtPmRpc3BsYXkoKSA9PSBOT05FKQorICAgICAgICByZXR1cm4gbmV3IChh
cmVuYSkgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyKHRoaXMpOwogCi0gICAgaWYgKHJlbmRlcmVy
KCkpCi0gICAgICAgIHJlbmRlcmVyKCktPnNldE5lZWRzTGF5b3V0KHRydWUpOwotfQotCi1SZW5k
ZXJPYmplY3QqIFNWR0dFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEs
IFJlbmRlclN0eWxlKikKLXsKICAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyU1ZHVHJhbnNm
b3JtYWJsZUNvbnRhaW5lcih0aGlzKTsKIH0KIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHR0VsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCShyZXZpc2lvbiA1
ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQz
LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFy
c2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAgICAgICAgdmly
dHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotICAg
ICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0g
ZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50
IGNoaWxkQ291bnREZWx0YSA9IDApOwogCisgICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklz
TmVlZGVkKFJlbmRlclN0eWxlKikgeyByZXR1cm4gdHJ1ZTsgfQogICAgICAgICB2aXJ0dWFsIFJl
bmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwog
CiAgICAgcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAkocmV2aXNp
b24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogLyoKICAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYsIDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAg
ICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5v
cmc+CisgICAgQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC04NCwxNiArODUsMTMg
QEAgdm9pZCBTVkdHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYQogewogICAgIFNWR1N0
eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoYXR0ck5hbWUpOwogCi0gICAgaWYgKCFt
X3Jlc291cmNlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFt
ZXM6OmdyYWRpZW50VW5pdHNBdHRyIHx8Ci0gICAgICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjpn
cmFkaWVudFRyYW5zZm9ybUF0dHIgfHwKLSAgICAgICAgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnNw
cmVhZE1ldGhvZEF0dHIgfHwKLSAgICAgICAgU1ZHVVJJUmVmZXJlbmNlOjppc0tub3duQXR0cmli
dXRlKGF0dHJOYW1lKSB8fAotICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpp
c0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSB8fAotICAgICAgICBTVkdTdHlsZWRFbGVtZW50Ojpp
c0tub3duQXR0cmlidXRlKGF0dHJOYW1lKSkKLSAgICAgICAgbV9yZXNvdXJjZS0+aW52YWxpZGF0
ZSgpOworICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIKKyAg
ICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmdyYWRpZW50VHJhbnNmb3JtQXR0cgorICAg
ICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0cgorICAgICAgICB8
fCBTVkdVUklSZWZlcmVuY2U6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpCisgICAgICAgIHx8
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUp
CisgICAgICAgIHx8IFNWR1N0eWxlZEVsZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUp
KQorICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZHR3Jh
ZGllbnRFbGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0
dHJOYW1lKQpAQCAtMTI1LDYxICsxMjMsMzQgQEAgdm9pZCBTVkdHcmFkaWVudEVsZW1lbnQ6OmNo
aWxkcmVuQ2hhbmdlZAogewogICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChj
aGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0
YSk7CiAKLSAgICBpZiAobV9yZXNvdXJjZSkKLSAgICAgICAgbV9yZXNvdXJjZS0+aW52YWxpZGF0
ZSgpOwotfQotCi1SZW5kZXJPYmplY3QqIFNWR0dyYWRpZW50RWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCi17Ci0gICAgcmV0dXJuIG5ldyAo
YXJlbmEpIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcih0aGlzKTsKLX0KLQotU1ZHUmVzb3VyY2Uq
IFNWR0dyYWRpZW50RWxlbWVudDo6Y2FudmFzUmVzb3VyY2UoY29uc3QgUmVuZGVyT2JqZWN0KikK
LXsKLSAgICBpZiAoIW1fcmVzb3VyY2UpIHsKLSAgICAgICAgaWYgKGdyYWRpZW50VHlwZSgpID09
IExpbmVhckdyYWRpZW50UGFpbnRTZXJ2ZXIpCi0gICAgICAgICAgICBtX3Jlc291cmNlID0gU1ZH
UGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudDo6Y3JlYXRlKHRoaXMpOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBtX3Jlc291cmNlID0gU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6Y3Jl
YXRlKHRoaXMpOwotICAgIH0KLQotICAgIHJldHVybiBtX3Jlc291cmNlLmdldCgpOworICAgIGlm
ICghY2hhbmdlZEJ5UGFyc2VyKQorICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7
CiB9CiAKLVZlY3RvcjxTVkdHcmFkaWVudFN0b3A+IFNWR0dyYWRpZW50RWxlbWVudDo6YnVpbGRT
dG9wcygpIGNvbnN0CitWZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4gU1ZHR3JhZGllbnRFbGVt
ZW50OjpidWlsZFN0b3BzKCkKIHsKLSAgICBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiBzdG9wczsK
LSAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IGdyYWRpZW50U3R5bGU7CisgICAgVmVjdG9yPEdyYWRp
ZW50OjpDb2xvclN0b3A+IHN0b3BzOwogCisgICAgZmxvYXQgcHJldmlvdXNPZmZzZXQgPSAwLjBm
OwogICAgIGZvciAoTm9kZSogbiA9IGZpcnN0Q2hpbGQoKTsgbjsgbiA9IG4tPm5leHRTaWJsaW5n
KCkpIHsKICAgICAgICAgU1ZHRWxlbWVudCogZWxlbWVudCA9IG4tPmlzU1ZHRWxlbWVudCgpID8g
c3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG4pIDogMDsKKyAgICAgICAgaWYgKCFlbGVtZW50IHx8
ICFlbGVtZW50LT5pc0dyYWRpZW50U3RvcCgpKQorICAgICAgICAgICAgY29udGludWU7CiAKLSAg
ICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aXNHcmFkaWVudFN0b3AoKSkgewotICAgICAg
ICAgICAgU1ZHU3RvcEVsZW1lbnQqIHN0b3AgPSBzdGF0aWNfY2FzdDxTVkdTdG9wRWxlbWVudCo+
KGVsZW1lbnQpOwotICAgICAgICAgICAgZmxvYXQgc3RvcE9mZnNldCA9IHN0b3AtPm9mZnNldCgp
OwotCi0gICAgICAgICAgICBDb2xvciBjb2xvcjsKLSAgICAgICAgICAgIGZsb2F0IG9wYWNpdHk7
Ci0KLSAgICAgICAgICAgIGlmIChzdG9wLT5yZW5kZXJlcigpKSB7Ci0gICAgICAgICAgICAgICAg
UmVuZGVyU3R5bGUqIHN0b3BTdHlsZSA9IHN0b3AtPnJlbmRlcmVyKCktPnN0eWxlKCk7Ci0gICAg
ICAgICAgICAgICAgY29sb3IgPSBzdG9wU3R5bGUtPnN2Z1N0eWxlKCktPnN0b3BDb2xvcigpOwot
ICAgICAgICAgICAgICAgIG9wYWNpdHkgPSBzdG9wU3R5bGUtPnN2Z1N0eWxlKCktPnN0b3BPcGFj
aXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIElmIHRoZXJl
IGlzIG5vIHJlbmRlcmVyIGZvciB0aGlzIHN0b3AgZWxlbWVudCwgdGhlbiBhIHBhcmVudCBlbGVt
ZW50Ci0gICAgICAgICAgICAgICAgLy8gc2V0IGRpc3BsYXk9Im5vbmUiIC0gaWUuIDxnIGRpc3Bs
YXk9Im5vbmUiPjxsaW5lYXJHcmFkaWVudD48c3RvcD4uLgotICAgICAgICAgICAgICAgIC8vIFVu
Zm9ydHVuYXRlbHkgd2UgaGF2ZSB0byBtYW51YWxseSByZWJ1aWxkIHRoZSBzdG9wIHN0eWxlLiBT
ZWUgcHNlcnZlcnMtZ3JhZC0xOS1iLnN2ZwotICAgICAgICAgICAgICAgIGlmICghZ3JhZGllbnRT
dHlsZSkKLSAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRTdHlsZSA9IGNvbnN0X2Nhc3Q8U1ZH
R3JhZGllbnRFbGVtZW50Kj4odGhpcyktPnN0eWxlRm9yUmVuZGVyZXIoKTsKLQotICAgICAgICAg
ICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gc3RvcFN0eWxlID0gc3RvcC0+cmVzb2x2ZVN0eWxl
KGdyYWRpZW50U3R5bGUuZ2V0KCkpOwotCi0gICAgICAgICAgICAgICAgY29sb3IgPSBzdG9wU3R5
bGUtPnN2Z1N0eWxlKCktPnN0b3BDb2xvcigpOwotICAgICAgICAgICAgICAgIG9wYWNpdHkgPSBz
dG9wU3R5bGUtPnN2Z1N0eWxlKCktPnN0b3BPcGFjaXR5KCk7Ci0gICAgICAgICAgICB9CisgICAg
ICAgIFNWR1N0b3BFbGVtZW50KiBzdG9wID0gc3RhdGljX2Nhc3Q8U1ZHU3RvcEVsZW1lbnQqPihl
bGVtZW50KTsKKyAgICAgICAgQ29sb3IgY29sb3IgPSBzdG9wLT5zdG9wQ29sb3JJbmNsdWRpbmdP
cGFjaXR5KCk7CiAKLSAgICAgICAgICAgIHN0b3BzLmFwcGVuZChtYWtlR3JhZGllbnRTdG9wKHN0
b3BPZmZzZXQsIG1ha2VSR0JBKGNvbG9yLnJlZCgpLCBjb2xvci5ncmVlbigpLCBjb2xvci5ibHVl
KCksIGludChvcGFjaXR5ICogMjU1LikpKSk7Ci0gICAgICAgIH0KKyAgICAgICAgLy8gRmlndXJl
IG91dCByaWdodCBtb25vdG9uaWMgb2Zmc2V0CisgICAgICAgIGZsb2F0IG9mZnNldCA9IHN0b3At
Pm9mZnNldCgpOworICAgICAgICBvZmZzZXQgPSBzdGQ6Om1pbihzdGQ6Om1heChwcmV2aW91c09m
ZnNldCwgb2Zmc2V0KSwgMS4wZik7CisgICAgICAgIHByZXZpb3VzT2Zmc2V0ID0gb2Zmc2V0Owor
CisgICAgICAgIC8vIEV4dHJhY3QgaW5kaXZpZHVhbCBjaGFubmVsIHZhbHVlcworICAgICAgICAv
LyBGSVhNRTogV2h5IGRvZXNuJ3QgQ29sb3JTdG9wIHRha2UgYSBDb2xvciBhbmQgYW4gb2Zmc2V0
Pz8KKyAgICAgICAgZmxvYXQgciwgZywgYiwgYTsKKyAgICAgICAgY29sb3IuZ2V0UkdCQShyLCBn
LCBiLCBhKTsKKworICAgICAgICBzdG9wcy5hcHBlbmQoR3JhZGllbnQ6OkNvbG9yU3RvcChvZmZz
ZXQsIHIsIGcsIGIsIGEpKTsKICAgICB9CiAKICAgICByZXR1cm4gc3RvcHM7CkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdHcmFkaWVudEVsZW1lbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdH
cmFkaWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsNyBAQAogI2RlZmlu
ZSBTVkdHcmFkaWVudEVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJSZW5k
ZXJPYmplY3QuaCIKLSNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgiCisjaW5j
bHVkZSAiR3JhZGllbnQuaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1RyYW5zZm9y
bUxpc3QuaCIKQEAgLTQzLDIwICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwog
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJz
ZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAw
LCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7Ci0gICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0
KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKLSAgICAgICAg
dmlydHVhbCBTVkdSZXNvdXJjZSogY2FudmFzUmVzb3VyY2UoY29uc3QgUmVuZGVyT2JqZWN0Kik7
Ci0KLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIGZyaWVuZCBjbGFzcyBTVkdQYWludFNlcnZlckdy
YWRpZW50OwotICAgICAgICBmcmllbmQgY2xhc3MgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Owot
ICAgICAgICBmcmllbmQgY2xhc3MgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OwotCi0gICAgICAg
IHZpcnR1YWwgdm9pZCBidWlsZEdyYWRpZW50KCkgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFs
IFNWR1BhaW50U2VydmVyVHlwZSBncmFkaWVudFR5cGUoKSBjb25zdCA9IDA7Ci0KLSAgICAgICAg
VmVjdG9yPFNWR0dyYWRpZW50U3RvcD4gYnVpbGRTdG9wcygpIGNvbnN0OwotICAgICAgICBtdXRh
YmxlIFJlZlB0cjxTVkdQYWludFNlcnZlckdyYWRpZW50PiBtX3Jlc291cmNlOworICAgICAgICBW
ZWN0b3I8R3JhZGllbnQ6OkNvbG9yU3RvcD4gYnVpbGRTdG9wcygpOwogIAogICAgIHByb3RlY3Rl
ZDoKICAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdHcmFkaWVudEVsZW1lbnQs
IFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyLCBpbnQsIFNwcmVhZE1ldGhvZCwgc3ByZWFkTWV0
aG9kKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZp
c2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiAgICAgICAgICAgICAgICAgICAyMDA0LCAy
MDA1LCAyMDA2LCAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAg
ICAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgICAgICAgICAgICAgICAgICAy
MDA4IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICAgIENvcHlyaWdodCAoQykgUmVz
ZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogICAg
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKICAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwpAQCAtNzAsMTIgKzcxLDExIEBAIHZvaWQgU1ZHTGluZWFyR3JhZGllbnRF
bGVtZW50OjpzdmdBdHRyaWIKIHsKICAgICBTVkdHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJpYnV0
ZUNoYW5nZWQoYXR0ck5hbWUpOwogCi0gICAgaWYgKCFtX3Jlc291cmNlKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OngxQXR0ciB8fCBhdHRyTmFtZSA9
PSBTVkdOYW1lczo6eTFBdHRyIHx8Ci0gICAgICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjp4MkF0
dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnkyQXR0cikKLSAgICAgICAgbV9yZXNvdXJjZS0+
aW52YWxpZGF0ZSgpOworICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6eDFBdHRyCisgICAg
ICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjp5MUF0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUg
PT0gU1ZHTmFtZXM6OngyQXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eTJB
dHRyKQorICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZH
TGluZWFyR3JhZGllbnRFbGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lKQpAQCAtMTAwLDU2ICsxMDAsMTggQEAgdm9pZCBTVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQ6OnN5bmNocm9uaQogICAgICAgICBzeW5jaHJvbml6ZVkyKCk7CiB9CiAKLXZv
aWQgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpidWlsZEdyYWRpZW50KCkgY29uc3QKK1JlbmRl
ck9iamVjdCogU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJB
cmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKIHsKLSAgICBMaW5lYXJHcmFkaWVudEF0dHJpYnV0
ZXMgYXR0cmlidXRlcyA9IGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKTsKLQotICAgIFJlZlB0
cjxTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50PiBsaW5lYXJHcmFkaWVudCA9IFdURjo6c3Rh
dGljX3BvaW50ZXJfY2FzdDxTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50PihtX3Jlc291cmNl
KTsKLQotICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludDsKLSAgICBGbG9hdFBvaW50IGVuZFBvaW50
OwotICAgIGlmIChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKSB7Ci0gICAgICAgIHN0YXJ0
UG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMueDEoKS52YWx1ZUFzUGVyY2VudGFnZSgpLCBh
dHRyaWJ1dGVzLnkxKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSk7Ci0gICAgICAgIGVuZFBvaW50ID0g
RmxvYXRQb2ludChhdHRyaWJ1dGVzLngyKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwgYXR0cmlidXRl
cy55MigpLnZhbHVlQXNQZXJjZW50YWdlKCkpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHN0YXJ0
UG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMueDEoKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRl
cy55MSgpLnZhbHVlKHRoaXMpKTsKLSAgICAgICAgZW5kUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJp
YnV0ZXMueDIoKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRlcy55MigpLnZhbHVlKHRoaXMpKTsKLSAg
ICB9Ci0KLSAgICBSZWZQdHI8R3JhZGllbnQ+IGdyYWRpZW50ID0gR3JhZGllbnQ6OmNyZWF0ZShz
dGFydFBvaW50LCBlbmRQb2ludCk7Ci0gICAgZ3JhZGllbnQtPnNldFNwcmVhZE1ldGhvZChhdHRy
aWJ1dGVzLnNwcmVhZE1ldGhvZCgpKTsKLQotICAgIFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+IG1f
c3RvcHMgPSBhdHRyaWJ1dGVzLnN0b3BzKCk7Ci0gICAgZmxvYXQgcHJldmlvdXNPZmZzZXQgPSAw
LjBmOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3N0b3BzLnNpemUoKTsgKytpKSB7
Ci0gICAgICAgIGZsb2F0IG9mZnNldCA9IHN0ZDo6bWluKHN0ZDo6bWF4KHByZXZpb3VzT2Zmc2V0
LCBtX3N0b3BzW2ldLmZpcnN0KSwgMS4wZik7Ci0gICAgICAgIHByZXZpb3VzT2Zmc2V0ID0gb2Zm
c2V0OwotICAgICAgICBncmFkaWVudC0+YWRkQ29sb3JTdG9wKG9mZnNldCwgbV9zdG9wc1tpXS5z
ZWNvbmQpOwotICAgIH0KLQotICAgIGxpbmVhckdyYWRpZW50LT5zZXRHcmFkaWVudChncmFkaWVu
dCk7Ci0KLSAgICBpZiAoYXR0cmlidXRlcy5zdG9wcygpLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgLy8gVGhpcyBjb2RlIHNob3VsZCBnbyBhd2F5LiAgUGFpbnRTZXJ2ZXJzIHNo
b3VsZCBnbyBhd2F5IHRvby4KLSAgICAvLyBPbmx5IHRoaXMgY29kZSBzaG91bGQgY2FyZSBhYm91
dCBib3VuZGluZyBib3hlcwotICAgIGxpbmVhckdyYWRpZW50LT5zZXRCb3VuZGluZ0JveE1vZGUo
YXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKSk7Ci0gICAgbGluZWFyR3JhZGllbnQtPnNldEdy
YWRpZW50U3RvcHMoYXR0cmlidXRlcy5zdG9wcygpKTsKLQotICAgIC8vIFRoZXNlIHNob3VsZCBw
b3NzaWJseSBiZSBzdXBwb3J0ZWQgb24gR3JhZGllbnQKLSAgICBsaW5lYXJHcmFkaWVudC0+c2V0
R3JhZGllbnRUcmFuc2Zvcm0oYXR0cmlidXRlcy5ncmFkaWVudFRyYW5zZm9ybSgpKTsKLSAgICBs
aW5lYXJHcmFkaWVudC0+c2V0R3JhZGllbnRTdGFydChzdGFydFBvaW50KTsKLSAgICBsaW5lYXJH
cmFkaWVudC0+c2V0R3JhZGllbnRFbmQoZW5kUG9pbnQpOworICAgIHJldHVybiBuZXcgKGFyZW5h
KSBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KHRoaXMpOwogfQogCi1MaW5lYXJHcmFk
aWVudEF0dHJpYnV0ZXMgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQ
cm9wZXJ0aWVzKCkgY29uc3QKK0xpbmVhckdyYWRpZW50QXR0cmlidXRlcyBTVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQ6OmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKQogewogICAgIExpbmVhckdy
YWRpZW50QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwotICAgIEhhc2hTZXQ8Y29uc3QgU1ZHR3JhZGll
bnRFbGVtZW50Kj4gcHJvY2Vzc2VkR3JhZGllbnRzOworICAgIEhhc2hTZXQ8U1ZHR3JhZGllbnRF
bGVtZW50Kj4gcHJvY2Vzc2VkR3JhZGllbnRzOwogCiAgICAgYm9vbCBpc0xpbmVhciA9IHRydWU7
Ci0gICAgY29uc3QgU1ZHR3JhZGllbnRFbGVtZW50KiBjdXJyZW50ID0gdGhpczsKKyAgICBTVkdH
cmFkaWVudEVsZW1lbnQqIGN1cnJlbnQgPSB0aGlzOwogCiAgICAgd2hpbGUgKGN1cnJlbnQpIHsK
ICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc1NwcmVhZE1ldGhvZCgpICYmIGN1cnJlbnQtPmhh
c0F0dHJpYnV0ZShTVkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0cikpCkBAIC0xNjIsMTMgKzEyNCwx
MyBAQCBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMgU1ZHTGluZWFyR3JhZGllCiAgICAgICAgICAg
ICBhdHRyaWJ1dGVzLnNldEdyYWRpZW50VHJhbnNmb3JtKGN1cnJlbnQtPmdyYWRpZW50VHJhbnNm
b3JtKCktPmNvbnNvbGlkYXRlKCkubWF0cml4KCkpOwogCiAgICAgICAgIGlmICghYXR0cmlidXRl
cy5oYXNTdG9wcygpKSB7Ci0gICAgICAgICAgICBjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9w
PiYgc3RvcHMoY3VycmVudC0+YnVpbGRTdG9wcygpKTsKKyAgICAgICAgICAgIGNvbnN0IFZlY3Rv
cjxHcmFkaWVudDo6Q29sb3JTdG9wPiYgc3RvcHMoY3VycmVudC0+YnVpbGRTdG9wcygpKTsKICAg
ICAgICAgICAgIGlmICghc3RvcHMuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZXMuc2V0U3RvcHMoc3RvcHMpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGlzTGluZWFyKSB7
Ci0gICAgICAgICAgICBjb25zdCBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqIGxpbmVhciA9IHN0
YXRpY19jYXN0PGNvbnN0IFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCo+KGN1cnJlbnQpOworICAg
ICAgICAgICAgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KiBsaW5lYXIgPSBzdGF0aWNfY2FzdDxT
VkdMaW5lYXJHcmFkaWVudEVsZW1lbnQqPihjdXJyZW50KTsKIAogICAgICAgICAgICAgaWYgKCFh
dHRyaWJ1dGVzLmhhc1gxKCkgJiYgY3VycmVudC0+aGFzQXR0cmlidXRlKFNWR05hbWVzOjp4MUF0
dHIpKQogICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuc2V0WDEobGluZWFyLT54MSgpKTsKQEAg
LTE4OCwxMyArMTUwLDEzIEBAIExpbmVhckdyYWRpZW50QXR0cmlidXRlcyBTVkdMaW5lYXJHcmFk
aWUKICAgICAgICAgLy8gUmVzcGVjdCB4bGluazpocmVmLCB0YWtlIGF0dHJpYnV0ZXMgZnJvbSBy
ZWZlcmVuY2VkIGVsZW1lbnQKICAgICAgICAgTm9kZSogcmVmTm9kZSA9IG93bmVyRG9jdW1lbnQo
KS0+Z2V0RWxlbWVudEJ5SWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoY3VycmVudC0+aHJl
ZigpKSk7CiAgICAgICAgIGlmIChyZWZOb2RlICYmIChyZWZOb2RlLT5oYXNUYWdOYW1lKFNWR05h
bWVzOjpsaW5lYXJHcmFkaWVudFRhZykgfHwgcmVmTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6
cmFkaWFsR3JhZGllbnRUYWcpKSkgewotICAgICAgICAgICAgY3VycmVudCA9IHN0YXRpY19jYXN0
PGNvbnN0IFNWR0dyYWRpZW50RWxlbWVudCo+KGNvbnN0X2Nhc3Q8Y29uc3QgTm9kZSo+KHJlZk5v
ZGUpKTsKKyAgICAgICAgICAgIGN1cnJlbnQgPSBzdGF0aWNfY2FzdDxTVkdHcmFkaWVudEVsZW1l
bnQqPihyZWZOb2RlKTsKIAogICAgICAgICAgICAgLy8gQ3ljbGUgZGV0ZWN0aW9uCiAgICAgICAg
ICAgICBpZiAocHJvY2Vzc2VkR3JhZGllbnRzLmNvbnRhaW5zKGN1cnJlbnQpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBMaW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMoKTsKIAotICAgICAgICAgICAg
aXNMaW5lYXIgPSBjdXJyZW50LT5ncmFkaWVudFR5cGUoKSA9PSBMaW5lYXJHcmFkaWVudFBhaW50
U2VydmVyOworICAgICAgICAgICAgaXNMaW5lYXIgPSBjdXJyZW50LT5oYXNUYWdOYW1lKFNWR05h
bWVzOjpsaW5lYXJHcmFkaWVudFRhZyk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgY3Vy
cmVudCA9IDA7CiAgICAgfQpAQCAtMjAyLDYgKzE2NCwxOCBAQCBMaW5lYXJHcmFkaWVudEF0dHJp
YnV0ZXMgU1ZHTGluZWFyR3JhZGllCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXM7CiB9CiAKK3ZvaWQg
U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpjYWxjdWxhdGVTdGFydEVuZFBvaW50cyhjb25zdCBM
aW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIEZsb2F0UG9pbnQmIHN0YXJ0UG9p
bnQsIEZsb2F0UG9pbnQmIGVuZFBvaW50KQoreworICAgIC8vIERldGVybWluZSBncmFkaWVudCBz
dGFydC9lbmQgcG9pbnRzCisgICAgaWYgKGF0dHJpYnV0ZXMuYm91bmRpbmdCb3hNb2RlKCkpIHsK
KyAgICAgICAgc3RhcnRQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy54MSgpLnZhbHVlQXNQ
ZXJjZW50YWdlKCksIGF0dHJpYnV0ZXMueTEoKS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKKyAgICAg
ICAgZW5kUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMueDIoKS52YWx1ZUFzUGVyY2VudGFn
ZSgpLCBhdHRyaWJ1dGVzLnkyKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgc3RhcnRQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy54MSgpLnZhbHVlKHRo
aXMpLCBhdHRyaWJ1dGVzLnkxKCkudmFsdWUodGhpcykpOworICAgICAgICBlbmRQb2ludCA9IEZs
b2F0UG9pbnQoYXR0cmlidXRlcy54MigpLnZhbHVlKHRoaXMpLCBhdHRyaWJ1dGVzLnkyKCkudmFs
dWUodGhpcykpOworICAgIH0KK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysr
IFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCwxMSArMzgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZv
aWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBzeW5jaHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAot
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCB2b2lkIGJ1aWxkR3JhZGllbnQoKSBjb25z
dDsKLSAgICAgICAgdmlydHVhbCBTVkdQYWludFNlcnZlclR5cGUgZ3JhZGllbnRUeXBlKCkgY29u
c3QgeyByZXR1cm4gTGluZWFyR3JhZGllbnRQYWludFNlcnZlcjsgfQorICAgICAgICB2aXJ0dWFs
IFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSop
OwogCi0gICAgICAgIExpbmVhckdyYWRpZW50QXR0cmlidXRlcyBjb2xsZWN0R3JhZGllbnRQcm9w
ZXJ0aWVzKCkgY29uc3Q7CisgICAgICAgIExpbmVhckdyYWRpZW50QXR0cmlidXRlcyBjb2xsZWN0
R3JhZGllbnRQcm9wZXJ0aWVzKCk7CisgICAgICAgIHZvaWQgY2FsY3VsYXRlU3RhcnRFbmRQb2lu
dHMoY29uc3QgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzJiwgRmxvYXRQb2ludCYgc3RhcnRQb2lu
dCwgRmxvYXRQb2ludCYgZW5kUG9pbnQpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgREVDTEFS
RV9BTklNQVRFRF9QUk9QRVJUWShTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQsIFNWR05hbWVzOjp4
MUF0dHIsIFNWR0xlbmd0aCwgWDEsIHgxKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIFNWR01hcmtlckVsZW1lbnQ6OnN2
Z0F0dHJpYnV0ZUNoYW5nCiAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6Omlz
S25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8CiAgICAgICAgIFNWR0ZpdFRvVmlld0JveDo6aXNL
bm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKICAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6aXNL
bm93bkF0dHJpYnV0ZShhdHRyTmFtZSkpCi0gICAgICAgIGludmFsaWRhdGVDYW52YXNSZXNvdXJj
ZXMoKTsKKyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNW
R01hcmtlckVsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYg
YXR0ck5hbWUpCkBAIC0xNTcsNyArMTU3LDggQEAgdm9pZCBTVkdNYXJrZXJFbGVtZW50OjpjaGls
ZHJlbkNoYW5nZWQoYgogewogICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChj
aGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0
YSk7CiAKLSAgICBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisgICAgaWYgKCFjaGFuZ2Vk
QnlQYXJzZXIpCisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9p
ZCBTVkdNYXJrZXJFbGVtZW50OjpzZXRPcmllbnRUb0F1dG8oKQpAQCAtMTY1LDcgKzE2Niw3IEBA
IHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6c2V0T3JpZW50VG9BdXRvKCkKICAgICBzZXRPcmllbnRU
eXBlQmFzZVZhbHVlKFNWR19NQVJLRVJfT1JJRU5UX0FVVE8pOwogICAgIHNldE9yaWVudEFuZ2xl
QmFzZVZhbHVlKFNWR0FuZ2xlKCkpOwogCi0gICAgaW52YWxpZGF0ZUNhbnZhc1Jlc291cmNlcygp
OworICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9pZCBTVkdNYXJrZXJF
bGVtZW50OjpzZXRPcmllbnRUb0FuZ2xlKGNvbnN0IFNWR0FuZ2xlJiBhbmdsZSkKQEAgLTE3Myw3
ICsxNzQsNyBAQCB2b2lkIFNWR01hcmtlckVsZW1lbnQ6OnNldE9yaWVudFRvQW5nbGUoCiAgICAg
c2V0T3JpZW50VHlwZUJhc2VWYWx1ZShTVkdfTUFSS0VSX09SSUVOVF9BTkdMRSk7CiAgICAgc2V0
T3JpZW50QW5nbGVCYXNlVmFsdWUoYW5nbGUpOwogCi0gICAgaW52YWxpZGF0ZUNhbnZhc1Jlc291
cmNlcygpOworICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogUmVuZGVyT2Jq
ZWN0KiBTVkdNYXJrZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEs
IFJlbmRlclN0eWxlKikKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MTU5
KQorKysgV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDQsNyArMTA0LDcgQEAgdm9pZCBTVkdNYXNrRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZAog
ICAgICAgICBTVkdMYW5nU3BhY2U6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8CiAgICAg
ICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5h
bWUpIHx8CiAgICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5h
bWUpKQotICAgICAgICBpbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisgICAgICAgIGludmFs
aWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogdm9pZCBTVkdNYXNrRWxlbWVudDo6c3luY2hy
b25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKQEAgLTEzOCw3ICsx
MzgsOSBAQCB2b2lkIFNWR01hc2tFbGVtZW50OjpzeW5jaHJvbml6ZVByb3BlcnR5CiB2b2lkIFNW
R01hc2tFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUq
IGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCiB7
CiAgICAgU1ZHU3R5bGVkRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZWRCeVBhcnNlciwg
YmVmb3JlQ2hhbmdlLCBhZnRlckNoYW5nZSwgY2hpbGRDb3VudERlbHRhKTsKLSAgICBpbnZhbGlk
YXRlQ2FudmFzUmVzb3VyY2VzKCk7CisKKyAgICBpZiAoIWNoYW5nZWRCeVBhcnNlcikKKyAgICAg
ICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiBGbG9hdFJlY3QgU1ZHTWFza0Vs
ZW1lbnQ6Om1hc2tCb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmIG9iamVjdEJvdW5kaW5nQm94
KSBjb25zdApJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkp
CisrKyBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw3IEBACiAvKgogICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAw
NywgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAg
ICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4K
KyAgICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTExOSwxOSArMTIwLDIwIEBA
IHZvaWQgU1ZHUGF0dGVybkVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW4KIHsKICAgICBTVkdTdHls
ZWRFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKIAotICAgIGlmICghbV9y
ZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVz
OjpwYXR0ZXJuVW5pdHNBdHRyIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpwYXR0ZXJuQ29udGVu
dFVuaXRzQXR0ciB8fAotICAgICAgICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6cGF0dGVyblRyYW5z
Zm9ybUF0dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnhBdHRyIHx8IGF0dHJOYW1lID09IFNW
R05hbWVzOjp5QXR0ciB8fAotICAgICAgICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6d2lkdGhBdHRy
IHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpoZWlnaHRBdHRyIHx8Ci0gICAgICAgIFNWR1VSSVJl
ZmVyZW5jZTo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKLSAgICAgICAgU1ZHVGVzdHM6
OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8IAotICAgICAgICBTVkdMYW5nU3BhY2U6Omlz
S25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8Ci0gICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUpIHx8Ci0gICAgICAgIFNWR0ZpdFRv
Vmlld0JveDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkgfHwKLSAgICAgICAgU1ZHU3R5bGVk
RWxlbWVudDo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkpCi0gICAgICAgIG1fcmVzb3VyY2Ut
PmludmFsaWRhdGUoKTsKKyAgICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnBhdHRlcm5Vbml0
c0F0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnBhdHRlcm5Db250ZW50VW5p
dHNBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpwYXR0ZXJuVHJhbnNmb3Jt
QXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6eEF0dHIKKyAgICAgICAgfHwg
YXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnlBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05h
bWVzOjp3aWR0aEF0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmhlaWdodEF0
dHIKKyAgICAgICAgfHwgU1ZHVVJJUmVmZXJlbmNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1l
KQorICAgICAgICB8fCBTVkdUZXN0czo6aXNLbm93bkF0dHJpYnV0ZShhdHRyTmFtZSkKKyAgICAg
ICAgfHwgU1ZHTGFuZ1NwYWNlOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1lKQorICAgICAgICB8
fCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjppc0tub3duQXR0cmlidXRlKGF0dHJOYW1l
KQorICAgICAgICB8fCBTVkdGaXRUb1ZpZXdCb3g6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUp
CisgICAgICAgIHx8IFNWR1N0eWxlZEVsZW1lbnQ6OmlzS25vd25BdHRyaWJ1dGUoYXR0ck5hbWUp
KQorICAgICAgICBpbnZhbGlkYXRlUmVzb3VyY2VDbGllbnRzKCk7CiB9CiAKIHZvaWQgU1ZHUGF0
dGVybkVsZW1lbnQ6OnN5bmNocm9uaXplUHJvcGVydHkoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
ck5hbWUpCkBAIC0xODAsMTI2ICsxODIsMTMgQEAgdm9pZCBTVkdQYXR0ZXJuRWxlbWVudDo6Y2hp
bGRyZW5DaGFuZ2VkKAogewogICAgIFNWR1N0eWxlZEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChj
aGFuZ2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0
YSk7CiAKLSAgICBpZiAoIW1fcmVzb3VyY2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fcmVz
b3VyY2UtPmludmFsaWRhdGUoKTsKLX0KLQotdm9pZCBTVkdQYXR0ZXJuRWxlbWVudDo6YnVpbGRQ
YXR0ZXJuKGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCkgY29uc3QKLXsKLSAgICBQYXR0ZXJu
QXR0cmlidXRlcyBhdHRyaWJ1dGVzID0gY29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKCk7Ci0KLSAg
ICAvLyBJZiB3ZSBkaWRuJ3QgZmluZCBhbnkgcGF0dGVybiBjb250ZW50LCBpZ25vcmUgdGhlIHJl
cXVlc3QuCi0gICAgaWYgKCFhdHRyaWJ1dGVzLnBhdHRlcm5Db250ZW50RWxlbWVudCgpIHx8ICFy
ZW5kZXJlcigpIHx8ICFyZW5kZXJlcigpLT5zdHlsZSgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBGbG9hdFJlY3QgcGF0dGVybkJvdW5kYXJpZXM7IAotICAgIEZsb2F0UmVjdCBwYXR0ZXJuQ29u
dGVudEJvdW5kYXJpZXM7Ci0KLSAgICAvLyBEZXRlcm1pbmUgc3BlY2lmaWVkIHBhdHRlcm4gc2l6
ZQotICAgIGlmIChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKQotICAgICAgICBwYXR0ZXJu
Qm91bmRhcmllcyA9IEZsb2F0UmVjdChhdHRyaWJ1dGVzLngoKS52YWx1ZUFzUGVyY2VudGFnZSgp
ICogdGFyZ2V0UmVjdC53aWR0aCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGVzLnkoKS52YWx1ZUFzUGVyY2VudGFnZSgpICogdGFyZ2V0UmVjdC5oZWln
aHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcy53
aWR0aCgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiB0YXJnZXRSZWN0LndpZHRoKCksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuaGVpZ2h0KCkudmFsdWVB
c1BlcmNlbnRhZ2UoKSAqIHRhcmdldFJlY3QuaGVpZ2h0KCkpOwotICAgIGVsc2UKLSAgICAgICAg
cGF0dGVybkJvdW5kYXJpZXMgPSBGbG9hdFJlY3QoYXR0cmlidXRlcy54KCkudmFsdWUodGhpcyks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMueSgpLnZh
bHVlKHRoaXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGVzLndpZHRoKCkudmFsdWUodGhpcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZXMuaGVpZ2h0KCkudmFsdWUodGhpcykpOwotCi0gICAgSW50U2l6ZSBw
YXR0ZXJuU2l6ZShwYXR0ZXJuQm91bmRhcmllcy53aWR0aCgpLCBwYXR0ZXJuQm91bmRhcmllcy5o
ZWlnaHQoKSk7Ci0gICAgY2xhbXBJbWFnZUJ1ZmZlclNpemVUb1ZpZXdwb3J0KGRvY3VtZW50KCkt
PnZpZXcoKSwgcGF0dGVyblNpemUpOwotCi0gICAgaWYgKHBhdHRlcm5TaXplLndpZHRoKCkgPCBz
dGF0aWNfY2FzdDxpbnQ+KHBhdHRlcm5Cb3VuZGFyaWVzLndpZHRoKCkpKQotICAgICAgICBwYXR0
ZXJuQm91bmRhcmllcy5zZXRXaWR0aChwYXR0ZXJuU2l6ZS53aWR0aCgpKTsKLQotICAgIGlmIChw
YXR0ZXJuU2l6ZS5oZWlnaHQoKSA8IHN0YXRpY19jYXN0PGludD4ocGF0dGVybkJvdW5kYXJpZXMu
aGVpZ2h0KCkpKQotICAgICAgICBwYXR0ZXJuQm91bmRhcmllcy5zZXRIZWlnaHQocGF0dGVyblNp
emUuaGVpZ2h0KCkpOwotCi0gICAgLy8gRXZlbnR1YWxseSBjYWxjdWxhdGUgdGhlIHBhdHRlcm4g
Y29udGVudCBib3VuZGFyaWVzIChvbmx5IG5lZWRlZCB3aXRoIG92ZXJmbG93PSJ2aXNpYmxlIiku
Ci0gICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gcmVuZGVyZXIoKS0+c3R5bGUoKTsKLSAgICBpZiAo
c3R5bGUtPm92ZXJmbG93WCgpID09IE9WSVNJQkxFICYmIHN0eWxlLT5vdmVyZmxvd1koKSA9PSBP
VklTSUJMRSkgewotICAgICAgICBmb3IgKE5vZGUqIG4gPSBhdHRyaWJ1dGVzLnBhdHRlcm5Db250
ZW50RWxlbWVudCgpLT5maXJzdENoaWxkKCk7IG47IG4gPSBuLT5uZXh0U2libGluZygpKSB7Ci0g
ICAgICAgICAgICBpZiAoIW4tPmlzU1ZHRWxlbWVudCgpIHx8ICFzdGF0aWNfY2FzdDxTVkdFbGVt
ZW50Kj4obiktPmlzU3R5bGVkVHJhbnNmb3JtYWJsZSgpIHx8ICFuLT5yZW5kZXJlcigpKQotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgcGF0dGVybkNvbnRlbnRCb3VuZGFy
aWVzLnVuaXRlKG4tPnJlbmRlcmVyKCktPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkp
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgQWZmaW5lVHJhbnNmb3JtIHZpZXdCb3hDVE0gPSB2
aWV3Qm94VG9WaWV3VHJhbnNmb3JtKHZpZXdCb3goKSwgcHJlc2VydmVBc3BlY3RSYXRpbygpLCBw
YXR0ZXJuQm91bmRhcmllcy53aWR0aCgpLCBwYXR0ZXJuQm91bmRhcmllcy5oZWlnaHQoKSk7IAot
ICAgIEZsb2F0UmVjdCBwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93ID0gcGF0dGVy
bkJvdW5kYXJpZXM7Ci0KLSAgICAvLyBBcHBseSBvYmplY3RCb3VuZGluZ0JveE1vZGUgZml4dXAg
Zm9yIHBhdHRlcm5Db250ZW50VW5pdHMsIGlmIHZpZXdCb3ggaXMgbm90IHNldC4KLSAgICBpZiAo
IXBhdHRlcm5Db250ZW50Qm91bmRhcmllcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgaWYgKCF2aWV3
Qm94Q1RNLmlzSWRlbnRpdHkoKSkKLSAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmll
cyA9IHZpZXdCb3hDVE0ubWFwUmVjdChwYXR0ZXJuQ29udGVudEJvdW5kYXJpZXMpOwotICAgICAg
ICBlbHNlIGlmIChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZUNvbnRlbnQoKSkKLSAgICAgICAg
ICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcyA9IEZsb2F0UmVjdChwYXR0ZXJuQ29udGVudEJv
dW5kYXJpZXMueCgpICogdGFyZ2V0UmVjdC53aWR0aCgpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy55KCkg
KiB0YXJnZXRSZWN0LmhlaWdodCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy53aWR0aCgpICogdGFyZ2V0
UmVjdC53aWR0aCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhdHRlcm5Db250ZW50Qm91bmRhcmllcy5oZWlnaHQoKSAqIHRhcmdldFJlY3QuaGVp
Z2h0KCkpOwotCi0gICAgICAgIHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cudW5p
dGUocGF0dGVybkNvbnRlbnRCb3VuZGFyaWVzKTsKLSAgICB9Ci0KLSAgICBJbnRTaXplIGltYWdl
U2l6ZShscm91bmRmKHBhdHRlcm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cud2lkdGgoKSks
IGxyb3VuZGYocGF0dGVybkJvdW5kYXJpZXNJbmNsdWRpbmdPdmVyZmxvdy5oZWlnaHQoKSkpOwot
ICAgIGNsYW1wSW1hZ2VCdWZmZXJTaXplVG9WaWV3cG9ydChkb2N1bWVudCgpLT52aWV3KCksIGlt
YWdlU2l6ZSk7Ci0KLSAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHBhdHRlcm5JbWFnZSA9IEltYWdl
QnVmZmVyOjpjcmVhdGUoaW1hZ2VTaXplKTsKLQotICAgIGlmICghcGF0dGVybkltYWdlKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBwYXR0ZXJuSW1h
Z2UtPmNvbnRleHQoKTsKLSAgICBBU1NFUlQoY29udGV4dCk7Ci0KLSAgICBjb250ZXh0LT5zYXZl
KCk7Ci0KLSAgICAvLyBNb3ZlIHRvIHBhdHRlcm4gc3RhcnQgb3JpZ2luCi0gICAgaWYgKHBhdHRl
cm5Cb3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cubG9jYXRpb24oKSAhPSBwYXR0ZXJuQm91bmRh
cmllcy5sb2NhdGlvbigpKSB7Ci0gICAgICAgIGNvbnRleHQtPnRyYW5zbGF0ZShwYXR0ZXJuQm91
bmRhcmllcy54KCkgLSBwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LngoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5Cb3VuZGFyaWVzLnkoKSAtIHBhdHRlcm5C
b3VuZGFyaWVzSW5jbHVkaW5nT3ZlcmZsb3cueSgpKTsKLQotICAgICAgICBwYXR0ZXJuQm91bmRh
cmllcy5zZXRMb2NhdGlvbihwYXR0ZXJuQm91bmRhcmllc0luY2x1ZGluZ092ZXJmbG93LmxvY2F0
aW9uKCkpOwotICAgIH0KLQotICAgIC8vIFByb2Nlc3Mgdmlld0JveCBvciBib3VuZGluZ0JveE1v
ZGVDb250ZW50IGNvcnJlY3Rpb24KLSAgICBpZiAoIXZpZXdCb3hDVE0uaXNJZGVudGl0eSgpKQot
ICAgICAgICBjb250ZXh0LT5jb25jYXRDVE0odmlld0JveENUTSk7Ci0gICAgZWxzZSBpZiAoYXR0
cmlidXRlcy5ib3VuZGluZ0JveE1vZGVDb250ZW50KCkpIHsKLSAgICAgICAgY29udGV4dC0+dHJh
bnNsYXRlKHRhcmdldFJlY3QueCgpLCB0YXJnZXRSZWN0LnkoKSk7Ci0gICAgICAgIGNvbnRleHQt
PnNjYWxlKEZsb2F0U2l6ZSh0YXJnZXRSZWN0LndpZHRoKCksIHRhcmdldFJlY3QuaGVpZ2h0KCkp
KTsKLSAgICB9Ci0KLSAgICAvLyBSZW5kZXIgc3VidHJlZSBpbnRvIEltYWdlQnVmZmVyCi0gICAg
Zm9yIChOb2RlKiBuID0gYXR0cmlidXRlcy5wYXR0ZXJuQ29udGVudEVsZW1lbnQoKS0+Zmlyc3RD
aGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBpZiAoIW4tPmlzU1ZH
RWxlbWVudCgpIHx8ICFzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4obiktPmlzU3R5bGVkKCkgfHwg
IW4tPnJlbmRlcmVyKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgcmVuZGVyU3Vi
dHJlZVRvSW1hZ2UocGF0dGVybkltYWdlLmdldCgpLCBuLT5yZW5kZXJlcigpKTsKLSAgICB9Ci0K
LSAgICBjb250ZXh0LT5yZXN0b3JlKCk7Ci0KLSAgICBtX3Jlc291cmNlLT5zZXRQYXR0ZXJuVHJh
bnNmb3JtKGF0dHJpYnV0ZXMucGF0dGVyblRyYW5zZm9ybSgpKTsKLSAgICBtX3Jlc291cmNlLT5z
ZXRQYXR0ZXJuQm91bmRhcmllcyhwYXR0ZXJuQm91bmRhcmllcyk7IAotICAgIG1fcmVzb3VyY2Ut
PnNldFRpbGUocGF0dGVybkltYWdlLnJlbGVhc2UoKSk7CisgICAgaWYgKCFjaGFuZ2VkQnlQYXJz
ZXIpCisgICAgICAgIGludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKIH0KIAogUmVuZGVyT2Jq
ZWN0KiBTVkdQYXR0ZXJuRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5h
LCBSZW5kZXJTdHlsZSopCiB7Ci0gICAgUmVuZGVyU1ZHQ29udGFpbmVyKiBwYXR0ZXJuQ29udGFp
bmVyID0gbmV3IChhcmVuYSkgUmVuZGVyU1ZHQ29udGFpbmVyKHRoaXMpOwotICAgIHBhdHRlcm5D
b250YWluZXItPnNldERyYXdzQ29udGVudHMoZmFsc2UpOwotICAgIHJldHVybiBwYXR0ZXJuQ29u
dGFpbmVyOwotfQotCi1TVkdSZXNvdXJjZSogU1ZHUGF0dGVybkVsZW1lbnQ6OmNhbnZhc1Jlc291
cmNlKGNvbnN0IFJlbmRlck9iamVjdCopCi17Ci0gICAgaWYgKCFtX3Jlc291cmNlKQotICAgICAg
ICBtX3Jlc291cmNlID0gU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOjpjcmVhdGUodGhpcyk7Ci0KLSAg
ICByZXR1cm4gbV9yZXNvdXJjZS5nZXQoKTsKKyAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVy
U1ZHUmVzb3VyY2VQYXR0ZXJuKHRoaXMpOwogfQogCiBQYXR0ZXJuQXR0cmlidXRlcyBTVkdQYXR0
ZXJuRWxlbWVudDo6Y29sbGVjdFBhdHRlcm5Qcm9wZXJ0aWVzKCkgY29uc3QKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
UGF0dGVybkVsZW1lbnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw4ICsyMiw2IEBACiAjZGVmaW5lIFNW
R1BhdHRlcm5FbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiUmVuZGVyT2Jq
ZWN0LmgiCi0jaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgiCiAjaW5jbHVkZSAi
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0ZpdFRvVmlld0Jv
eC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgpAQCAtNTYsNyArNTQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBj
aGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0
ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAKICAgICAgICAgdmlydHVh
bCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUq
KTsKLSAgICAgICAgdmlydHVhbCBTVkdSZXNvdXJjZSogY2FudmFzUmVzb3VyY2UoY29uc3QgUmVu
ZGVyT2JqZWN0Kik7CisKKyAgICAgICAgUGF0dGVybkF0dHJpYnV0ZXMgY29sbGVjdFBhdHRlcm5Q
cm9wZXJ0aWVzKCkgY29uc3Q7CiAKICAgICBwcml2YXRlOgogICAgICAgICBERUNMQVJFX0FOSU1B
VEVEX1BST1BFUlRZKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6eEF0dHIsIFNWR0xlbmd0
aCwgWCwgeCkKQEAgLTc1LDE1ICs3NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICAvLyBTVkdQYXR0ZXJuRWxlbWVudAogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZ
KFNWR1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6dmlld0JveEF0dHIsIEZsb2F0UmVjdCwgVmll
d0JveCwgdmlld0JveCkKLSAgICAgICAgREVDTEFSRV9BTklNQVRFRF9QUk9QRVJUWShTVkdQYXR0
ZXJuRWxlbWVudCwgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQot
IAotICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdQYWludFNlcnZlclBhdHRlcm4+IG1fcmVzb3Vy
Y2U7Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBmcmllbmQgY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJQ
YXR0ZXJuOwotICAgICAgICB2b2lkIGJ1aWxkUGF0dGVybihjb25zdCBGbG9hdFJlY3QmIHRhcmdl
dFJlY3QpIGNvbnN0OwotCi0gICAgICAgIFBhdHRlcm5BdHRyaWJ1dGVzIGNvbGxlY3RQYXR0ZXJu
UHJvcGVydGllcygpIGNvbnN0OworICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNW
R1BhdHRlcm5FbGVtZW50LCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0
aW8pIAogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR1BvbHlFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1l
bnQuaAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZp
ZWROYW1lJik7CiAKLSAgICAgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVy
U3R5bGUqIHN0eWxlKSB7IHJldHVybiBTdHlsZWRFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKHN0
eWxlKTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNNYXJrZXJzKCkgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQogCiAgICAgcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1JhZGlh
bEdyYWRpZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJDb3JlL3N2Zy9TVkdS
YWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQAog
ICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBSb2IgQnVpcyA8YnVpc0Br
ZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQu
b3JnPgogICAgICAgICAgICAgICAgICAgMjAwOCBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9y
Zz4KKyAgICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI5LDcgKzMwLDYgQEAK
ICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiTWFwcGVkQXR0cmlidXRlLmgiCiAj
aW5jbHVkZSAiUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oIgogI2lu
Y2x1ZGUgIlNWR0xlbmd0aC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCkBAIC03NywxMyArNzcs
MTIgQEAgdm9pZCBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJpYgogewogICAgIFNW
R0dyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CiAKLSAgICBp
ZiAoIW1fcmVzb3VyY2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChhdHRyTmFtZSA9PSBT
VkdOYW1lczo6Y3hBdHRyIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpjeUF0dHIgfHwKLSAgICAg
ICAgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmZ4QXR0ciB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6
ZnlBdHRyIHx8Ci0gICAgICAgIGF0dHJOYW1lID09IFNWR05hbWVzOjpyQXR0cikKLSAgICAgICAg
bV9yZXNvdXJjZS0+aW52YWxpZGF0ZSgpOworICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6
Y3hBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpjeUF0dHIKKyAgICAgICAg
fHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmZ4QXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBT
VkdOYW1lczo6ZnlBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjpyQXR0cikK
KyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogfQogCiB2b2lkIFNWR1JhZGlh
bEdyYWRpZW50RWxlbWVudDo6c3luY2hyb25pemVQcm9wZXJ0eShjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyTmFtZSkKQEAgLTExMSw3NyArMTEwLDE4IEBAIHZvaWQgU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50OjpzeW5jaHJvbmkKICAgICAgICAgc3luY2hyb25pemVSKCk7CiB9CiAKLXZvaWQgU1ZH
UmFkaWFsR3JhZGllbnRFbGVtZW50OjpidWlsZEdyYWRpZW50KCkgY29uc3QKK1JlbmRlck9iamVj
dCogU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSog
YXJlbmEsIFJlbmRlclN0eWxlKikKIHsKLSAgICBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMgYXR0
cmlidXRlcyA9IGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKTsKLQotICAgIFJlZlB0cjxTVkdQ
YWludFNlcnZlclJhZGlhbEdyYWRpZW50PiByYWRpYWxHcmFkaWVudCA9IFdURjo6c3RhdGljX3Bv
aW50ZXJfY2FzdDxTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50PihtX3Jlc291cmNlKTsKLQot
ICAgIEZsb2F0UG9pbnQgZm9jYWxQb2ludDsKLSAgICBGbG9hdFBvaW50IGNlbnRlclBvaW50Owot
ICAgIGZsb2F0IHJhZGl1czsKLSAgICBpZiAoYXR0cmlidXRlcy5ib3VuZGluZ0JveE1vZGUoKSkg
ewotICAgICAgICBmb2NhbFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmZ4KCkudmFsdWVB
c1BlcmNlbnRhZ2UoKSwgYXR0cmlidXRlcy5meSgpLnZhbHVlQXNQZXJjZW50YWdlKCkpOwotICAg
ICAgICBjZW50ZXJQb2ludCA9IEZsb2F0UG9pbnQoYXR0cmlidXRlcy5jeCgpLnZhbHVlQXNQZXJj
ZW50YWdlKCksIGF0dHJpYnV0ZXMuY3koKS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKLSAgICAgICAg
cmFkaXVzID0gYXR0cmlidXRlcy5yKCkudmFsdWVBc1BlcmNlbnRhZ2UoKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBmb2NhbFBvaW50ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmZ4KCkudmFsdWUo
dGhpcyksIGF0dHJpYnV0ZXMuZnkoKS52YWx1ZSh0aGlzKSk7Ci0gICAgICAgIGNlbnRlclBvaW50
ID0gRmxvYXRQb2ludChhdHRyaWJ1dGVzLmN4KCkudmFsdWUodGhpcyksIGF0dHJpYnV0ZXMuY3ko
KS52YWx1ZSh0aGlzKSk7Ci0gICAgICAgIHJhZGl1cyA9IGF0dHJpYnV0ZXMucigpLnZhbHVlKHRo
aXMpOwotICAgIH0KLQotICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRGb2NhbFBvaW50ID0gZm9jYWxQ
b2ludDsKLSAgICBmbG9hdCBkZnggPSBmb2NhbFBvaW50LngoKSAtIGNlbnRlclBvaW50LngoKTsK
LSAgICBmbG9hdCBkZnkgPSBmb2NhbFBvaW50LnkoKSAtIGNlbnRlclBvaW50LnkoKTsKLSAgICBm
bG9hdCByTWF4ID0gMC45OWYgKiByYWRpdXM7Ci0KLSAgICAvLyBTcGVjOiBJZiAoZngsIGZ5KSBs
aWVzIG91dHNpZGUgdGhlIGNpcmNsZSBkZWZpbmVkIGJ5IChjeCwgY3kpIGFuZAotICAgIC8vIHIs
IHNldCAoZngsIGZ5KSB0byB0aGUgcG9pbnQgb2YgaW50ZXJzZWN0aW9uIG9mIHRoZSBsaW5lIHRo
cm91Z2gKLSAgICAvLyAoZngsIGZ5KSBhbmQgdGhlIGNpcmNsZS4KLSAgICAvLyBXZSBzY2FsZSB0
aGUgcmFkaXVzIGJ5IDAuOTkgdG8gbWF0Y2ggdGhlIGJlaGF2aW9yIG9mIEZpcmVGb3guCi0gICAg
aWYgKHNxcnQoZGZ4ICogZGZ4ICsgZGZ5ICogZGZ5KSA+IHJNYXgpIHsKLSAgICAgICAgZmxvYXQg
YW5nbGUgPSBhdGFuMmYoZGZ5LCBkZngpOwotCi0gICAgICAgIGRmeCA9IGNvc2YoYW5nbGUpICog
ck1heDsKLSAgICAgICAgZGZ5ID0gc2luZihhbmdsZSkgKiByTWF4OwotICAgICAgICBhZGp1c3Rl
ZEZvY2FsUG9pbnQgPSBGbG9hdFBvaW50KGRmeCArIGNlbnRlclBvaW50LngoKSwgZGZ5ICsgY2Vu
dGVyUG9pbnQueSgpKTsKLSAgICB9Ci0KLSAgICBSZWZQdHI8R3JhZGllbnQ+IGdyYWRpZW50ID0g
R3JhZGllbnQ6OmNyZWF0ZSgKLSAgICAgICAgYWRqdXN0ZWRGb2NhbFBvaW50LAotICAgICAgICAw
LmYsIC8vIFNWRyBkb2VzIG5vdCBzdXBwb3J0IGEgImZvY3VzIHJhZGl1cyIKLSAgICAgICAgY2Vu
dGVyUG9pbnQsCi0gICAgICAgIHJhZGl1cyk7Ci0gICAgZ3JhZGllbnQtPnNldFNwcmVhZE1ldGhv
ZChhdHRyaWJ1dGVzLnNwcmVhZE1ldGhvZCgpKTsKLQotICAgIFZlY3RvcjxTVkdHcmFkaWVudFN0
b3A+IHN0b3BzID0gYXR0cmlidXRlcy5zdG9wcygpOwotICAgIGZsb2F0IHByZXZpb3VzT2Zmc2V0
ID0gMC4wZjsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc3RvcHMuc2l6ZSgpOyArK2kp
IHsKLSAgICAgICAgIGZsb2F0IG9mZnNldCA9IHN0ZDo6bWluKHN0ZDo6bWF4KHByZXZpb3VzT2Zm
c2V0LCBzdG9wc1tpXS5maXJzdCksIDEuMGYpOwotICAgICAgICAgcHJldmlvdXNPZmZzZXQgPSBv
ZmZzZXQ7Ci0gICAgICAgICBncmFkaWVudC0+YWRkQ29sb3JTdG9wKG9mZnNldCwgc3RvcHNbaV0u
c2Vjb25kKTsKLSAgICB9Ci0KLSAgICByYWRpYWxHcmFkaWVudC0+c2V0R3JhZGllbnQoZ3JhZGll
bnQpOwotCi0gICAgaWYgKGF0dHJpYnV0ZXMuc3RvcHMoKS5pc0VtcHR5KCkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIHJhZGlhbEdyYWRpZW50LT5zZXRCb3VuZGluZ0JveE1vZGUoYXR0cmlidXRl
cy5ib3VuZGluZ0JveE1vZGUoKSk7Ci0gICAgcmFkaWFsR3JhZGllbnQtPnNldEdyYWRpZW50VHJh
bnNmb3JtKGF0dHJpYnV0ZXMuZ3JhZGllbnRUcmFuc2Zvcm0oKSk7Ci0gICAgcmFkaWFsR3JhZGll
bnQtPnNldEdyYWRpZW50Q2VudGVyKGNlbnRlclBvaW50KTsKLSAgICByYWRpYWxHcmFkaWVudC0+
c2V0R3JhZGllbnRGb2NhbChmb2NhbFBvaW50KTsKLSAgICByYWRpYWxHcmFkaWVudC0+c2V0R3Jh
ZGllbnRSYWRpdXMocmFkaXVzKTsKLSAgICByYWRpYWxHcmFkaWVudC0+c2V0R3JhZGllbnRTdG9w
cyhhdHRyaWJ1dGVzLnN0b3BzKCkpOworICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJTVkdS
ZXNvdXJjZVJhZGlhbEdyYWRpZW50KHRoaXMpOwogfQogCi1SYWRpYWxHcmFkaWVudEF0dHJpYnV0
ZXMgU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Ojpjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCkg
Y29uc3QKK1JhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6
OmNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKQogewogICAgIFJhZGlhbEdyYWRpZW50QXR0cmli
dXRlcyBhdHRyaWJ1dGVzOwotICAgIEhhc2hTZXQ8Y29uc3QgU1ZHR3JhZGllbnRFbGVtZW50Kj4g
cHJvY2Vzc2VkR3JhZGllbnRzOworICAgIEhhc2hTZXQ8U1ZHR3JhZGllbnRFbGVtZW50Kj4gcHJv
Y2Vzc2VkR3JhZGllbnRzOwogCiAgICAgYm9vbCBpc1JhZGlhbCA9IHRydWU7Ci0gICAgY29uc3Qg
U1ZHR3JhZGllbnRFbGVtZW50KiBjdXJyZW50ID0gdGhpczsKKyAgICBTVkdHcmFkaWVudEVsZW1l
bnQqIGN1cnJlbnQgPSB0aGlzOwogCiAgICAgd2hpbGUgKGN1cnJlbnQpIHsKICAgICAgICAgaWYg
KCFhdHRyaWJ1dGVzLmhhc1NwcmVhZE1ldGhvZCgpICYmIGN1cnJlbnQtPmhhc0F0dHJpYnV0ZShT
VkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0cikpCkBAIC0xOTQsMTMgKzEzNCwxMyBAQCBSYWRpYWxH
cmFkaWVudEF0dHJpYnV0ZXMgU1ZHUmFkaWFsR3JhZGllCiAgICAgICAgICAgICBhdHRyaWJ1dGVz
LnNldEdyYWRpZW50VHJhbnNmb3JtKGN1cnJlbnQtPmdyYWRpZW50VHJhbnNmb3JtKCktPmNvbnNv
bGlkYXRlKCkubWF0cml4KCkpOwogCiAgICAgICAgIGlmICghYXR0cmlidXRlcy5oYXNTdG9wcygp
KSB7Ci0gICAgICAgICAgICBjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYgc3RvcHMoY3Vy
cmVudC0+YnVpbGRTdG9wcygpKTsKKyAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxHcmFkaWVudDo6
Q29sb3JTdG9wPiYgc3RvcHMoY3VycmVudC0+YnVpbGRTdG9wcygpKTsKICAgICAgICAgICAgIGlm
ICghc3RvcHMuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMuc2V0U3RvcHMo
c3RvcHMpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGlzUmFkaWFsKSB7Ci0gICAgICAgICAg
ICBjb25zdCBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQqIHJhZGlhbCA9IHN0YXRpY19jYXN0PGNv
bnN0IFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCo+KGN1cnJlbnQpOworICAgICAgICAgICAgU1ZH
UmFkaWFsR3JhZGllbnRFbGVtZW50KiByYWRpYWwgPSBzdGF0aWNfY2FzdDxTVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQqPihjdXJyZW50KTsKIAogICAgICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhh
c0N4KCkgJiYgY3VycmVudC0+aGFzQXR0cmlidXRlKFNWR05hbWVzOjpjeEF0dHIpKQogICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZXMuc2V0Q3gocmFkaWFsLT5jeCgpKTsKQEAgLTIyMywxMyArMTYz
LDEzIEBAIFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyBTVkdSYWRpYWxHcmFkaWUKICAgICAgICAg
Ly8gUmVzcGVjdCB4bGluazpocmVmLCB0YWtlIGF0dHJpYnV0ZXMgZnJvbSByZWZlcmVuY2VkIGVs
ZW1lbnQKICAgICAgICAgTm9kZSogcmVmTm9kZSA9IG93bmVyRG9jdW1lbnQoKS0+Z2V0RWxlbWVu
dEJ5SWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRUYXJnZXQoY3VycmVudC0+aHJlZigpKSk7CiAgICAg
ICAgIGlmIChyZWZOb2RlICYmIChyZWZOb2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjpyYWRpYWxH
cmFkaWVudFRhZykgfHwgcmVmTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6bGluZWFyR3JhZGll
bnRUYWcpKSkgewotICAgICAgICAgICAgY3VycmVudCA9IHN0YXRpY19jYXN0PGNvbnN0IFNWR0dy
YWRpZW50RWxlbWVudCo+KGNvbnN0X2Nhc3Q8Y29uc3QgTm9kZSo+KHJlZk5vZGUpKTsKKyAgICAg
ICAgICAgIGN1cnJlbnQgPSBzdGF0aWNfY2FzdDxTVkdHcmFkaWVudEVsZW1lbnQqPihyZWZOb2Rl
KTsKIAogICAgICAgICAgICAgLy8gQ3ljbGUgZGV0ZWN0aW9uCiAgICAgICAgICAgICBpZiAocHJv
Y2Vzc2VkR3JhZGllbnRzLmNvbnRhaW5zKGN1cnJlbnQpKQogICAgICAgICAgICAgICAgIHJldHVy
biBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMoKTsKIAotICAgICAgICAgICAgaXNSYWRpYWwgPSBj
dXJyZW50LT5ncmFkaWVudFR5cGUoKSA9PSBSYWRpYWxHcmFkaWVudFBhaW50U2VydmVyOworICAg
ICAgICAgICAgaXNSYWRpYWwgPSBjdXJyZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpyYWRpYWxH
cmFkaWVudFRhZyk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgY3VycmVudCA9IDA7CiAg
ICAgfQpAQCAtMjQzLDYgKzE4MywzNyBAQCBSYWRpYWxHcmFkaWVudEF0dHJpYnV0ZXMgU1ZHUmFk
aWFsR3JhZGllCiAKICAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KKwordm9pZCBTVkdSYWRpYWxH
cmFkaWVudEVsZW1lbnQ6OmNhbGN1bGF0ZUZvY2FsQ2VudGVyUG9pbnRzQW5kUmFkaXVzKGNvbnN0
IFJhZGlhbEdyYWRpZW50QXR0cmlidXRlcyYgYXR0cmlidXRlcywgRmxvYXRQb2ludCYgZm9jYWxQ
b2ludCwgRmxvYXRQb2ludCYgY2VudGVyUG9pbnQsIGZsb2F0JiByYWRpdXMpCit7CisgICAgLy8g
RGV0ZXJtaW5lIGdyYWRpZW50IGZvY2FsL2NlbnRlciBwb2ludHMgYW5kIHJhZGl1cworICAgIGlm
IChhdHRyaWJ1dGVzLmJvdW5kaW5nQm94TW9kZSgpKSB7CisgICAgICAgIGZvY2FsUG9pbnQgPSBG
bG9hdFBvaW50KGF0dHJpYnV0ZXMuZngoKS52YWx1ZUFzUGVyY2VudGFnZSgpLCBhdHRyaWJ1dGVz
LmZ5KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSk7CisgICAgICAgIGNlbnRlclBvaW50ID0gRmxvYXRQ
b2ludChhdHRyaWJ1dGVzLmN4KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwgYXR0cmlidXRlcy5jeSgp
LnZhbHVlQXNQZXJjZW50YWdlKCkpOworICAgICAgICByYWRpdXMgPSBhdHRyaWJ1dGVzLnIoKS52
YWx1ZUFzUGVyY2VudGFnZSgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGZvY2FsUG9pbnQgPSBG
bG9hdFBvaW50KGF0dHJpYnV0ZXMuZngoKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRlcy5meSgpLnZh
bHVlKHRoaXMpKTsKKyAgICAgICAgY2VudGVyUG9pbnQgPSBGbG9hdFBvaW50KGF0dHJpYnV0ZXMu
Y3goKS52YWx1ZSh0aGlzKSwgYXR0cmlidXRlcy5jeSgpLnZhbHVlKHRoaXMpKTsKKyAgICAgICAg
cmFkaXVzID0gYXR0cmlidXRlcy5yKCkudmFsdWUodGhpcyk7CisgICAgfQorCisgICAgLy8gRXZl
bnR1YWxseSBhZGp1c3QgZm9jYWwgcG9pbnRzLCBhcyBkZXNjcmliZWQgYmVsb3cKKyAgICBmbG9h
dCBkZWx0YVggPSBmb2NhbFBvaW50LngoKSAtIGNlbnRlclBvaW50LngoKTsKKyAgICBmbG9hdCBk
ZWx0YVkgPSBmb2NhbFBvaW50LnkoKSAtIGNlbnRlclBvaW50LnkoKTsKKyAgICBmbG9hdCByYWRp
dXNNYXggPSAwLjk5ZiAqIHJhZGl1czsKKworICAgIC8vIFNwZWM6IElmIChmeCwgZnkpIGxpZXMg
b3V0c2lkZSB0aGUgY2lyY2xlIGRlZmluZWQgYnkgKGN4LCBjeSkgYW5kIHIsIHNldAorICAgIC8v
IChmeCwgZnkpIHRvIHRoZSBwb2ludCBvZiBpbnRlcnNlY3Rpb24gb2YgdGhlIGxpbmUgdGhyb3Vn
aCAoZngsIGZ5KSBhbmQgdGhlIGNpcmNsZS4KKyAgICAvLyBXZSBzY2FsZSB0aGUgcmFkaXVzIGJ5
IDAuOTkgdG8gbWF0Y2ggdGhlIGJlaGF2aW9yIG9mIEZpcmVGb3guCisgICAgaWYgKHNxcnQoZGVs
dGFYICogZGVsdGFYICsgZGVsdGFZICogZGVsdGFZKSA+IHJhZGl1c01heCkgeworICAgICAgICBm
bG9hdCBhbmdsZSA9IGF0YW4yZihkZWx0YVksIGRlbHRhWCk7CisKKyAgICAgICAgZGVsdGFYID0g
Y29zZihhbmdsZSkgKiByYWRpdXNNYXg7CisgICAgICAgIGRlbHRhWSA9IHNpbmYoYW5nbGUpICog
cmFkaXVzTWF4OworICAgICAgICBmb2NhbFBvaW50ID0gRmxvYXRQb2ludChkZWx0YVggKyBjZW50
ZXJQb2ludC54KCksIGRlbHRhWSArIGNlbnRlclBvaW50LnkoKSk7CisgICAgfQorfQorCiB9CiAK
ICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGll
bnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGll
bnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDExICszOCwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0
IFF1YWxpZmllZE5hbWUmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVy
dHkoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCi0gICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0
dWFsIHZvaWQgYnVpbGRHcmFkaWVudCgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIFNWR1BhaW50
U2VydmVyVHlwZSBncmFkaWVudFR5cGUoKSBjb25zdCB7IHJldHVybiBSYWRpYWxHcmFkaWVudFBh
aW50U2VydmVyOyB9CisgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKLSAgICAgICAgUmFkaWFsR3JhZGllbnRB
dHRyaWJ1dGVzIGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKSBjb25zdDsKKyAgICAgICAgUmFk
aWFsR3JhZGllbnRBdHRyaWJ1dGVzIGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKTsKKyAgICAg
ICAgdm9pZCBjYWxjdWxhdGVGb2NhbENlbnRlclBvaW50c0FuZFJhZGl1cyhjb25zdCBSYWRpYWxH
cmFkaWVudEF0dHJpYnV0ZXMmLCBGbG9hdFBvaW50JiBmb2NhbFBvaW50LCBGbG9hdFBvaW50JiBj
ZW50ZXJQb2ludCwgZmxvYXQmIHJhZGl1cyk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBERUNM
QVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTmFtZXM6
OmN4QXR0ciwgU1ZHTGVuZ3RoLCBDeCwgY3gpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksOCArNDksNiBAQCB2b2lkIFNWR1N0b3BFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0CiAgICAgICAgICAgICBzZXRPZmZzZXRCYXNlVmFsdWUodmFsdWUubGVmdCh2YWx1
ZS5sZW5ndGgoKSAtIDEpLnRvRmxvYXQoKSAvIDEwMC4wZik7CiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIHNldE9mZnNldEJhc2VWYWx1ZSh2YWx1ZS50b0Zsb2F0KCkpOwotCi0gICAgICAgIHNl
dE5lZWRzU3R5bGVSZWNhbGMoKTsKICAgICB9IGVsc2UKICAgICAgICAgU1ZHU3R5bGVkRWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiB9CkBAIC02OCw2ICs2NiwxNSBAQCBSZW5k
ZXJPYmplY3QqIFNWR1N0b3BFbGVtZW50OjpjcmVhdGVSZW5kCiAgICAgcmV0dXJuIG5ldyAoYXJl
bmEpIFJlbmRlclNWR0dyYWRpZW50U3RvcCh0aGlzKTsKIH0KIAorQ29sb3IgU1ZHU3RvcEVsZW1l
bnQ6OnN0b3BDb2xvckluY2x1ZGluZ09wYWNpdHkoKSBjb25zdAoreworICAgIEFTU0VSVChyZW5k
ZXJlcigpKTsKKyAgICBBU1NFUlQocmVuZGVyZXIoKS0+c3R5bGUoKSk7CisKKyAgICBjb25zdCBT
VkdSZW5kZXJTdHlsZSogc3ZnU3R5bGUgPSByZW5kZXJlcigpLT5zdHlsZSgpLT5zdmdTdHlsZSgp
OworICAgIHJldHVybiBjb2xvcldpdGhPdmVycmlkZUFscGhhKHN2Z1N0eWxlLT5zdG9wQ29sb3Io
KS5yZ2IoKSwgc3ZnU3R5bGUtPnN0b3BPcGFjaXR5KCkpOworfQorCiB9CiAKICNlbmRpZiAvLyBF
TkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdl
YkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDEzICszMiwx
NCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFNWR1N0b3BFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwogICAgICAgICB2aXJ0dWFsIH5TVkdTdG9wRWxlbWVu
dCgpOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRB
dHRyaWJ1dGUqKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplUHJvcGVydHkoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOwogCisgICAgICAgIENvbG9yIHN0b3BDb2xvckluY2x1ZGluZ09w
YWNpdHkoKSBjb25zdDsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0dy
YWRpZW50U3RvcCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAotICAgICAgICB2aXJ0dWFsIHZv
aWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7Ci0KICAgICAgICAgdmly
dHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5
bGUqKTsKIAogICAgICAgICBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR1N0b3BFbGVtZW50
LCBTVkdOYW1lczo6b2Zmc2V0QXR0ciwgZmxvYXQsIE9mZnNldCwgb2Zmc2V0KQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHU3R5bGVkRWxlbWVudC5jcHAJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZH
U3R5bGVkRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDYgQEAKICNpbmNs
dWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAi
U1ZHUmVuZGVyU3VwcG9ydC5oIgotI2luY2x1ZGUgIlNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAi
U1ZHU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTYzLDcg
KzYyLDYgQEAgU1ZHU3R5bGVkRWxlbWVudDo6U1ZHU3R5bGVkRWxlbWVudChjb25zdAogCiBTVkdT
dHlsZWRFbGVtZW50Ojp+U1ZHU3R5bGVkRWxlbWVudCgpCiB7Ci0gICAgU1ZHUmVzb3VyY2U6OnJl
bW92ZUNsaWVudCh0aGlzKTsKIH0KIAogYm9vbCBTVkdTdHlsZWRFbGVtZW50OjpyZW5kZXJlcklz
TmVlZGVkKFJlbmRlclN0eWxlKiBzdHlsZSkKQEAgLTIwMCwxOSArMTk4LDIxIEBAIHZvaWQgU1ZH
U3R5bGVkRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmcKICAgICBpZiAoYXR0ck5hbWUubWF0Y2hl
cyhIVE1MTmFtZXM6OmNsYXNzQXR0cikpCiAgICAgICAgIGNsYXNzQXR0cmlidXRlQ2hhbmdlZChj
bGFzc05hbWUoKSk7CiAKKyAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IHJlbmRlcmVyKCk7CisK
ICAgICBpZiAoYXR0ck5hbWUgPT0gaWRBdHRyaWJ1dGVOYW1lKCkpIHsKICAgICAgICAgLy8gTm90
aWZ5IHJlc291cmNlcyBhYm91dCBpZCBjaGFuZ2VzLCB0aGlzIGlzIGltcG9ydGFudCBhcyB3ZSBj
YWNoZSByZXNvdXJjZXMgYnkgaWQgaW4gU1ZHRG9jdW1lbnRFeHRlbnNpb25zCi0gICAgICAgIGlm
IChyZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPmlzU1ZHUmVzb3VyY2UoKSkgewotICAgICAgICAg
ICAgUmVuZGVyU1ZHUmVzb3VyY2UqIHJlc291cmNlID0gcmVuZGVyZXIoKS0+dG9SZW5kZXJTVkdS
ZXNvdXJjZSgpOwotICAgICAgICAgICAgcmVzb3VyY2UtPmlkQ2hhbmdlZCgpOwotICAgICAgICB9
CisgICAgICAgIGlmIChvYmplY3QgJiYgb2JqZWN0LT5pc1NWR1Jlc291cmNlQ29udGFpbmVyKCkp
CisgICAgICAgICAgICBvYmplY3QtPnRvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIoKS0+aWRD
aGFuZ2VkKCk7CiAgICAgfQogCi0gICAgLy8gSWYgd2UncmUgdGhlIGNoaWxkIG9mIGEgcmVzb3Vy
Y2UgZWxlbWVudCwgYmUgc3VyZSB0byBpbnZhbGlkYXRlIGl0LgotICAgIGludmFsaWRhdGVSZXNv
dXJjZXNJbkFuY2VzdG9yQ2hhaW4oKTsKKyAgICBpZiAoIWRvY3VtZW50KCktPnBhcnNpbmcoKSAm
JiBvYmplY3QpIHsKKyAgICAgICAgLy8gSWYgd2UncmUgdGhlIGNoaWxkIG9mIGEgcmVzb3VyY2Ug
ZWxlbWVudCwgdGVsbCB0aGUgcmVzb3VyY2UgKGFuZCBldmVudHVhbGx5IGl0cyByZXNvdXJjZXMp
IHRoYXQgd2UndmUgY2hhbmdlZC4KKyAgICAgICAgaW52YWxpZGF0ZVJlc291cmNlc0luQW5jZXN0
b3JDaGFpbigpOwogCi0gICAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgdXNpbmcgcmVzb3VyY2VzLCBp
bnZhbGlkYXRlIHRoZW0uCi0gICAgaW52YWxpZGF0ZVJlc291cmNlcygpOworICAgICAgICAvLyBJ
ZiB3ZSdyZSByZWZlcmVuY2luZyByZXNvdXJjZXMsIHRlbGwgdGhlbSB3ZSd2ZSBjaGFuZ2VkLgor
ICAgICAgICBkZXJlZ2lzdGVyRnJvbVJlc291cmNlcyhvYmplY3QpOworICAgIH0KIAogICAgIC8v
IEludmFsaWRhdGUgYWxsIFNWR0VsZW1lbnRJbnN0YW5jZXMgYXNzb2NpYXRlZCB3aXRoIHVzCiAg
ICAgU1ZHRWxlbWVudEluc3RhbmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KHRo
aXMpOwpAQCAtMjI2LDIwICsyMjYsNiBAQCB2b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OnN5bmNocm9u
aXplUHJvcGVyCiAgICAgICAgIHN5bmNocm9uaXplQ2xhc3NOYW1lKCk7CiB9CiAKLXZvaWQgU1ZH
U3R5bGVkRWxlbWVudDo6aW52YWxpZGF0ZVJlc291cmNlcygpCi17Ci0gICAgUmVuZGVyT2JqZWN0
KiBvYmplY3QgPSByZW5kZXJlcigpOwotICAgIGlmICghb2JqZWN0KQotICAgICAgICByZXR1cm47
Ci0KLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpOwotCi0gICAgaWYg
KGRvY3VtZW50LT5wYXJzaW5nKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGRlcmVnaXN0ZXJG
cm9tUmVzb3VyY2VzKG9iamVjdCk7Ci19Ci0KIHZvaWQgU1ZHU3R5bGVkRWxlbWVudDo6aW52YWxp
ZGF0ZVJlc291cmNlc0luQW5jZXN0b3JDaGFpbigpIGNvbnN0CiB7CiAgICAgTm9kZSogbm9kZSA9
IHBhcmVudE5vZGUoKTsKQEAgLTI0OCwyNSArMjM0LDI1IEBAIHZvaWQgU1ZHU3R5bGVkRWxlbWVu
dDo6aW52YWxpZGF0ZVJlc291cmMKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIFNWR0Vs
ZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4obm9kZSk7Ci0gICAgICAg
IGlmIChTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHU3R5
bGVkRWxlbWVudCo+KGVsZW1lbnQtPmlzU3R5bGVkKCkgPyBlbGVtZW50IDogMCkpCi0gICAgICAg
ICAgICBzdHlsZWRFbGVtZW50LT5pbnZhbGlkYXRlQ2FudmFzUmVzb3VyY2VzKCk7CisgICAgICAg
IGlmIChTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHU3R5
bGVkRWxlbWVudCo+KGVsZW1lbnQtPmlzU3R5bGVkKCkgPyBlbGVtZW50IDogMCkpIHsKKyAgICAg
ICAgICAgIHN0eWxlZEVsZW1lbnQtPmludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKTsKKworICAg
ICAgICAgICAgLy8gSWYgd2UgZm91bmQgdGhlIGZpcnN0IHJlc291cmNlIGluIHRoZSBhbmNlc3Rv
ciBjaGFpbiwgaW1tZWRpYXRlbHkgc3RvcC4KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CiAKICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKTsKICAgICB9CiB9CiAKLXZvaWQg
U1ZHU3R5bGVkRWxlbWVudDo6aW52YWxpZGF0ZUNhbnZhc1Jlc291cmNlcygpCit2b2lkIFNWR1N0
eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVSZXNvdXJjZUNsaWVudHMoKQogewogICAgIFJlbmRlck9i
amVjdCogb2JqZWN0ID0gcmVuZGVyZXIoKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaWYgKG9iamVjdC0+aXNTVkdSZXNvdXJjZSgpKQotICAgICAgICBvYmplY3Qt
PnRvUmVuZGVyU1ZHUmVzb3VyY2UoKS0+aW52YWxpZGF0ZUNsaWVudHMoKTsKLQotICAgIC8vIFRo
ZSBmb2xsb3dpbmcgbGluZXMgd2lsbCBiZSByZW1vdmVkIHNvb24sIG9uY2UgYWxsIHJlc291cmNl
cyBhcmUgaGFuZGxlZCBieSByZW5kZXJlcnMuCi0gICAgaWYgKFNWR1Jlc291cmNlKiByZXNvdXJj
ZSA9IGNhbnZhc1Jlc291cmNlKG9iamVjdCkpCi0gICAgICAgIHJlc291cmNlLT5pbnZhbGlkYXRl
KCk7CisgICAgaWYgKG9iamVjdC0+aXNTVkdSZXNvdXJjZUNvbnRhaW5lcigpKQorICAgICAgICBv
YmplY3QtPnRvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIoKS0+aW52YWxpZGF0ZUNsaWVudHMo
KTsKIH0KIAogdm9pZCBTVkdTdHlsZWRFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFu
Z2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBj
aGlsZENvdW50RGVsdGEpCkBAIC0yNzQsNyArMjYwLDggQEAgdm9pZCBTVkdTdHlsZWRFbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQoYgogICAgIFNWR0VsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFu
Z2VkQnlQYXJzZXIsIGJlZm9yZUNoYW5nZSwgYWZ0ZXJDaGFuZ2UsIGNoaWxkQ291bnREZWx0YSk7
CiAKICAgICAvLyBJbnZhbGlkYXRlIGFsbCBTVkdFbGVtZW50SW5zdGFuY2VzIGFzc29jaWF0ZWQg
d2l0aCB1cwotICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxpZGF0ZUFsbEluc3RhbmNlc09m
RWxlbWVudCh0aGlzKTsKKyAgICBpZiAoIWNoYW5nZWRCeVBhcnNlcikKKyAgICAgICAgU1ZHRWxl
bWVudEluc3RhbmNlOjppbnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KHRoaXMpOwogfQog
CiBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBTVkdTdHlsZWRFbGVtZW50OjpyZXNvbHZlU3R5bGUo
UmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKQpAQCAtMzA5LDEyICsyOTYsNiBAQCBQYXNzUmVmUHRy
PENTU1ZhbHVlPiBTVkdTdHlsZWRFbGVtZW50OjpnCiAgICAgcmV0dXJuIGNzc1NWR0F0dHItPnN0
eWxlKCktPmdldFByb3BlcnR5Q1NTVmFsdWUobmFtZSk7CiB9CiAKLXZvaWQgU1ZHU3R5bGVkRWxl
bWVudDo6ZGV0YWNoKCkKLXsKLSAgICBTVkdSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KHRoaXMpOwot
ICAgIFNWR0VsZW1lbnQ6OmRldGFjaCgpOwotfQotCiBib29sIFNWR1N0eWxlZEVsZW1lbnQ6Omlu
c3RhbmNlVXBkYXRlc0Jsb2NrZWQoKSBjb25zdAogewogICAgIHJldHVybiBoYXNSYXJlU1ZHRGF0
YSgpICYmIHJhcmVTVkdEYXRhKCktPmluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoKTsKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdTdHlsZWRFbGVtZW50LmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvU1ZHU3R5
bGVkRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw4ICsyOSw2IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNWR1Jlc291cmNlOwotCiAgICAgdm9pZCBtYXBBdHRy
aWJ1dGVUb0NTU1Byb3BlcnR5KEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIGludD4qIHByb3Bl
cnR5TmFtZVRvSWRNYXAsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKTsKIAogICAgIGNs
YXNzIFNWR1N0eWxlZEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCwKQEAgLTQ5LDcgKzQ3LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzS25vd25BdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKFJlbmRlclN0eWxlKik7Ci0gICAgICAgIHZpcnR1YWwgU1ZHUmVzb3VyY2UqIGNhbnZhc1Jl
c291cmNlKGNvbnN0IFJlbmRlck9iamVjdCopIHsgcmV0dXJuIDA7IH0KIAogICAgICAgICB2aXJ0
dWFsIGJvb2wgbWFwVG9FbnRyeShjb25zdCBRdWFsaWZpZWROYW1lJiwgTWFwcGVkQXR0cmlidXRl
RW50cnkmKSBjb25zdDsKICAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRl
KE1hcHBlZEF0dHJpYnV0ZSopOwpAQCAtNjEsMTAgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAvLyBDZW50cmFsaXplZCBwbGFjZSB0byBmb3JjZSBhIG1hbnVhbCBzdHlsZSBy
ZXNvbHV0aW9uLiBIYWNreSBidXQgbmVlZGVkIGZvciBub3cuCiAgICAgICAgIFBhc3NSZWZQdHI8
UmVuZGVyU3R5bGU+IHJlc29sdmVTdHlsZShSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpOwogCisg
ICAgICAgIHZvaWQgaW52YWxpZGF0ZVJlc291cmNlQ2xpZW50cygpOwogICAgICAgICB2b2lkIGlu
dmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4oKSBjb25zdDsKLSAgICAgICAgdm9pZCBp
bnZhbGlkYXRlUmVzb3VyY2VzKCk7Ci0KLSAgICAgICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwog
CiAgICAgICAgIGJvb2wgaW5zdGFuY2VVcGRhdGVzQmxvY2tlZCgpIGNvbnN0OwogICAgICAgICB2
b2lkIHNldEluc3RhbmNlVXBkYXRlc0Jsb2NrZWQoYm9vbCk7CkBAIC03NCw4ICs2OSw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBwcm90ZWN0ZWQ6IAogICAgICAgICBzdGF0aWMgaW50IGNz
c1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1lKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAot
ICAgICAgICB2b2lkIGludmFsaWRhdGVDYW52YXNSZXNvdXJjZXMoKTsKLQogICAgIHByaXZhdGU6
CiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfUFJPUEVSVFkoU1ZHU3R5bGVkRWxlbWVudCwgSFRN
TE5hbWVzOjpjbGFzc0F0dHIsIFN0cmluZywgQ2xhc3NOYW1lLCBjbGFzc05hbWUpCiAgICAgfTsK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCShyZXZpc2lvbiA1ODE1OSkKKysrIFdlYkNv
cmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzeW5j
aHJvbml6ZVByb3BlcnR5KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKLSAgICAgICAgdmlydHVhbCBi
b29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqIHN0eWxlKSB7IHJldHVybiBTdHlsZWRF
bGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKHN0eWxlKTsgfQogICAgICAgICB2aXJ0dWFsIFJlbmRl
ck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogCiAg
ICAgICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7CkluZGV4
OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdQYWludFNlcnZlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1BhaW50U2VydmVyLmgJKHJldmlzaW9uIDU4MTU5KQorKysg
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUGFpbnRTZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw5NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFu
biA8emltbWVybWFubkBrZGUub3JnPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIFNWR1BhaW50U2VydmVyX2gK
LSNkZWZpbmUgU1ZHUGFpbnRTZXJ2ZXJfaAotCi0jaWYgRU5BQkxFKFNWRykKLQotI2luY2x1ZGUg
IkRhc2hBcnJheS5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlNWR1Jl
c291cmNlLmgiCi0KLSNpZiBQTEFURk9STShDRykKLSNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZp
Y2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KLSNlbmRpZgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLSAgICBlbnVtIFNWR1BhaW50U2VydmVyVHlwZSB7Ci0gICAgICAgIC8vIFBhaW50aW5nIG1v
ZGUKLSAgICAgICAgU29saWRQYWludFNlcnZlciA9IDAsCi0gICAgICAgIFBhdHRlcm5QYWludFNl
cnZlciA9IDEsCi0gICAgICAgIExpbmVhckdyYWRpZW50UGFpbnRTZXJ2ZXIgPSAyLAotICAgICAg
ICBSYWRpYWxHcmFkaWVudFBhaW50U2VydmVyID0gMwotICAgIH07Ci0KLSAgICBlbnVtIFNWR1Bh
aW50VGFyZ2V0VHlwZSB7Ci0gICAgICAgIC8vIFRhcmdldCBtb2RlCi0gICAgICAgIEFwcGx5VG9G
aWxsVGFyZ2V0VHlwZSA9IDEsCi0gICAgICAgIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBlID0gMgot
ICAgIH07Ci0KLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQ7Ci0gICAgY2xhc3MgUmVuZGVyT2Jq
ZWN0OwotICAgIGNsYXNzIFJlbmRlclN0eWxlOwotICAgIGNsYXNzIFNWR1BhaW50U2VydmVyU29s
aWQ7Ci0KLSAgICBjbGFzcyBTVkdQYWludFNlcnZlciA6IHB1YmxpYyBTVkdSZXNvdXJjZSB7Ci0g
ICAgcHVibGljOgotICAgICAgICB2aXJ0dWFsIH5TVkdQYWludFNlcnZlcigpOwotCi0gICAgICAg
IHZpcnR1YWwgU1ZHUmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIFBh
aW50U2VydmVyUmVzb3VyY2VUeXBlOyB9Ci0KLSAgICAgICAgdmlydHVhbCBTVkdQYWludFNlcnZl
clR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKLSAgICAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRl
cm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mKSBjb25zdCA9IDA7Ci0KLSAgICAgICAgLy8g
VG8gYmUgaW1wbGVtZW50ZWQgaW4gcGxhdGZvcm0gc3BlY2lmaWMgY29kZS4KLSAgICAgICAgdmly
dHVhbCB2b2lkIGRyYXcoR3JhcGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIFNW
R1BhaW50VGFyZ2V0VHlwZSkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB0ZWFyZG93bihH
cmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZHUGFpbnRUYXJnZXRUeXBl
LCBib29sIGlzUGFpbnRpbmdUZXh0ID0gZmFsc2UpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIHZv
aWQgcmVuZGVyUGF0aChHcmFwaGljc0NvbnRleHQqJiwgY29uc3QgUmVuZGVyT2JqZWN0KiwgU1ZH
UGFpbnRUYXJnZXRUeXBlKSBjb25zdDsKLQotICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0dXAoR3Jh
cGhpY3NDb250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlclN0eWxlKiwg
U1ZHUGFpbnRUYXJnZXRUeXBlLCBib29sIGlzUGFpbnRpbmdUZXh0ID0gZmFsc2UpIGNvbnN0ID0g
MDsKLQotICAgICAgICBib29sIHNldHVwKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJP
YmplY3QqLCBTVkdQYWludFRhcmdldFR5cGUsIGJvb2wgaXNQYWludGluZ1RleHQgPSBmYWxzZSkg
Y29uc3Q7Ci0KLSAgICAgICAgc3RhdGljIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZl
cihjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IFJlbmRlck9iamVjdCopOwotICAgICAgICBzdGF0
aWMgU1ZHUGFpbnRTZXJ2ZXIqIGZpbGxQYWludFNlcnZlcihjb25zdCBSZW5kZXJTdHlsZSosIGNv
bnN0IFJlbmRlck9iamVjdCopOwotICAgICAgICBzdGF0aWMgU1ZHUGFpbnRTZXJ2ZXJTb2xpZCog
c2hhcmVkU29saWRQYWludFNlcnZlcigpOwotCi0gICAgcHJvdGVjdGVkOgotICAgICAgICBTVkdQ
YWludFNlcnZlcigpOyAgICAgICAgCi0gICAgfTsKLQotICAgIFRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoVGV4dFN0cmVhbSYsIGNvbnN0IFNWR1BhaW50U2VydmVyJik7Ci0KLSAgICBTVkdQYWludFNl
cnZlciogZ2V0UGFpbnRTZXJ2ZXJCeUlkKERvY3VtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJiwg
Y29uc3QgUmVuZGVyT2JqZWN0Kik7Ci0KLSAgICB2b2lkIGFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRl
eHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBSZW5kZXJPYmpl
Y3QqKTsKLSAgICBEYXNoQXJyYXkgZGFzaEFycmF5RnJvbVJlbmRlcmluZ1N0eWxlKGNvbnN0IFJl
bmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSk7Ci19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZgotCi0jZW5kaWYgLy8gU1ZHUGFpbnRTZXJ2ZXJfaApJbmRleDog
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlLmNwcAkocmV2aXNpb24gNTgxNTkpCisrKyBXZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMTM4
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDggTmlrb2xhcyBaaW1tZXJt
YW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAiU1ZHUmVzb3VyY2UuaCIKLQotI2luY2x1ZGUgIlJl
bmRlclBhdGguaCIKLSNpbmNsdWRlICJTVkdFbGVtZW50LmgiCi0jaW5jbHVkZSAiU1ZHU3R5bGVk
RWxlbWVudC5oIgotI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXR5cGVkZWYgSGFzaFNldDxTVkdS
ZXNvdXJjZSo+IFJlc291cmNlU2V0OwotCi1zdGF0aWMgUmVzb3VyY2VTZXQmIHJlc291cmNlU2V0
KCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJlc291cmNlU2V0LCBzZXQsICgpKTsKLSAg
ICByZXR1cm4gc2V0OwotfQotCi1TVkdSZXNvdXJjZTo6U1ZHUmVzb3VyY2UoKQotewotICAgIEFT
U0VSVCghcmVzb3VyY2VTZXQoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgcmVzb3VyY2VTZXQoKS5h
ZGQodGhpcyk7Ci19Ci0KLVNWR1Jlc291cmNlOjp+U1ZHUmVzb3VyY2UoKQotewotICAgIEFTU0VS
VChyZXNvdXJjZVNldCgpLmNvbnRhaW5zKHRoaXMpKTsKLSAgICByZXNvdXJjZVNldCgpLnJlbW92
ZSh0aGlzKTsKLX0KLQotdm9pZCBTVkdSZXNvdXJjZTo6aW52YWxpZGF0ZSgpCi17Ci0gICAgSGFz
aFNldDxTVkdTdHlsZWRFbGVtZW50Kj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9jbGllbnRzLmJl
Z2luKCk7Ci0gICAgY29uc3QgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj46OmNvbnN0X2l0ZXJh
dG9yIGVuZCA9IG1fY2xpZW50cy5lbmQoKTsKLQotICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQp
IHsKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudCogY3VyID0gKml0OwotCi0gICAgICAgIGlmIChj
dXItPnJlbmRlcmVyKCkpCi0gICAgICAgICAgICBjdXItPnJlbmRlcmVyKCktPnNldE5lZWRzTGF5
b3V0KHRydWUpOwotCi0gICAgICAgIGN1ci0+aW52YWxpZGF0ZVJlc291cmNlc0luQW5jZXN0b3JD
aGFpbigpOwotICAgIH0KLX0KLQotdm9pZCBTVkdSZXNvdXJjZTo6aW52YWxpZGF0ZUNsaWVudHMo
SGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj4gY2xpZW50cykKLXsKLSAgICBIYXNoU2V0PFNWR1N0
eWxlZEVsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBjbGllbnRzLmJlZ2luKCk7Ci0gICAg
Y29uc3QgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50Kj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGNs
aWVudHMuZW5kKCk7Ci0KLSAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFNW
R1N0eWxlZEVsZW1lbnQqIGN1ciA9ICppdDsKLQotICAgICAgICBpZiAoY3VyLT5yZW5kZXJlcigp
KQotICAgICAgICAgICAgY3VyLT5yZW5kZXJlcigpLT5zZXROZWVkc0xheW91dCh0cnVlKTsKLQot
ICAgICAgICBjdXItPmludmFsaWRhdGVSZXNvdXJjZXNJbkFuY2VzdG9yQ2hhaW4oKTsKLSAgICB9
Ci19Ci0KLXZvaWQgU1ZHUmVzb3VyY2U6OnJlbW92ZUNsaWVudChTVkdTdHlsZWRFbGVtZW50KiBp
dGVtKSAKLXsKLSAgICBSZXNvdXJjZVNldDo6aXRlcmF0b3IgaXQgPSByZXNvdXJjZVNldCgpLmJl
Z2luKCk7Ci0gICAgUmVzb3VyY2VTZXQ6Oml0ZXJhdG9yIGVuZCA9IHJlc291cmNlU2V0KCkuZW5k
KCk7Ci0KLSAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFNWR1Jlc291cmNl
KiByZXNvdXJjZSA9ICppdDsKLSAgICAgICAgaWYgKCFyZXNvdXJjZS0+bV9jbGllbnRzLmNvbnRh
aW5zKGl0ZW0pKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIHJlc291cmNlLT5tX2Ns
aWVudHMucmVtb3ZlKGl0ZW0pOwotICAgIH0KLX0KLQotdm9pZCBTVkdSZXNvdXJjZTo6YWRkQ2xp
ZW50KFNWR1N0eWxlZEVsZW1lbnQqIGl0ZW0pCi17Ci0gICAgaWYgKG1fY2xpZW50cy5jb250YWlu
cyhpdGVtKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9jbGllbnRzLmFkZChpdGVtKTsKLX0K
LQotVGV4dFN0cmVhbSYgU1ZHUmVzb3VyY2U6OmV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0
cmVhbSYgdHMpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRzOwotfQotCi1TVkdSZXNvdXJjZSogZ2V0
UmVzb3VyY2VCeUlkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBpZCwg
Y29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgaWYgKGlkLmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KLSAgICBFbGVtZW50KiBlbGVtZW50ID0gZG9jdW1lbnQtPmdldEVs
ZW1lbnRCeUlkKGlkKTsKLSAgICBTVkdFbGVtZW50KiBzdmdFbGVtZW50ID0gMDsKLSAgICBpZiAo
ZWxlbWVudCAmJiBlbGVtZW50LT5pc1NWR0VsZW1lbnQoKSkKLSAgICAgICAgc3ZnRWxlbWVudCA9
IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihlbGVtZW50KTsKLQotICAgIGlmIChzdmdFbGVtZW50
ICYmIHN2Z0VsZW1lbnQtPmlzU3R5bGVkKCkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxT
VkdTdHlsZWRFbGVtZW50Kj4oc3ZnRWxlbWVudCktPmNhbnZhc1Jlc291cmNlKG9iamVjdCk7Ci0K
LSAgICByZXR1cm4gMDsKLX0KLQotVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0
cywgY29uc3QgU1ZHUmVzb3VyY2UmIHIpCi17Ci0gICAgcmV0dXJuIHIuZXh0ZXJuYWxSZXByZXNl
bnRhdGlvbih0cyk7Ci19Ci0KLX0KLQotI2VuZGlmCkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdSZXNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jl
c291cmNlLmgJKHJldmlzaW9uIDU4MTU5KQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVz
b3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMSw5MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA4IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotCi0jaWZuZGVmIFNWR1Jlc291cmNlX2gKLSNkZWZpbmUgU1ZHUmVzb3VyY2VfaAotCi0j
aWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgIlJl
bmRlck9iamVjdC5oIgotI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKLQotI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEF0b21pY1N0cmluZzsgCi1j
bGFzcyBEb2N1bWVudDsKLWNsYXNzIFNWR1N0eWxlZEVsZW1lbnQ7Ci1jbGFzcyBUZXh0U3RyZWFt
OwotCi1lbnVtIFNWR1Jlc291cmNlVHlwZSB7Ci0gICAgLy8gUGFpbnRpbmcgbW9kZQotICAgIElt
YWdlUmVzb3VyY2VUeXBlLAotICAgIFBhaW50U2VydmVyUmVzb3VyY2VUeXBlLAotICAgIAotICAg
IC8vIEZvciByZXNvdXJjZSB0cmFja2luZyB3ZSBuZWVkIHRvIGtub3cgaG93IG1hbnkgdHlwZXMg
b2YgcmVzb3VyY2UgdGhlcmUgYXJlCi0gICAgX1Jlc291cmNlVHlwZUNvdW50Ci19OwotCi0vLyBU
aGUgU1ZHUmVzb3VyY2UgZmlsZSByZXByZXNlbnQgdmFyaW91cyBncmFwaGljcyByZXNvdXJjZXM6
Ci0vLyAtIFBhdHRlcm4gcmVzb3VyY2UKLS8vIC0gTGluZWFyL1JhZGlhbCBncmFkaWVudCByZXNv
dXJjZQotLy8KLS8vIFNWRyBjcmVhdGVzL3VzZXMgdGhlc2UgcmVzb3VyY2VzLgotCi1jbGFzcyBT
VkdSZXNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFNWR1Jlc291cmNlPiB7Ci1wdWJsaWM6Ci0g
ICAgdmlydHVhbCB+U1ZHUmVzb3VyY2UoKTsKLSAgCi0gICAgdmlydHVhbCB2b2lkIGludmFsaWRh
dGUoKTsKLQotICAgIHZvaWQgYWRkQ2xpZW50KFNWR1N0eWxlZEVsZW1lbnQqKTsKLSAgICB2aXJ0
dWFsIFNWR1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUoKSBjb25zdCA9IDA7Ci0gICAgCi0gICAg
Ym9vbCBpc1BhaW50U2VydmVyKCkgY29uc3QgeyByZXR1cm4gcmVzb3VyY2VUeXBlKCkgPT0gUGFp
bnRTZXJ2ZXJSZXNvdXJjZVR5cGU7IH0KLQotICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7Ci0KLSAgICBzdGF0aWMgdm9pZCBp
bnZhbGlkYXRlQ2xpZW50cyhIYXNoU2V0PFNWR1N0eWxlZEVsZW1lbnQqPik7Ci0gICAgc3RhdGlj
IHZvaWQgcmVtb3ZlQ2xpZW50KFNWR1N0eWxlZEVsZW1lbnQqKTsKLQotcHJvdGVjdGVkOgotICAg
IFNWR1Jlc291cmNlKCk7Ci0KLXByaXZhdGU6Ci0gICAgSGFzaFNldDxTVkdTdHlsZWRFbGVtZW50
Kj4gbV9jbGllbnRzOwotfTsKLQotU1ZHUmVzb3VyY2UqIGdldFJlc291cmNlQnlJZChEb2N1bWVu
dCosIGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IFJlbmRlck9iamVjdCopOwotCi1UZXh0U3Ry
ZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mLCBjb25zdCBTVkdSZXNvdXJjZSYpOwotCi19Ci0K
LSNlbmRpZgotI2VuZGlmCg==
</data>
<flag name="review"
          id="38051"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>