<?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>31370</bug_id>
          
          <creation_ts>2009-11-11 13:04:04 -0800</creation_ts>
          <short_desc>SVG filter effects need smarter size calculation</short_desc>
          <delta_ts>2014-05-12 05:54:35 -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>525.x (Safari 3.1)</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>http://ejohn.org/files/ecma-cloud.svg</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>45612</dependson>
    
    <dependson>47260</dependson>
          <blocked>68469</blocked>
    
    <blocked>26389</blocked>
    
    <blocked>47174</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>eric</cc>
    
    <cc>jeffschiller</cc>
    
    <cc>wjmaclean</cc>
    
    <cc>zherczeg</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>162634</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-11-11 13:04:04 -0800</bug_when>
    <thetext>We stick closely to the current SVG specification to minimize filter effect sizes. This is not enough if content creators take the viewport as filter AND effect size. We need to find out which part of a effect needs to be drawn, independent of the Spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245261</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-07-01 05:08:48 -0700</bug_when>
    <thetext>*** Bug 41224 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262597</commentid>
    <comment_count>2</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-08-10 03:29:45 -0700</bug_when>
    <thetext>Is there any reduction for this bug? The source code of ecma-cloud.svg is not exactly human readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262599</commentid>
    <comment_count>3</comment_count>
      <attachid>63996</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-08-10 03:41:30 -0700</bug_when>
    <thetext>Created attachment 63996
Filter with slow performance

This is an example of a very little rect, that gets blurred. The filter size is 5000x5000 and the effect of the same size. It&apos;s very slow, because we&apos;re using the effect rect with some more (but here useless) optimizations for the ImageBuffer size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281258</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-09-18 22:48:36 -0700</bug_when>
    <thetext>I worked on this problem yesterday. And I have a working patch. But the last patch on bug 45612 is needed. I upload the patch after I fixed a problem with filterScale.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288658</commentid>
    <comment_count>5</comment_count>
      <attachid>69566</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-01 23:31:13 -0700</bug_when>
    <thetext>Created attachment 69566
Patch

Draw filters in device space and calculate smallest effect region.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288661</commentid>
    <comment_count>6</comment_count>
      <attachid>69566</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-02 00:47:08 -0700</bug_when>
    <thetext>Comment on attachment 69566
Patch

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

Beautiful patch, great job Dirk! Some things left to fix....

&gt; WebCore/ChangeLog:14
&gt; +        Caclculate all filter results in device space instead of the filtered objects user space. This change is similar to

typo: Calculate.

&gt; WebCore/ChangeLog:16
&gt; +        every scale level and is indepent of any transformation to the target element or any root element of the target.

typo: independant.
s/root element/ancestor/

&gt; WebCore/ChangeLog:17
&gt; +        The second part of this patch reduces the size of every effect to the smallest effected region instead of the complete

typo: affected.

&gt; WebCore/ChangeLog:19
&gt; +        as clipping region, like mentioned in the SVG specification, to make the effected region even smaller now.

typo: affected.

&gt; WebCore/ChangeLog:20
&gt; +        This is a huge speedup. The ECMA cloud (http://ejohn.org/files/ecma-cloud.svg) is more than 100 times faster on Gtk and

Newline before this line please.

&gt; WebCore/ChangeLog:22
&gt; +        Some exmaples on svg-wow.org can be fewed the first time now, since the subregions were much bigger than the effected

typo: examples.
typo: affected.
s/fewed/viewed/ cute ;-)

&gt; WebCore/ChangeLog:23
&gt; +        region. This caused endless calculations.

Just remove the entire sentence, it&apos;s quite confusing.

&gt; WebCore/ChangeLog:24
&gt; +        There is still more potential to speed up 

Same here, maybe say &quot;There&apos;s still more potential to speed up filters, by further reducing the ImageBuffer sizes&quot;

&gt; WebCore/ChangeLog:25
&gt; +        Changed repaintRectInLocalCoordinates to absolutePaintRect, since all coordinates are in device space instead of the

s/Changed/Renamed/

&gt; WebCore/ChangeLog:27
&gt; +        The absolutePaintRect is calculated by determineAbsolutePaintRect and gets called by FilterEffect::effectContext() on

s/The absolutePaintRect/The absolute paint rect/
determineAbsolutePaintRect()

&gt; WebCore/ChangeLog:32
&gt; +        Tests: svg/filters/filterRes/filterRes1.svg

Do we really need a new subdirectory? svg/filters seems just fine.

&gt; WebCore/ChangeLog:36
&gt; +        * platform/graphics/cairo/GraphicsContextCairo.cpp: Update setRepaintRectToLocalCoordinates to setAbsolutePaintRect.

Call setAbsolutePaintRect instead of setRepaintRectInLocalCoordinates.

&gt; WebCore/ChangeLog:39
&gt; +        (WebCore::FEBlend::apply):

Add something like s/repaintRectInLocalCoordinates/absolutePaintRect/.

&gt; WebCore/ChangeLog:41
&gt; +        (WebCore::FEColorMatrix::apply):

Use ditto for the other apply() methods below.

&gt; WebCore/platform/graphics/filters/FEComposite.cpp:120
&gt; +    case FECOMPOSITE_OPERATOR_IN :

Whitespace before :, please remove.

&gt; WebCore/platform/graphics/filters/FEComposite.cpp:122
&gt; +        repaintRect = inputEffect(1)-&gt;absolutePaintRect();

Ditto.

&gt; WebCore/platform/graphics/filters/FEComposite.cpp:124
&gt; +    case FECOMPOSITE_OPERATOR_ARITHMETIC :

Ditto.

&gt; WebCore/platform/graphics/filters/FEComposite.cpp:128
&gt; +        return FilterEffect::determineAbsolutePaintRect(filter);

Comments could help here, the code is not really understandable for me at the moment, why arithmetic  needs maxEffectRect(), why in/atop just the first effects absolutePaintRect etc.
And also why you&apos;re only calling setAbsolutePaintRect() in the non-default case.

&gt; WebCore/platform/graphics/filters/FEComposite.cpp:130
&gt; +    setAbsolutePaintRect(repaintRect);

It&apos;s not clear to me why this function still returns a repaintRect.
It seems it&apos;s not needed, the caller can just query absolutePaintRect() after calling determineAbsolutePaintRect.

&gt; WebCore/platform/graphics/filters/FEFlood.cpp:78
&gt; +    if (!color.red() &amp;&amp; !color.green() &amp;&amp; !color.blue())

Hm, it seems to me a helper function is missing in Color which does just that &quot;bool isBlackAlpha&quot; or something like that, which avoids checking red() green() blue() individually, which all do bit shifts on the RGBA quadruplet.
It should be easier to find this out using a single query on the quadruplet. I&apos;ll leave for you to decide wheter you want to add that to Color right now.

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:137
&gt; +        kernelSizeX = max(2U, static_cast&lt;unsigned&gt;(floor(stdX * gGaussianKernelFactor + 0.5f)));

Doesn&apos;t max&lt;unsigned&gt;(2, static_cast&lt;unsigned&gt;(...)) work? Just guessing here. If not please use &quot;2u&quot;.
Don&apos;t you want to use floorf here?

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:141
&gt; +        kernelSizeY = max(2U, static_cast&lt;unsigned&gt;(floor(stdY * gGaussianKernelFactor + 0.5f)));

Ditto.

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:142
&gt; +    repaintRect.inflateX(3 * (kernelSizeX * 0.5f));

That needs a comment.

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:173
&gt; +        kernelSizeX = max(2U, static_cast&lt;unsigned&gt;(floor(stdX * gGaussianKernelFactor + 0.5f)));

Same question as above, doesn&apos;t max&lt;unsigned&gt; work? If not use &quot;2u&quot;.

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:176
&gt; +    if (stdY)

Ditto.

&gt; WebCore/platform/graphics/filters/FEMorphology.cpp:80
&gt; +    repaintRect.inflateX(static_cast&lt;int&gt;(filter-&gt;horizontalScale(m_radiusX)));

static_cast&lt;int&gt; seems to be wrong here. Either floor or ceil, or sth. else, but not truncating. Correct me if I&apos;m wrong.

&gt; WebCore/platform/graphics/filters/FEMorphology.cpp:81
&gt; +    repaintRect.inflateY(static_cast&lt;int&gt;(filter-&gt;verticalScale(m_radiusY)));

Ditto.

&gt; WebCore/platform/graphics/filters/FEMorphology.cpp:102
&gt; +    if (m_radiusX &lt;= 0 || m_radiusY &lt;= 0)

Are you sure you want the check here, and not below, after radiusX/Y are calculated?

&gt; WebCore/platform/graphics/filters/FEMorphology.cpp:105
&gt; +    int radiusX = static_cast&lt;int&gt;(filter-&gt;horizontalScale(m_radiusX));

Ditto, truncating seems wrong.

&gt; WebCore/platform/graphics/filters/FETurbulence.cpp:338
&gt; +    PaintingData paintingData(static_cast&lt;long&gt;(filter-&gt;horizontalScale(m_seed)), imageRect.size());

Why are you casting here?

&gt; WebCore/platform/graphics/filters/Filter.h:48
&gt; +        virtual float horizontalScale(float value) const { return value * m_filterResolution.width(); }
&gt; +        virtual float verticalScale(float value) const { return value * m_filterResolution.height(); }

These names could need some love. How about &quot;applyHorizontalFilterResolutionScale&quot;.

&gt; WebCore/platform/graphics/filters/FilterEffect.cpp:79
&gt; +FloatRect FilterEffect::drawingRegionOfInputImage(const IntRect&amp; srcRect) const

Seems unclear, why this is a FloatRect now? Should be an IntRect.

&gt; WebCore/platform/graphics/filters/FilterEffect.cpp:93
&gt; +    IntRect bufferRect = determineAbsolutePaintRect(filter);

There you go, just call determineAbsolutePaintRect(filter), then use IntRect bufferRect = absolutePaintRect();
Can you avoid the local variable, is it only used in the ImageBuffer::create() call, or even below?

&gt; WebCore/platform/graphics/filters/FilterEffect.h:68
&gt; +    IntRect maxEffectRect() const { return m_maxEffectRect; }

Hm, I&apos;d love this to be more descriptive. Isn&apos;t it something like the minimal effect rect needed, rather than the max effect rect? :-)

&gt; WebCore/platform/graphics/filters/FilterEffect.h:95
&gt; +    // FIXME: FETile still needs special handling.

Can you explain to me, what&apos;s still different about FETile? Is it the only exception?

&gt; WebCore/platform/graphics/filters/FilterEffect.h:115
&gt; +    // The maximum size of a filter primitive. On SVG this is the primitive subregion in absolute coordinate space.

s/On SVG/For SVG/

&gt; WebCore/rendering/RenderSVGResourceFilter.cpp:191
&gt; +    // than kMaxFilterSize.

Do you need to break lines here?

&gt; WebCore/svg/graphics/filters/SVGFilter.cpp:27
&gt; +SVGFilter::SVGFilter(AffineTransform absoluteTransform, const FloatRect&amp; absoluteSourceDrawingRegion, const FloatRect&amp; targetBoundingBox, const FloatRect&amp; filterRegion, bool effectBBoxMode)

Use const AffineTransform&amp; here!

&gt; WebCore/svg/graphics/filters/SVGFilter.cpp:91
&gt; +    return value * filterResolution().width() * (m_absoluteFilterRegion.width() / m_filterRegion.width());

Useless braces.

&gt; WebCore/svg/graphics/filters/SVGFilter.cpp:98
&gt; +    return value * filterResolution().height() * (m_absoluteFilterRegion.height() / m_filterRegion.height());

Useless braces.

&gt; WebCore/svg/graphics/filters/SVGFilter.cpp:101
&gt; +PassRefPtr&lt;SVGFilter&gt; SVGFilter::create(AffineTransform absoluteTransform, const FloatRect&amp; absoluteSourceDrawingRegion, const FloatRect&amp; targetBoundingBox, const FloatRect&amp; filterRegion, bool effectBBoxMode)

const AffineTransform&amp;.

&gt; LayoutTests/svg/filters/filterRes/filterRes3.svg:1
&gt; +&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;

Can you add other tests, that do the same but have a viewBox, and or a parent &lt;g transform=&quot;something-complex-here-skewed-rotated-scaled, etc.&quot;&gt; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289845</commentid>
    <comment_count>7</comment_count>
      <attachid>69833</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-05 13:36:44 -0700</bug_when>
    <thetext>Created attachment 69833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289870</commentid>
    <comment_count>8</comment_count>
      <attachid>69839</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-05 14:04:13 -0700</bug_when>
    <thetext>Created attachment 69839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289872</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-05 14:05:28 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=69839) [details]
&gt; Patch

Added checks for apply() to SourceGraphic and SourceAlpha if the sourceImage is present, return if not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290103</commentid>
    <comment_count>10</comment_count>
      <attachid>69890</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-05 22:53:49 -0700</bug_when>
    <thetext>Created attachment 69890
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290106</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-05 22:58:39 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=69890) [details]
&gt; Patch

Last change. We have to take the subregion size in absolute coordinates for lightning effects instead of the smallest effect rect. I thought it was a progression, since the results looked like in Firefox with the previous patch, but Firefox is wrong here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290127</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-06 00:32:33 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 69566 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69566&amp;action=review
ChangeLog issues fixed.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEComposite.cpp:120
&gt; &gt; +    case FECOMPOSITE_OPERATOR_IN :
&gt; 
&gt; Whitespace before :, please remove.
&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEComposite.cpp:122
&gt; &gt; +        repaintRect = inputEffect(1)-&gt;absolutePaintRect();
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEComposite.cpp:124
&gt; &gt; +    case FECOMPOSITE_OPERATOR_ARITHMETIC :
&gt; 
&gt; Ditto.
fixed.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEComposite.cpp:128
&gt; &gt; +        return FilterEffect::determineAbsolutePaintRect(filter);
&gt; 
&gt; Comments could help here, the code is not really understandable for me at the moment, why arithmetic  needs maxEffectRect(), why in/atop just the first effects absolutePaintRect etc.
&gt; And also why you&apos;re only calling setAbsolutePaintRect() in the non-default case.
Added some comments to make clear why this is an optimization, and how it works.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEComposite.cpp:130
&gt; &gt; +    setAbsolutePaintRect(repaintRect);
&gt; 
&gt; It&apos;s not clear to me why this function still returns a repaintRect.
&gt; It seems it&apos;s not needed, the caller can just query absolutePaintRect() after calling determineAbsolutePaintRect.
determineAbsolutePaintRect doesn&apos;t return anything now. Fixed.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEFlood.cpp:78
&gt; &gt; +    if (!color.red() &amp;&amp; !color.green() &amp;&amp; !color.blue())
&gt; 
&gt; Hm, it seems to me a helper function is missing in Color which does just that &quot;bool isBlackAlpha&quot; or something like that, which avoids checking red() green() blue() individually, which all do bit shifts on the RGBA quadruplet.
&gt; It should be easier to find this out using a single query on the quadruplet. I&apos;ll leave for you to decide wheter you want to add that to Color right now.
Right, should be in Color, removed this from the patch.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:137
&gt; &gt; +        kernelSizeX = max(2U, static_cast&lt;unsigned&gt;(floor(stdX * gGaussianKernelFactor + 0.5f)));
&gt; 
&gt; Doesn&apos;t max&lt;unsigned&gt;(2, static_cast&lt;unsigned&gt;(...)) work? Just guessing here. If not please use &quot;2u&quot;.
&gt; Don&apos;t you want to use floorf here?
&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:141
&gt; &gt; +        kernelSizeY = max(2U, static_cast&lt;unsigned&gt;(floor(stdY * gGaussianKernelFactor + 0.5f)));
&gt; 
&gt; Ditto.
Works and is fixed.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:142
&gt; &gt; +    repaintRect.inflateX(3 * (kernelSizeX * 0.5f));
&gt; 
&gt; That needs a comment.
Comment added.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:173
&gt; &gt; +        kernelSizeX = max(2U, static_cast&lt;unsigned&gt;(floor(stdX * gGaussianKernelFactor + 0.5f)));
&gt; 
&gt; Same question as above, doesn&apos;t max&lt;unsigned&gt; work? If not use &quot;2u&quot;.
&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:176
&gt; &gt; +    if (stdY)
&gt; 
&gt; Ditto.
Ditto. :-)

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEMorphology.cpp:80
&gt; &gt; +    repaintRect.inflateX(static_cast&lt;int&gt;(filter-&gt;horizontalScale(m_radiusX)));
&gt; 
&gt; static_cast&lt;int&gt; seems to be wrong here. Either floor or ceil, or sth. else, but not truncating. Correct me if I&apos;m wrong.
&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEMorphology.cpp:81
&gt; &gt; +    repaintRect.inflateY(static_cast&lt;int&gt;(filter-&gt;verticalScale(m_radiusY)));
&gt; 
&gt; Ditto.
Added floorf. Fixed.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEMorphology.cpp:102
&gt; &gt; +    if (m_radiusX &lt;= 0 || m_radiusY &lt;= 0)
&gt; 
&gt; Are you sure you want the check here, and not below, after radiusX/Y are calculated?
yes, the spec want us to return, if the radius that was specified is &lt;=0. But this can still happen on the transformation of the radii to absolute coordinates. But this is allowed here. (In my eyes it should be allowed in general, but this is an issue with the spec).

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEMorphology.cpp:105
&gt; &gt; +    int radiusX = static_cast&lt;int&gt;(filter-&gt;horizontalScale(m_radiusX));
&gt; 
&gt; Ditto, truncating seems wrong.
fixed.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FETurbulence.cpp:338
&gt; &gt; +    PaintingData paintingData(static_cast&lt;long&gt;(filter-&gt;horizontalScale(m_seed)), imageRect.size());
&gt; 
&gt; Why are you casting here?
Was wrong, fixed.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/Filter.h:48
&gt; &gt; +        virtual float horizontalScale(float value) const { return value * m_filterResolution.width(); }
&gt; &gt; +        virtual float verticalScale(float value) const { return value * m_filterResolution.height(); }
&gt; 
&gt; These names could need some love. How about &quot;applyHorizontalFilterResolutionScale&quot;.
After a discussion on IRC, I take applyHorizontalScale and applyVerticalScale now.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FilterEffect.cpp:79
&gt; &gt; +FloatRect FilterEffect::drawingRegionOfInputImage(const IntRect&amp; srcRect) const
&gt; 
&gt; Seems unclear, why this is a FloatRect now? Should be an IntRect.
Is IntRect now.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FilterEffect.cpp:93
&gt; &gt; +    IntRect bufferRect = determineAbsolutePaintRect(filter);
&gt; 
&gt; There you go, just call determineAbsolutePaintRect(filter), then use IntRect bufferRect = absolutePaintRect();
&gt; Can you avoid the local variable, is it only used in the ImageBuffer::create() call, or even below?
Done.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FilterEffect.h:68
&gt; &gt; +    IntRect maxEffectRect() const { return m_maxEffectRect; }
&gt; 
&gt; Hm, I&apos;d love this to be more descriptive. Isn&apos;t it something like the minimal effect rect needed, rather than the max effect rect? :-)
maxEffectRect is the primitive subregion in absolute coordinates and also the clipping region for primitives in general. Because FilterEffect should be as independent of SVG Filter as possible, I decided to take another name.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FilterEffect.h:95
&gt; &gt; +    // FIXME: FETile still needs special handling.
&gt; 
&gt; Can you explain to me, what&apos;s still different about FETile? Is it the only exception?
Yes, feTile need a special handling according to the SVG Spec. See http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveSubRegion and the 5th paragraph.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FilterEffect.h:115
&gt; &gt; +    // The maximum size of a filter primitive. On SVG this is the primitive subregion in absolute coordinate space.
&gt; 
&gt; s/On SVG/For SVG/
&gt; 
&gt; &gt; WebCore/rendering/RenderSVGResourceFilter.cpp:191
&gt; &gt; +    // than kMaxFilterSize.
&gt; 
&gt; Do you need to break lines here?
fixed.

&gt; 
&gt; &gt; WebCore/svg/graphics/filters/SVGFilter.cpp:27
&gt; &gt; +SVGFilter::SVGFilter(AffineTransform absoluteTransform, const FloatRect&amp; absoluteSourceDrawingRegion, const FloatRect&amp; targetBoundingBox, const FloatRect&amp; filterRegion, bool effectBBoxMode)
&gt; 
&gt; Use const AffineTransform&amp; here!
fixed.

&gt; 
&gt; &gt; WebCore/svg/graphics/filters/SVGFilter.cpp:91
&gt; &gt; +    return value * filterResolution().width() * (m_absoluteFilterRegion.width() / m_filterRegion.width());
&gt; 
&gt; Useless braces.
removed.

&gt; 
&gt; &gt; WebCore/svg/graphics/filters/SVGFilter.cpp:98
&gt; &gt; +    return value * filterResolution().height() * (m_absoluteFilterRegion.height() / m_filterRegion.height());
&gt; 
&gt; Useless braces.
Ditto.

&gt; 
&gt; &gt; WebCore/svg/graphics/filters/SVGFilter.cpp:101
&gt; &gt; +PassRefPtr&lt;SVGFilter&gt; SVGFilter::create(AffineTransform absoluteTransform, const FloatRect&amp; absoluteSourceDrawingRegion, const FloatRect&amp; targetBoundingBox, const FloatRect&amp; filterRegion, bool effectBBoxMode)
&gt; 
&gt; const AffineTransform&amp;.
Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290128</commentid>
    <comment_count>13</comment_count>
      <attachid>69890</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-06 00:55:36 -0700</bug_when>
    <thetext>Comment on attachment 69890
Patch

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

Ok, I could give r+, but I&apos;d like to review the second version first...

&gt; WebCore/platform/graphics/filters/FEComposite.cpp:126
&gt; +        // Arithmetic may influnce the comple filter primitive region. So we can&apos;t

typo: complete.

&gt; WebCore/platform/graphics/filters/FEDisplacementMap.h:56
&gt; +    virtual void determineAbsolutePaintRect(Filter*) { setAbsolutePaintRect(maxEffectRect()); }

FEDisplacmentMap, FEFlood, FEConvolveMatrix, FELighting, FETile, FETurbulence and SVGFEImage all need this function.
How about introducing &quot;bool usesMaxEffectRectAsAbsolutePaintRect() const&quot; returning true for those renderers. Then you don&apos;t need to override determineAbsolutePaintRect here.
But can instead use &quot;if (usesMaxEffectRectAsAbsolutePaintRect()) m_absolutePaintRect = maxEffectRect(); &quot; in FilterEffect directly.

Makes sense?

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:128
&gt; +inline void calculateKernelSize(unsigned&amp; kernelSizeX, unsigned&amp; kernelSizeY, float stdX, float stdY, Filter* filter)

I&apos;d prefer if you passed transformed stdX/stdY values here, and leave out the Filter* param.
Ok, just saw that you&apos;re using calculateKernelSize twice, so it&apos;s fine to do it here. Can you just move the Filter* param to be the first one :-) ?

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:141
&gt; +    // inflates the absolute paint rect to much.

Please add &quot;Compatible with FireFox trunk&quot;.

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:142
&gt; +    if (kernelSizeX &gt; 1000)

Introduce a static const unsigned kMaxKernelSize or something like this, on top of this file, like it&apos;s done for kMaxFilterSize.

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:159
&gt; +    absolutePaintRect.inflateX(3 * (kernelSizeX * 0.5f));
&gt; +    absolutePaintRect.inflateY(3 * (kernelSizeY * 0.5f));

Useless braces.

&gt; WebCore/platform/graphics/filters/FEMorphology.cpp:81
&gt; +    paintRect.inflateX(floorf(filter-&gt;applyHorizontalScale(m_radiusX)));
&gt; +    paintRect.inflateY(floorf(filter-&gt;applyVerticalScale(m_radiusY)));

Why does this compile? You still need a static_cast&lt;int&gt;(floorf(....)), as the floorf return type is float, and paintRect is integer based.

&gt; WebCore/platform/graphics/filters/FEMorphology.cpp:104
&gt; +    int radiusX = floorf(filter-&gt;applyHorizontalScale(m_radiusX));

Ditto, need to cast to int first.

&gt; WebCore/platform/graphics/filters/FEOffset.cpp:67
&gt; +    FloatRect paintRect = inputEffect(0)-&gt;absolutePaintRect();

This is inconsistent, compared to eg. FEMorphology, which uses floorf after applyHorizontalScale, and operates on IntRect.
Here you are operating on FloatRects, and use enclosingIntRect afterwards.
I think the FEOffset solution is better, and should be deployed everywhere.

&gt; WebCore/platform/graphics/filters/FETile.cpp:74
&gt; +    if (!SVGImageBufferTools::createImageBuffer(tileRect, tileRect, tileImage, DeviceRGB))

We&apos;re sure DeviceRGB is correct here?

&gt; WebCore/platform/graphics/filters/FETile.cpp:78
&gt; +    tileImageContext-&gt;translate(-in-&gt;maxEffectRect().x(), -in-&gt;maxEffectRect().y());

maxEffectRect() should be cached in a local variable, same for in-&gt;maxEffectRect, it&apos;s used multiple times here.

&gt; WebCore/platform/graphics/filters/FilterEffect.cpp:95
&gt; +    m_effectBuffer = ImageBuffer::create(m_absolutePaintRect.size(), LinearRGB);

LinearRGB is used here, and DeviceRGB in FETile - not sure wheter we want this difference??

&gt; WebCore/platform/graphics/filters/FilterEffect.h:95
&gt; +    // FIXME: FETile still needs special handling.

Why is this a FIXME? Is it related to zoltans patch who introduces isFETile() and removes this special function?

&gt; WebCore/rendering/RenderSVGResourceFilter.cpp:167
&gt; +    // Eliminate shear of the absolute transformation matrix to increase the quality of results in feTile. 

The comment is wrong :-)
Eliminate shear of the absolute transformation matrix, to be able to produce unsheared tile images in feTile.
It&apos;s not about quality, there&apos;s no other way we could ever do tiling correctly :-)

&gt; WebCore/rendering/RenderSVGResourceFilter.cpp:218
&gt; +    // Even if the target objectBoundingBox() is empty, we still have to draw something.

s/something/the last effect result image in postApplyResource/.

&gt; LayoutTests/ChangeLog:10
&gt; +        primitiveUnits &quot;objectBoundingBox&quot; for stdDeviation on feGaussianBlu correctly.

typo: feGaussianBlur.

&gt; LayoutTests/ChangeLog:11
&gt; +        

One newline too much.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290141</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-06 01:46:00 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 69890 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69890&amp;action=review
&gt; 
&gt; Ok, I could give r+, but I&apos;d like to review the second version first...
&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEComposite.cpp:126
&gt; &gt; +        // Arithmetic may influnce the comple filter primitive region. So we can&apos;t
&gt; 
&gt; typo: complete.
&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEDisplacementMap.h:56
&gt; &gt; +    virtual void determineAbsolutePaintRect(Filter*) { setAbsolutePaintRect(maxEffectRect()); }
&gt; 
&gt; FEDisplacmentMap, FEFlood, FEConvolveMatrix, FELighting, FETile, FETurbulence and SVGFEImage all need this function.
&gt; How about introducing &quot;bool usesMaxEffectRectAsAbsolutePaintRect() const&quot; returning true for those renderers. Then you don&apos;t need to override determineAbsolutePaintRect here.
&gt; But can instead use &quot;if (usesMaxEffectRectAsAbsolutePaintRect()) m_absolutePaintRect = maxEffectRect(); &quot; in FilterEffect directly.
&gt; 
&gt; Makes sense?
It would mean introducing a new virtual function, without replacing another one. determineAbsolutePaintRect still needs to be virtual for effects like GaussianBlur, feOffset, feMorphology, peseudo primitives.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:128
&gt; &gt; +inline void calculateKernelSize(unsigned&amp; kernelSizeX, unsigned&amp; kernelSizeY, float stdX, float stdY, Filter* filter)
&gt; 
&gt; I&apos;d prefer if you passed transformed stdX/stdY values here, and leave out the Filter* param.
&gt; Ok, just saw that you&apos;re using calculateKernelSize twice, so it&apos;s fine to do it here. Can you just move the Filter* param to be the first one :-) ?
done.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:141
&gt; &gt; +    // inflates the absolute paint rect to much.
&gt; 
&gt; Please add &quot;Compatible with FireFox trunk&quot;.
added.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:142
&gt; &gt; +    if (kernelSizeX &gt; 1000)
&gt; 
&gt; Introduce a static const unsigned kMaxKernelSize or something like this, on top of this file, like it&apos;s done for kMaxFilterSize.
Took gMaxFilterSize regarding the comments on webkit-dev about static consts.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:159
&gt; &gt; +    absolutePaintRect.inflateX(3 * (kernelSizeX * 0.5f));
&gt; &gt; +    absolutePaintRect.inflateY(3 * (kernelSizeY * 0.5f));
&gt; 
&gt; Useless braces.
right. Still have 3 * .. * 0.5 in the patch instead of 1.5. Otherwise it would be to confusing to read. The compiler should optimize it anyway.
&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEMorphology.cpp:81
&gt; &gt; +    paintRect.inflateX(floorf(filter-&gt;applyHorizontalScale(m_radiusX)));
&gt; &gt; +    paintRect.inflateY(floorf(filter-&gt;applyVerticalScale(m_radiusY)));
&gt; 
&gt; Why does this compile? You still need a static_cast&lt;int&gt;(floorf(....)), as the floorf return type is float, and paintRect is integer based.
Don&apos;t know why it compiles. Fixed :-) Take enclosingIntRect at the end and use FloatRect instead of the IntRect. This is more exact.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEMorphology.cpp:104
&gt; &gt; +    int radiusX = floorf(filter-&gt;applyHorizontalScale(m_radiusX));
&gt; 
&gt; Ditto, need to cast to int first.
fixed.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FEOffset.cpp:67
&gt; &gt; +    FloatRect paintRect = inputEffect(0)-&gt;absolutePaintRect();
&gt; 
&gt; This is inconsistent, compared to eg. FEMorphology, which uses floorf after applyHorizontalScale, and operates on IntRect.
&gt; Here you are operating on FloatRects, and use enclosingIntRect afterwards.
&gt; I think the FEOffset solution is better, and should be deployed everywhere.
Done.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FETile.cpp:74
&gt; &gt; +    if (!SVGImageBufferTools::createImageBuffer(tileRect, tileRect, tileImage, DeviceRGB))
&gt; 
&gt; We&apos;re sure DeviceRGB is correct here?
I tried it on MacOS 10.5, because this was confusing to me too. But it looked just correct with DeviceRGB. I was told, that CG maps the ColorSpace to linearRGB for its own.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FETile.cpp:78
&gt; &gt; +    tileImageContext-&gt;translate(-in-&gt;maxEffectRect().x(), -in-&gt;maxEffectRect().y());
&gt; 
&gt; maxEffectRect() should be cached in a local variable, same for in-&gt;maxEffectRect, it&apos;s used multiple times here.
Just cached the location of maxEffectRect() and in-&gt;maxEffectRect(), since we just need x() and y().

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FilterEffect.cpp:95
&gt; &gt; +    m_effectBuffer = ImageBuffer::create(m_absolutePaintRect.size(), LinearRGB);
&gt; 
&gt; LinearRGB is used here, and DeviceRGB in FETile - not sure wheter we want this difference??
See comment above.

&gt; 
&gt; &gt; WebCore/platform/graphics/filters/FilterEffect.h:95
&gt; &gt; +    // FIXME: FETile still needs special handling.
&gt; 
&gt; Why is this a FIXME? Is it related to zoltans patch who introduces isFETile() and removes this special function?
Thats right!

&gt; 
&gt; &gt; WebCore/rendering/RenderSVGResourceFilter.cpp:167
&gt; &gt; +    // Eliminate shear of the absolute transformation matrix to increase the quality of results in feTile. 
&gt; 
&gt; The comment is wrong :-)
&gt; Eliminate shear of the absolute transformation matrix, to be able to produce unsheared tile images in feTile.
&gt; It&apos;s not about quality, there&apos;s no other way we could ever do tiling correctly :-)
Hehe, fixed.

&gt; 
&gt; &gt; WebCore/rendering/RenderSVGResourceFilter.cpp:218
&gt; &gt; +    // Even if the target objectBoundingBox() is empty, we still have to draw something.
&gt; 
&gt; s/something/the last effect result image in postApplyResource/.
&gt; 
&gt; &gt; LayoutTests/ChangeLog:10
&gt; &gt; +        primitiveUnits &quot;objectBoundingBox&quot; for stdDeviation on feGaussianBlu correctly.
&gt; 
&gt; typo: feGaussianBlur.
&gt; 
&gt; &gt; LayoutTests/ChangeLog:11
&gt; &gt; +        
&gt; 
&gt; One newline too much.
Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290144</commentid>
    <comment_count>15</comment_count>
      <attachid>69902</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-06 01:56:02 -0700</bug_when>
    <thetext>Created attachment 69902
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290147</commentid>
    <comment_count>16</comment_count>
      <attachid>69902</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-06 02:06:28 -0700</bug_when>
    <thetext>Comment on attachment 69902
Patch

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

&gt; WebCore/WebCore.xcodeproj/project.pbxproj:21023
&gt; +			developmentRegion = English;

Can you revert this line? Newer Xcodes fault :-)

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:38
&gt;  static const float gGaussianKernelFactor = (3 * sqrtf(2 * piFloat) / 4.f);

While you&apos;re at it removes those braces, and say &quot;3 / 4.f * sqrtf(2 * piFloat)&quot; here :-)

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:152
&gt; +    IntRect absolutePaintRect = inputEffect(0)-&gt;absolutePaintRect();

Stil a problem, use FloatRect absolutePaintRect here.

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:160
&gt; +    absolutePaintRect.inflateX(3 * kernelSizeX * 0.5f);

Otherwhise this inflateX will produce artefacts.
How about using 1.5f * kernelSizeX here?

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:162
&gt; +    setAbsolutePaintRect(absolutePaintRect);

Then use enclosingIntRect here.

&gt; WebCore/platform/graphics/filters/FETile.cpp:76
&gt; +    if (!SVGImageBufferTools::createImageBuffer(tileRect, tileRect, tileImage, DeviceRGB))

Won&apos;t DeviceRGB be problematic for non-cg platforms here? Still unsure...
RenderSVGResourceMasker uses LinearRGB for instance.

&gt; WebCore/rendering/RenderSVGResourceFilter.cpp:167
&gt; +    // Eliminate shear of the absolute transformation matrix, to be able to produce unsheared tile images in feTile.

s/in feTile/for feTile/

Other than these issues, it looks great! Looking forward to have non-pixelated filters :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290245</commentid>
    <comment_count>17</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-06 06:01:18 -0700</bug_when>
    <thetext>*** Bug 5526 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290249</commentid>
    <comment_count>18</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-06 06:09:53 -0700</bug_when>
    <thetext>Landed new pixel test baseline in r69188.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290315</commentid>
    <comment_count>19</comment_count>
      <attachid>69902</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-10-06 08:27:37 -0700</bug_when>
    <thetext>Comment on attachment 69902
Patch

Landed with http://trac.webkit.org/changeset/69181

Fixes:
http://trac.webkit.org/changeset/69181
http://trac.webkit.org/changeset/69187
http://trac.webkit.org/changeset/69193
http://trac.webkit.org/changeset/69194</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>63996</attachid>
            <date>2010-08-10 03:41:30 -0700</date>
            <delta_ts>2010-08-10 03:41:30 -0700</delta_ts>
            <desc>Filter with slow performance</desc>
            <filename>filterPerf.svg</filename>
            <type>image/svg+xml</type>
            <size>356</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNTAwMCIgaGVpZ2h0PSI1MDAwIj4KICAg
ICAKPGRlZnM+CjxmaWx0ZXIgaWQ9ImZpbHRlciIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNl
IiB4PSIwIiB5PSIwIiB3aWR0aD0iNTAwMCIgaGVpZ2h0PSI1MDAwIj4KPGZlR2F1c3NpYW5CbHVy
IHN0ZERldmlhdGlvbj0iMyIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8cmVjdCB4PSIxMDAiIHk9IjEw
MCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBmaWx0ZXI9InVybCgjZmlsdGVyKSIgZmlsbD0iYmxh
Y2siIC8+Cjwvc3ZnPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69566</attachid>
            <date>2010-10-01 23:31:13 -0700</date>
            <delta_ts>2010-10-05 13:36:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>filter-smallest-region-6.patch</filename>
            <type>text/plain</type>
            <size>122503</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODk3MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMxIEBACisyMDEwLTEwLTAxICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU1ZH
cyB3aXRoIGZpbHRlcnMgbG9vayBncmFpbnkgd2hlbiBzY2FsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MjYKKworICAgICAgICBTVkcgZmlsdGVy
IGVmZmVjdHMgbmVlZCBzbWFydGVyIHNpemUgY2FsY3VsYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMzcwCisKKyAgICAgICAgU1ZHIGVsZW1l
bnRzIHVzZSBGaWx0ZXJzIGJlZm9yZSBvd24gdHJhbnNmb3JtYXRpb25zCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjQ4NgorCisgICAgICAgIENhY2xj
dWxhdGUgYWxsIGZpbHRlciByZXN1bHRzIGluIGRldmljZSBzcGFjZSBpbnN0ZWFkIG9mIHRoZSBm
aWx0ZXJlZCBvYmplY3RzIHVzZXIgc3BhY2UuIFRoaXMgY2hhbmdlIGlzIHNpbWlsYXIgdG8KKyAg
ICAgICAgdGhlIHBhdGNoZXMgZm9yIFNWRyBQYXR0ZXJuIGFuZCBTVkcgTWFza2VyIGJlZm9yZS4g
SXQgYXZvaWRzIHBpeGVsYXRpb24gYW5kIGd1YXJhbnRlZXMgc21vb3RoIGZpbHRlciByZXN1bHRz
IGZvcgorICAgICAgICBldmVyeSBzY2FsZSBsZXZlbCBhbmQgaXMgaW5kZXBlbnQgb2YgYW55IHRy
YW5zZm9ybWF0aW9uIHRvIHRoZSB0YXJnZXQgZWxlbWVudCBvciBhbnkgcm9vdCBlbGVtZW50IG9m
IHRoZSB0YXJnZXQuCisgICAgICAgIFRoZSBzZWNvbmQgcGFydCBvZiB0aGlzIHBhdGNoIHJlZHVj
ZXMgdGhlIHNpemUgb2YgZXZlcnkgZWZmZWN0IHRvIHRoZSBzbWFsbGVzdCBlZmZlY3RlZCByZWdp
b24gaW5zdGVhZCBvZiB0aGUgY29tcGxldGUKKyAgICAgICAgZmlsdGVyIHByaW1pdGl2ZSBzdWJy
ZWdpb24gKGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9maWx0ZXJzLmh0bWwjRmlsdGVyUHJpbWl0
aXZlU3ViUmVnaW9uKS4gV2UganVzdCB1c2UgdGhlIHN1YnJlZ2lvbgorICAgICAgICBhcyBjbGlw
cGluZyByZWdpb24sIGxpa2UgbWVudGlvbmVkIGluIHRoZSBTVkcgc3BlY2lmaWNhdGlvbiwgdG8g
bWFrZSB0aGUgZWZmZWN0ZWQgcmVnaW9uIGV2ZW4gc21hbGxlciBub3cuCisgICAgICAgIFRoaXMg
aXMgYSBodWdlIHNwZWVkdXAuIFRoZSBFQ01BIGNsb3VkIChodHRwOi8vZWpvaG4ub3JnL2ZpbGVz
L2VjbWEtY2xvdWQuc3ZnKSBpcyBtb3JlIHRoYW4gMTAwIHRpbWVzIGZhc3RlciBvbiBHdGsgYW5k
CisgICAgICAgIHJlbmRlcnMgaW4gbGVzcyB0aGFuIGEgc2Vjb25kLgorICAgICAgICBTb21lIGV4
bWFwbGVzIG9uIHN2Zy13b3cub3JnIGNhbiBiZSBmZXdlZCB0aGUgZmlyc3QgdGltZSBub3csIHNp
bmNlIHRoZSBzdWJyZWdpb25zIHdlcmUgbXVjaCBiaWdnZXIgdGhhbiB0aGUgZWZmZWN0ZWQKKyAg
ICAgICAgcmVnaW9uLiBUaGlzIGNhdXNlZCBlbmRsZXNzIGNhbGN1bGF0aW9ucy4KKyAgICAgICAg
VGhlcmUgaXMgc3RpbGwgbW9yZSBwb3RlbnRpYWwgdG8gc3BlZWQgdXAgCisgICAgICAgIENoYW5n
ZWQgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMgdG8gYWJzb2x1dGVQYWludFJlY3QsIHNp
bmNlIGFsbCBjb29yZGluYXRlcyBhcmUgaW4gZGV2aWNlIHNwYWNlIGluc3RlYWQgb2YgdGhlCisg
ICAgICAgIHVzZXIgc3BhY2Ugbm93LgorICAgICAgICBUaGUgYWJzb2x1dGVQYWludFJlY3QgaXMg
Y2FsY3VsYXRlZCBieSBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCBhbmQgZ2V0cyBjYWxsZWQg
YnkgRmlsdGVyRWZmZWN0OjplZmZlY3RDb250ZXh0KCkgb24KKyAgICAgICAgYXBwbHlpbmcgdGhl
IGVmZmVjdC4KKyAgICAgICAgUGFydGx5IHJld3JvdGUgZmlsdGVyIHJlc29sdXRpb24gKGh0dHA6
Ly93d3cudzMub3JnL1RSL1NWRy9maWx0ZXJzLmh0bWwjRmlsdGVyRWxlbWVudEZpbHRlclJlc0F0
dHJpYnV0ZSkgdG8gd29yayB3aXRoIHRoZQorICAgICAgICBuZXcgY29uY2VwdC4gVGhpcyBhbHNv
IGNvcnJlY3RzIHRoZSBvbGQgYmVoYXZpb3IgdG8gbWF0Y2ggdGhlIFNWRyBzcGVjaWZpY2F0aW9u
LgorCisgICAgICAgIFRlc3RzOiBzdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMS5zdmcK
KyAgICAgICAgICAgICAgIHN2Zy9maWx0ZXJzL2ZpbHRlclJlcy9maWx0ZXJSZXMyLnN2ZworICAg
ICAgICAgICAgICAgc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczMuc3ZnCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHA6IFVw
ZGF0ZSBzZXRSZXBhaW50UmVjdFRvTG9jYWxDb29yZGluYXRlcyB0byBzZXRBYnNvbHV0ZVBhaW50
UmVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Y3JlYXRlU2hhZG93TWFz
ayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUJsZW5kLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZFQmxlbmQ6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVDb2xv
ck1hdHJpeDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVD
b21wb25lbnRUcmFuc2Zlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGRUNvbXBvbmVudFRyYW5z
ZmVyOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBv
c2l0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGRUNvbXBvc2l0ZTo6ZGV0ZXJtaW5lQWJzb2x1
dGVQYWludFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RkVDb21wb3NpdGU6OmFwcGx5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRlLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbnZvbHZlTWF0cml4LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZFQ29udm9sdmVNYXRyaXg6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ29udm9sdmVNYXRyaXg6OmFwcGx5KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29udm9sdmVNYXRyaXguaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZFRGlzcGxhY2VtZW50TWFwOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVj
dCk6CisgICAgICAgIChXZWJDb3JlOjpGRURpc3BsYWNlbWVudE1hcDo6YXBwbHkpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVEaXNwbGFjZW1lbnRNYXAuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRmxvb2QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RkVGbG9vZDo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RkVGbG9vZDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRkVGbG9vZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVz
c2lhbkJsdXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVHYXVzc2lhbkJsdXI6OmRldGVybWlu
ZUFic29sdXRlUGFpbnRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZFR2F1c3NpYW5CbHVyOjph
cHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGRUxpZ2h0aW5nOjphcHBseSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRU1lcmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZFTWVy
Z2U6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhv
bG9neS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGRU1vcnBob2xvZ3k6OmRldGVybWluZUFic29s
dXRlUGFpbnRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZFTW9ycGhvbG9neTo6YXBwbHkpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVNb3JwaG9sb2d5Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGRU9mZnNldDo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6RkVPZmZzZXQ6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFT2Zmc2V0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RVRpbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVUaWxlOjpkZXRlcm1pbmVGaWx0ZXJQcmlt
aXRpdmVTdWJyZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6RkVUaWxlOjpkZXRlcm1pbmVBYnNv
bHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGRVRpbGU6OmFwcGx5KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVGlsZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxlbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZFVHVyYnVsZW5jZTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RkVUdXJidWxlbmNlOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRVR1cmJ1bGVuY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZpbHRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyOjpob3Jpem9udGFsU2NhbGUp
OgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyOjp2ZXJ0aWNhbFNjYWxlKToKKyAgICAgICAgKFdl
YkNvcmU6OkZpbHRlcjo6ZmlsdGVyUmVnaW9uSW5Vc2VyU3BhY2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZpbHRlckVmZmVjdDo6ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdDo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpyZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1h
Z2VEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdDo6ZHJhd2luZ1JlZ2lvbk9m
SW5wdXRJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6OmVmZmVjdENvbnRl
eHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6OmFic29sdXRlUGFpbnRSZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdDo6c2V0QWJzb2x1dGVQYWludFJlY3QpOgorICAg
ICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjptYXhFZmZlY3RSZWN0KTogVGhlIG1heGltYWwg
ZWZmZWN0IHJlZ2lvbiwgYmVmb3JlIHNtYWxsZXN0IHBhaW50IHJlZ2lvbiBjYWxjdWxhdGlvbi4K
KyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdDo6c2V0TWF4RWZmZWN0UmVjdCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTb3VyY2VBbHBoYTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U291cmNlQWxwaGE6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUdy
YXBoaWM6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNv
dXJjZUdyYXBoaWM6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L1NvdXJjZUdyYXBoaWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OmFw
cGx5UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6
OnBvc3RBcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VGaWx0ZXIuaDoKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZFSW1hZ2U6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkZFSW1hZ2U6OmFwcGx5KToKKyAgICAgICAgKiBzdmcvZ3Jh
cGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmg6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL2ZpbHRl
cnMvU1ZHRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6U1ZHRmlsdGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZl
U3VicmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6aG9yaXpvbnRhbFNjYWxl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6dmVydGljYWxTY2FsZSk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdGaWx0ZXI6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL2Zp
bHRlcnMvU1ZHRmlsdGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXI6OmVmZmVjdEJv
dW5kaW5nQm94TW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXI6OmZpbHRlclJlZ2lv
bkluVXNlclNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6ZmlsdGVyUmVnaW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6c291cmNlSW1hZ2VSZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6bWF4SW1hZ2VTaXplKToKKwogMjAxMC0xMC0wMSAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCShyZXZpc2lvbiA2ODAzMCkKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05NjQsMTIgKzk2NCwxMiBAQCBQbGF0Zm9ybVJlZlB0cjxjYWlyb19zdXJm
YWNlX3Q+IEdyYXBoaWNzCiAgICAgUmVmUHRyPEZpbHRlcj4gZmlsdGVyID0gSW1hZ2VCdWZmZXJG
aWx0ZXI6OmNyZWF0ZSgpOwogICAgIGZpbHRlci0+c2V0U291cmNlSW1hZ2UoYnVmZmVyKTsKICAg
ICBSZWZQdHI8RmlsdGVyRWZmZWN0PiBzb3VyY2UgPSBTb3VyY2VHcmFwaGljOjpjcmVhdGUoKTsK
LSAgICBzb3VyY2UtPnNldFJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKEZsb2F0UmVjdChG
bG9hdFBvaW50KCksIHNoYWRvd1JlY3Quc2l6ZSgpKSk7CisgICAgc291cmNlLT5zZXRBYnNvbHV0
ZVBhaW50UmVjdChJbnRSZWN0KEludFBvaW50KCksIHJvdW5kZWRJbnRTaXplKHNoYWRvd1JlY3Qu
c2l6ZSgpKSkpOwogICAgIHNvdXJjZS0+c2V0SXNBbHBoYUltYWdlKHRydWUpOwogICAgIFJlZlB0
cjxGaWx0ZXJFZmZlY3Q+IGJsdXIgPSBGRUdhdXNzaWFuQmx1cjo6Y3JlYXRlKHN0ZERldmlhdGlv
biwgc3RkRGV2aWF0aW9uKTsKICAgICBGaWx0ZXJFZmZlY3RWZWN0b3ImIGlucHV0RWZmZWN0cyA9
IGJsdXItPmlucHV0RWZmZWN0cygpOwogICAgIGlucHV0RWZmZWN0cy5hcHBlbmQoc291cmNlLmdl
dCgpKTsKLSAgICBibHVyLT5zZXRSZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcyhGbG9hdFJl
Y3QoRmxvYXRQb2ludCgpLCBzaGFkb3dSZWN0LnNpemUoKSkpOworICAgIGJsdXItPnNldEFic29s
dXRlUGFpbnRSZWN0KEludFJlY3QoSW50UG9pbnQoKSwgcm91bmRlZEludFNpemUoc2hhZG93UmVj
dC5zaXplKCkpKSk7CiAgICAgYmx1ci0+YXBwbHkoZmlsdGVyLmdldCgpKTsKICAgICByZXR1cm4g
Ymx1ci0+cmVzdWx0SW1hZ2UoKS0+bV9kYXRhLm1fc3VyZmFjZTsKICNlbmRpZgpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQmxlbmQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUJsZW5kLmNwcAkocmV2aXNpb24g
NjgwMzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVCbGVuZC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTk4LDEzICs5OCwxMyBAQCB2b2lkIEZFQmxlbmQ6OmFwcGx5KEZp
bHRlciogZmlsdGVyKQogICAgIGlmIChtX21vZGUgPT0gRkVCTEVORF9NT0RFX1VOS05PV04pCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4dCgpKQorICAgIGlmICghZWZm
ZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRSZWN0IGVmZmVj
dEFEcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPnJlcGFp
bnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgIEludFJlY3QgZWZmZWN0QURyYXdpbmdS
ZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJl
Y3QoKSk7CiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJyYXk+IHNyY1BpeGVsQXJyYXlBKGluLT5y
ZXN1bHRJbWFnZSgpLT5nZXRQcmVtdWx0aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdEFEcmF3aW5nUmVj
dCktPmRhdGEoKSk7CiAKLSAgICBJbnRSZWN0IGVmZmVjdEJEcmF3aW5nUmVjdCA9IHJlcXVlc3Rl
ZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4yLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRl
cygpKTsKKyAgICBJbnRSZWN0IGVmZmVjdEJEcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9m
SW5wdXRJbWFnZURhdGEoaW4yLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAgICBSZWZQdHI8Q2Fu
dmFzUGl4ZWxBcnJheT4gc3JjUGl4ZWxBcnJheUIoaW4yLT5yZXN1bHRJbWFnZSgpLT5nZXRQcmVt
dWx0aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdEJEcmF3aW5nUmVjdCktPmRhdGEoKSk7CiAKICAgICBJ
bnRSZWN0IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkpOwpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXguY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbG9yTWF0
cml4LmNwcAkocmV2aXNpb24gNjgwMzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVDb2xvck1hdHJpeC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MCwxMSArMTYwLDEx
IEBAIHZvaWQgRkVDb2xvck1hdHJpeDo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIKICAgICBpZiAoIWlu
LT5yZXN1bHRJbWFnZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBHcmFwaGljc0NvbnRleHQq
IGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0KiBm
aWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dChmaWx0ZXIpOwogICAgIGlmICghZmlsdGVyQ29u
dGV4dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVm
ZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJ
bnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSk7CisgICAgZmls
dGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xv
clNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgp
KSk7CiAKICAgICBJbnRSZWN0IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5z
aXplKCkpOwogICAgIFBhc3NSZWZQdHI8SW1hZ2VEYXRhPiBpbWFnZURhdGEocmVzdWx0SW1hZ2Uo
KS0+Z2V0VW5tdWx0aXBsaWVkSW1hZ2VEYXRhKGltYWdlUmVjdCkpOwpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvbmVudFRyYW5z
ZmVyLmNwcAkocmV2aXNpb24gNjgwMzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1NCw3ICsx
NTQsNyBAQCB2b2lkIEZFQ29tcG9uZW50VHJhbnNmZXI6OmFwcGx5KEZpbHRlciogCiAgICAgaWYg
KCFpbi0+cmVzdWx0SW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFlZmZlY3RD
b250ZXh0KCkpCisgICAgaWYgKCFlZmZlY3RDb250ZXh0KGZpbHRlcikpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIHVuc2lnbmVkIGNoYXIgclZhbHVlc1syNTZdLCBnVmFsdWVzWzI1Nl0sIGJWYWx1
ZXNbMjU2XSwgYVZhbHVlc1syNTZdOwpAQCAtMTY3LDcgKzE2Nyw3IEBAIHZvaWQgRkVDb21wb25l
bnRUcmFuc2Zlcjo6YXBwbHkoRmlsdGVyKiAKICAgICBmb3IgKHVuc2lnbmVkIGNoYW5uZWwgPSAw
OyBjaGFubmVsIDwgNDsgY2hhbm5lbCsrKQogICAgICAgICAoKmNhbGxFZmZlY3RbdHJhbnNmZXJG
dW5jdGlvbltjaGFubmVsXS50eXBlXSkodGFibGVzW2NoYW5uZWxdLCB0cmFuc2ZlckZ1bmN0aW9u
W2NoYW5uZWxdKTsKIAotICAgIEludFJlY3QgZHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25P
ZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKyAg
ICBJbnRSZWN0IGRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShp
bi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gaW1hZ2VEYXRh
KGluLT5yZXN1bHRJbWFnZSgpLT5nZXRVbm11bHRpcGxpZWRJbWFnZURhdGEoZHJhd2luZ1JlY3Qp
KTsKICAgICBDYW52YXNQaXhlbEFycmF5KiBzcmNQaXhlbEFycmF5KGltYWdlRGF0YS0+ZGF0YSgp
KTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9zaXRl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVD
b21wb3NpdGUuY3BwCShyZXZpc2lvbiA2ODAzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMiw2ICsxMTIs
MjQgQEAgaW5saW5lIHZvaWQgYXJpdGhtZXRpYyhjb25zdCBSZWZQdHI8Q2FudgogICAgICAgICB9
CiAgICAgfQogfQorICAgIAorSW50UmVjdCBGRUNvbXBvc2l0ZTo6ZGV0ZXJtaW5lQWJzb2x1dGVQ
YWludFJlY3QoRmlsdGVyKiBmaWx0ZXIpCit7CisgICAgSW50UmVjdCByZXBhaW50UmVjdDsKKyAg
ICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfSU4gOgor
ICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfQVRPUCA6CisgICAgICAgIHJlcGFpbnRSZWN0
ID0gaW5wdXRFZmZlY3QoMSktPmFic29sdXRlUGFpbnRSZWN0KCk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfQVJJVEhNRVRJQyA6CisgICAgICAgIHJlcGFp
bnRSZWN0ID0gbWF4RWZmZWN0UmVjdCgpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0Ogor
ICAgICAgICByZXR1cm4gRmlsdGVyRWZmZWN0OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChm
aWx0ZXIpOworICAgIH0KKyAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChyZXBhaW50UmVjdCk7Cisg
ICAgcmV0dXJuIHJlcGFpbnRSZWN0OworfQogCiB2b2lkIEZFQ29tcG9zaXRlOjphcHBseShGaWx0
ZXIqIGZpbHRlcikKIHsKQEAgLTEyMiwzOSArMTQwLDM5IEBAIHZvaWQgRkVDb21wb3NpdGU6OmFw
cGx5KEZpbHRlciogZmlsdGVyKQogICAgIGlmICghaW4tPnJlc3VsdEltYWdlKCkgfHwgIWluMi0+
cmVzdWx0SW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgR3JhcGhpY3NDb250ZXh0KiBm
aWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dCgpOworICAgIEdyYXBoaWNzQ29udGV4dCogZmls
dGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQoZmlsdGVyKTsKICAgICBpZiAoIWZpbHRlckNvbnRl
eHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIEZsb2F0UmVjdCBzcmNSZWN0ID0gRmxvYXRSZWN0
KDAsIDAsIC0xLCAtMSk7CiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIEZFQ09NUE9T
SVRFX09QRVJBVE9SX09WRVI6Ci0gICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZl
cihpbjItPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklu
cHV0SW1hZ2UoaW4yLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSk7Ci0gICAgICAg
IGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNl
Q29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbi0+cmVwYWludFJlY3RJbkxv
Y2FsQ29vcmRpbmF0ZXMoKSkpOworICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZm
ZXIoaW4yLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJ
bnB1dEltYWdlKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSkpOworICAgICAgICBmaWx0ZXJDb250
ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2Us
IGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9JTjoKICAgICAgICAg
ZmlsdGVyQ29udGV4dC0+c2F2ZSgpOwotICAgICAgICBmaWx0ZXJDb250ZXh0LT5jbGlwVG9JbWFn
ZUJ1ZmZlcihpbjItPnJlc3VsdEltYWdlKCksIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4y
LT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSk7Ci0gICAgICAgIGZpbHRlckNvbnRl
eHQtPmRyYXdJbWFnZUJ1ZmZlcihpbi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwg
ZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0
ZXMoKSkpOworICAgICAgICBmaWx0ZXJDb250ZXh0LT5jbGlwVG9JbWFnZUJ1ZmZlcihpbjItPnJl
c3VsdEltYWdlKCksIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4yLT5hYnNvbHV0ZVBhaW50
UmVjdCgpKSk7CisgICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbi0+cmVz
dWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShp
bi0+YWJzb2x1dGVQYWludFJlY3QoKSkpOwogICAgICAgICBmaWx0ZXJDb250ZXh0LT5yZXN0b3Jl
KCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfT1VUOgot
ICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCks
IERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPnJlcGFpbnRS
ZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0lt
YWdlQnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1Jl
Z2lvbk9mSW5wdXRJbWFnZShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpLCBz
cmNSZWN0LCBDb21wb3NpdGVEZXN0aW5hdGlvbk91dCk7CisgICAgICAgIGZpbHRlckNvbnRleHQt
PmRyYXdJbWFnZUJ1ZmZlcihpbi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJh
d2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSkpOworICAgICAg
ICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4yLT5yZXN1bHRJbWFnZSgpLCBEZXZp
Y2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+YWJzb2x1dGVQYWlu
dFJlY3QoKSksIHNyY1JlY3QsIENvbXBvc2l0ZURlc3RpbmF0aW9uT3V0KTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9BVE9QOgotICAgICAgICBmaWx0ZXJD
b250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4yLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNw
YWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+cmVwYWludFJlY3RJbkxvY2FsQ29v
cmRpbmF0ZXMoKSkpOwotICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4t
PnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1h
Z2UoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpLCBzcmNSZWN0LCBDb21wb3Np
dGVTb3VyY2VBdG9wKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGlu
Mi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJ
bWFnZShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+
ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3
aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKSwgc3JjUmVjdCwg
Q29tcG9zaXRlU291cmNlQXRvcCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRkVDT01QT1NJ
VEVfT1BFUkFUT1JfWE9SOgotICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIo
aW4yLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1
dEltYWdlKGluMi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSkpOwotICAgICAgICBm
aWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNv
bG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPnJlcGFpbnRSZWN0SW5Mb2Nh
bENvb3JkaW5hdGVzKCkpLCBzcmNSZWN0LCBDb21wb3NpdGVYT1IpOworICAgICAgICBmaWx0ZXJD
b250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4yLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNw
YWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSkp
OworICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdl
KCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29s
dXRlUGFpbnRSZWN0KCkpLCBzcmNSZWN0LCBDb21wb3NpdGVYT1IpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX0FSSVRITUVUSUM6IHsKLSAgICAgICAgSW50
UmVjdCBlZmZlY3RBRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRh
KGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKyAgICAgICAgSW50UmVjdCBl
ZmZlY3RBRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5h
YnNvbHV0ZVBhaW50UmVjdCgpKTsKICAgICAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJyYXk+IHNy
Y1BpeGVsQXJyYXlBKGluLT5yZXN1bHRJbWFnZSgpLT5nZXRQcmVtdWx0aXBsaWVkSW1hZ2VEYXRh
KGVmZmVjdEFEcmF3aW5nUmVjdCktPmRhdGEoKSk7CiAKLSAgICAgICAgSW50UmVjdCBlZmZlY3RC
RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluMi0+cmVwYWlu
dFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisgICAgICAgIEludFJlY3QgZWZmZWN0QkRyYXdp
bmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbjItPmFic29sdXRlUGFp
bnRSZWN0KCkpOwogICAgICAgICBSZWZQdHI8SW1hZ2VEYXRhPiBpbWFnZURhdGEoaW4yLT5yZXN1
bHRJbWFnZSgpLT5nZXRQcmVtdWx0aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdEJEcmF3aW5nUmVjdCkp
OwogICAgICAgICBDYW52YXNQaXhlbEFycmF5KiBzcmNQaXhlbEFycmF5QihpbWFnZURhdGEtPmRh
dGEoKSk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBv
c2l0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUNvbXBvc2l0ZS5oCShyZXZpc2lvbiA2ODAzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw4IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBhcHBseShGaWx0ZXIqKTsKICAgICB2aXJ0dWFs
IHZvaWQgZHVtcCgpOworICAgIAorICAgIHZpcnR1YWwgSW50UmVjdCBkZXRlcm1pbmVBYnNvbHV0
ZVBhaW50UmVjdChGaWx0ZXIqKTsKIAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxS
ZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbnZvbHZlTWF0cml4LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2
ZU1hdHJpeC5jcHAJKHJldmlzaW9uIDY4MDMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFQ29udm9sdmVNYXRyaXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzAsNiAr
MzcwLDEyIEBAIEFMV0FZU19JTkxJTkUgdm9pZCBGRUNvbnZvbHZlTWF0cml4OjpzZXQKICAgICAg
ICAgZmFzdFNldE91dGVyUGl4ZWxzPGZhbHNlPihwYWludGluZ0RhdGEsIHgxLCB5MSwgeDIsIHky
KTsKIH0KIAorSW50UmVjdCBGRUNvbnZvbHZlTWF0cml4OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50
UmVjdChGaWx0ZXIqKQoreworICAgIHNldEFic29sdXRlUGFpbnRSZWN0KG1heEVmZmVjdFJlY3Qo
KSk7CisgICAgcmV0dXJuIG1heEVmZmVjdFJlY3QoKTsKK30KKwogdm9pZCBGRUNvbnZvbHZlTWF0
cml4OjphcHBseShGaWx0ZXIqIGZpbHRlcikKIHsKICAgICBGaWx0ZXJFZmZlY3QqIGluID0gaW5w
dXRFZmZlY3QoMCk7CkBAIC0zNzcsMTEgKzM4MywxMSBAQCB2b2lkIEZFQ29udm9sdmVNYXRyaXg6
OmFwcGx5KEZpbHRlciogZmlsCiAgICAgaWYgKCFpbi0+cmVzdWx0SW1hZ2UoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgaWYgKCFlZmZlY3RDb250ZXh0KCkpCisgICAgaWYgKCFlZmZlY3RDb250
ZXh0KGZpbHRlcikpCiAgICAgICAgIHJldHVybjsKIAogICAgIEludFJlY3QgaW1hZ2VSZWN0KElu
dFBvaW50KCksIHJlc3VsdEltYWdlKCktPnNpemUoKSk7Ci0gICAgSW50UmVjdCBlZmZlY3REcmF3
aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPmZpbHRlclByaW1p
dGl2ZVN1YnJlZ2lvbigpKTsKKyAgICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0ID0gcmVxdWVz
dGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAKICAg
ICBSZWZQdHI8Q2FudmFzUGl4ZWxBcnJheT4gc3JjUGl4ZWxBcnJheTsKICAgICBpZiAobV9wcmVz
ZXJ2ZUFscGhhKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29u
dm9sdmVNYXRyaXguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVDb252b2x2ZU1hdHJpeC5oCShyZXZpc2lvbiA2ODAzMCkKKysrIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbnZvbHZlTWF0cml4LmgJKHdvcmtpbmcgY29weSkK
QEAgLTc1LDYgKzc1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhcHBseShGaWx0ZXIq
KTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOwogCisgICAgdmlydHVhbCBJbnRSZWN0IGRldGVy
bWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopOworCiAgICAgdmlydHVhbCBUZXh0U3RyZWFt
JiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25z
dDsKIAogcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RURpc3BsYWNlbWVudE1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmNwcAkocmV2aXNpb24gNjgwMzApCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVEaXNwbGFjZW1lbnRNYXAuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03Niw2ICs3NiwxMiBAQCB2b2lkIEZFRGlzcGxhY2VtZW50TWFwOjpz
ZXRTY2FsZShmbG9hdCBzCiAgICAgbV9zY2FsZSA9IHNjYWxlOwogfQogCitJbnRSZWN0IEZFRGlz
cGxhY2VtZW50TWFwOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKQoreworICAg
IHNldEFic29sdXRlUGFpbnRSZWN0KG1heEVmZmVjdFJlY3QoKSk7CisgICAgcmV0dXJuIG1heEVm
ZmVjdFJlY3QoKTsKK30KKwogdm9pZCBGRURpc3BsYWNlbWVudE1hcDo6YXBwbHkoRmlsdGVyKiBm
aWx0ZXIpCiB7CiAgICAgRmlsdGVyRWZmZWN0KiBpbiA9IGlucHV0RWZmZWN0KDApOwpAQCAtODgs
MTMgKzk0LDEzIEBAIHZvaWQgRkVEaXNwbGFjZW1lbnRNYXA6OmFwcGx5KEZpbHRlciogZmkKICAg
ICBpZiAobV94Q2hhbm5lbFNlbGVjdG9yID09IENIQU5ORUxfVU5LTk9XTiB8fCBtX3lDaGFubmVs
U2VsZWN0b3IgPT0gQ0hBTk5FTF9VTktOT1dOKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAo
IWVmZmVjdENvbnRleHQoKSkKKyAgICBpZiAoIWVmZmVjdENvbnRleHQoZmlsdGVyKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgSW50UmVjdCBlZmZlY3RBRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRS
ZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
KTsKKyAgICBJbnRSZWN0IGVmZmVjdEFEcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5w
dXRJbWFnZURhdGEoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpOwogICAgIFJlZlB0cjxDYW52YXNQ
aXhlbEFycmF5PiBzcmNQaXhlbEFycmF5QShpbi0+cmVzdWx0SW1hZ2UoKS0+Z2V0UHJlbXVsdGlw
bGllZEltYWdlRGF0YShlZmZlY3RBRHJhd2luZ1JlY3QpLT5kYXRhKCkpOwogCi0gICAgSW50UmVj
dCBlZmZlY3RCRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGlu
Mi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisgICAgSW50UmVjdCBlZmZlY3RC
RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluMi0+YWJzb2x1
dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJyYXk+IHNyY1BpeGVsQXJy
YXlCKGluMi0+cmVzdWx0SW1hZ2UoKS0+Z2V0VW5tdWx0aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdEJE
cmF3aW5nUmVjdCktPmRhdGEoKSk7CiAKICAgICBJbnRSZWN0IGltYWdlUmVjdChJbnRQb2ludCgp
LCByZXN1bHRJbWFnZSgpLT5zaXplKCkpOwpAQCAtMTAyLDEwICsxMDgsMTAgQEAgdm9pZCBGRURp
c3BsYWNlbWVudE1hcDo6YXBwbHkoRmlsdGVyKiBmaQogCiAgICAgQVNTRVJUKHNyY1BpeGVsQXJy
YXlBLT5sZW5ndGgoKSA9PSBzcmNQaXhlbEFycmF5Qi0+bGVuZ3RoKCkpOwogCi0gICAgZmxvYXQg
c2NhbGVYID0gbV9zY2FsZSAvIDI1NS5mICogZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lk
dGgoKTsKLSAgICBmbG9hdCBzY2FsZVkgPSBtX3NjYWxlIC8gMjU1LmYgKiBmaWx0ZXItPmZpbHRl
clJlc29sdXRpb24oKS5oZWlnaHQoKTsKLSAgICBmbG9hdCBzY2FsZUFkanVzdG1lbnRYID0gKDAu
NWYgLSAwLjVmICogbV9zY2FsZSkgKiBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS53aWR0aCgp
OwotICAgIGZsb2F0IHNjYWxlQWRqdXN0bWVudFkgPSAoMC41ZiAtIDAuNWYgKiBtX3NjYWxlKSAq
IGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpOworICAgIGZsb2F0IHNjYWxlWCA9
IGZpbHRlci0+aG9yaXpvbnRhbFNjYWxlKG1fc2NhbGUgLyAyNTUpOworICAgIGZsb2F0IHNjYWxl
WSA9IGZpbHRlci0+dmVydGljYWxTY2FsZShtX3NjYWxlIC8gMjU1KTsKKyAgICBmbG9hdCBzY2Fs
ZUFkanVzdG1lbnRYID0gZmlsdGVyLT5ob3Jpem9udGFsU2NhbGUoMC41ZiAtIDAuNWYgKiBtX3Nj
YWxlKTsKKyAgICBmbG9hdCBzY2FsZUFkanVzdG1lbnRZID0gZmlsdGVyLT52ZXJ0aWNhbFNjYWxl
KDAuNWYgLSAwLjVmICogbV9zY2FsZSk7CiAgICAgaW50IHN0cmlkZSA9IGltYWdlUmVjdC53aWR0
aCgpICogNDsKICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGltYWdlUmVjdC5oZWlnaHQoKTsgKyt5
KSB7CiAgICAgICAgIGludCBsaW5lID0geSAqIHN0cmlkZTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRURpc3BsYWNlbWVudE1hcC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRURpc3BsYWNlbWVudE1hcC5oCShyZXZp
c2lvbiA2ODAzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRURpc3Bs
YWNlbWVudE1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw4IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsK
IAorICAgIHZpcnR1YWwgSW50UmVjdCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIq
KTsKKwogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0
U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKIHByaXZhdGU6CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9vZC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRmxvb2QuY3BwCShyZXZpc2lvbiA2ODAz
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZsb29kLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjIsMTQgKzYyLDIyIEBAIHZvaWQgRkVGbG9vZDo6c2V0Rmxvb2RPcGFj
aXR5KGZsb2F0IGZsb28KICAgICBtX2Zsb29kT3BhY2l0eSA9IGZsb29kT3BhY2l0eTsKIH0KIAot
dm9pZCBGRUZsb29kOjphcHBseShGaWx0ZXIqKQorSW50UmVjdCBGRUZsb29kOjpkZXRlcm1pbmVB
YnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKQogewotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVy
Q29udGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChtYXhF
ZmZlY3RSZWN0KCkpOworICAgIHJldHVybiBtYXhFZmZlY3RSZWN0KCk7Cit9CisKK3ZvaWQgRkVG
bG9vZDo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCit7CisgICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0
ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dChmaWx0ZXIpOwogICAgIGlmICghZmlsdGVyQ29udGV4
dCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQ29sb3IgY29sb3IgPSBjb2xvcldpdGhPdmVycmlk
ZUFscGhhKGZsb29kQ29sb3IoKS5yZ2IoKSwgZmxvb2RPcGFjaXR5KCkpOwotICAgIGZpbHRlckNv
bnRleHQtPmZpbGxSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIHJlcGFpbnRSZWN0SW5Mb2Nh
bENvb3JkaW5hdGVzKCkuc2l6ZSgpKSwgY29sb3IsIERldmljZUNvbG9yU3BhY2UpOworICAgIGlm
ICghY29sb3IucmVkKCkgJiYgIWNvbG9yLmdyZWVuKCkgJiYgIWNvbG9yLmJsdWUoKSkKKyAgICAg
ICAgc2V0SXNBbHBoYUltYWdlKHRydWUpOworICAgIGZpbHRlckNvbnRleHQtPmZpbGxSZWN0KEZs
b2F0UmVjdChGbG9hdFBvaW50KCksIGFic29sdXRlUGFpbnRSZWN0KCkuc2l6ZSgpKSwgY29sb3Is
IERldmljZUNvbG9yU3BhY2UpOwogfQogCiB2b2lkIEZFRmxvb2Q6OmR1bXAoKQpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRmxvb2QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9vZC5oCShyZXZpc2lvbiA2ODAz
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZsb29kLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQyLDYgKzQyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhcHBs
eShGaWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOwogCisgICAgdmlydHVhbCBJbnRS
ZWN0IGRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopOworCiAgICAgdmlydHVhbCBU
ZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50
aW9uKSBjb25zdDsKIAogcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAkocmV2aXNpb24gNjgwMzApCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjUsNiArMTI1LDI2IEBAIHZvaWQgRkVHYXVzc2lhbkJsdXI6Omtl
cm5lbFBvc2l0aW9uKGludCAKICAgICB9CiB9CiAKK0ludFJlY3QgRkVHYXVzc2lhbkJsdXI6OmRl
dGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciogZmlsdGVyKQoreworICAgIEludFJlY3Qg
cmVwYWludFJlY3QgPSBpbnB1dEVmZmVjdCgwKS0+YWJzb2x1dGVQYWludFJlY3QoKTsKKyAgICBy
ZXBhaW50UmVjdC5pbnRlcnNlY3QobWF4RWZmZWN0UmVjdCgpKTsKKyAgICBmbG9hdCBzdGRYID0g
ZmlsdGVyLT5ob3Jpem9udGFsU2NhbGUobV9zdGRYKTsKKyAgICBmbG9hdCBzdGRZID0gZmlsdGVy
LT52ZXJ0aWNhbFNjYWxlKG1fc3RkWSk7CisKKyAgICB1bnNpZ25lZCBrZXJuZWxTaXplWCA9IDA7
CisgICAgaWYgKHN0ZFgpCisgICAgICAgIGtlcm5lbFNpemVYID0gbWF4KDJVLCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oZmxvb3Ioc3RkWCAqIGdHYXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7
CisgICAgICAgIAorICAgIHVuc2lnbmVkIGtlcm5lbFNpemVZID0gMDsKKyAgICBpZiAoc3RkWSkK
KyAgICAgICAga2VybmVsU2l6ZVkgPSBtYXgoMlUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihmbG9v
cihzdGRZICogZ0dhdXNzaWFuS2VybmVsRmFjdG9yICsgMC41ZikpKTsKKyAgICByZXBhaW50UmVj
dC5pbmZsYXRlWCgzICogKGtlcm5lbFNpemVYICogMC41ZikpOworICAgIHJlcGFpbnRSZWN0Lmlu
ZmxhdGVZKDMgKiAoa2VybmVsU2l6ZVkgKiAwLjVmKSk7CisgICAgc2V0QWJzb2x1dGVQYWludFJl
Y3QocmVwYWludFJlY3QpOworICAgIHJldHVybiByZXBhaW50UmVjdDsKK30KKwogdm9pZCBGRUdh
dXNzaWFuQmx1cjo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7CiAgICAgRmlsdGVyRWZmZWN0KiBp
biA9IGlucHV0RWZmZWN0KDApOwpAQCAtMTMyLDEyICsxNTIsMTIgQEAgdm9pZCBGRUdhdXNzaWFu
Qmx1cjo6YXBwbHkoRmlsdGVyKiBmaWx0ZQogICAgIGlmICghaW4tPnJlc3VsdEltYWdlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4dCgpKQorICAgIGlmICghZWZm
ZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAKICAgICBzZXRJc0FscGhhSW1h
Z2UoaW4tPmlzQWxwaGFJbWFnZSgpKTsKIAotICAgIEludFJlY3QgZWZmZWN0RHJhd2luZ1JlY3Qg
PSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9jYWxD
b29yZGluYXRlcygpKTsKKyAgICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0ID0gcmVxdWVzdGVk
UmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVm
UHRyPEltYWdlRGF0YT4gc3JjSW1hZ2VEYXRhKGluLT5yZXN1bHRJbWFnZSgpLT5nZXRQcmVtdWx0
aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdERyYXdpbmdSZWN0KSk7CiAgICAgSW50UmVjdCBpbWFnZVJl
Y3QoSW50UG9pbnQoKSwgcmVzdWx0SW1hZ2UoKS0+c2l6ZSgpKTsKIApAQCAtMTQ1LDE0ICsxNjUs
MTYgQEAgdm9pZCBGRUdhdXNzaWFuQmx1cjo6YXBwbHkoRmlsdGVyKiBmaWx0ZQogICAgICAgICBy
ZXN1bHRJbWFnZSgpLT5wdXRQcmVtdWx0aXBsaWVkSW1hZ2VEYXRhKHNyY0ltYWdlRGF0YS5nZXQo
KSwgaW1hZ2VSZWN0LCBJbnRQb2ludCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLQorICAg
IAorICAgIGZsb2F0IHN0ZFggPSBmaWx0ZXItPmhvcml6b250YWxTY2FsZShtX3N0ZFgpOworICAg
IGZsb2F0IHN0ZFkgPSBmaWx0ZXItPnZlcnRpY2FsU2NhbGUobV9zdGRZKTsKICAgICB1bnNpZ25l
ZCBrZXJuZWxTaXplWCA9IDA7Ci0gICAgaWYgKG1fc3RkWCkKLSAgICAgICAga2VybmVsU2l6ZVgg
PSBtYXgoMlUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihmbG9vcihtX3N0ZFggKiBmaWx0ZXItPmZp
bHRlclJlc29sdXRpb24oKS53aWR0aCgpICogZ0dhdXNzaWFuS2VybmVsRmFjdG9yICsgMC41Zikp
KTsKKyAgICBpZiAoc3RkWCkKKyAgICAgICAga2VybmVsU2l6ZVggPSBtYXgoMlUsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihmbG9vcihzdGRYICogZ0dhdXNzaWFuS2VybmVsRmFjdG9yICsgMC41Zikp
KTsKIAogICAgIHVuc2lnbmVkIGtlcm5lbFNpemVZID0gMDsKLSAgICBpZiAobV9zdGRZKQotICAg
ICAgICBrZXJuZWxTaXplWSA9IG1heCgyVSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGZsb29yKG1f
c3RkWSAqIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpICogZ0dhdXNzaWFuS2Vy
bmVsRmFjdG9yICsgMC41ZikpKTsKKyAgICBpZiAoc3RkWSkKKyAgICAgICAga2VybmVsU2l6ZVkg
PSBtYXgoMlUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihmbG9vcihzdGRZICogZ0dhdXNzaWFuS2Vy
bmVsRmFjdG9yICsgMC41ZikpKTsKIAogICAgIENhbnZhc1BpeGVsQXJyYXkqIHNyY1BpeGVsQXJy
YXkoc3JjSW1hZ2VEYXRhLT5kYXRhKCkpOwogICAgIFJlZlB0cjxJbWFnZURhdGE+IHRtcEltYWdl
RGF0YSA9IEltYWdlRGF0YTo6Y3JlYXRlKGltYWdlUmVjdC53aWR0aCgpLCBpbWFnZVJlY3QuaGVp
Z2h0KCkpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3Np
YW5CbHVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFR2F1c3NpYW5CbHVyLmgJKHJldmlzaW9uIDY4MDMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYg
KzQyLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAg
IHZpcnR1YWwgdm9pZCBkdW1wKCk7CisgICAgCisgICAgdmlydHVhbCBJbnRSZWN0IGRldGVybWlu
ZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopOwogCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBl
eHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25zdDsK
IApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUxpZ2h0
aW5nLmNwcAkocmV2aXNpb24gNjgwMzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVMaWdodGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NywxMiArMjQ3LDEyIEBA
IHZvaWQgRkVMaWdodGluZzo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAgaWYgKCFpbi0+cmVz
dWx0SW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFlZmZlY3RDb250ZXh0KCkp
CisgICAgaWYgKCFlZmZlY3RDb250ZXh0KGZpbHRlcikpCiAgICAgICAgIHJldHVybjsKIAogICAg
IHNldElzQWxwaGFJbWFnZShmYWxzZSk7CiAKLSAgICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0
ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+cmVwYWludFJlY3RJbkxvY2Fs
Q29vcmRpbmF0ZXMoKSk7CisgICAgSW50UmVjdCBlZmZlY3REcmF3aW5nUmVjdCA9IHJlcXVlc3Rl
ZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpOwogICAgIFJl
ZlB0cjxJbWFnZURhdGE+IHNyY0ltYWdlRGF0YShpbi0+cmVzdWx0SW1hZ2UoKS0+Z2V0VW5tdWx0
aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdERyYXdpbmdSZWN0KSk7CiAgICAgQ2FudmFzUGl4ZWxBcnJh
eSogc3JjUGl4ZWxBcnJheShzcmNJbWFnZURhdGEtPmRhdGEoKSk7CiAKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU1lcmdlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVNZXJnZS5jcHAJKHJldmlzaW9uIDY4MDMw
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTWVyZ2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCwxMyArNTAsMTMgQEAgdm9pZCBGRU1lcmdlOjphcHBseShGaWx0ZXIq
IGZpbHRlcikKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBHcmFwaGljc0NvbnRl
eHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0
KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dChmaWx0ZXIpOwogICAgIGlmICghZmlsdGVy
Q29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IHNpemU7ICsraSkgewogICAgICAgICBGaWx0ZXJFZmZlY3QqIGluID0gaW5wdXRFZmZlY3QoaSk7
Ci0gICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbi0+cmVzdWx0SW1hZ2Uo
KSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbi0+cmVwYWlu
dFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSkpOworICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3
SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdS
ZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKICAgICB9CiB9CiAK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU1vcnBob2xvZ3kuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU1vcnBo
b2xvZ3kuY3BwCShyZXZpc2lvbiA2ODAzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRU1vcnBob2xvZ3kuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NCw2ICs3NCwxNSBA
QCBmbG9hdCBGRU1vcnBob2xvZ3k6OnJhZGl1c1koKSBjb25zdAogICAgIHJldHVybiBtX3JhZGl1
c1k7CiB9CiAKK0ludFJlY3QgRkVNb3JwaG9sb2d5OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVj
dChGaWx0ZXIqIGZpbHRlcikKK3sKKyAgICBJbnRSZWN0IHJlcGFpbnRSZWN0ID0gaW5wdXRFZmZl
Y3QoMCktPmFic29sdXRlUGFpbnRSZWN0KCk7CisgICAgcmVwYWludFJlY3QuaW5mbGF0ZVgoc3Rh
dGljX2Nhc3Q8aW50PihmaWx0ZXItPmhvcml6b250YWxTY2FsZShtX3JhZGl1c1gpKSk7CisgICAg
cmVwYWludFJlY3QuaW5mbGF0ZVkoc3RhdGljX2Nhc3Q8aW50PihmaWx0ZXItPnZlcnRpY2FsU2Nh
bGUobV9yYWRpdXNZKSkpOworICAgIHNldEFic29sdXRlUGFpbnRSZWN0KHJlcGFpbnRSZWN0KTsK
KyAgICByZXR1cm4gcmVwYWludFJlY3Q7Cit9CisKIHZvaWQgRkVNb3JwaG9sb2d5OjpzZXRSYWRp
dXNZKGZsb2F0IHJhZGl1c1kpCiB7CiAgICAgbV9yYWRpdXNZID0gcmFkaXVzWTsKQEAgLTg2LDE4
ICs5NSwxOCBAQCB2b2lkIEZFTW9ycGhvbG9neTo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAg
aWYgKCFpbi0+cmVzdWx0SW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFlZmZl
Y3RDb250ZXh0KCkpCisgICAgaWYgKCFlZmZlY3RDb250ZXh0KGZpbHRlcikpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIHNldElzQWxwaGFJbWFnZShpbi0+aXNBbHBoYUltYWdlKCkpOwotCi0gICAg
aW50IHJhZGl1c1ggPSBzdGF0aWNfY2FzdDxpbnQ+KG1fcmFkaXVzWCAqIGZpbHRlci0+ZmlsdGVy
UmVzb2x1dGlvbigpLndpZHRoKCkpOwotICAgIGludCByYWRpdXNZID0gc3RhdGljX2Nhc3Q8aW50
PihtX3JhZGl1c1kgKiBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7Ci0gICAg
aWYgKHJhZGl1c1ggPD0gMCB8fCByYWRpdXNZIDw9IDApCisgICAgaWYgKG1fcmFkaXVzWCA8PSAw
IHx8IG1fcmFkaXVzWSA8PSAwKQogICAgICAgICByZXR1cm47CiAKKyAgICBpbnQgcmFkaXVzWCA9
IHN0YXRpY19jYXN0PGludD4oZmlsdGVyLT5ob3Jpem9udGFsU2NhbGUobV9yYWRpdXNYKSk7Cisg
ICAgaW50IHJhZGl1c1kgPSBzdGF0aWNfY2FzdDxpbnQ+KGZpbHRlci0+dmVydGljYWxTY2FsZSht
X3JhZGl1c1kpKTsKKwogICAgIEludFJlY3QgaW1hZ2VSZWN0KEludFBvaW50KCksIHJlc3VsdElt
YWdlKCktPnNpemUoKSk7Ci0gICAgSW50UmVjdCBlZmZlY3REcmF3aW5nUmVjdCA9IHJlcXVlc3Rl
ZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVz
KCkpOworICAgIEludFJlY3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklu
cHV0SW1hZ2VEYXRhKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAgICBSZWZQdHI8Q2FudmFz
UGl4ZWxBcnJheT4gc3JjUGl4ZWxBcnJheShpbi0+cmVzdWx0SW1hZ2UoKS0+Z2V0UHJlbXVsdGlw
bGllZEltYWdlRGF0YShlZmZlY3REcmF3aW5nUmVjdCktPmRhdGEoKSk7CiAgICAgUmVmUHRyPElt
YWdlRGF0YT4gaW1hZ2VEYXRhID0gSW1hZ2VEYXRhOjpjcmVhdGUoaW1hZ2VSZWN0LndpZHRoKCks
IGltYWdlUmVjdC5oZWlnaHQoKSk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRU1vcnBob2xvZ3kuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVNb3JwaG9sb2d5LmgJKHJldmlzaW9uIDY4MDMwKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00OSw2ICs0OSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVy
Kik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwgSW50UmVjdCBkZXRl
cm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKTsKKwogICAgIHZpcnR1YWwgVGV4dFN0cmVh
bSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29u
c3Q7CiAKIHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVPZmZzZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRU9mZnNldC5jcHAJKHJldmlzaW9uIDY4MDMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFT2Zmc2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIs
MTUgQEAgdm9pZCBGRU9mZnNldDo6c2V0RHkoZmxvYXQgZHkpCiAgICAgbV9keSA9IGR5OwogfQog
CitJbnRSZWN0IEZFT2Zmc2V0OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqIGZp
bHRlcikKK3sKKyAgICBGbG9hdFJlY3QgcmVwYWludFJlY3QgPSBpbnB1dEVmZmVjdCgwKS0+YWJz
b2x1dGVQYWludFJlY3QoKTsKKyAgICByZXBhaW50UmVjdC5tb3ZlKGZpbHRlci0+aG9yaXpvbnRh
bFNjYWxlKG1fZHgpLCBmaWx0ZXItPnZlcnRpY2FsU2NhbGUobV9keSkpOworICAgIHJlcGFpbnRS
ZWN0LmludGVyc2VjdChtYXhFZmZlY3RSZWN0KCkpOworICAgIHNldEFic29sdXRlUGFpbnRSZWN0
KGVuY2xvc2luZ0ludFJlY3QocmVwYWludFJlY3QpKTsKKyAgICByZXR1cm4gYWJzb2x1dGVQYWlu
dFJlY3QoKTsKK30KKwogdm9pZCBGRU9mZnNldDo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7CiAg
ICAgRmlsdGVyRWZmZWN0KiBpbiA9IGlucHV0RWZmZWN0KDApOwpAQCAtNjksMjggKzc4LDE1IEBA
IHZvaWQgRkVPZmZzZXQ6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogICAgIGlmICghaW4tPnJlc3Vs
dEltYWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVy
Q29udGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNv
bnRleHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQog
ICAgICAgICByZXR1cm47CiAKICAgICBzZXRJc0FscGhhSW1hZ2UoaW4tPmlzQWxwaGFJbWFnZSgp
KTsKIAotICAgIEZsb2F0UmVjdCBzb3VyY2VJbWFnZVJlY3QgPSBmaWx0ZXItPnNvdXJjZUltYWdl
UmVjdCgpOwotICAgIHNvdXJjZUltYWdlUmVjdC5zY2FsZShmaWx0ZXItPmZpbHRlclJlc29sdXRp
b24oKS53aWR0aCgpLCBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7Ci0KLSAg
ICBpZiAoZmlsdGVyLT5lZmZlY3RCb3VuZGluZ0JveE1vZGUoKSkgewotICAgICAgICBtX2R4ICo9
IHNvdXJjZUltYWdlUmVjdC53aWR0aCgpOwotICAgICAgICBtX2R5ICo9IHNvdXJjZUltYWdlUmVj
dC5oZWlnaHQoKTsKLSAgICB9Ci0gICAgbV9keCAqPSBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24o
KS53aWR0aCgpOwotICAgIG1fZHkgKj0gZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkuaGVpZ2h0
KCk7Ci0KLSAgICBGbG9hdFJlY3QgZHN0UmVjdCA9IEZsb2F0UmVjdChtX2R4ICsgaW4tPnJlcGFp
bnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkueCgpIC0gcmVwYWludFJlY3RJbkxvY2FsQ29vcmRp
bmF0ZXMoKS54KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9keSArIGlu
LT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLnkoKSAtIHJlcGFpbnRSZWN0SW5Mb2Nh
bENvb3JkaW5hdGVzKCkueSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
LT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLndpZHRoKCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCku
aGVpZ2h0KCkpOwotCi0gICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1
bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkc3RSZWN0KTsKKyAgICBGbG9hdFJlY3QgZHJh
d2luZ1JlZ2lvbiA9IGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRS
ZWN0KCkpOworICAgIGRyYXdpbmdSZWdpb24ubW92ZShmaWx0ZXItPmhvcml6b250YWxTY2FsZSht
X2R4KSwgZmlsdGVyLT52ZXJ0aWNhbFNjYWxlKG1fZHkpKTsKKyAgICBmaWx0ZXJDb250ZXh0LT5k
cmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdp
bmdSZWdpb24pOwogfQogCiB2b2lkIEZFT2Zmc2V0OjpkdW1wKCkKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5oCShyZXZpc2lvbiA2ODAzMCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5oCSh3b3JraW5nIGNv
cHkpCkBAIC00MCw2ICs0MCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBhcHBseShG
aWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOworICAgIAorICAgIHZpcnR1YWwgSW50
UmVjdCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKTsKIAogICAgIHZpcnR1YWwg
VGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVu
dGlvbikgY29uc3Q7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RVRpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRVRpbGUuY3BwCShyZXZpc2lvbiA2ODAzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRVRpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMCArNDQsMTYgQEAg
RmxvYXRSZWN0IEZFVGlsZTo6ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aQogewogICAgIGlucHV0RWZm
ZWN0KDApLT5kZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oZmlsdGVyKTsKIAotICAg
IGZpbHRlci0+ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKHRoaXMsIGZpbHRlci0+
ZmlsdGVyUmVnaW9uKCkpOworICAgIGZpbHRlci0+ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3Vi
cmVnaW9uKHRoaXMsIGZpbHRlci0+ZmlsdGVyUmVnaW9uSW5Vc2VyU3BhY2UoKSk7CiAgICAgcmV0
dXJuIGZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbigpOwogfQogCitJbnRSZWN0IEZFVGlsZTo6ZGV0
ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKikKK3sKKyAgICBzZXRBYnNvbHV0ZVBhaW50
UmVjdChtYXhFZmZlY3RSZWN0KCkpOworICAgIHJldHVybiBtYXhFZmZlY3RSZWN0KCk7Cit9CisK
IHZvaWQgRkVUaWxlOjphcHBseShGaWx0ZXIqIGZpbHRlcikKIHsKICAgICBGaWx0ZXJFZmZlY3Qq
IGluID0gaW5wdXRFZmZlY3QoMCk7CkBAIC01NSwxMyArNjEsMTMgQEAgdm9pZCBGRVRpbGU6OmFw
cGx5KEZpbHRlciogZmlsdGVyKQogICAgIGlmICghaW4tPnJlc3VsdEltYWdlKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENv
bnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250
ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAgICAgICByZXR1cm47CiAK
ICAgICBzZXRJc0FscGhhSW1hZ2UoaW4tPmlzQWxwaGFJbWFnZSgpKTsKIAotICAgIEludFJlY3Qg
dGlsZVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGlu
YXRlcygpKTsKKyAgICBJbnRSZWN0IHRpbGVSZWN0ID0gaW4tPm1heEVmZmVjdFJlY3QoKTsKIAog
ICAgIC8vIFNvdXJjZSBpbnB1dCBuZWVkcyBtb3JlIGF0dGVudGlvbi4gSXQgaGFzIHRoZSBzaXpl
IG9mIHRoZSBmaWx0ZXJSZWdpb24gYnV0IGdpdmVzIHRoZQogICAgIC8vIHNpemUgb2YgdGhlIGN1
dHRlZCBzb3VyY2VJbWFnZSBiYWNrLiBUaGlzIGlzIHBhcnQgb2YgdGhlIHNwZWNpZmljYXRpb24g
YW5kIG9wdGltaXphdGlvbi4KQEAgLTc3LDEyICs4MywxMiBAQCB2b2lkIEZFVGlsZTo6YXBwbHko
RmlsdGVyKiBmaWx0ZXIpCiAgICAgUmVmUHRyPFBhdHRlcm4+IHBhdHRlcm4gPSBQYXR0ZXJuOjpj
cmVhdGUodGlsZUltYWdlLT5jb3B5SW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7CiAKICAgICBBZmZpbmVU
cmFuc2Zvcm0gbWF0cml4OwotICAgIG1hdHJpeC50cmFuc2xhdGUoaW4tPnJlcGFpbnRSZWN0SW5M
b2NhbENvb3JkaW5hdGVzKCkueCgpIC0gcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS54
KCksCi0gICAgICAgICAgICAgICAgICAgICBpbi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0
ZXMoKS55KCkgLSByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLnkoKSk7CisgICAgbWF0
cml4LnRyYW5zbGF0ZShpbi0+YWJzb2x1dGVQYWludFJlY3QoKS54KCkgLSBhYnNvbHV0ZVBhaW50
UmVjdCgpLngoKSwKKyAgICAgICAgICAgICAgICAgICAgIGluLT5hYnNvbHV0ZVBhaW50UmVjdCgp
LnkoKSAtIGFic29sdXRlUGFpbnRSZWN0KCkueSgpKTsKICAgICBwYXR0ZXJuLmdldCgpLT5zZXRQ
YXR0ZXJuU3BhY2VUcmFuc2Zvcm0obWF0cml4KTsKIAogICAgIGZpbHRlckNvbnRleHQtPnNldEZp
bGxQYXR0ZXJuKHBhdHRlcm4pOwotICAgIGZpbHRlckNvbnRleHQtPmZpbGxSZWN0KEZsb2F0UmVj
dChGbG9hdFBvaW50KCksIHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkuc2l6ZSgpKSk7
CisgICAgZmlsdGVyQ29udGV4dC0+ZmlsbFJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgYWJz
b2x1dGVQYWludFJlY3QoKS5zaXplKCkpKTsKIH0KIAogdm9pZCBGRVRpbGU6OmR1bXAoKQpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVGlsZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuaAkocmV2aXNpb24g
NjgwMzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUaWxlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBh
cHBseShGaWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOwogCisgICAgdmlydHVhbCBJ
bnRSZWN0IGRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopOworCiAgICAgdmlydHVh
bCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5k
ZW50aW9uKSBjb25zdDsKIAogICAgIHZpcnR1YWwgRmxvYXRSZWN0IGRldGVybWluZUZpbHRlclBy
aW1pdGl2ZVN1YnJlZ2lvbihGaWx0ZXIqKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRVR1cmJ1bGVuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRVR1cmJ1bGVuY2UuY3BwCShyZXZpc2lvbiA2ODAzMCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVR1cmJ1bGVuY2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMTksOSArMzE5LDE1IEBAIHVuc2lnbmVkIGNoYXIgRkVUdXJidWxlbmNl
OjpjYWxjdWxhdGVUdXIKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4odHVy
YnVsZW5jZUZ1bmN0aW9uUmVzdWx0ICogMjU1KTsKIH0KIAorSW50UmVjdCBGRVR1cmJ1bGVuY2U6
OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopCit7CisgICAgc2V0QWJzb2x1dGVQ
YWludFJlY3QobWF4RWZmZWN0UmVjdCgpKTsKKyAgICByZXR1cm4gbWF4RWZmZWN0UmVjdCgpOwor
fQorCiB2b2lkIEZFVHVyYnVsZW5jZTo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7Ci0gICAgaWYg
KCFlZmZlY3RDb250ZXh0KCkpCisgICAgaWYgKCFlZmZlY3RDb250ZXh0KGZpbHRlcikpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIEludFJlY3QgaW1hZ2VSZWN0KEludFBvaW50KCksIHJlc3VsdElt
YWdlKCktPnNpemUoKSk7CkBAIC0zMjksMTAgKzMzNSwxMCBAQCB2b2lkIEZFVHVyYnVsZW5jZTo6
YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAgICAgIHJldHVybjsKIAogICAgIFJlZlB0cjxJbWFn
ZURhdGE+IGltYWdlRGF0YSA9IEltYWdlRGF0YTo6Y3JlYXRlKGltYWdlUmVjdC53aWR0aCgpLCBp
bWFnZVJlY3QuaGVpZ2h0KCkpOwotICAgIFBhaW50aW5nRGF0YSBwYWludGluZ0RhdGEobV9zZWVk
LCBpbWFnZVJlY3Quc2l6ZSgpKTsKKyAgICBQYWludGluZ0RhdGEgcGFpbnRpbmdEYXRhKHN0YXRp
Y19jYXN0PGxvbmc+KGZpbHRlci0+aG9yaXpvbnRhbFNjYWxlKG1fc2VlZCkpLCBpbWFnZVJlY3Qu
c2l6ZSgpKTsKICAgICBpbml0UGFpbnQocGFpbnRpbmdEYXRhKTsKIAotICAgIEZsb2F0UmVjdCBm
aWx0ZXJSZWdpb24gPSBmaWx0ZXItPmZpbHRlclJlZ2lvbigpOworICAgIEZsb2F0UmVjdCBmaWx0
ZXJSZWdpb24gPSBmaWx0ZXItPmZpbHRlclJlZ2lvbkluVXNlclNwYWNlKCk7CiAgICAgRmxvYXRQ
b2ludCBwb2ludDsKICAgICBwb2ludC5zZXRZKGZpbHRlclJlZ2lvbi55KCkpOwogICAgIGludCBp
bmRleE9mUGl4ZWxDaGFubmVsID0gMDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRVR1cmJ1bGVuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxlbmNlLmgJKHJldmlzaW9uIDY4MDMwKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVHVyYnVsZW5jZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC02MCw2ICs2MCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBhcHBseShGaWx0
ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOworICAgIAorICAgIHZpcnR1YWwgSW50UmVj
dCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKTsKIAogICAgIHZpcnR1YWwgVGV4
dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlv
bikgY29uc3Q7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmls
dGVyLmgJKHJldmlzaW9uIDY4MDMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZpbHRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMSArNDQsMTYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBGbG9hdFNpemUgZmlsdGVyUmVzb2x1dGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1fZmlsdGVyUmVzb2x1dGlvbjsgfQogICAgICAgICB2b2lkIHNldEZpbHRlclJlc29s
dXRpb24oY29uc3QgRmxvYXRTaXplJiBmaWx0ZXJSZXNvbHV0aW9uKSB7IG1fZmlsdGVyUmVzb2x1
dGlvbiA9IGZpbHRlclJlc29sdXRpb247IH0KIAorICAgICAgICB2aXJ0dWFsIGZsb2F0IGhvcml6
b250YWxTY2FsZShmbG9hdCB2YWx1ZSkgY29uc3QgeyByZXR1cm4gdmFsdWUgKiBtX2ZpbHRlclJl
c29sdXRpb24ud2lkdGgoKTsgfQorICAgICAgICB2aXJ0dWFsIGZsb2F0IHZlcnRpY2FsU2NhbGUo
ZmxvYXQgdmFsdWUpIGNvbnN0IHsgcmV0dXJuIHZhbHVlICogbV9maWx0ZXJSZXNvbHV0aW9uLmhl
aWdodCgpOyB9CisgICAgICAgIAogICAgICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzb3VyY2VJbWFn
ZVJlY3QoKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1YWwgRmxvYXRSZWN0IGZpbHRlclJlZ2lv
bigpIGNvbnN0ID0gMDsKIAogICAgICAgICAvLyBTVkcgc3BlY2lmaWMKICAgICAgICAgdmlydHVh
bCB2b2lkIGRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihGaWx0ZXJFZmZlY3QqLCBj
b25zdCBGbG9hdFJlY3QmKSB7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgRmxvYXRSZWN0
IGZpbHRlclJlZ2lvbkluVXNlclNwYWNlKCkgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0K
IAogICAgICAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBtYXhJbWFnZVNpemUoKSBjb25zdCA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBlZmZlY3RCb3VuZGluZ0JveE1vZGUoKSBjb25zdCA9IDA7Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZm
ZWN0LmNwcAkocmV2aXNpb24gNjgwMzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRmlsdGVyRWZmZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBG
bG9hdFJlY3QgRmlsdGVyRWZmZWN0OjpkZXRlcm1pbmVGaWx0ZXJQCiAKICAgICAvLyBGRVR1cmJ1
bGVuY2UsIEZFSW1hZ2UgYW5kIEZFRmxvb2QgZG9uJ3QgaGF2ZSBpbnB1dCBlZmZlY3RzLCB0YWtl
IHRoZSBmaWx0ZXIgcmVnaW9uIGFzIHVuaXRlIHJlY3QuCiAgICAgaWYgKCFzaXplKQotICAgICAg
ICB1bml0ZVJlY3QgPSBmaWx0ZXItPmZpbHRlclJlZ2lvbigpOworICAgICAgICB1bml0ZVJlY3Qg
PSBmaWx0ZXItPmZpbHRlclJlZ2lvbkluVXNlclNwYWNlKCk7CiAgICAgZWxzZSB7CiAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpCiAgICAgICAgICAgICB1bml0ZVJl
Y3QudW5pdGUobV9pbnB1dEVmZmVjdHMuYXQoaSktPmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1
YnJlZ2lvbihmaWx0ZXIpKTsKQEAgLTU2LDE4ICs1NiwzMCBAQCBGbG9hdFJlY3QgRmlsdGVyRWZm
ZWN0OjpkZXRlcm1pbmVGaWx0ZXJQCiAgICAgcmV0dXJuIG1fZmlsdGVyUHJpbWl0aXZlU3VicmVn
aW9uOwogfQogCi1JbnRSZWN0IEZpbHRlckVmZmVjdDo6cmVxdWVzdGVkUmVnaW9uT2ZJbnB1dElt
YWdlRGF0YShjb25zdCBGbG9hdFJlY3QmIGVmZmVjdFJlY3QpIGNvbnN0CitJbnRSZWN0IEZpbHRl
ckVmZmVjdDo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKikKK3sKKyAgICBtX2Fi
c29sdXRlUGFpbnRSZWN0ID0gSW50UmVjdCgpOworICAgIHVuc2lnbmVkIHNpemUgPSBtX2lucHV0
RWZmZWN0cy5zaXplKCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkK
KyAgICAgICAgbV9hYnNvbHV0ZVBhaW50UmVjdC51bml0ZShtX2lucHV0RWZmZWN0cy5hdChpKS0+
YWJzb2x1dGVQYWludFJlY3QoKSk7CisgICAgCisgICAgLy8gU1ZHIHNwZWNpZmljYXRpb24gd2Fu
dHMgdXMgdG8gY2xpcCB0byBwcmltaXRpdmUgc3VicmVnaW9uLgorICAgIG1fYWJzb2x1dGVQYWlu
dFJlY3QuaW50ZXJzZWN0KG1fbWF4RWZmZWN0UmVjdCk7CisgICAgcmV0dXJuIG1fYWJzb2x1dGVQ
YWludFJlY3Q7Cit9CisKK0ludFJlY3QgRmlsdGVyRWZmZWN0OjpyZXF1ZXN0ZWRSZWdpb25PZklu
cHV0SW1hZ2VEYXRhKGNvbnN0IEludFJlY3QmIGVmZmVjdFJlY3QpIGNvbnN0CiB7CiAgICAgQVNT
RVJUKG1fZWZmZWN0QnVmZmVyKTsKLSAgICBGbG9hdFBvaW50IGxvY2F0aW9uID0gbV9yZXBhaW50
UmVjdEluTG9jYWxDb29yZGluYXRlcy5sb2NhdGlvbigpOworICAgIEludFBvaW50IGxvY2F0aW9u
ID0gbV9hYnNvbHV0ZVBhaW50UmVjdC5sb2NhdGlvbigpOwogICAgIGxvY2F0aW9uLm1vdmUoLWVm
ZmVjdFJlY3QueCgpLCAtZWZmZWN0UmVjdC55KCkpOwotICAgIHJldHVybiBJbnRSZWN0KHJvdW5k
ZWRJbnRQb2ludChsb2NhdGlvbiksIG1fZWZmZWN0QnVmZmVyLT5zaXplKCkpOworICAgIHJldHVy
biBJbnRSZWN0KGxvY2F0aW9uLCBtX2VmZmVjdEJ1ZmZlci0+c2l6ZSgpKTsKIH0KIAotRmxvYXRS
ZWN0IEZpbHRlckVmZmVjdDo6ZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShjb25zdCBGbG9hdFJl
Y3QmIHNyY1JlY3QpIGNvbnN0CitGbG9hdFJlY3QgRmlsdGVyRWZmZWN0OjpkcmF3aW5nUmVnaW9u
T2ZJbnB1dEltYWdlKGNvbnN0IEludFJlY3QmIHNyY1JlY3QpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IEZsb2F0UmVjdChGbG9hdFBvaW50KHNyY1JlY3QueCgpIC0gbV9yZXBhaW50UmVjdEluTG9jYWxD
b29yZGluYXRlcy54KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY1JlY3Qu
eSgpIC0gbV9yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcy55KCkpLCBzcmNSZWN0LnNpemUo
KSk7CisgICAgcmV0dXJuIEZsb2F0UmVjdChGbG9hdFBvaW50KHNyY1JlY3QueCgpIC0gbV9hYnNv
bHV0ZVBhaW50UmVjdC54KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY1Jl
Y3QueSgpIC0gbV9hYnNvbHV0ZVBhaW50UmVjdC55KCkpLCBzcmNSZWN0LnNpemUoKSk7CiB9CiAK
IEZpbHRlckVmZmVjdCogRmlsdGVyRWZmZWN0OjppbnB1dEVmZmVjdCh1bnNpZ25lZCBudW1iZXIp
IGNvbnN0CkBAIC03Niw5ICs4OCw5IEBAIEZpbHRlckVmZmVjdCogRmlsdGVyRWZmZWN0OjppbnB1
dEVmZmVjdCgKICAgICByZXR1cm4gbV9pbnB1dEVmZmVjdHMuYXQobnVtYmVyKS5nZXQoKTsKIH0K
IAotR3JhcGhpY3NDb250ZXh0KiBGaWx0ZXJFZmZlY3Q6OmVmZmVjdENvbnRleHQoKQorR3JhcGhp
Y3NDb250ZXh0KiBGaWx0ZXJFZmZlY3Q6OmVmZmVjdENvbnRleHQoRmlsdGVyKiBmaWx0ZXIpCiB7
Ci0gICAgSW50UmVjdCBidWZmZXJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChtX3JlcGFpbnRSZWN0
SW5Mb2NhbENvb3JkaW5hdGVzKTsKKyAgICBJbnRSZWN0IGJ1ZmZlclJlY3QgPSBkZXRlcm1pbmVB
YnNvbHV0ZVBhaW50UmVjdChmaWx0ZXIpOwogICAgIG1fZWZmZWN0QnVmZmVyID0gSW1hZ2VCdWZm
ZXI6OmNyZWF0ZShidWZmZXJSZWN0LnNpemUoKSwgTGluZWFyUkdCKTsKICAgICBpZiAoIW1fZWZm
ZWN0QnVmZmVyKQogICAgICAgICByZXR1cm4gMDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmgJKHJldmlzaW9uIDY4MDMwKQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00OSwyNSArNDksMzAgQEAgcHVibGljOgogCiAgICAgLy8gQ3JlYXRlcyB0aGUg
SW1hZ2VCdWZmZXIgZm9yIHRoZSBjdXJyZW50IGZpbHRlciBwcmltaXRpdmUgcmVzdWx0IGluIHRo
ZSBzaXplIG9mIHRoZQogICAgIC8vIHJlcGFpbnRSZWN0LiBHaXZlcyBiYWNrIHRoZSBHcmFwaGlj
c0NvbnRleHQgb2YgdGhlIG93biBJbWFnZUJ1ZmZlci4KLSAgICBHcmFwaGljc0NvbnRleHQqIGVm
ZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGVmZmVjdENvbnRleHQoRmlsdGVy
Kik7CiAKICAgICBGaWx0ZXJFZmZlY3RWZWN0b3ImIGlucHV0RWZmZWN0cygpIHsgcmV0dXJuIG1f
aW5wdXRFZmZlY3RzOyB9CiAgICAgRmlsdGVyRWZmZWN0KiBpbnB1dEVmZmVjdCh1bnNpZ25lZCkg
Y29uc3Q7CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZFZmZlY3RJbnB1dHMoKSBjb25zdCB7IHJldHVy
biBtX2lucHV0RWZmZWN0cy5zaXplKCk7IH0KIAotICAgIEZsb2F0UmVjdCBkcmF3aW5nUmVnaW9u
T2ZJbnB1dEltYWdlKGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0OwotICAgIEludFJlY3QgcmVxdWVz
dGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKKyAgICBG
bG9hdFJlY3QgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShjb25zdCBJbnRSZWN0JikgY29uc3Q7
CisgICAgSW50UmVjdCByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGNvbnN0IEludFJl
Y3QmKSBjb25zdDsKIAogICAgIC8vIFNvbGlkIGJsYWNrIGltYWdlIHdpdGggZGlmZmVyZW50IGFs
cGhhIHZhbHVlcy4KICAgICBib29sIGlzQWxwaGFJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fYWxw
aGFJbWFnZTsgfQogICAgIHZvaWQgc2V0SXNBbHBoYUltYWdlKGJvb2wgYWxwaGFJbWFnZSkgeyBt
X2FscGhhSW1hZ2UgPSBhbHBoYUltYWdlOyB9CiAKLSAgICBGbG9hdFJlY3QgcmVwYWludFJlY3RJ
bkxvY2FsQ29vcmRpbmF0ZXMoKSBjb25zdCB7IHJldHVybiBtX3JlcGFpbnRSZWN0SW5Mb2NhbENv
b3JkaW5hdGVzOyB9Ci0gICAgdm9pZCBzZXRSZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcyhj
b25zdCBGbG9hdFJlY3QmIHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKSB7IG1fcmVwYWlu
dFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMgPSByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlczsg
fQorICAgIEludFJlY3QgYWJzb2x1dGVQYWludFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2Fic29s
dXRlUGFpbnRSZWN0OyB9CisgICAgdm9pZCBzZXRBYnNvbHV0ZVBhaW50UmVjdChjb25zdCBJbnRS
ZWN0JiBhYnNvbHV0ZVBhaW50UmVjdCkgeyBtX2Fic29sdXRlUGFpbnRSZWN0ID0gYWJzb2x1dGVQ
YWludFJlY3Q7IH0KKyAgICAKKyAgICBJbnRSZWN0IG1heEVmZmVjdFJlY3QoKSBjb25zdCB7IHJl
dHVybiBtX21heEVmZmVjdFJlY3Q7IH0KKyAgICB2b2lkIHNldE1heEVmZmVjdFJlY3QoY29uc3Qg
SW50UmVjdCYgbWF4RWZmZWN0UmVjdCkgeyBtX21heEVmZmVjdFJlY3QgPSBtYXhFZmZlY3RSZWN0
OyB9IAogCiAgICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgZHVtcCgpID0gMDsKIAorICAgIHZpcnR1YWwgSW50UmVjdCBkZXRlcm1pbmVBYnNvbHV0
ZVBhaW50UmVjdChGaWx0ZXIqKTsKKyAgICAKICAgICB2aXJ0dWFsIGJvb2wgaXNTb3VyY2VJbnB1
dCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4
dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24gPSAwKSBjb25z
dDsKQEAgLTg3LDcgKzkyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzSGVpZ2h0KCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNIZWlnaHQ7IH0KICAgICB2b2lkIHNldEhhc0hlaWdodChib29sIHZhbHVl
KSB7IG1faGFzSGVpZ2h0ID0gdmFsdWU7IH0KIAotICAgIC8vIEZJWE1FOiBQc2V1ZG8gcHJpbWl0
aXZlcyBsaWtlIFNvdXJjZUdyYXBoaWMgYW5kIFNvdXJjZUFscGhhIGFzIHdlbGwgYXMgRkVUaWxl
IHN0aWxsIG5lZWQgc3BlY2lhbCBoYW5kbGluZy4KKyAgICAvLyBGSVhNRTogRkVUaWxlIHN0aWxs
IG5lZWRzIHNwZWNpYWwgaGFuZGxpbmcuCiAgICAgdmlydHVhbCBGbG9hdFJlY3QgZGV0ZXJtaW5l
RmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlciopOwogCiAgICAgRmxvYXRSZWN0IGZpbHRl
clByaW1pdGl2ZVN1YnJlZ2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyUHJpbWl0aXZlU3Vi
cmVnaW9uOyB9CkBAIC0xMDUsOCArMTEwLDEwIEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fYWxw
aGFJbWFnZTsKIAotICAgIC8vIEZJWE1FOiBTaG91bGQgYmUgdGhlIHBhaW50IHJlZ2lvbiBvZiB0
aGUgZmlsdGVyIHByaW1pdGl2ZSwgaW5zdGVhZCBvZiB0aGUgc2NhbGVkIHN1YnJlZ2lvbiBvbiB1
c2Ugb2YgZmlsdGVyUmVzLgotICAgIEZsb2F0UmVjdCBtX3JlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzOworICAgIEludFJlY3QgbV9hYnNvbHV0ZVBhaW50UmVjdDsKKyAgICAKKyAgICAvLyBU
aGUgbWF4aW11bSBzaXplIG9mIGEgZmlsdGVyIHByaW1pdGl2ZS4gT24gU1ZHIHRoaXMgaXMgdGhl
IHByaW1pdGl2ZSBzdWJyZWdpb24gaW4gYWJzb2x1dGUgY29vcmRpbmF0ZSBzcGFjZS4KKyAgICBJ
bnRSZWN0IG1fbWF4RWZmZWN0UmVjdDsKIAogcHJpdmF0ZToKICAgICAvLyBUaGUgZm9sbG93aW5n
IG1lbWJlciB2YXJpYWJsZXMgYXJlIFNWRyBzcGVjaWZpYyBhbmQgd2lsbCBtb3ZlIHRvIFJlbmRl
clNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwCShyZXZpc2lvbiA2ODAzMCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyLDIyICs0MiwxNyBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFNvdXJjZUFs
cGhhOjplZmZlY3ROCiAgICAgcmV0dXJuIHNfZWZmZWN0TmFtZTsKIH0KIAotRmxvYXRSZWN0IFNv
dXJjZUFscGhhOjpkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVyKiBmaWx0
ZXIpCitJbnRSZWN0IFNvdXJjZUFscGhhOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0
ZXIqIGZpbHRlcikKIHsKICAgICBGbG9hdFJlY3QgY2xpcHBlZFNvdXJjZVJlY3QgPSBmaWx0ZXIt
PnNvdXJjZUltYWdlUmVjdCgpOwotICAgIGlmIChmaWx0ZXItPnNvdXJjZUltYWdlUmVjdCgpLngo
KSA8IGZpbHRlci0+ZmlsdGVyUmVnaW9uKCkueCgpKQotICAgICAgICBjbGlwcGVkU291cmNlUmVj
dC5zZXRYKGZpbHRlci0+ZmlsdGVyUmVnaW9uKCkueCgpKTsKLSAgICBpZiAoZmlsdGVyLT5zb3Vy
Y2VJbWFnZVJlY3QoKS55KCkgPCBmaWx0ZXItPmZpbHRlclJlZ2lvbigpLnkoKSkKLSAgICAgICAg
Y2xpcHBlZFNvdXJjZVJlY3Quc2V0WShmaWx0ZXItPmZpbHRlclJlZ2lvbigpLnkoKSk7Ci0gICAg
c2V0RmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKGNsaXBwZWRTb3VyY2VSZWN0KTsKLSAgICBjbGlw
cGVkU291cmNlUmVjdC5zY2FsZShmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS53aWR0aCgpLCBm
aWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7Ci0gICAgc2V0UmVwYWludFJlY3RJ
bkxvY2FsQ29vcmRpbmF0ZXMoY2xpcHBlZFNvdXJjZVJlY3QpOwotICAgIHJldHVybiBmaWx0ZXIt
PmZpbHRlclJlZ2lvbigpOworICAgIGNsaXBwZWRTb3VyY2VSZWN0LmludGVyc2VjdChmaWx0ZXIt
PmZpbHRlclJlZ2lvbigpKTsKKyAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChlbmNsb3NpbmdJbnRS
ZWN0KGNsaXBwZWRTb3VyY2VSZWN0KSk7CisgICAgcmV0dXJuIGFic29sdXRlUGFpbnRSZWN0KCk7
CiB9CiAKIHZvaWQgU291cmNlQWxwaGE6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogewotICAgIEdy
YXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFw
aGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAg
aWYgKCFmaWx0ZXJDb250ZXh0KQogICAgICAgICByZXR1cm47CiAKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5oCShyZXZpc2lvbiA2ODAz
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNCwxMSArMzQsMTEgQEAgcHVibGljOiAgICAgICAgCiAKICAgICBz
dGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBlZmZlY3ROYW1lKCk7CiAKLSAgICB2aXJ0dWFsIEZs
b2F0UmVjdCBkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVyKik7Ci0KICAg
ICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsK
IAorICAgIHZpcnR1YWwgSW50UmVjdCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIq
KTsKKwogICAgIHZpcnR1YWwgYm9vbCBpc1NvdXJjZUlucHV0KCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQogCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRl
eHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAJKHJldmlzaW9uIDY4
MDMwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwyMiArNDEsMTcgQEAgY29uc3QgQXRvbWljU3RyaW5n
JiBTb3VyY2VHcmFwaGljOjplZmZlYwogICAgIHJldHVybiBzX2VmZmVjdE5hbWU7CiB9CiAKLUZs
b2F0UmVjdCBTb3VyY2VHcmFwaGljOjpkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24o
RmlsdGVyKiBmaWx0ZXIpCitJbnRSZWN0IFNvdXJjZUdyYXBoaWM6OmRldGVybWluZUFic29sdXRl
UGFpbnRSZWN0KEZpbHRlciogZmlsdGVyKQogewogICAgIEZsb2F0UmVjdCBjbGlwcGVkU291cmNl
UmVjdCA9IGZpbHRlci0+c291cmNlSW1hZ2VSZWN0KCk7Ci0gICAgaWYgKGZpbHRlci0+c291cmNl
SW1hZ2VSZWN0KCkueCgpIDwgZmlsdGVyLT5maWx0ZXJSZWdpb24oKS54KCkpCi0gICAgICAgIGNs
aXBwZWRTb3VyY2VSZWN0LnNldFgoZmlsdGVyLT5maWx0ZXJSZWdpb24oKS54KCkpOwotICAgIGlm
IChmaWx0ZXItPnNvdXJjZUltYWdlUmVjdCgpLnkoKSA8IGZpbHRlci0+ZmlsdGVyUmVnaW9uKCku
eSgpKQotICAgICAgICBjbGlwcGVkU291cmNlUmVjdC5zZXRZKGZpbHRlci0+ZmlsdGVyUmVnaW9u
KCkueSgpKTsKLSAgICBzZXRGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oY2xpcHBlZFNvdXJjZVJl
Y3QpOwogICAgIGNsaXBwZWRTb3VyY2VSZWN0LnNjYWxlKGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlv
bigpLndpZHRoKCksIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpKTsKLSAgICBz
ZXRSZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcyhjbGlwcGVkU291cmNlUmVjdCk7Ci0gICAg
cmV0dXJuIGZpbHRlci0+ZmlsdGVyUmVnaW9uKCk7CisgICAgc2V0QWJzb2x1dGVQYWludFJlY3Qo
ZW5jbG9zaW5nSW50UmVjdChjbGlwcGVkU291cmNlUmVjdCkpOworICAgIHJldHVybiBhYnNvbHV0
ZVBhaW50UmVjdCgpOwogfQogCiB2b2lkIFNvdXJjZUdyYXBoaWM6OmFwcGx5KEZpbHRlciogZmls
dGVyKQogewotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRl
eHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0
KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAgICAgICByZXR1cm47CiAKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBo
aWMuaAkocmV2aXNpb24gNjgwMzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvU291cmNlR3JhcGhpYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxMSArMzUsMTEgQEAgcHVi
bGljOiAgICAgICAgCiAKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBlZmZlY3ROYW1l
KCk7CiAKLSAgICB2aXJ0dWFsIEZsb2F0UmVjdCBkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJy
ZWdpb24oRmlsdGVyKik7Ci0KICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAg
dmlydHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwgSW50UmVjdCBkZXRlcm1pbmVBYnNv
bHV0ZVBhaW50UmVjdChGaWx0ZXIqKTsKKwogICAgIHZpcnR1YWwgYm9vbCBpc1NvdXJjZUlucHV0
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRl
cm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25zdDsKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAJKHJl
dmlzaW9uIDY4MDMwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiU1ZHRmls
dGVyLmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0ZpbHRl
clByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oIgorI2luY2x1ZGUgIlNWR0ltYWdlQnVmZmVy
VG9vbHMuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVW5p
dFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtMTUwLDcwICsxNTEsNzggQEAg
Ym9vbCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdQogICAgIH0KIAogICAgIE93
blB0cjxGaWx0ZXJEYXRhPiBmaWx0ZXJEYXRhKG5ldyBGaWx0ZXJEYXRhKTsKKyAgICBGbG9hdFJl
Y3QgdGFyZ2V0Qm91bmRpbmdCb3ggPSBvYmplY3QtPm9iamVjdEJvdW5kaW5nQm94KCk7CisKKyAg
ICBTVkdGaWx0ZXJFbGVtZW50KiBmaWx0ZXJFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRmlsdGVy
RWxlbWVudCo+KG5vZGUoKSk7CisgICAgZmlsdGVyRGF0YS0+Ym91bmRhcmllcyA9IGZpbHRlckVs
ZW1lbnQtPmZpbHRlckJvdW5kaW5nQm94KHRhcmdldEJvdW5kaW5nQm94KTsKKyAgICBpZiAoZmls
dGVyRGF0YS0+Ym91bmRhcmllcy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAKKyAgICAvLyBEZXRlcm1pbmUgYWJzb2x1dGUgdHJhbnNmb3JtYXRpb24gbWF0cml4IGZvciBm
aWx0ZXIgYXMgd2VsbCBhcyB0aGUgYWJzb2x1dGUgYm91bmRhcmllcyBvZiB0aGUgZmlsdGVyIGFu
ZCB0aGUgZHJhd2luZyByZWdpb24uCisgICAgU1ZHSW1hZ2VCdWZmZXJUb29sczo6Y2FsY3VsYXRl
VHJhbnNmb3JtYXRpb25Ub091dGVybW9zdFNWR0Nvb3JkaW5hdGVTeXN0ZW0ob2JqZWN0LCBmaWx0
ZXJEYXRhLT5hYnNvbHV0ZVRyYW5zZm9ybSk7CisgICAgaWYgKCFmaWx0ZXJEYXRhLT5hYnNvbHV0
ZVRyYW5zZm9ybS5pc0ludmVydGlibGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
RmxvYXRSZWN0IGFic29sdXRlRmlsdGVyQm91bmRhcmllcyA9IGZpbHRlckRhdGEtPmFic29sdXRl
VHJhbnNmb3JtLm1hcFJlY3QoZmlsdGVyRGF0YS0+Ym91bmRhcmllcyk7CisgICAgRmxvYXRSZWN0
IGFic29sdXRlRHJhd2luZ1JlZ2lvbiA9IGZpbHRlckRhdGEtPmFic29sdXRlVHJhbnNmb3JtLm1h
cFJlY3Qob2JqZWN0LT5zdHJva2VCb3VuZGluZ0JveCgpKTsKKyAgICBhYnNvbHV0ZURyYXdpbmdS
ZWdpb24uaW50ZXJzZWN0KGFic29sdXRlRmlsdGVyQm91bmRhcmllcyk7CisKKyAgICAvLyBDcmVh
dGUgdGhlIFNWR0ZpbHRlciBvYmplY3QuCisgICAgYm9vbCBwcmltaXRpdmVCb3VuZGluZ0JveE1v
ZGUgPSBmaWx0ZXJFbGVtZW50LT5wcmltaXRpdmVVbml0cygpID09IFNWR1VuaXRUeXBlczo6U1ZH
X1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWDsKKyAgICBmaWx0ZXJEYXRhLT5maWx0ZXIgPSBT
VkdGaWx0ZXI6OmNyZWF0ZShmaWx0ZXJEYXRhLT5hYnNvbHV0ZVRyYW5zZm9ybSwgYWJzb2x1dGVE
cmF3aW5nUmVnaW9uLCB0YXJnZXRCb3VuZGluZ0JveCwgZmlsdGVyRGF0YS0+Ym91bmRhcmllcywg
cHJpbWl0aXZlQm91bmRpbmdCb3hNb2RlKTsKKworICAgIC8vIENyZWF0ZSBhbGwgcmVsZXZhbnQg
ZmlsdGVyIHByaW1pdGl2ZXMuCiAgICAgZmlsdGVyRGF0YS0+YnVpbGRlciA9IGJ1aWxkUHJpbWl0
aXZlcygpOwogICAgIGlmICghZmlsdGVyRGF0YS0+YnVpbGRlcikKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgRmxvYXRSZWN0IHBhaW50UmVjdCA9IG9iamVjdC0+c3Ryb2tlQm91bmRpbmdC
b3goKTsKLQogICAgIC8vIENhbGN1bGF0ZSB0aGUgc2NhbGUgZmFjdG9yIGZvciB0aGUgdXNlIG9m
IGZpbHRlclJlcy4KICAgICAvLyBBbHNvIHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmls
dGVycy5odG1sI0ZpbHRlckVmZmVjdHNSZWdpb24KLSAgICBTVkdGaWx0ZXJFbGVtZW50KiBmaWx0
ZXJFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRmlsdGVyRWxlbWVudCo+KG5vZGUoKSk7Ci0gICAg
ZmlsdGVyRGF0YS0+Ym91bmRhcmllcyA9IGZpbHRlckVsZW1lbnQtPmZpbHRlckJvdW5kaW5nQm94
KG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKSk7Ci0gICAgaWYgKGZpbHRlckRhdGEtPmJvdW5k
YXJpZXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBGbG9hdFNpemUg
c2NhbGUoMS4wZiwgMS4wZik7CisgICAgRmxvYXRTaXplIHNjYWxlKDEsIDEpOwogICAgIGlmIChm
aWx0ZXJFbGVtZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OmZpbHRlclJlc0F0dHIpKSB7Ci0g
ICAgICAgIHNjYWxlLnNldFdpZHRoKGZpbHRlckVsZW1lbnQtPmZpbHRlclJlc1goKSAvIGZpbHRl
ckRhdGEtPmJvdW5kYXJpZXMud2lkdGgoKSk7Ci0gICAgICAgIHNjYWxlLnNldEhlaWdodChmaWx0
ZXJFbGVtZW50LT5maWx0ZXJSZXNZKCkgLyBmaWx0ZXJEYXRhLT5ib3VuZGFyaWVzLmhlaWdodCgp
KTsKKyAgICAgICAgc2NhbGUuc2V0V2lkdGgoZmlsdGVyRWxlbWVudC0+ZmlsdGVyUmVzWCgpIC8g
YWJzb2x1dGVGaWx0ZXJCb3VuZGFyaWVzLndpZHRoKCkpOworICAgICAgICBzY2FsZS5zZXRIZWln
aHQoZmlsdGVyRWxlbWVudC0+ZmlsdGVyUmVzWSgpIC8gYWJzb2x1dGVGaWx0ZXJCb3VuZGFyaWVz
LmhlaWdodCgpKTsKICAgICB9CiAKICAgICBpZiAoc2NhbGUuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBjbGlwIHNvdXJjZUltYWdlIHRvIGZpbHRlclJlZ2lvbgot
ICAgIEZsb2F0UmVjdCBjbGlwcGVkU291cmNlUmVjdCA9IHBhaW50UmVjdDsKLSAgICBjbGlwcGVk
U291cmNlUmVjdC5pbnRlcnNlY3QoZmlsdGVyRGF0YS0+Ym91bmRhcmllcyk7Ci0KLSAgICAvLyBz
Y2FsZSBmaWx0ZXIgc2l6ZSB0byBmaWx0ZXJSZXMKLSAgICBGbG9hdFJlY3QgdGVtcFNvdXJjZVJl
Y3QgPSBjbGlwcGVkU291cmNlUmVjdDsKLQotICAgIC8vIHNjYWxlIHRvIGJpZyBzb3VyY2VJbWFn
ZSBzaXplIHRvIGtNYXhGaWx0ZXJTaXplCisgICAgLy8gRGV0ZXJtaW5lIHNjYWxlIGZhY3RvciBm
b3IgZmlsdGVyLiBUaGUgc2l6ZSBvZiBpbnRlcm1lZGlhdGUgSW1hZ2VCdWZmZXJzIHNob3VsZG4n
dCBiZSBiaWdnZXIKKyAgICAvLyB0aGFuIGtNYXhGaWx0ZXJTaXplLgorICAgIEZsb2F0UmVjdCB0
ZW1wU291cmNlUmVjdCA9IGFic29sdXRlRHJhd2luZ1JlZ2lvbjsKICAgICB0ZW1wU291cmNlUmVj
dC5zY2FsZShzY2FsZS53aWR0aCgpLCBzY2FsZS5oZWlnaHQoKSk7CiAgICAgZml0c0luTWF4aW11
bUltYWdlU2l6ZSh0ZW1wU291cmNlUmVjdC5zaXplKCksIHNjYWxlKTsKIAotICAgIC8vIHByZXBh
cmUgRmlsdGVycwotICAgIGJvb2wgcHJpbWl0aXZlQm91bmRpbmdCb3hNb2RlID0gZmlsdGVyRWxl
bWVudC0+cHJpbWl0aXZlVW5pdHMoKSA9PSBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JK
RUNUQk9VTkRJTkdCT1g7Ci0gICAgZmlsdGVyRGF0YS0+ZmlsdGVyID0gU1ZHRmlsdGVyOjpjcmVh
dGUocGFpbnRSZWN0LCBmaWx0ZXJEYXRhLT5ib3VuZGFyaWVzLCBwcmltaXRpdmVCb3VuZGluZ0Jv
eE1vZGUpOworICAgIC8vIFNldCB0aGUgc2NhbGUgbGV2ZWwgaW4gU1ZHRmlsdGVyLgogICAgIGZp
bHRlckRhdGEtPmZpbHRlci0+c2V0RmlsdGVyUmVzb2x1dGlvbihzY2FsZSk7CiAKICAgICBGaWx0
ZXJFZmZlY3QqIGxhc3RFZmZlY3QgPSBmaWx0ZXJEYXRhLT5idWlsZGVyLT5sYXN0RWZmZWN0KCk7
CiAgICAgaWYgKCFsYXN0RWZmZWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCisKKyAg
ICAvLyBEZXRlcm1pbmUgdGhlIGZpbHRlciBwcmltaXRpdmUgc3VicmVnaW9ucyBvZiBldmVyeSBl
ZmZlY3QuCiAgICAgbGFzdEVmZmVjdC0+ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9u
KGZpbHRlckRhdGEtPmZpbHRlci5nZXQoKSk7Ci0gICAgLy8gQXQgbGVhc3Qgb25lIEZpbHRlckVm
ZmVjdCBoYXMgYSB0b28gYmlnIGltYWdlIHNpemUsCi0gICAgLy8gcmVjYWxjdWxhdGUgdGhlIGVm
ZmVjdCBzaXplcyB3aXRoIG5ldyBzY2FsZSBmYWN0b3JzLgogICAgIGlmICghZml0c0luTWF4aW11
bUltYWdlU2l6ZShmaWx0ZXJEYXRhLT5maWx0ZXItPm1heEltYWdlU2l6ZSgpLCBzY2FsZSkpIHsK
KyAgICAgICAgLy8gQXQgbGVhc3Qgb25lIEZpbHRlckVmZmVjdCBoYXMgYSB0b28gYmlnIGltYWdl
IHNpemUsCisgICAgICAgIC8vIHJlY2FsY3VsYXRlIHRoZSBlZmZlY3Qgc2l6ZXMgd2l0aCBuZXcg
c2NhbGUgZmFjdG9yLgogICAgICAgICBmaWx0ZXJEYXRhLT5maWx0ZXItPnNldEZpbHRlclJlc29s
dXRpb24oc2NhbGUpOwogICAgICAgICBsYXN0RWZmZWN0LT5kZXRlcm1pbmVGaWx0ZXJQcmltaXRp
dmVTdWJyZWdpb24oZmlsdGVyRGF0YS0+ZmlsdGVyLmdldCgpKTsKICAgICB9CisgICAgYWJzb2x1
dGVEcmF3aW5nUmVnaW9uLnNjYWxlKHNjYWxlLndpZHRoKCksIHNjYWxlLmhlaWdodCgpKTsKIAot
ICAgIGNsaXBwZWRTb3VyY2VSZWN0LnNjYWxlKHNjYWxlLndpZHRoKCksIHNjYWxlLmhlaWdodCgp
KTsKLQotICAgIC8vIERyYXcgdGhlIGNvbnRlbnQgb2YgdGhlIGN1cnJlbnQgZWxlbWVudCBhbmQg
aXQncyBjaGlsZHMgdG8gYSBpbWFnZUJ1ZmZlciB0byBnZXQgdGhlIFNvdXJjZUdyYXBoaWMuCi0g
ICAgLy8gVGhlIHNpemUgb2YgdGhlIFNvdXJjZUdyYXBoaWMgaXMgY2xpcHBlZCB0byB0aGUgc2l6
ZSBvZiB0aGUgZmlsdGVyUmVnaW9uLgotICAgIEludFJlY3QgYnVmZmVyUmVjdCA9IGVuY2xvc2lu
Z0ludFJlY3QoY2xpcHBlZFNvdXJjZVJlY3QpOwotICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gc291
cmNlR3JhcGhpYyhJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGJ1ZmZlclJlY3Quc2l6ZSgpLCBMaW5lYXJS
R0IpKTsKLSAgICAKLSAgICBpZiAoIXNvdXJjZUdyYXBoaWMuZ2V0KCkpCisgICAgT3duUHRyPElt
YWdlQnVmZmVyPiBzb3VyY2VHcmFwaGljOworICAgIGlmICghU1ZHSW1hZ2VCdWZmZXJUb29sczo6
Y3JlYXRlSW1hZ2VCdWZmZXIoYWJzb2x1dGVEcmF3aW5nUmVnaW9uLCBhYnNvbHV0ZURyYXdpbmdS
ZWdpb24sIHNvdXJjZUdyYXBoaWMsIExpbmVhclJHQikpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
LQorICAgIAogICAgIEdyYXBoaWNzQ29udGV4dCogc291cmNlR3JhcGhpY0NvbnRleHQgPSBzb3Vy
Y2VHcmFwaGljLT5jb250ZXh0KCk7Ci0gICAgc291cmNlR3JhcGhpY0NvbnRleHQtPnRyYW5zbGF0
ZSgtY2xpcHBlZFNvdXJjZVJlY3QueCgpLCAtY2xpcHBlZFNvdXJjZVJlY3QueSgpKTsKLSAgICBz
b3VyY2VHcmFwaGljQ29udGV4dC0+c2NhbGUoc2NhbGUpOwotICAgIHNvdXJjZUdyYXBoaWNDb250
ZXh0LT5jbGVhclJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgcGFpbnRSZWN0LnNpemUoKSkp
OworICAgIEFTU0VSVChzb3VyY2VHcmFwaGljQ29udGV4dCk7CisgICAgaWYgKHNjYWxlLndpZHRo
KCkgIT0gMSB8fCBzY2FsZS5oZWlnaHQoKSAhPSAxKSB7CisgICAgICAgIHNvdXJjZUdyYXBoaWND
b250ZXh0LT50cmFuc2xhdGUoLWFic29sdXRlRHJhd2luZ1JlZ2lvbi54KCkgKiBzY2FsZS53aWR0
aCgpLCAtYWJzb2x1dGVEcmF3aW5nUmVnaW9uLnkoKSAqIHNjYWxlLmhlaWdodCgpKTsKKyAgICAg
ICAgc291cmNlR3JhcGhpY0NvbnRleHQtPnNjYWxlKHNjYWxlKTsKKyAgICB9CisgICAgc291cmNl
R3JhcGhpY0NvbnRleHQtPnRyYW5zbGF0ZSgtYWJzb2x1dGVEcmF3aW5nUmVnaW9uLngoKSwgLWFi
c29sdXRlRHJhd2luZ1JlZ2lvbi55KCkpOworICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT5jb25j
YXRDVE0oZmlsdGVyRGF0YS0+YWJzb2x1dGVUcmFuc2Zvcm0pOworICAgIHNvdXJjZUdyYXBoaWND
b250ZXh0LT5jbGVhclJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgYWJzb2x1dGVEcmF3aW5n
UmVnaW9uLnNpemUoKSkpOwogICAgIGZpbHRlckRhdGEtPnNvdXJjZUdyYXBoaWNCdWZmZXIgPSBz
b3VyY2VHcmFwaGljLnJlbGVhc2UoKTsKICAgICBmaWx0ZXJEYXRhLT5zYXZlZENvbnRleHQgPSBj
b250ZXh0OwogCkBAIC0yNzAsOCArMjc5LDE0IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXI6OnBvc3RBcHBseVIKICAgICAgICAgfQogCiAgICAgICAgIEltYWdlQnVmZmVyKiByZXN1bHRJ
bWFnZSA9IGxhc3RFZmZlY3QtPnJlc3VsdEltYWdlKCk7Ci0gICAgICAgIGlmIChyZXN1bHRJbWFn
ZSkKLSAgICAgICAgICAgIGNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihyZXN1bHRJbWFnZSwgb2Jq
ZWN0LT5zdHlsZSgpLT5jb2xvclNwYWNlKCksIGxhc3RFZmZlY3QtPmZpbHRlclByaW1pdGl2ZVN1
YnJlZ2lvbigpKTsKKyAgICAgICAgaWYgKHJlc3VsdEltYWdlKSB7CisgICAgICAgICAgICBjb250
ZXh0LT5jb25jYXRDVE0oZmlsdGVyRGF0YS0+YWJzb2x1dGVUcmFuc2Zvcm0uaW52ZXJzZSgpKTsK
KyAgICAgICAgICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZSgxIC8gZmlsdGVyRGF0YS0+Zmls
dGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgoKSwgMSAvIGZpbHRlckRhdGEtPmZpbHRlci0+
ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpKSk7CisgICAgICAgICAgICBjb250ZXh0LT5jbGlw
KGxhc3RFZmZlY3QtPm1heEVmZmVjdFJlY3QoKSk7CisgICAgICAgICAgICBjb250ZXh0LT5kcmF3
SW1hZ2VCdWZmZXIocmVzdWx0SW1hZ2UsIG9iamVjdC0+c3R5bGUoKS0+Y29sb3JTcGFjZSgpLCBs
YXN0RWZmZWN0LT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKKyAgICAgICAgICAgIGNvbnRleHQtPnNj
YWxlKGZpbHRlckRhdGEtPmZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpKTsKKyAgICAgICAgICAg
IGNvbnRleHQtPmNvbmNhdENUTShmaWx0ZXJEYXRhLT5hYnNvbHV0ZVRyYW5zZm9ybSk7CisgICAg
ICAgIH0KICAgICB9CiAKICAgICBmaWx0ZXJEYXRhLT5zb3VyY2VHcmFwaGljQnVmZmVyLmNsZWFy
KCk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgJ
KHJldmlzaW9uIDY4MDMwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBzdHJ1Y3QgRmlsdGVyRGF0
YSB7CiAgICAgUmVmUHRyPFNWR0ZpbHRlckJ1aWxkZXI+IGJ1aWxkZXI7CiAgICAgT3duUHRyPElt
YWdlQnVmZmVyPiBzb3VyY2VHcmFwaGljQnVmZmVyOwogICAgIEdyYXBoaWNzQ29udGV4dCogc2F2
ZWRDb250ZXh0OworICAgIEFmZmluZVRyYW5zZm9ybSBhYnNvbHV0ZVRyYW5zZm9ybTsKICAgICBG
bG9hdFJlY3QgYm91bmRhcmllczsKICAgICBGbG9hdFNpemUgc2NhbGU7CiAgICAgYm9vbCBidWls
ZGVkOwpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3Bw
CShyZXZpc2lvbiA2ODAzMCkKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJ
bWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDE3ICs0NCwyMyBAQCBQYXNzUmVmUHRyPEZF
SW1hZ2U+IEZFSW1hZ2U6OmNyZWF0ZShSZWZQCiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGRUlt
YWdlKGltYWdlLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKSk7CiB9CiAKLXZvaWQgRkVJbWFnZTo6YXBw
bHkoRmlsdGVyKikKK0ludFJlY3QgRkVJbWFnZTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3Qo
RmlsdGVyKikKK3sKKyAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChtYXhFZmZlY3RSZWN0KCkpOwor
ICAgIHJldHVybiBtYXhFZmZlY3RSZWN0KCk7Cit9CisKK3ZvaWQgRkVJbWFnZTo6YXBwbHkoRmls
dGVyKiBmaWx0ZXIpCiB7CiAgICAgaWYgKCFtX2ltYWdlLmdldCgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KCk7
CisgICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dChmaWx0
ZXIpOwogICAgIGlmICghZmlsdGVyQ29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgRmxv
YXRSZWN0IHNyY1JlY3QoRmxvYXRQb2ludCgpLCBtX2ltYWdlLT5zaXplKCkpOwotICAgIEZsb2F0
UmVjdCBkZXN0UmVjdChGbG9hdFBvaW50KCksIGZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbigpLnNp
emUoKSk7CisgICAgRmxvYXRSZWN0IGRlc3RSZWN0KEZsb2F0UG9pbnQoKSwgYWJzb2x1dGVQYWlu
dFJlY3QoKS5zaXplKCkpOwogCiAgICAgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvLnRyYW5zZm9ybVJl
Y3QoZGVzdFJlY3QsIHNyY1JlY3QpOwogCkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0
ZXJzL1NWR0ZFSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0
ZXJzL1NWR0ZFSW1hZ2UuaAkocmV2aXNpb24gNjgwMzApCisrKyBXZWJDb3JlL3N2Zy9ncmFwaGlj
cy9maWx0ZXJzL1NWR0ZFSW1hZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAgIHZpcnR1YWwgdm9p
ZCBkdW1wKCk7CiAKKyAgICB2aXJ0dWFsIEludFJlY3QgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJl
Y3QoRmlsdGVyKik7CisKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50
YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogICAgIAogcHJpdmF0ZToK
SW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAJKHJldmlz
aW9uIDY4MDMwKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNCwxMiArMjQsMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1TVkdGaWx0ZXI6OlNWR0ZpbHRlcihjb25zdCBGbG9hdFJlY3QmIHRhcmdldEJvdW5kaW5n
Qm94LCBjb25zdCBGbG9hdFJlY3QmIGZpbHRlclJlY3QsIGJvb2wgZWZmZWN0QkJveE1vZGUpCitT
VkdGaWx0ZXI6OlNWR0ZpbHRlcihBZmZpbmVUcmFuc2Zvcm0gYWJzb2x1dGVUcmFuc2Zvcm0sIGNv
bnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVTb3VyY2VEcmF3aW5nUmVnaW9uLCBjb25zdCBGbG9hdFJl
Y3QmIHRhcmdldEJvdW5kaW5nQm94LCBjb25zdCBGbG9hdFJlY3QmIGZpbHRlclJlZ2lvbiwgYm9v
bCBlZmZlY3RCQm94TW9kZSkKICAgICA6IEZpbHRlcigpCisgICAgLCBtX2Fic29sdXRlVHJhbnNm
b3JtKGFic29sdXRlVHJhbnNmb3JtKQorICAgICwgbV9hYnNvbHV0ZVNvdXJjZURyYXdpbmdSZWdp
b24oYWJzb2x1dGVTb3VyY2VEcmF3aW5nUmVnaW9uKQogICAgICwgbV90YXJnZXRCb3VuZGluZ0Jv
eCh0YXJnZXRCb3VuZGluZ0JveCkKLSAgICAsIG1fZmlsdGVyUmVjdChmaWx0ZXJSZWN0KQorICAg
ICwgbV9maWx0ZXJSZWdpb24oZmlsdGVyUmVnaW9uKQogICAgICwgbV9lZmZlY3RCQm94TW9kZShl
ZmZlY3RCQm94TW9kZSkKIHsKKyAgICBtX2Fic29sdXRlRmlsdGVyUmVnaW9uID0gYWJzb2x1dGVU
cmFuc2Zvcm0ubWFwUmVjdChmaWx0ZXJSZWdpb24pOwogfQogCiB2b2lkIFNWR0ZpbHRlcjo6ZGV0
ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlckVmZmVjdCogZWZmZWN0LCBjb25z
dCBGbG9hdFJlY3QmIHVuaW9uT2ZQcmV2aW91c1ByaW1pdGl2ZVN1YnJlZ2lvbnMpCkBAIC02Niw3
ICs2OSw3IEBAIHZvaWQgU1ZHRmlsdGVyOjpkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmUKICAgICB9
CiAKICAgICAvLyBjbGlwIGV2ZXJ5IGZpbHRlciBlZmZlY3QgdG8gdGhlIGZpbHRlciByZWdpb24K
LSAgICBuZXdTdWJSZWdpb24uaW50ZXJzZWN0KG1fZmlsdGVyUmVjdCk7CisgICAgbmV3U3ViUmVn
aW9uLmludGVyc2VjdChtX2ZpbHRlclJlZ2lvbik7CiAKICAgICBlZmZlY3QtPnNldEZpbHRlclBy
aW1pdGl2ZVN1YnJlZ2lvbihuZXdTdWJSZWdpb24pOwogICAgIApAQCAtNzQsMTQgKzc3LDMwIEBA
IHZvaWQgU1ZHRmlsdGVyOjpkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmUKICAgICAvLyBUaGUgc2Nh
bGluZyBvZiB0aGUgc3VicmVnaW9uIHRvIHRoZSByZXBhaW50IHJlY3Qgc2hvdWxkIGJlIG1lcmdl
ZCB3aXRoIGEgbW9yZSBpbnRlbGxpZ2VudCByZXBhaW50IGxvZ2ljCiAgICAgLy8gYW5kIG1vdmVk
IHRvIHRoZSBzZWNvbmQgcGhhc2Ugb2YgbGF5b3V0IGluIFJlbmRlclNWR1Jlc291cmNlRmlsdGVy
UHJpbWl0aXZlLgogICAgIC8vIFNlZSBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ1NjE0LgorICAgIG5ld1N1YlJlZ2lvbiA9IG1fYWJzb2x1dGVUcmFuc2Zvcm0u
bWFwUmVjdChuZXdTdWJSZWdpb24pOwogICAgIG5ld1N1YlJlZ2lvbi5zY2FsZShmaWx0ZXJSZXNv
bHV0aW9uKCkud2lkdGgoKSwgZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpKTsKLSAgICBlZmZl
Y3QtPnNldFJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKG5ld1N1YlJlZ2lvbik7Ci0gICAg
bV9tYXhJbWFnZVNpemUgPSBtX21heEltYWdlU2l6ZS5leHBhbmRlZFRvKG5ld1N1YlJlZ2lvbi5z
aXplKCkpOyAKKyAgICBlZmZlY3QtPnNldE1heEVmZmVjdFJlY3QoZW5jbG9zaW5nSW50UmVjdChu
ZXdTdWJSZWdpb24pKTsKKyAgICBpZiAoIWVmZmVjdC0+aXNTb3VyY2VJbnB1dCgpKQorICAgICAg
ICBtX21heEltYWdlU2l6ZSA9IG1fbWF4SW1hZ2VTaXplLmV4cGFuZGVkVG8obmV3U3ViUmVnaW9u
LnNpemUoKSk7IAogfQogCi1QYXNzUmVmUHRyPFNWR0ZpbHRlcj4gU1ZHRmlsdGVyOjpjcmVhdGUo
Y29uc3QgRmxvYXRSZWN0JiB0YXJnZXRCb3VuZGluZ0JveCwgY29uc3QgRmxvYXRSZWN0JiBmaWx0
ZXJSZWN0LCBib29sIGVmZmVjdEJCb3hNb2RlKQorZmxvYXQgU1ZHRmlsdGVyOjpob3Jpem9udGFs
U2NhbGUoZmxvYXQgdmFsdWUpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdG
aWx0ZXIodGFyZ2V0Qm91bmRpbmdCb3gsIGZpbHRlclJlY3QsIGVmZmVjdEJCb3hNb2RlKSk7Cisg
ICAgaWYgKG1fZWZmZWN0QkJveE1vZGUpCisgICAgICAgIHZhbHVlICo9IG1fdGFyZ2V0Qm91bmRp
bmdCb3gud2lkdGgoKTsKKyAgICByZXR1cm4gdmFsdWUgKiBmaWx0ZXJSZXNvbHV0aW9uKCkud2lk
dGgoKSAqIChtX2Fic29sdXRlRmlsdGVyUmVnaW9uLndpZHRoKCkgLyBtX2ZpbHRlclJlZ2lvbi53
aWR0aCgpKTsKK30KKworZmxvYXQgU1ZHRmlsdGVyOjp2ZXJ0aWNhbFNjYWxlKGZsb2F0IHZhbHVl
KSBjb25zdAoreworICAgIGlmIChtX2VmZmVjdEJCb3hNb2RlKQorICAgICAgICB2YWx1ZSAqPSBt
X3RhcmdldEJvdW5kaW5nQm94LmhlaWdodCgpOworICAgIHJldHVybiB2YWx1ZSAqIGZpbHRlclJl
c29sdXRpb24oKS5oZWlnaHQoKSAqIChtX2Fic29sdXRlRmlsdGVyUmVnaW9uLmhlaWdodCgpIC8g
bV9maWx0ZXJSZWdpb24uaGVpZ2h0KCkpOworfQorCitQYXNzUmVmUHRyPFNWR0ZpbHRlcj4gU1ZH
RmlsdGVyOjpjcmVhdGUoQWZmaW5lVHJhbnNmb3JtIGFic29sdXRlVHJhbnNmb3JtLCBjb25zdCBG
bG9hdFJlY3QmIGFic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbiwgY29uc3QgRmxvYXRSZWN0JiB0
YXJnZXRCb3VuZGluZ0JveCwgY29uc3QgRmxvYXRSZWN0JiBmaWx0ZXJSZWdpb24sIGJvb2wgZWZm
ZWN0QkJveE1vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdGaWx0ZXIoYWJzb2x1
dGVUcmFuc2Zvcm0sIGFic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbiwgdGFyZ2V0Qm91bmRpbmdC
b3gsIGZpbHRlclJlZ2lvbiwgZWZmZWN0QkJveE1vZGUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oCShy
ZXZpc2lvbiA2ODAzMCkKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDYgKzIxLDcgQEAKICNkZWZpbmUgU1ZHRmlsdGVyX2gK
IAogI2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShGSUxURVJTKQorI2luY2x1ZGUgIkFmZmluZVRy
YW5zZm9ybS5oIgogI2luY2x1ZGUgIkZpbHRlci5oIgogI2luY2x1ZGUgIkZpbHRlckVmZmVjdC5o
IgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgpAQCAtMzIsMjcgKzMzLDM0IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNWR0ZpbHRlciA6IHB1YmxpYyBGaWx0ZXIgewotICAg
IHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHRmlsdGVyPiBjcmVhdGUoY29u
c3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCk7Ci0KLSAgICAgICAgdmlydHVh
bCBib29sIGVmZmVjdEJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fZWZmZWN0QkJv
eE1vZGU7IH0KLQotICAgICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBmaWx0ZXJSZWdpb24oKSBjb25z
dCB7IHJldHVybiBtX2ZpbHRlclJlY3Q7IH0KLSAgICAgICAgCi0gICAgICAgIHZpcnR1YWwgRmxv
YXRSZWN0IHNvdXJjZUltYWdlUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0Qm91bmRpbmdC
b3g7IH0KLQotICAgICAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBtYXhJbWFnZVNpemUoKSBjb25zdCB7
IHJldHVybiBtX21heEltYWdlU2l6ZTsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5l
RmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlckVmZmVjdCosIGNvbnN0IEZsb2F0UmVjdCYp
OwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0Qm91bmRpbmdCb3gsIGNvbnN0IEZsb2F0UmVjdCYgZmlsdGVyUmVjdCwgYm9vbCBlZmZlY3RC
Qm94TW9kZSk7Ci0KLSAgICAgICAgRmxvYXRTaXplIG1fbWF4SW1hZ2VTaXplOwotICAgICAgICBG
bG9hdFJlY3QgbV90YXJnZXRCb3VuZGluZ0JveDsKLSAgICAgICAgRmxvYXRSZWN0IG1fZmlsdGVy
UmVjdDsKLSAgICAgICAgYm9vbCBtX2VmZmVjdEJCb3hNb2RlOwotICAgIH07CitjbGFzcyBTVkdG
aWx0ZXIgOiBwdWJsaWMgRmlsdGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
VkdGaWx0ZXI+IGNyZWF0ZShBZmZpbmVUcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0
IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wpOworCisgICAgdmlydHVhbCBib29s
IGVmZmVjdEJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fZWZmZWN0QkJveE1vZGU7
IH0KKworICAgIHZpcnR1YWwgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbkluVXNlclNwYWNlKCkgY29u
c3QgeyByZXR1cm4gbV9maWx0ZXJSZWdpb247IH0KKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBmaWx0
ZXJSZWdpb24oKSBjb25zdCB7IHJldHVybiBtX2Fic29sdXRlRmlsdGVyUmVnaW9uOyB9CisKKyAg
ICB2aXJ0dWFsIGZsb2F0IGhvcml6b250YWxTY2FsZShmbG9hdCB2YWx1ZSkgY29uc3Q7CisgICAg
dmlydHVhbCBmbG9hdCB2ZXJ0aWNhbFNjYWxlKGZsb2F0IHZhbHVlKSBjb25zdDsKKworICAgIHZp
cnR1YWwgRmxvYXRSZWN0IHNvdXJjZUltYWdlUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fYWJzb2x1
dGVTb3VyY2VEcmF3aW5nUmVnaW9uOyB9CisgICAgCisgICAgdmlydHVhbCBGbG9hdFNpemUgbWF4
SW1hZ2VTaXplKCkgY29uc3QgeyByZXR1cm4gbV9tYXhJbWFnZVNpemU7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlckVmZmVjdCosIGNv
bnN0IEZsb2F0UmVjdCYpOworCitwcml2YXRlOgorICAgIFNWR0ZpbHRlcihBZmZpbmVUcmFuc2Zv
cm0gYWJzb2x1dGVUcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVTb3VyY2VEcmF3
aW5nUmVnaW9uLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldEJvdW5kaW5nQm94LCBjb25zdCBGbG9h
dFJlY3QmIGZpbHRlclJlZ2lvbiwgYm9vbCBlZmZlY3RCQm94TW9kZSk7CisKKyAgICBBZmZpbmVU
cmFuc2Zvcm0gbV9hYnNvbHV0ZVRyYW5zZm9ybTsKKyAgICBGbG9hdFJlY3QgbV9hYnNvbHV0ZVNv
dXJjZURyYXdpbmdSZWdpb247CisgICAgRmxvYXRSZWN0IG1fdGFyZ2V0Qm91bmRpbmdCb3g7Cisg
ICAgRmxvYXRSZWN0IG1fYWJzb2x1dGVGaWx0ZXJSZWdpb247CisgICAgRmxvYXRSZWN0IG1fZmls
dGVyUmVnaW9uOworICAgIGJvb2wgbV9lZmZlY3RCQm94TW9kZTsKKyAgICBGbG9hdFNpemUgbV9t
YXhJbWFnZVNpemU7Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDY4OTczKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTAtMTAtMDEgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkdz
IHdpdGggZmlsdGVycyBsb29rIGdyYWlueSB3aGVuIHNjYWxlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUyNgorCisgICAgICAgIFRlc3QgdGhlIG5l
dyBmaWx0ZXJSZXMgYmVoYXZpb3IgZm9yIFNWRyBGaWx0ZXJzLgorCisgICAgICAgICogcGxhdGZv
cm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlcy9maWx0ZXJSZXMxLWV4cGVjdGVkLmNoZWNrc3VtOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRl
clJlczEtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2Zp
bHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczItZXhwZWN0ZWQu
Y2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0
ZXJSZXMvZmlsdGVyUmVzMi1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVz
My1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9m
aWx0ZXJzL2ZpbHRlclJlcy9maWx0ZXJSZXMzLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlcy9maWx0ZXJSZXMzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzOiBBZGRlZC4KKyAg
ICAgICAgKiBzdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMS5zdmc6IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9maWx0ZXJzL2ZpbHRlclJlcy9maWx0ZXJSZXMyLnN2ZzogQWRkZWQuCisgICAg
ICAgICogc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczMuc3ZnOiBBZGRlZC4KKwogMjAx
MC0xMC0wMSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlZCBhbiBleHBlY3RlZCByZXN1bHQgZm9yIGEgcHJldmlvdXNseSBza2lwcGVkIHRl
c3QuIFRoaXMgdGVzdApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJz
L2ZpbHRlclJlcy9maWx0ZXJSZXMxLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMS1l
eHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMS1leHBlY3RlZC5jaGVja3N1bQkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSBAQAorNTE2MDk3ZTQ1NDlhNGY3MTk3Y2EwZmE1NDEwMGEwZWUK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczEtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmls
dGVyUmVzMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczEtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgxMCwxMCkgc2l6ZSA0MDB4MTIwCisgICAg
UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAg
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmMSJdIFtmaWx0ZXJVbml0cz1v
YmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAg
ICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwODAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJdCisg
ICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImYyIl0gW2ZpbHRlclVu
aXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCisg
ICAgICAgIFtmZUZsb29kIGZsb29kLWNvbG9yPSIjMDA4MDAwIiBmbG9vZC1vcGFjaXR5PSIxLjAw
Il0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjMiXSBbZmls
dGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVz
ZV0KKyAgICAgICAgW2ZlRmxvb2QgZmxvb2QtY29sb3I9IiMwMDgwMDAiIGZsb29kLW9wYWNpdHk9
IjEuMDAiXQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwxMCkgc2l6ZSAxMjB4MTIwIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0yMC4wMCwyMC4wMCBM
MTIwLjAwLDIwLjAwIEwxMjAuMDAsMTIwLjAwIEwyMC4wMCwxMjAuMDAgWiJdCisgICAgICBbZmls
dGVyPSJmMSJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgxMCwxMCkgc2l6
ZSAxMjB4MTIwCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE1MCwxMCkgc2l6ZSAxMjB4MTIw
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xNjAuMDAsMjAu
MDAgTDI2MC4wMCwyMC4wMCBMMjYwLjAwLDEyMC4wMCBMMTYwLjAwLDEyMC4wMCBaIl0KKyAgICAg
IFtmaWx0ZXI9ImYyIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDE1MCwx
MCkgc2l6ZSAxMjB4MTIwCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5MCwxMCkgc2l6ZSAx
MjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0zMDAu
MDAsMjAuMDAgTDQwMC4wMCwyMC4wMCBMNDAwLjAwLDEyMC4wMCBMMzAwLjAwLDEyMC4wMCBaIl0K
KyAgICAgIFtmaWx0ZXI9ImYzIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQg
KDI5MCwxMCkgc2l6ZSAxMjB4MTIwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczItZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlcy9maWx0
ZXJSZXMyLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlcy9maWx0ZXJSZXMyLWV4cGVjdGVkLmNoZWNr
c3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis3MmVlNDAxYjg4N2ZiNjQ3ZTAyNjE3N2E5
N2I1YTQ1ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRl
clJlcy9maWx0ZXJSZXMyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMi1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDEwLDEwKSBzaXplIDQwMHgx
MjAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImYxIl0gW2ZpbHRl
clVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2Vd
CisgICAgICAgIFtmZU9mZnNldCBkeD0iMC4wMCIgZHk9IjAuMDAiXQorICAgICAgICAgIFtTb3Vy
Y2VHcmFwaGljXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJm
MiJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJT
cGFjZU9uVXNlXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJm
MyJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJT
cGFjZU9uVXNlXQorICAgICAgICBbZmVPZmZzZXQgZHg9IjAuMDAiIGR5PSIwLjAwIl0KKyAgICAg
ICAgICBbU291cmNlR3JhcGhpY10KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNp
emUgMTIweDEyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJN
MjAuMDAsMjAuMDAgTDEyMC4wMCwyMC4wMCBMMTIwLjAwLDEyMC4wMCBMMjAuMDAsMTIwLjAwIFoi
XQorICAgICAgW2ZpbHRlcj0iZjEiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBh
dCAoMTAsMTApIHNpemUgMTIweDEyMAorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNTAsMTAp
IHNpemUgMTIweDEyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRh
PSJNMTYwLjAwLDIwLjAwIEwyNjAuMDAsMjAuMDAgTDI2MC4wMCwxMjAuMDAgTDE2MC4wMCwxMjAu
MDAgWiJdCisgICAgICBbZmlsdGVyPSJmMiJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0
ZXJ9IGF0ICgxNTAsMTApIHNpemUgMTIweDEyMAorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgy
OTAsMTApIHNpemUgMTIweDEyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1d
IFtkYXRhPSJNMzAwLjAwLDIwLjAwIEw0MDAuMDAsMjAuMDAgTDQwMC4wMCwxMjAuMDAgTDMwMC4w
MCwxMjAuMDAgWiJdCisgICAgICBbZmlsdGVyPSJmMyJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVy
IHtmaWx0ZXJ9IGF0ICgyOTAsMTApIHNpemUgMTIweDEyMApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlcy9maWx0ZXJSZXMzLWV4cGVjdGVkLmNoZWNr
c3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9m
aWx0ZXJSZXMvZmlsdGVyUmVzMy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMy1l
eHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorNTE2MDk3ZTQ1NDlh
NGY3MTk3Y2EwZmE1NDEwMGEwZWUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
ZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJl
czMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgxMCwx
MCkgc2l6ZSA0MDB4MTIwCisgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lk
PSJmMSJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVz
ZXJTcGFjZU9uVXNlXQorICAgICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwODAwMCIgZmxv
b2Qtb3BhY2l0eT0iMS4wMCJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVy
fSBbaWQ9ImYyIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5p
dHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFtmZUZsb29kIGZsb29kLWNvbG9yPSIjMDA4MDAw
IiBmbG9vZC1vcGFjaXR5PSIxLjAwIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtm
aWx0ZXJ9IFtpZD0iZjMiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRp
dmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlRmxvb2QgZmxvb2QtY29sb3I9IiMw
MDgwMDAiIGZsb29kLW9wYWNpdHk9IjEuMDAiXQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgx
MCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0g
W2RhdGE9Ik0yMC4wMCwyMC4wMCBMMTIwLjAwLDIwLjAwIEwxMjAuMDAsMTIwLjAwIEwyMC4wMCwx
MjAuMDAgWiJdCisgICAgICBbZmlsdGVyPSJmMSJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtm
aWx0ZXJ9IGF0ICgxMCwxMCkgc2l6ZSAxMjB4MTIwCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDE1MCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
fV0gW2RhdGE9Ik0xNjAuMDAsMjAuMDAgTDI2MC4wMCwyMC4wMCBMMjYwLjAwLDEyMC4wMCBMMTYw
LjAwLDEyMC4wMCBaIl0KKyAgICAgIFtmaWx0ZXI9ImYyIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIge2ZpbHRlcn0gYXQgKDE1MCwxMCkgc2l6ZSAxMjB4MTIwCisgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDI5MCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwMDBdfV0gW2RhdGE9Ik0zMDAuMDAsMjAuMDAgTDQwMC4wMCwyMC4wMCBMNDAwLjAwLDEyMC4w
MCBMMzAwLjAwLDEyMC4wMCBaIl0KKyAgICAgIFtmaWx0ZXI9ImYzIl0gUmVuZGVyU1ZHUmVzb3Vy
Y2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDI5MCwxMCkgc2l6ZSAxMjB4MTIwCkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMS5zdmcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczEuc3ZnCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczEuc3Zn
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsi
PgorPGRlZnM+Cis8ZmlsdGVyIGlkPSJmMSIgZmlsdGVyUmVzPSI2MCI+CisgICAgPGZlRmxvb2Qg
Zmxvb2QtY29sb3I9ImdyZWVuIi8+Cis8L2ZpbHRlcj4KKzxmaWx0ZXIgaWQ9ImYyIiBmaWx0ZXJS
ZXM9IjEyMCI+CisgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9ImdyZWVuIi8+Cis8L2ZpbHRlcj4K
KzxmaWx0ZXIgaWQ9ImYzIj4KKyAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iZ3JlZW4iLz4KKzwv
ZmlsdGVyPgorPC9kZWZzPgorPHJlY3QgeD0iMjAiIHk9IjIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjEwMCIgZmlsdGVyPSJ1cmwoI2YxKSIvPgorPHJlY3QgeD0iMTYwIiB5PSIyMCIgd2lkdGg9IjEw
MCIgaGVpZ2h0PSIxMDAiIGZpbHRlcj0idXJsKCNmMikiLz4KKzxyZWN0IHg9IjMwMCIgeT0iMjAi
IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWx0ZXI9InVybCgjZjMpIi8+Cis8L3N2Zz4KKwpJ
bmRleDogTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczIuc3ZnCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlcy9maWx0ZXJSZXMy
LnN2ZwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlcy9m
aWx0ZXJSZXMyLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorPHN2ZyB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIj4KKzxkZWZzPgorPGZpbHRlciBpZD0iZjEiIGZpbHRlclJlcz0iNjAiPgor
ICAgIDxmZU9mZnNldC8+Cis8L2ZpbHRlcj4KKzxmaWx0ZXIgaWQ9ImYyIiBmaWx0ZXJSZXM9IjEy
MCI+CisgICAgPGZlT2ZmZnNldC8+Cis8L2ZpbHRlcj4KKzxmaWx0ZXIgaWQ9ImYzIj4KKyAgICA8
ZmVPZmZzZXQvPgorPC9maWx0ZXI+Cis8L2RlZnM+Cis8cmVjdCB4PSIyMCIgeT0iMjAiIHdpZHRo
PSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIgZmlsdGVyPSJ1cmwoI2YxKSIvPgorPHJl
Y3QgeD0iMTYwIiB5PSIyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIiBm
aWx0ZXI9InVybCgjZjIpIi8+Cis8cmVjdCB4PSIzMDAiIHk9IjIwIiB3aWR0aD0iMTAwIiBoZWln
aHQ9IjEwMCIgZmlsbD0iZ3JlZW4iIGZpbHRlcj0idXJsKCNmMykiLz4KKzwvc3ZnPgorCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMy5zdmcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczMuc3Zn
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRl
clJlczMuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGxpbmsiPgorPGRlZnM+Cis8ZmlsdGVyIGlkPSJmMSIgZmlsdGVyUmVzPSI2MCI+CisgICAg
PGZlRmxvb2QgZmxvb2QtY29sb3I9ImdyZWVuIi8+CisgICAgPGZlT2ZmZnNldC8+Cis8L2ZpbHRl
cj4KKzxmaWx0ZXIgaWQ9ImYyIiBmaWx0ZXJSZXM9IjEyMCI+CisgICAgPGZlRmxvb2QgZmxvb2Qt
Y29sb3I9ImdyZWVuIi8+CisgICAgPGZlT2ZmZnNldC8+Cis8L2ZpbHRlcj4KKzxmaWx0ZXIgaWQ9
ImYzIj4KKyAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iZ3JlZW4iLz4KKyAgICA8ZmVPZmZmc2V0
Lz4KKzwvZmlsdGVyPgorPC9kZWZzPgorPHJlY3QgeD0iMjAiIHk9IjIwIiB3aWR0aD0iMTAwIiBo
ZWlnaHQ9IjEwMCIgZmlsdGVyPSJ1cmwoI2YxKSIvPgorPHJlY3QgeD0iMTYwIiB5PSIyMCIgd2lk
dGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbHRlcj0idXJsKCNmMikiLz4KKzxyZWN0IHg9IjMwMCIg
eT0iMjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWx0ZXI9InVybCgjZjMpIi8+Cis8L3N2
Zz4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJl
cy9maWx0ZXJSZXMxLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0
ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczEtZXhwZWN0ZWQucG5nCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgppVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEwTWdV
SEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlh
d3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJL
R0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQov
SWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRF
ZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxj
NS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2
WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhx
cAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgw
bTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJv
eE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0
cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFz
ZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlz
ZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVt
ZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVov
RFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZF
S0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1ds
czA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVw
MHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFWUjRB
ZTNkUVdwYkFSQkV3U2prM2lFbnQwMHU0STM0VEQrWHRqTDYwOVhhTk1iNDlmSDErdVZGZ0FBQkFn
UUlFQ0JBZ0FDQgpCd1IrUC9BTWp5QkFnQUFCQWdRSUVDQkFnTUIvQVFQRUY0RUFBUUlFQ0JBZ1FJ
QUFnY2NFREpESHFEMklBQUVDQkFnUUlFQ0FBQUVECnhIZUFBQUVDQkFnUUlFQ0FBSUhIQkF5UXg2
ZzlpQUFCQWdRSUVDQkFnQUFCQThSM2dBQUJBZ1FJRUNCQWdBQ0J4d1FNa01lb1BZZ0EKQVFJRUNC
QWdRSUFBZ1QvZkVieit2Yjc3RWU4SEJENysrbmN3Z1JwRklFQ0FBQUVDQkFpY0YvaDJnSnhQNE1C
ekFrYnJ1VXJlZnBEQgorblpTSDBpQUFBRUNCSDZNZ0FIeVk2b1dsTUJkQWFQMWJqZnZ1TXhnZlll
aXp5QkFnRUJId04rQWRMcVVoQUFCQWdRSUVDQkFnTUI1CkFRUGtmRVVPSkVDQUFBRUNCQWdRSU5B
Uk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHUKSlNG
QWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJ
RURndllJQ2NyOGlCQkFnUQpJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkFnQUFCQWdRSW5CY3dRTTVY
NUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCCkFnVE9DeGdnNXl0eUlBRUNCQWdR
SUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkEK
QU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJB
Z1FJRUNCQWdNQjVBUVBrZkVVTwpKRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENnQUFCQWdRSUVDQkE0
THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCCkFnUUlFQ0J3WHNBQU9WK1JB
d2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFB
RUMKQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUUlFQ0FBQUVDSFFFRHBO
T2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZwo1eXR5SUFFQ0JBZ1FJRUNBQUlHT2dBSFM2VklTQWdRSUVD
QkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCCkFnUUlFQ0JBZ0FDQjh3
SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVD
QUFBRUMKQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFn
UTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCdwpYc0FBT1YrUkF3a1FJRUNBQUFFQ0JBaDBCQXlRVHBl
U0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luClMwa0lFQ0JBZ0FB
QkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdn
NXl0eUlBRUMKQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUJBdWNGREpEekZUbVFBQUVD
QkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQQpnQUNCOHdJR3lQbUtIRWlBQUFFQ0JBZ1FJRUNn
STJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSCk1FQTZYVXBD
Z0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlF
Q0J3WHNBQU9WK1IKQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJRURndllJQ2Ny
OGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQQpnQUFCQWdRSW5CY3dRTTVYNUVBQ0JBZ1FJ
RUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJRUNBCkFJR09n
QUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQkFn
UUlFQ0JBZ0FDQjh3SUcKeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdN
QjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQwpnQUFCQWdRSUVDQkE0THlBQVhLK0ln
Y1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBCkFB
RUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFBRUNCRG9DQmtp
blMwa0lFQ0JBZ0FBQkFnUUkKbkJjd1FNNVg1RUFDQkFnUUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNC
QWdBQUJBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUwo2VklTQWdRSUVDQkFnQUFCQXVj
RkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJR3lQbUtIRWlB
CkFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVDQUFBRUNCQWdR
SU5BUk1FQTZYVXBDZ0FBQkFnUUkKRUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1
SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMApCQXlRVHBlU0VDQkFnQUFC
QWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkFnQUFCQWdRSW5CY3dR
TTVYCjVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdnNXl0eUlBRUNC
QWdRSUVDQUFJR09nQUhTNlZJU0FnUUkKRUNCQWdBQUJBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FR
RWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUQpJRUNnSTJDQWRMcVVo
QUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENnQUFCQWdRSUVD
QkE0THlBCkFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlFQ0J3WHNBQU9W
K1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVMKRUNCQWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUUlF
Q0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUQpJRUNBQUFFQ0hR
RURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJRUNBQUlHT2dBSFM2VklTQWdR
SUVDQkFnQUFCCkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQkFnUUlFQ0JBZ0FD
Qjh3SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0EKZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVV
T0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjUwpJRUNBQUFF
Q0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBQUFFQ0JBaDBCQXlR
VHBlU0VDQkFnQUFCCkFnUUlFRGd2OFByNGVwMi8wb0VFQ0JBZ1FJQUFBUUlFQ0NRRS9BWWtVYU1R
QkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUkKRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFn
UUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUQpNRUEy
ZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJB
Z1FJRUNDUUVEQkFFalVLClFZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNC
a2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUUKQ0JBZ1FJQkFRc0FBU2RRb0JBRUNC
QWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZwpz
Q0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZ
QUFBUUlFQ0JBZ1FDQWhZSUFrCmFoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFn
UUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUMKQkFnUUlFQ0FBSUdFZ0FHU3FG
RUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFn
UQpJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NB
YlBibVNBQUVDQkFnUUlFQ0FRRUxBCkFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlB
QUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUksKQWdRSUVDQkFnQUFCQWdr
QkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FC
QWdRSQpFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdR
MkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCCmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1
SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm8KeVpVRUNCQWdRSUFB
QVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkox
Q2dFQVFJRQpDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJB
Z1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBCkFRSUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVE
SkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUIKc3RHVEt3a1FJ
RUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZ
U0FBWktvVVFnQwpCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZ
QUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBCkFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFn
UUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU4KQVFOa295
ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVD
QUFBRUNDUUVESkZHagpFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlB
a2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBCmdBQUJBZ1FJSkFRTWtFU05RaEFnUUlB
QUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUIKQWhz
Q0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJ
RUNCQWdBQUJBZ1FTQWdaSQpva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNB
UUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnClFJQUFBUUlFQ0JCSUNCZ2dpUnFG
SUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUEK
QVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kw
Wk1yQ1JBZ1FJQUFBUUlFQ0NRRQpESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlF
Q0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1CkpFQ0FBQUVDQkFnUUlKQVFN
RUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlF
Q0EKQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdR
MEJBMlNqSjFjU0lFQ0FBQUVDQkFnUQpTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1Nn
SUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNOCm5seEpnQUFCQWdRSUVD
QkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkx
Q0VDQkEKZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVD
QUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSQpFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FE
WjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZCklCczl1WklBQVFJ
RUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJ
R0NDSkdvVWcKUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJ
RUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRQpDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNB
d0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZCkVEQkFObnB5
SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVD
QkFna0JBd1FCSTEKQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklv
a1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQwpCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlF
Q0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRCklMQWhZ
SUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFB
RUNCQWdRSUVBZ0lXQ0EKSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUND
UUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQgpBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNB
SUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJCkVD
QkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oy
NWtnQUJBZ1FJRUNCQWdFQkMKd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFF
Q0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUawpTZ0lFQ0JBZ1FJQUFBUUlKQVFN
a1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlF
CkNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdR
TUVBMmVuSWxBUUlFQ0JBZ1FJQUEKZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJB
Z0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWgo2TW1WQkFnUUlFQ0FBQUVD
QkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9C
QUVDCkJBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVD
QkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0EKQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFq
WjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQQpBYkxSa3lzSkVDQkFn
QUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdB
R1NxRkVJCkFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFB
RUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkEKZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNH
d0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQgpEUUVEWktNblZ4
SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FB
QkFna0JBeVJSCm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdv
VWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWcKUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFF
Q0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlBQQpBUUliQWdi
SVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFn
UUlBQUFRSUVFZ0lHClNLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJD
d0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1MKSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JB
Z0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVDQQpBQUVD
QkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RL
d2tRSUVDQUFBRUNCQWdrCkJBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdR
SUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlAKcmlSQWdBQUJBZ1FJRUNDUUVEQkFF
alVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQQpn
QUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFR
TmtveWRYRWlCQWdBQUJBZ1FJCkVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JB
Z1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVEKalo1Y1NZQUFBUUlFQ0JBZ1FD
QWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhB
ZwpRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FB
QkFoc0NCc2hHVDY0a1FJQUFBUUlFCkNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVq
SmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0kKR0NBYlBibVNBQUVDQkFn
UUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdn
aVJxRgpJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFn
UUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDCkJBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNH
Z0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EKMkJBd1FEWjZjaVVC
QWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJ
SkFRTUVBUwpOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJ
UWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCCkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdR
SUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUkKRUNDd0lXQ0Fi
UFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFn
UUlFQ0JBSUNGZwpnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JB
eVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsCkFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JB
Z1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUUKQ0JBZ1FH
QkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJ
QUFRSUVDQkFnUUlCQQpRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdR
SUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owCjVFb0NCQWdRSUVDQUFBRUNDUUVESkZH
akVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUMKQkFn
UUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJB
Tm5weUpRRUNCQWdRSUVDQQpBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFB
QVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBCjJlakpsUVFJRUNCQWdBQUJBZ1FT
QWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUIK
QWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJ
TEFoWUlCczlPUktBZ1FJRUNCQQpnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVY
RW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHCmdBR3kwWk1yQ1JBZ1FJQUFB
UUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtx
aFIKQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFn
UUlFQ0JBWUVQQUFObm95WlVFQ0JBZwpRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NC
Z2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBCmdRMEJBMlNqSjFjU0lF
Q0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJ
SkFRTWsKVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJ
QUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUQpJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdR
SUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBCkFBRUNHd0lHeUVa
UHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNB
QUFFQ0JCSUMKQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FB
U2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWApFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFB
QVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBCmdBQUJBZ1Ey
QkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pF
Q0JBZ0FBQkFnUUkKSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FB
SUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoRwpUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFD
a0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnClFJQUFB
UUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpL
TW5WeElnUUlBQUFRSUUKQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVD
QkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTQprSTJlWEVtQUFBRUNCQWdRSUVBZ0lX
Q0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRCklF
Q0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJ
YkFnYklSayt1SkVDQUFBRUMKQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpV
RUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFocwpDQmdnR3oyNWtnQUJBZ1FJRUNC
QWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWth
CmhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNB
QUFFQ0JQZVdKUTBBQUFqMVNVUkIKVkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlB
QVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UQpSSTFDRUNCQWdBQUJBZ1FJ
RU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlBy
aVJBCmdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FB
QUVDQkJJQ0JraWlSaUVJRUNCQWdBQUIKQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFT
ZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSQpHQ0NKR29VZ1FJQUFB
UUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJB
eVFqWjVjClNZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVD
QkFnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUEKQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJ
R0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZwprQkF3UUJJMUNr
R0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJ
RUNHd0lHQ0FiClBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktN
blZ4SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0EKQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNC
QWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUQpJRUFnSVdD
QUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNB
QUFFQ0JBZ1EyQkF3ClFEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUli
QWdiSVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEIKZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVF
Q0JBZ1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSQpFQ0JB
Z0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2Fo
U0JBZ0FBQkFnUUlFQ0N3CklXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FB
QUVDQkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnEKRklJQUFRSUVDQkFnUUlEQWhvQUJz
dEdUS3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRQpD
QkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVE
QkFFalVLUVlBQUFRSUVDQkFnClFHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVD
QkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUEKU2RRb0JBRUNCQWdRSUVDQUFJ
RU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVv
QwpCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JB
Z1FDQWhZSUFrYWhTQ0FBRUNCQWdRCklFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VT
TlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0UKZ0FHU3FGRUlBZ1FJRUNC
QWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFB
MmVqSgpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVD
QkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJCkVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJ
Q0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUIKQWdrQkF5UlJveEFF
Q0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFn
TUNHZ0FHeQowWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZj
aVVCQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFCkNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNC
QWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUEKQVFJRUVnSUdT
S0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNC
QWdRSUFBZ1EwQgpBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lX
Q0FiUFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RCkJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdB
QUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0EKQUFFQ0JB
Z2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFn
Q0JBZ1FJRUNBQUFFQwpHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JB
Z1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpClJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJz
OXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkEKZ0FB
QkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVE
SkZHakVBUUlFQ0JBZ0FBQgpBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVD
QkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNCmtFU05RaEFnUUlBQUFRSUVDQkRZ
RURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGsK
UUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJB
Z1FTQWdaSW9rWWhDQkFnUUlBQQpBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVL
QVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJCkNCZ2dpUnFGSUVDQUFBRUNC
QWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJ
MmUKWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJ
QUFBUUlFQ0NRRURKQkVqVUlRSUVDQQpBQUVDQkFnUTJCRDRCR01GRmEzOXlkWEhBQUFBQUVsRlRr
U3VRbUNDCgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRl
clJlcy9maWx0ZXJSZXMyLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBm
aWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24v
b2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzL2ZpbHRlclJlczItZXhwZWN0ZWQucG5nCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgpp
VkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEw
TWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9S
Rmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktO
NnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVK
cQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAx
QTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVB
MUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFH
Y1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FW
dHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFI
QlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNH
UEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4
UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhS
NWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMz
NTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlL
VEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2
VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUz
SHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1O
T1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2
ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFW
UjRBZTNiTWE1dDFSRkZVYjRodFltUmtHaWJXMks1YWJRTWd5TXlOcmg4RjJLT253RFM1aFExNmlW
VFQzejU2ZWMvWC9sRApnQUFCQWdRSUVDQkFnQUNCRHdqODdRTXpqQ0JBZ0FBQkFnUUlFQ0JBZ01C
L0JRU0lId1FDQkFnUUlFQ0FBQUVDQkQ0bUlFQStSbTBRCkFRSUVDQkFnUUlBQUFRSUN4TThBQVFJ
RUNCQWdRSUFBQVFJZkV4QWdINk0yaUFBQkFnUUlFQ0JBZ0FBQkFlSm5nQUFCQWdRSUVDQkEKZ0FD
Qmp3a0lrSTlSRzBTQUFBRUNCQWdRSUVDQWdBRHhNMENBQUFFQ0JBZ1FJRUNBd01jRUJNakhxQTBp
UUlBQUFRSUVDQkFnUUVDQQorQmtnUUlBQUFRSUVDQkFnUU9CakFnTGtZOVFHRVNCQWdBQUJBZ1FJ
RUNBZ1FQd01FQ0JBZ0FBQkFnUUlFQ0R3TVFFQjhqRnFnd2dRCklFQ0FBQUVDQkFnUUVDQitCZ2dR
SUVDQUFBRUNCQWdRK0ppQUFQa1l0VUVFQ0JBZ1FJQUFBUUlFQ0FnUVB3TUVDQkFnUUlBQUFRSUUK
Q0h4TVFJQjhqTm9nQWdRSUVDQkFnQUFCQWdTK3VTTDQ4dTh2VjUveW5mOVI0SWR2Zi9qcXgzLysr
TlV2Zi9XSEFBRUNCQWdRSUVDQQp3SjlKd0c5QS9relg4TjlDZ0FBQkFnUUlFQ0JBNEM4dWNQWWJr
TCs0ay9VSUVQZ1RDUGhONjUvZ0NMLzZUL2pwWHovOTZwLzhMUUVDCkJBZ1FlQlB3RzVBM0o2OElF
Q0JBZ0FBQkFnUUlFRGdRRUNBSGlENUJnQUFCQWdRSUVDQkFnTUNiZ0FCNWMvS0tBQUVDQkFnUUlF
Q0EKQUlFREFRRnlnT2dUQkFnUUlFQ0FBQUVDQkFpOENRaVFOeWV2Q0JBZ1FJQUFBUUlFQ0JBNEVC
QWdCNGcrUVlBQUFRSUVDQkFnUUlEQQptNEFBZVhQeWlnQUJBZ1FJRUNCQWdBQ0JBd0VCY29Eb0V3
UUlFQ0JBZ0FBQkFnUUl2QWtJa0RjbnJ3Z1FJRUNBQUFFQ0JBZ1FPQkFRCklBZUlQa0dBQUFFQ0JB
Z1FJRUNBd0p1QUFIbHo4b29BQVFJRUNCQWdRSUFBZ1FNQkFYS0E2Qk1FQ0JBZ1FJQUFBUUlFQ0x3
SkNKQTMKSjY4SUVDQkFnQUFCQWdRSUVEZ1FFQ0FIaUQ1QmdBQUJBZ1FJRUNCQWdNQ2JnQUI1Yy9L
S0FBRUNCQWdRSUVDQUFJRURBUUZ5Z09nVApCQWdRSUVDQUFBRUNCQWk4Q1FpUU55ZXZDQkFnUUlB
QUFRSUVDQkE0RUJBZ0I0ZytRWUFBQVFJRUNCQWdRSURBbTRBQWVYUHlpZ0FCCkFnUUlFQ0JBZ0FD
QkF3RUJjb0RvRXdRSUVDQkFnQUFCQWdRSXZBa0lrRGNucndnUUlFQ0FBQUVDQkFnUU9CQVFJQWVJ
UGtHQUFBRUMKQkFnUUlFQ0F3SnVBQUhsejhvb0FBUUlFQ0JBZ1FJQUFnUU1CQVhLQTZCTUVDQkFn
UUlBQUFRSUVDTHdKQ0pBM0o2OElFQ0JBZ0FBQgpBZ1FJRURnUUVDQUhpRDVCZ0FBQkFnUUlFQ0JB
Z01DYmdBQjVjL0tLQUFFQ0JBZ1FJRUNBQUlFREFRRnlnT2dUQkFnUUlFQ0FBQUVDCkJBaThDUWlR
TnlldkNCQWdRSUFBQVFJRUNCQTRFQkFnQjRnK1FZQUFBUUlFQ0JBZ1FJREFtNEFBZVhQeWlnQUJB
Z1FJRUNCQWdBQ0IKQXdFQmNvRG9Fd1FJRUNCQWdBQUJBZ1FJdkFrSWtEY25yd2dRSUVDQUFBRUNC
QWdRT0JBUUlBZUlQa0dBQUFFQ0JBZ1FJRUNBd0p1QQpBSGx6OG9vQUFRSUVDQkFnUUlBQWdRTUJB
WEtBNkJNRUNCQWdRSUFBQVFJRUNMd0pDSkEzSjY4SUVDQkFnQUFCQWdRSUVEZ1FFQ0FICmlENUJn
QUFCQWdRSUVDQkFnTUNiZ0FCNWMvS0tBQUVDQkFnUUlFQ0FBSUVEQVFGeWdPZ1RCQWdRSUVDQUFB
RUNCQWk4Q1FpUU55ZXYKQ0JBZ1FJQUFBUUlFQ0JBNEVCQWdCNGcrUVlBQUFRSUVDQkFnUUlEQW00
QUFlWFB5aWdBQkFnUUlFQ0JBZ0FDQkF3RUJjb0RvRXdRSQpFQ0JBZ0FBQkFnUUl2QWtJa0RjbnJ3
Z1FJRUNBQUFFQ0JBZ1FPQkFRSUFlSVBrR0FBQUVDQkFnUUlFQ0F3SnVBQUhsejhvb0FBUUlFCkNC
QWdRSUFBZ1FNQkFYS0E2Qk1FQ0JBZ1FJQUFBUUlFQ0x3SkNKQTNKNjhJRUNCQWdBQUJBZ1FJRURn
UUVDQUhpRDVCZ0FBQkFnUUkKRUNCQWdNQ2JnQUI1Yy9LS0FBRUNCQWdRSUVDQUFJRURBUUZ5Z09n
VEJBZ1FJRUNBQUFFQ0JBaThDUWlRTnlldkNCQWdRSUFBQVFJRQpDQkE0RUJBZ0I0ZytRWUFBQVFJ
RUNCQWdRSURBbTRBQWVYUHlpZ0FCQWdRSUVDQkFnQUNCQXdFQmNvRG9Fd1FJRUNCQWdBQUJBZ1FJ
CnZBa0lrRGNucndnUUlFQ0FBQUVDQkFnUU9CQVFJQWVJUGtHQUFBRUNCQWdRSUVDQXdKdUFBSGx6
OG9vQUFRSUVDQkFnUUlBQWdRTUIKQVhLQTZCTUVDQkFnUUlBQUFRSUVDTHdKQ0pBM0o2OElFQ0JB
Z0FBQkFnUUlFRGdRRUNBSGlENUJnQUFCQWdRSUVDQkFnTUNiZ0FCNQpjL0tLQUFFQ0JBZ1FJRUNB
QUlFREFRRnlnT2dUQkFnUUlFQ0FBQUVDQkFpOENRaVFOeWV2Q0JBZ1FJQUFBUUlFQ0JBNEVCQWdC
NGcrClFZQUFBUUlFQ0JBZ1FJREFtNEFBZVhQeWlnQUJBZ1FJRUNCQWdBQ0JBd0VCY29Eb0V3UUlF
Q0JBZ0FBQkFnUUl2QWtJa0RjbnJ3Z1EKSUVDQUFBRUNCQWdRT0JBUUlBZUlQa0dBQUFFQ0JBZ1FJ
RUNBd0p1QUFIbHo4b29BQVFJRUNCQWdRSUFBZ1FNQkFYS0E2Qk1FQ0JBZwpRSUFBQVFJRUNMd0pD
SkEzSjY4SUVDQkFnQUFCQWdRSUVEZ1FFQ0FIaUQ1QmdBQUJBZ1FJRUNCQWdNQ2JnQUI1Yy9LS0FB
RUNCQWdRCklFQ0FBSUVEQVFGeWdPZ1RCQWdRSUVDQUFBRUNCQWk4Q1FpUU55ZXZDQkFnUUlBQUFR
SUVDQkE0RUJBZ0I0ZytRWUFBQVFJRUNCQWcKUUlEQW00QUFlWFB5aWdBQkFnUUlFQ0JBZ0FDQkF3
RUJjb0RvRXdRSUVDQkFnQUFCQWdRSXZBa0lrRGNucndnUUlFQ0FBQUVDQkFnUQpPQkFRSUFlSVBr
R0FBQUVDQkFnUUlFQ0F3SnVBQUhsejhvb0FBUUlFQ0JBZ1FJQUFnUU1CQVhLQTZCTUVDQkFnUUlB
QUFRSUVDTHdKCkNKQTNKNjhJRUNCQWdBQUJBZ1FJRURnUUVDQUhpRDVCZ0FBQkFnUUlFQ0JBZ01D
YmdBQjVjL0tLQUFFQ0JBZ1FJRUNBQUlFREFRRnkKZ09nVEJBZ1FJRUNBQUFFQ0JBaThDUWlRTnll
dkNCQWdRSUFBQVFJRUNCQTRFQkFnQjRnK1FZQUFBUUlFQ0JBZ1FJREFtNEFBZVhQeQppZ0FCQWdR
SUVDQkFnQUNCQXdFQmNvRG9Fd1FJRUNCQWdBQUJBZ1FJdkFrSWtEY25yd2dRSUVDQUFBRUNCQWdR
T0JBUUlBZUlQa0dBCkFBRUNCQWdRSUVDQXdKdUFBSGx6OG9vQUFRSUVDQkFnUUlBQWdRTUJBWEtB
NkJNRUNCQWdRSUFBQVFJRUNMd0pmUFAyN0xkZi9mRHQKRDcvOXlJdVBDSHovaisrLyt2ckwxeCta
WlFnQkFnUUlFQ0JBZ0FDQjN5TndGaUEvL3ZQSDN6UFgyLytqd0MveDhkM2Z2L3MvVHZCcApBZ1FJ
RUNCQWdBQUJBbjlNNEN4QS9BYmtqeDNBdjBXQUFBRUNCQWdRSUVDZ0pQRGxwNS8vbEJhMkt3RUNC
QWdRSUVDQUFBRUNPd0gvCkUvck8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNC
QWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUoKRUNCQWdBQUJBZ1FJN0FRRXlNN2Va
QUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQQpB
QUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZ
VUpFQ0JBZ0FBQkFnUUk3QVFFCnlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFR
SUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1EKSUVDQUFBRUNCQWpzQkFUSXp0
NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlB
QQpBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1
NWhRa1FJRUNBQUFFQ0JBanNCQVRJCnp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FB
QkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWcKUUlBQUFRSUVDT3dFQk1q
TzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JB
Z0FBQgpBamtCQVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdT
TzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPCjNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNB
QUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkEKZ0FBQkFnUUk3QVFF
eU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJ
RUNBQUFFQwpPUUVCa2p1NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JB
Wkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlClpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdR
SUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUJranU1aFFrUUlFQ0EKQUFFQ0JBanNC
QVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNC
QWdRSUFBQVFJNQpBUUdTTzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09R
RUJranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrCkFnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVD
QkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUEKQVFJRUNP
d0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdR
SUVDQkFnQUFCQWprQgpBWkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJ
NUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDCkJBZ1FJRUNBQUFFQ09RRUJranU1aFFr
UUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUIKQWdR
STdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFD
QkFnUUlFQ0FBQUVDT1FFQgpranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFC
QWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFCkNCQWdRSUFBQVFJNUFRR1NPN21G
Q1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUMK
QkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2Va
QUlFQ0JBZ1FJQUFBUUk1QVFHUwpPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FB
QUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJCkVDQkFnQUFCQWprQkFaSTd1
WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFR
SUUKQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0
NWtBZ1FJRUNCQWdBQUJBamtCQVpJNwp1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJ
QUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRCklFQ0FBQUVDT1FFQmtq
dTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FB
QkFnUUkKN0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVDT3dFQk1q
TzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NQpoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNC
QWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVDQkFnClFJQUFBUUk1QVFH
U083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNB
QUFFQ0JBanMKQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFF
eU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRgpDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdR
SUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JBCmdBQUJBamtC
QVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdR
SUFBQVFJRUNPd0UKQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNBQUFFQ0JBanNC
QVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSgpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVD
QkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNBCkFBRUNP
UUVCa2p1NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVD
QkFnQUFCQWdRSTdBUUUKeU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdRSUFBQVFJRUNP
d0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUJranU1aFFrUQpJRUNBQUFFQ0JBanNCQVRJenQ1a0Fn
UUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdRSUFBCkFR
STVBUUdTTzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUJranU1aFFr
UUlFQ0FBQUVDQkFqc0JBVEkKenQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdR
STdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZwpRSUFBQVFJRUNPd0VCTWpPM21R
Q0JBZ1FJRUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFC
CkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21G
Q1JBZ1FJQUFBUUlFQ093RUJNak8KM21RQ0JBZ1FJRUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVD
QkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQQpnQUFCQWdRSTdBUUV5TTdl
WkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FB
QUVDCk9RRUJranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1
WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2UKWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFB
UUlFQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQQpBQUVDQkFqc0JBVEl6
dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJ
QUFBUUk1CkFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtq
dTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWsKQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdB
QUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQQpBUUlFQ093RUJN
ak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNC
QWdBQUJBamtCCkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFH
U083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUMKQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVD
QUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FBQgpBZ1FJN0FR
RXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdR
SUVDQUFBRUNPUUVCCmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtC
QVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUUKQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFn
UUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNBQUFFQwpCQWpz
QkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVD
QkFnUUlBQUFRSTVBUUdTCk83bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNP
UUVCa2p1NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUkKRUNCQWdBQUJBamtCQVpJN3VZVUpF
Q0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdRSUFBQVFJRQpD
T3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0Fn
UUlFQ0JBZ0FBQkFqa0JBWkk3CnVZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFR
STVBUUdTTzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1EKSUVDQUFBRUNPUUVCa2p1NWhR
a1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdR
SQo3QVFFeU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPM21R
Q0JBZ1FJRUNBQUFFQ09RRUJranU1CmhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JBZ0FB
QkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWcKUUlBQUFRSTVBUUdTTzdt
RkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVD
QkFqcwpCQVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdl
WkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GCkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNB
QUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkEKZ0FBQkFqa0JBWkk3
dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFB
UUlFQ093RQpCTWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6
dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKCkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdR
SUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0EKQUFFQ09RRUJr
anU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdB
QUJBZ1FJN0FRRQp5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJN
ak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRCklFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVD
QkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUEKQVFJNUFR
R1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVD
QUFBRUNCQWpzQkFUSQp6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FR
RXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnClFJQUFBUUlFQ093RUJNak8zbVFDQkFn
UUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUIKQWpr
QkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFn
UUlBQUFRSUVDT3dFQk1qTwozbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpz
QkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBCmdBQUJBZ1FJN0FRRXlNN2VaQUlF
Q0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUMK
T1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpF
Q0JBZ0FBQkFnUUk3QVFFeU03ZQpaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVD
T3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNBCkFBRUNCQWpzQkFUSXp0NWtB
Z1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFR
STUKQVFHU083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhR
a1FJRUNBQUFFQ0JBanNCQVRJenQ1awpBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FBQkFn
UUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdRSUFBCkFRSUVDT3dFQk1qTzNt
UUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JBZ0FB
QkFqa0IKQVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdt
RkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQwpCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNBQUFF
Q0JBanNCQVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkFnQUFCCkFnUUk3QVFFeU03
ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNB
QUFFQ09RRUIKa2p1NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3
dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRQpDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdRSUFB
QVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDCkJBanNCQVRJ
enQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdR
SUFBQVFJNUFRR1MKTzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUJr
anU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSQpFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkFn
QUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFCkNPd0VC
TWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVD
QkFnQUFCQWprQkFaSTcKdVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFR
R1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUQpJRUNBQUFFQ09RRUJranU1aFFrUUlF
Q0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJCjdB
UUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFn
UUlFQ0FBQUVDT1FFQmtqdTUKaFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWpr
QkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZwpRSUFBQVFJNUFRR1NPN21GQ1JB
Z1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpz
CkJBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlF
Q0JBZ1FJQUFBUUk1QVFHU083bUYKQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVD
T1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQQpnQUFCQWprQkFaSTd1WVVK
RUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVD
T3dFCkJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtB
Z1FJRUNCQWdObXlqdkFBQUFqeFNVUkIKVkFBQkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5
TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RQpCTWpPM21RQ0JBZ1FJ
RUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFa
STd1WVVKCkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJ
QUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0EKQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDQkFqc0JB
VEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRQp5TTdlWkFJRUNC
QWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FF
QmtqdTVoUWtRCklFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNC
QWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUEKQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093
RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSQp6dDVrQWdR
SUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1
QVFHU083bUZDUkFnClFJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtR
SUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUIKQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJ
N0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTwozbVFD
QkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJB
amtCQVpJN3VZVUpFQ0JBCmdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZD
UkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUMKT1FFQmtqdTVoUWtRSUVDQUFBRUNC
QWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZQpa
QUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFB
RUNPUUVCa2p1NWhRa1FJRUNBCkFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZ
VUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFRSTUKQVFHU083bUZDUkFnUUlBQUFR
SUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1
awpBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlB
QUFRSTVBUUdTTzdtRkNSQWdRSUFBCkFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1
NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0IKQVpJN3VZVUpFQ0JBZ0FB
QkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpP
M21RQwpCQWdRSUVDQUFBRUNPUUVCa2p1NWhRa1FJRUNBQUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JB
Z0FBQkFqa0JBWkk3dVlVSkVDQkFnQUFCCkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQUFRSTVBUUdT
TzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUIKa2p1NWhRa1FJRUNB
QUFFQ0JBanNCQVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5
TTdlWkFJRQpDQkFnUUlBQUFRSTVBUUdTTzdtRkNSQWdRSUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJ
RUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDCkJBanNCQVRJenQ1a0FnUUlFQ0JBZ0FBQkFqa0JB
Wkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1MKTzdtRkNSQWdR
SUFBQVFJRUNPd0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDQkFqc0JB
VEl6dDVrQWdRSQpFQ0JBZ0FBQkFqa0JBWkk3dVlVSkVDQkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNC
QWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFCkNPd0VCTWpPM21RQ0JBZ1FJRUNBQUFFQ09R
RUJranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTcKdVlVSkVD
QkFnQUFCQWdRSTdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093
RUJNak8zbVFDQkFnUQpJRUNBQUFFQ09RRUJranU1aFFrUUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdR
SUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJCjdBUUV5TTdlWkFJRUNCQWdRSUFBQVFJ
NUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTUKaFFr
UUlFQ0FBQUVDQkFqc0JBVEl6dDVrQWdRSUVDQkFnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJ
N0FRRXlNN2VaQUlFQ0JBZwpRSUFBQVFJNUFRR1NPN21GQ1JBZ1FJQUFBUUlFQ093RUJNak8zbVFD
QkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzCkJBVEl6dDVrQWdRSUVDQkFnQUFC
QWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUYK
Q1JBZ1FJQUFBUUlFQ093RUJNak8zbVFDQkFnUUlFQ0FBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNC
QWpzQkFUSXp0NWtBZ1FJRUNCQQpnQUFCQWprQkFaSTd1WVVKRUNCQWdBQUJBZ1FJN0FRRXlNN2Va
QUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVDT3dFCkJNak8zbVFDQkFnUUlFQ0FB
QUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZ
VUoKRUNCQWdBQUJBZ1FJN0FRRXlNN2VaQUlFQ0JBZ1FJQUFBUUk1QVFHU083bUZDUkFnUUlBQUFR
SUVDT3dFQk1qTzNtUUNCQWdRSUVDQQpBQUVDT1FFQmtqdTVoUWtRSUVDQUFBRUNCQWpzQkFUSXp0
NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FBQkFnUUk3QVFFCnlNN2VaQUlFQ0JBZ1FJ
QUFBUUk1QVFHU083bUZDUkFnUUlBQUFRSUVDT3dFQk1qTzNtUUNCQWdRSUVDQUFBRUNPUUVCa2p1
NWhRa1EKSUVDQUFBRUNCQWpzQkFUSXp0NWtBZ1FJRUNCQWdBQUJBamtCQVpJN3VZVUpFQ0JBZ0FB
QkFnUUk3QVFFeU03ZVpBSUVDQkFnUUlBQQpBUUk1Z2Y4QTE4UVZ3UlJmYW5VQUFBQUFTVVZPUks1
Q1lJST0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVy
UmVzL2ZpbHRlclJlczMtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9v
Y3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvZmlsdGVycy9maWx0ZXJSZXMvZmlsdGVyUmVzMy1leHBlY3RlZC5wbmcKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlW
Qk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBN
Z1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JG
aWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042
cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpx
Ci9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFB
NEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUEx
TGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdj
VHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0
eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhC
WDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQ
Qm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhR
ZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1
YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1
OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtU
RW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZV
Wi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNI
dkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5P
V2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZm
RXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZS
NEFlM2RRV3BiQVJCRXdTamszaUVudDAwdTRJMzRURCtYdGpMNjA5WGFOTWI0OWZIMSt1VkZnQUFC
QWdRSUVDQkFnQUNCCkJ3UitQL0FNanlCQWdBQUJBZ1FJRUNCQWdNQi9BUVBFRjRFQUFRSUVDQkFn
UUlBQWdjY0VESkRIcUQySUFBRUNCQWdRSUVDQUFBRUQKeEhlQUFBRUNCQWdRSUVDQUFJSEhCQXlR
eDZnOWlBQUJBZ1FJRUNCQWdBQUJBOFIzZ0FBQkFnUUlFQ0JBZ0FDQnh3UU1rTWVvUFlnQQpBUUlF
Q0JBZ1FJQUFnVC9mRWJ6K3ZiNzdFZThIQkQ3KytuY3dnUnBGSUVDQUFBRUNCQWljRi9oMmdKeFA0
TUJ6QWticnVVcmVmcERCCituWlNIMGlBQUFFQ0JINk1nQUh5WTZvV2xNQmRBYVAxYmpmdnVNeGdm
WWVpenlCQWdFQkh3TitBZExxVWhBQUJBZ1FJRUNCQWdNQjUKQVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJ
TkFSTUVBNlhVcENnQUFCQWdRSUVDQkE0THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdQpK
U0ZBZ0FBQkFnUUlFQ0J3WHNBQU9WK1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFn
UUlFRGd2WUlDY3I4aUJCQWdRCklFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FN
NVg1RUFDQkFnUUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNCQWdBQUIKQWdUT0N4Z2c1eXR5SUFFQ0JB
Z1FJRUNBQUlHT2dBSFM2VklTQWdRSUVDQkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVm
QQpBT2wwS1FrQkFnUUlFQ0JBZ0FDQjh3SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFB
QkFnUUlFQ0JBZ01CNUFRUGtmRVVPCkpFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNC
QTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUIKQWdRSUVDQndYc0FBT1Yr
UkF3a1FJRUNBQUFFQ0JBaDBCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNB
QUFFQwpCRG9DQmtpblMwa0lFQ0JBZ0FBQkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVE
cE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdnCjV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJ
RUNCQWdBQUJBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FRRWZBQU9sMEtRa0IKQWdRSUVDQkFnQUNC
OHdJR3lQbUtIRWlBQUFFQ0JBZ1FJRUNnSTJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9K
RUNBQUFFQwpCQWdRSU5BUk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNC
QWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlFQ0J3ClhzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFU
cGVTRUNCQWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW4KUzBrSUVDQkFn
QUFCQWdRSW5CY3dRTTVYNUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4
Z2c1eXR5SUFFQwpCQWdRSUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFB
RUNCQWdRSUVDQVFFZkFBT2wwS1FrQkFnUUlFQ0JBCmdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlF
Q2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVIKTUVBNlhV
cENnQUFCQWdRSUVDQkE0THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdR
SUVDQndYc0FBT1YrUgpBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlD
Y3I4aUJCQWdRSUVDQUFBRUNCRG9DQmtpblMwa0lFQ0JBCmdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFn
UUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0EKQUlH
T2dBSFM2VklTQWdRSUVDQkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtC
QWdRSUVDQkFnQUNCOHdJRwp5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JB
Z01CNUFRUGtmRVVPSkVDQUFBRUNCQWdRSU5BUk1FQTZYVXBDCmdBQUJBZ1FJRUNCQTRMeUFBWEsr
SWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0EK
QUFFQ0JBaDBCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NC
a2luUzBrSUVDQkFnQUFCQWdRSQpuQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlF
Q0JBZ0FBQkFnVE9DeGdnNXl0eUlBRUNCQWdRSUVDQUFJR09nQUhTCjZWSVNBZ1FJRUNCQWdBQUJB
dWNGREpEekZUbVFBQUVDQkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hF
aUEKQUFFQ0JBZ1FJRUNnSTJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JB
Z1FJTkFSTUVBNlhVcENnQUFCQWdRSQpFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlK
MHVKU0ZBZ0FBQkFnUUlFQ0J3WHNBQU9WK1JBd2tRSUVDQUFBRUNCQWgwCkJBeVFUcGVTRUNCQWdB
QUJBZ1FJRURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJj
d1FNNVgKNUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFF
Q0JBZ1FJRUNBQUlHT2dBSFM2VklTQWdRSQpFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVD
QVFFZkFBT2wwS1FrQkFnUUlFQ0JBZ0FDQjh3SUd5UG1LSEVpQUFBRUNCQWdRCklFQ2dJMkNBZExx
VWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJ
RUNCQTRMeUEKQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FB
T1YrUkF3a1FJRUNBQUFFQ0JBaDBCQXlRVHBlUwpFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdR
SUVDQUFBRUNCRG9DQmtpblMwa0lFQ0JBZ0FBQkFnUUluQmN3UU01WDVFQUNCQWdRCklFQ0FBQUVD
SFFFRHBOT2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNB
Z1FJRUNCQWdBQUIKQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkFn
QUNCOHdJR3lQbUtIRWlBQUFFQ0JBZ1FJRUNnSTJDQQpkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtm
RVVPSkVDQUFBRUNCQWdRSU5BUk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTCklFQ0FB
QUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJB
eVFUcGVTRUNCQWdBQUIKQWdRSUVEZ3Y4UHI0ZXAyLzBvRUVDQkFnUUlBQUFRSUVDQ1FFL0FZa1Vh
TVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSQpFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNC
QWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRCk1F
QTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FB
QkFnUUlFQ0NRRURCQUVqVUsKUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJ
Q0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRQpDQkFnUUlCQVFzQUFTZFFvQkFF
Q0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFn
CnNDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVj
U1lBQUFRSUVDQkFnUUNBaFlJQWsKYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFC
QWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQwpCQWdRSUVDQUFJR0VnQUdT
cUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNC
QWdRCklFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0lH
Q0FiUGJtU0FBRUNCQWdRSUVDQVFFTEEKQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdR
SUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SSwpBZ1FJRUNCQWdBQUJB
Z2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdn
QUJBZ1FJCkVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JB
Z1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0IKaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJr
K3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5ubwp5WlVFQ0JBZ1FJ
QUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FC
SjFDZ0VBUUlFCkNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FB
QkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUEKQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZ
RURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQgpzdEdUS3dr
UUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFB
Z1lTQUFaS29VUWdDCkJBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVL
UVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0EKQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFC
QWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTgpBUU5r
b3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJ
RUNBQUFFQ0NRRURKRkdqCkVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZ
SUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkEKZ0FBQkFnUUlKQVFNa0VTTlFoQWdR
SUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQgpB
aHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxR
UUlFQ0JBZ0FBQkFnUVNBZ1pJCm9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlF
Q0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWcKUUlBQUFRSUVDQkJJQ0JnZ2lS
cUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlB
QQpBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FH
eTBaTXJDUkFnUUlBQUFRSUVDQ1FFCkRKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdR
SUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3UKSkVDQUFBRUNCQWdRSUpB
UU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJUWdR
SUVDQQpBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFB
Z1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRClNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRr
U2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ04Kbmx4SmdBQUJBZ1FJ
RUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JBeVFS
STFDRUNCQQpnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJ
RUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJCkVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3
QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1kKSUJzOXVaSUFB
UUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVF
Z0lHQ0NKR29VZwpRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVB
UUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFCkNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlF
Q0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFkKRURCQU5u
cHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJ
RUNCQWdrQkF3UUJJMQpDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWda
SW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDCkJBZ1FJRUNBUUVMQUFFblVLQVFCQWdR
SUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1EKSUxB
aFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1B
QUFFQ0JBZ1FJRUFnSVdDQQpKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlF
Q0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCCkFnUUlFQ0JBZ0FDQmhJQUJrcWhS
Q0FJRUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUkK
RUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dH
ejI1a2dBQkFnUUlFQ0JBZ0VCQwp3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FB
QUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrClNnSUVDQkFnUUlBQUFRSUpB
UU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFR
SUUKQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVO
Z1FNRUEyZW5JbEFRSUVDQkFnUUlBQQpnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJp
UkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaCjZNbVZCQWdRSUVDQUFB
RUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RR
b0JBRUMKQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJ
RUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQQpBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5
UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBCkFiTFJreXNKRUNC
QWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdF
Z0FHU3FGRUkKQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dB
QUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQQpnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlF
Q0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCCkRRRURaS01u
VnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFn
QUFCQWdrQkF5UlIKb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FK
R29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZwpRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FB
QUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBCkFRSWJB
Z2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNC
QWdRSUFBQVFJRUVnSUcKU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdF
QkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjUwpJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhT
QkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNBCkFB
RUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RH
VEt3a1FJRUNBQUFFQ0JBZ2sKQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JB
Z1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUApyaVJBZ0FBQkFnUUlFQ0NRRURC
QUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JB
CmdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVO
QVFOa295ZFhFaUJBZ0FBQkFnUUkKRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9D
QkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UQpqWjVjU1lBQUFRSUVDQkFn
UUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05R
aEFnClFJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFn
QUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUUKQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEy
ZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SQpHQ0FiUGJtU0FBRUNC
QWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNC
Z2dpUnFGCklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNC
QWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUMKQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdN
Q0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUQoyQkF3UURaNmNp
VUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFn
UUlKQVFNRUFTCk5RcEJnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tK
R0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUIKQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JB
Z1FJQUFnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSQpFQ0N3SVdD
QWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFC
QWdRSUVDQkFJQ0ZnCmdDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdr
QkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWwKQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdD
QkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRQpDQkFn
UUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1
WklBQVFJRUNCQWdRSUJBClFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJB
Z1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejAKNUVvQ0JBZ1FJRUNBQUFFQ0NRRURK
RkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQwpC
QWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVE
QkFObnB5SlFFQ0JBZ1FJRUNBCkFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJ
QUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEKMmVqSmxRUUlFQ0JBZ0FBQkFn
UVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FR
QgpBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFn
UUlMQWhZSUJzOU9SS0FnUUlFQ0JBCmdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0ky
ZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0cKZ0FHeTBaTXJDUkFnUUlB
QUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFC
a3FoUgpDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFC
QWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnClFJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhz
Q0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUEKZ1EwQkEyU2pKMWNT
SUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFB
UUlKQVFNawpVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFG
SUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRCklFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJB
Z1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0EKQUFFQ0d3SUd5
RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlF
Q0FBQUVDQkJJQwpCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFz
QUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYCkVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJ
QUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkEKZ0FBQkFn
UTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lz
SkVDQkFnQUFCQWdRSQpKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVD
QUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHClQ2NGtRSUFBQVFJRUNCQWdrQkF3UUJJ
MUNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWcKUUlB
QUFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVE
WktNblZ4SWdRSUFBQVFJRQpDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJ
RUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNCmtJMmVYRW1BQUFFQ0JBZ1FJRUFn
SVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVEK
SUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFB
UUliQWdiSVJrK3VKRUNBQUFFQwpCQWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95
WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzCkNCZ2dHejI1a2dBQkFnUUlF
Q0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJ
a2EKaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlF
Q0FBQUVDQlBlV0pRMEFBQWoxU1VSQgpWRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJ
SUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRClJJMUNFQ0JBZ0FBQkFn
UUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVa
UHJpUkEKZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVD
QUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQgpBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNB
QVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJCkdDQ0pHb1VnUUlB
QUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1Ey
QkF5UWpaNWMKU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNK
RUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQQpBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNB
QUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFnCmtCQXdRQkkx
Q2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFB
UUlFQ0d3SUdDQWIKUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURa
S01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQQpBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlF
Q0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRCklFQWdJ
V0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlF
Q0FBQUVDQkFnUTJCQXcKUURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlBQUFR
SWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQgpnQUFCQWdRSUVDQkFZRVBBQU5ub3la
VUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJCkVD
QkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlr
YWhTQkFnQUFCQWdRSUVDQ3cKSVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVD
QUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScQpGSUlBQVFJRUNCQWdRSURBaG9B
QnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlF
CkNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NR
RURCQUVqVUtRWUFBQVFJRUNCQWcKUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJ
RUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQQpTZFFvQkFFQ0JBZ1FJRUNB
QUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1
RW9DCkJBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVD
QkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1EKSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1r
RVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRQpnQUdTcUZFSUFnUUlF
Q0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4
QUEyZWpKCmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJtU0FB
RUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUkKRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNC
QklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQgpBZ2tCQXlSUm94
QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNC
QWdNQ0dnQUd5CjBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3UURa
NmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUUKQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFF
Q0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQQpBUUlFRWdJ
R1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlF
Q0JBZ1FJQUFnUTBCCkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3
SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVEKQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhK
Z0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQQpBQUVD
QkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29V
UWdDQkFnUUlFQ0FBQUVDCkd3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVD
QkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWkKUmlFSUVDQkFnQUFCQWdRSWJBZ1lJ
QnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQQpn
QUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NR
RURKRkdqRUFRSUVDQkFnQUFCCkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FB
RUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU0Ka0VTTlFoQWdRSUFBQVFJRUNC
RFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0
awpRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FB
QkFnUVNBZ1pJb2tZaENCQWdRSUFBCkFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVu
VUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQkkKQ0JnZ2lScUZJRUNBQUFF
Q0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FN
a0kyZQpYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFn
UUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBCkFBRUNCQWdRMkJENEJHTUZGYTM5eWRYSEFBQUFBRWxG
VGtTdVFtQ0MKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69833</attachid>
            <date>2010-10-05 13:36:44 -0700</date>
            <delta_ts>2010-10-05 14:04:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31370-20101005223640.patch</filename>
            <type>text/plain</type>
            <size>128960</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTEzNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTM2IEBACisyMDEwLTEwLTA1ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU1ZH
cyB3aXRoIGZpbHRlcnMgbG9vayBncmFpbnkgd2hlbiBzY2FsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MjYKKworICAgICAgICBTVkcgZmlsdGVy
IGVmZmVjdHMgbmVlZCBzbWFydGVyIHNpemUgY2FsY3VsYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMzcwCisKKyAgICAgICAgU1ZHIGVsZW1l
bnRzIHVzZSBGaWx0ZXJzIGJlZm9yZSBvd24gdHJhbnNmb3JtYXRpb25zCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjQ4NgorCisgICAgICAgIENhbGN1
bGF0ZSBhbGwgZmlsdGVyIHJlc3VsdHMgaW4gZGV2aWNlIHNwYWNlIGluc3RlYWQgb2YgdGhlIGZp
bHRlcmVkIG9iamVjdHMgdXNlciBzcGFjZS4gVGhpcyBjaGFuZ2UgaXMgc2ltaWxhciB0bworICAg
ICAgICB0aGUgcGF0Y2hlcyBmb3IgU1ZHIFBhdHRlcm4gYW5kIFNWRyBNYXNrZXIgYmVmb3JlLiBJ
dCBhdm9pZHMgcGl4ZWxhdGlvbiBhbmQgZ3VhcmFudGVlcyBzbW9vdGggZmlsdGVyIHJlc3VsdHMg
Zm9yCisgICAgICAgIGV2ZXJ5IHNjYWxlIGxldmVsIGFuZCBpcyBpbmRlcGVuZGVudCBvZiBhbnkg
dHJhbnNmb3JtYXRpb24gdG8gdGhlIHRhcmdldCBlbGVtZW50IG9yIGFueSBhbmNlc3RlciBvZiB0
aGUgdGFyZ2V0LgorICAgICAgICBUaGUgc2Vjb25kIHBhcnQgb2YgdGhpcyBwYXRjaCByZWR1Y2Vz
IHRoZSBzaXplIG9mIGV2ZXJ5IGVmZmVjdCB0byB0aGUgc21hbGxlc3QgYWZmZWN0ZWQgcmVnaW9u
IGluc3RlYWQgb2YgdGhlIGNvbXBsZXRlCisgICAgICAgIGZpbHRlciBwcmltaXRpdmUgc3VicmVn
aW9uIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0ZpbHRlclByaW1pdGl2
ZVN1YlJlZ2lvbikuIFdlIGp1c3QgdXNlIHRoZSBzdWJyZWdpb24KKyAgICAgICAgYXMgY2xpcHBp
bmcgcmVnaW9uLCBsaWtlIG1lbnRpb25lZCBpbiB0aGUgU1ZHIHNwZWNpZmljYXRpb24sIHRvIG1h
a2UgdGhlIGFmZmVjdGVkIHJlZ2lvbiBldmVuIHNtYWxsZXIgbm93LgorCisgICAgICAgIFRoaXMg
aXMgYSBodWdlIHNwZWVkIHVwLiBUaGUgRUNNQSBjbG91ZCAoaHR0cDovL2Vqb2huLm9yZy9maWxl
cy9lY21hLWNsb3VkLnN2ZykgaXMgbW9yZSB0aGFuIDEwMCB0aW1lcyBmYXN0ZXIgb24gR3RrIGFu
ZAorICAgICAgICByZW5kZXJzIGluIGxlc3MgdGhhbiBhIHNlY29uZC4KKyAgICAgICAgU29tZSBl
eGFtcGxlcyBvbiBzdmctd293Lm9yZyBjYW4gYmUgdmlld2VkIHRoZSBmaXJzdCB0aW1lIG5vdywg
c2luY2UgdGhlIHN1YnJlZ2lvbnMgd2VyZSBtdWNoIGJpZ2dlciB0aGFuIHRoZSBhZmZlY3RlZAor
ICAgICAgICByZWdpb24uCisgICAgICAgIFRoZXJlJ3Mgc3RpbGwgbW9yZSBwb3RlbnRpYWwgdG8g
c3BlZWQgdXAgZmlsdGVycywgYnkgZnVydGhlciByZWR1Y2luZyB0aGUgSW1hZ2VCdWZmZXIgc2l6
ZXMuCisgICAgICAgIFJlbmFtZWQgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMgdG8gYWJz
b2x1dGVQYWludFJlY3QsIHNpbmNlIGFsbCBjb29yZGluYXRlcyBhcmUgaW4gZGV2aWNlIHNwYWNl
IGluc3RlYWQgb2YgdGhlCisgICAgICAgIHVzZXIgc3BhY2Ugbm93LgorICAgICAgICBUaGUgYWJz
b2x1dGUgcGFpbnQgcmVjdCBpcyBjYWxjdWxhdGVkIGJ5IGRldGVybWluZUFic29sdXRlUGFpbnRS
ZWN0KCkgYW5kIGdldHMgY2FsbGVkIGJ5IEZpbHRlckVmZmVjdDo6ZWZmZWN0Q29udGV4dCgpIG9u
CisgICAgICAgIGFwcGx5aW5nIHRoZSBlZmZlY3QuCisgICAgICAgIFBhcnRseSByZXdyb3RlIGZp
bHRlciByZXNvbHV0aW9uIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0Zp
bHRlckVsZW1lbnRGaWx0ZXJSZXNBdHRyaWJ1dGUpIHRvIHdvcmsgd2l0aCB0aGUKKyAgICAgICAg
bmV3IGNvbmNlcHQuIFRoaXMgYWxzbyBjb3JyZWN0cyB0aGUgb2xkIGJlaGF2aW9yIHRvIG1hdGNo
IHRoZSBTVkcgc3BlY2lmaWNhdGlvbi4KKworICAgICAgICBUZXN0czogc3ZnL2ZpbHRlcnMvZmls
dGVyUmVzMS5zdmcKKyAgICAgICAgICAgICAgIHN2Zy9maWx0ZXJzL2ZpbHRlclJlczIuc3ZnCisg
ICAgICAgICAgICAgICBzdmcvZmlsdGVycy9maWx0ZXJSZXMzLnN2ZworCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOiBDYWxsIHNldEFi
c29sdXRlUGFpbnRSZWN0IGluc3RlYWQgb2Ygc2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0
ZXMuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNyZWF0ZVNoYWRvd01hc2sp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVCbGVuZC5jcHA6IFJlbmFt
ZWQgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMgdG8gYWJzb2x1dGVQYWludFJlY3QuCisg
ICAgICAgIChXZWJDb3JlOjpGRUJsZW5kOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRUNvbG9yTWF0cml4LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpGRUNvbG9yTWF0cml4OjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpG
RUNvbXBvbmVudFRyYW5zZmVyOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDb21w
b3NpdGU6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZF
Q29tcG9zaXRlOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUNvbXBvc2l0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252
b2x2ZU1hdHJpeC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDb252b2x2ZU1hdHJp
eDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2
ZU1hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZTo6RkVDb252b2x2ZU1hdHJpeDo6ZGV0ZXJtaW5l
QWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVEaXNwbGFjZW1lbnRNYXAuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFRGlzcGxh
Y2VtZW50TWFwOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RURpc3BsYWNlbWVudE1hcC5oOgorICAgICAgICAoV2ViQ29yZTo6RkVEaXNwbGFjZW1lbnRNYXA6
OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFRmxvb2QuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFRmxvb2Q6
OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRmxvb2QuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkZFRmxvb2Q6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcDog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVLZXJuZWxTaXplKToKKyAgICAgICAg
KFdlYkNvcmU6OkZFR2F1c3NpYW5CbHVyOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGRUdhdXNzaWFuQmx1cjo6YXBwbHkpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkZFTGlnaHRpbmc6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFTWVyZ2UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFTWVyZ2U6OmFwcGx5
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVNb3JwaG9sb2d5OjpkZXRlcm1pbmVBYnNvbHV0
ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGRU1vcnBob2xvZ3k6OmFwcGx5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OkZFT2Zmc2V0OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpGRU9mZnNldDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVPZmZzZXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFVGlsZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVUaWxlOjpkZXRlcm1p
bmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6RkVUaWxlOjph
cHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZFVGlsZTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxlbmNlLmNwcDogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpGRVR1cmJ1bGVuY2U6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVHVyYnVsZW5jZS5oOgorICAgICAgICAoV2ViQ29yZTo6
RkVUdXJidWxlbmNlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRl
cjo6YXBwbHlIb3Jpem9udGFsU2NhbGUpOiBNYXAgaG9yaXpvbnRhbCBlZmZlY3QgdmFsdWVzIHRv
IGFic29sdXRlIGNvb3JkaW5hdGVzLgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyOjphcHBseVZl
cnRpY2FsU2NhbGUpOiBNYXAgdmVydGljYWwgZWZmZWN0IHZhbHVlcyB0byBhYnNvbHV0ZSBjb29y
ZGluYXRlcy4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlcjo6bWFwQWJzb2x1dGVQb2ludFRvTG9j
YWxQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXI6OmZpbHRlclJlZ2lvbkluVXNlclNw
YWNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpkZXRlcm1pbmVGaWx0
ZXJQcmltaXRpdmVTdWJyZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0Ojpk
ZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZl
Y3Q6OnJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6
RmlsdGVyRWZmZWN0OjpkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkZpbHRlckVmZmVjdDo6ZWZmZWN0Q29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVm
ZmVjdDo6YWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0
OjpzZXRBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6
Om1heEVmZmVjdFJlY3QpOiBUaGUgc3VicmVnaW9uIGluIGFic29sdXRlIGNvb3JkaW5hdGVzIGZv
ciBTVkcuCisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6OnNldE1heEVmZmVjdFJlY3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUFscGhhOjpkZXRlcm1pbmVBYnNvbHV0ZVBh
aW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VBbHBoYTo6YXBwbHkpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUdyYXBoaWM6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUdyYXBoaWM6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRl
ckRhdGE6OkZpbHRlckRhdGEpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZF
SW1hZ2UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFSW1hZ2U6OmFwcGx5KToKKyAg
ICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmg6CisgICAgICAgIChXZWJD
b3JlOjpGRUltYWdlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgICogc3Zn
L2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Zp
bHRlcjo6U1ZHRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6ZGV0ZXJtaW5l
RmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6
YXBwbHlIb3Jpem9udGFsU2NhbGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjphcHBs
eVZlcnRpY2FsU2NhbGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjpjcmVhdGUpOgor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRmlsdGVyOjplZmZlY3RCb3VuZGluZ0JveE1vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRmlsdGVyOjpmaWx0ZXJSZWdpb25JblVzZXJTcGFjZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdGaWx0ZXI6OmZpbHRlclJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXI6
Om1hcEFic29sdXRlUG9pbnRUb0xvY2FsUG9pbnQpOiBNYXAgYWJzb2x1dGUgcG9pbnQgdG8gbG9j
YWwgcG9pbnQgaW4gdXNlcnNwYWNlLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjpzb3Vy
Y2VJbWFnZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjptYXhJbWFnZVNpemUp
OgorCiAyMDEwLTEwLTA1ICBLaW1tbyBLaW5udW5lbiAgPGtpbW1vLnQua2lubnVuZW5Abm9raWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWly
by5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFw
aGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTk0NCwxMiArOTQ0LDEyIEBAIFBsYXRmb3JtUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gR3Jh
cGhpY3MKICAgICBSZWZQdHI8RmlsdGVyPiBmaWx0ZXIgPSBJbWFnZUJ1ZmZlckZpbHRlcjo6Y3Jl
YXRlKCk7CiAgICAgZmlsdGVyLT5zZXRTb3VyY2VJbWFnZShidWZmZXIpOwogICAgIFJlZlB0cjxG
aWx0ZXJFZmZlY3Q+IHNvdXJjZSA9IFNvdXJjZUdyYXBoaWM6OmNyZWF0ZSgpOwotICAgIHNvdXJj
ZS0+c2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoRmxvYXRSZWN0KEZsb2F0UG9pbnQo
KSwgc2hhZG93UmVjdC5zaXplKCkpKTsKKyAgICBzb3VyY2UtPnNldEFic29sdXRlUGFpbnRSZWN0
KEludFJlY3QoSW50UG9pbnQoKSwgcm91bmRlZEludFNpemUoc2hhZG93UmVjdC5zaXplKCkpKSk7
CiAgICAgc291cmNlLT5zZXRJc0FscGhhSW1hZ2UodHJ1ZSk7CiAgICAgUmVmUHRyPEZpbHRlckVm
ZmVjdD4gYmx1ciA9IEZFR2F1c3NpYW5CbHVyOjpjcmVhdGUoc3RkRGV2aWF0aW9uLCBzdGREZXZp
YXRpb24pOwogICAgIEZpbHRlckVmZmVjdFZlY3RvciYgaW5wdXRFZmZlY3RzID0gYmx1ci0+aW5w
dXRFZmZlY3RzKCk7CiAgICAgaW5wdXRFZmZlY3RzLmFwcGVuZChzb3VyY2UuZ2V0KCkpOwotICAg
IGJsdXItPnNldFJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKEZsb2F0UmVjdChGbG9hdFBv
aW50KCksIHNoYWRvd1JlY3Quc2l6ZSgpKSk7CisgICAgYmx1ci0+c2V0QWJzb2x1dGVQYWludFJl
Y3QoSW50UmVjdChJbnRQb2ludCgpLCByb3VuZGVkSW50U2l6ZShzaGFkb3dSZWN0LnNpemUoKSkp
KTsKICAgICBibHVyLT5hcHBseShmaWx0ZXIuZ2V0KCkpOwogICAgIHJldHVybiBibHVyLT5yZXN1
bHRJbWFnZSgpLT5tX2RhdGEubV9zdXJmYWNlOwogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVCbGVuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQmxlbmQuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUJsZW5kLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTgsMTMgKzk4LDEzIEBAIHZvaWQgRkVCbGVuZDo6YXBwbHkoRmlsdGVyKiBmaWx0
ZXIpCiAgICAgaWYgKG1fbW9kZSA9PSBGRUJMRU5EX01PREVfVU5LTk9XTikKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaWYgKCFlZmZlY3RDb250ZXh0KCkpCisgICAgaWYgKCFlZmZlY3RDb250ZXh0
KGZpbHRlcikpCiAgICAgICAgIHJldHVybjsKIAotICAgIEludFJlY3QgZWZmZWN0QURyYXdpbmdS
ZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+cmVwYWludFJlY3RJbkxv
Y2FsQ29vcmRpbmF0ZXMoKSk7CisgICAgSW50UmVjdCBlZmZlY3RBRHJhd2luZ1JlY3QgPSByZXF1
ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAg
ICBSZWZQdHI8Q2FudmFzUGl4ZWxBcnJheT4gc3JjUGl4ZWxBcnJheUEoaW4tPnJlc3VsdEltYWdl
KCktPmdldFByZW11bHRpcGxpZWRJbWFnZURhdGEoZWZmZWN0QURyYXdpbmdSZWN0KS0+ZGF0YSgp
KTsKIAotICAgIEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJ
bnB1dEltYWdlRGF0YShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAg
IEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdl
RGF0YShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpOwogICAgIFJlZlB0cjxDYW52YXNQaXhlbEFy
cmF5PiBzcmNQaXhlbEFycmF5QihpbjItPnJlc3VsdEltYWdlKCktPmdldFByZW11bHRpcGxpZWRJ
bWFnZURhdGEoZWZmZWN0QkRyYXdpbmdSZWN0KS0+ZGF0YSgpKTsKIAogICAgIEludFJlY3QgaW1h
Z2VSZWN0KEludFBvaW50KCksIHJlc3VsdEltYWdlKCktPnNpemUoKSk7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xvck1hdHJpeC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXguY3BwCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNv
bG9yTWF0cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYwLDExICsxNjAsMTEgQEAgdm9pZCBG
RUNvbG9yTWF0cml4OjphcHBseShGaWx0ZXIqIGZpbHRlcgogICAgIGlmICghaW4tPnJlc3VsdElt
YWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29u
dGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRl
eHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAg
ICAgICByZXR1cm47CiAKLSAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJl
c3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2Uo
aW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKKyAgICBmaWx0ZXJDb250ZXh0
LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRy
YXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKIAogICAg
IEludFJlY3QgaW1hZ2VSZWN0KEludFBvaW50KCksIHJlc3VsdEltYWdlKCktPnNpemUoKSk7CiAg
ICAgUGFzc1JlZlB0cjxJbWFnZURhdGE+IGltYWdlRGF0YShyZXN1bHRJbWFnZSgpLT5nZXRVbm11
bHRpcGxpZWRJbWFnZURhdGEoaW1hZ2VSZWN0KSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIuY3BwCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNv
bXBvbmVudFRyYW5zZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU0LDcgKzE1NCw3IEBAIHZv
aWQgRkVDb21wb25lbnRUcmFuc2Zlcjo6YXBwbHkoRmlsdGVyKiAKICAgICBpZiAoIWluLT5yZXN1
bHRJbWFnZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIWVmZmVjdENvbnRleHQoKSkK
KyAgICBpZiAoIWVmZmVjdENvbnRleHQoZmlsdGVyKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
dW5zaWduZWQgY2hhciByVmFsdWVzWzI1Nl0sIGdWYWx1ZXNbMjU2XSwgYlZhbHVlc1syNTZdLCBh
VmFsdWVzWzI1Nl07CkBAIC0xNjcsNyArMTY3LDcgQEAgdm9pZCBGRUNvbXBvbmVudFRyYW5zZmVy
OjphcHBseShGaWx0ZXIqIAogICAgIGZvciAodW5zaWduZWQgY2hhbm5lbCA9IDA7IGNoYW5uZWwg
PCA0OyBjaGFubmVsKyspCiAgICAgICAgICgqY2FsbEVmZmVjdFt0cmFuc2ZlckZ1bmN0aW9uW2No
YW5uZWxdLnR5cGVdKSh0YWJsZXNbY2hhbm5lbF0sIHRyYW5zZmVyRnVuY3Rpb25bY2hhbm5lbF0p
OwogCi0gICAgSW50UmVjdCBkcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFn
ZURhdGEoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgIEludFJlY3Qg
ZHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5hYnNvbHV0
ZVBhaW50UmVjdCgpKTsKICAgICBSZWZQdHI8SW1hZ2VEYXRhPiBpbWFnZURhdGEoaW4tPnJlc3Vs
dEltYWdlKCktPmdldFVubXVsdGlwbGllZEltYWdlRGF0YShkcmF3aW5nUmVjdCkpOwogICAgIENh
bnZhc1BpeGVsQXJyYXkqIHNyY1BpeGVsQXJyYXkoaW1hZ2VEYXRhLT5kYXRhKCkpOwogCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5j
cHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFQ29tcG9zaXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDYgKzExMiwyNyBAQCBpbmxp
bmUgdm9pZCBhcml0aG1ldGljKGNvbnN0IFJlZlB0cjxDYW52CiAgICAgICAgIH0KICAgICB9CiB9
CisgICAgCit2b2lkIEZFQ29tcG9zaXRlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0
ZXIqIGZpbHRlcikKK3sKKyAgICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2UgRkVDT01QT1NJ
VEVfT1BFUkFUT1JfSU46CisgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9BVE9QOgorICAg
ICAgICAvLyBGb3IgSW4gYW5kIEF0b3AgdGhlIGZpcnN0IGVmZmVjdCBqdXN0IGluZmx1ZW5jZXMg
dGhlIHJlc3VsdCBvZgorICAgICAgICAvLyB0aGUgc2Vjb25kIGVmZmVjdC4gU28ganVzdCB1c2Ug
dGhlIGFic29sdXRlIHBhaW50IHJlY3Qgb2YgdGhlIHNlY29uZCBlZmZlY3QgaGVyZS4KKyAgICAg
ICAgc2V0QWJzb2x1dGVQYWludFJlY3QoaW5wdXRFZmZlY3QoMSktPmFic29sdXRlUGFpbnRSZWN0
KCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9BUklU
SE1FVElDOgorICAgICAgICAvLyBBcml0aG1ldGljIG1heSBpbmZsdW5jZSB0aGUgY29tcGxlIGZp
bHRlciBwcmltaXRpdmUgcmVnaW9uLiBTbyB3ZSBjYW4ndAorICAgICAgICAvLyBvcHRpbWl6ZSB0
aGUgcGFpbnQgcmVnaW9uIGhlcmUuCisgICAgICAgIHNldEFic29sdXRlUGFpbnRSZWN0KG1heEVm
ZmVjdFJlY3QoKSk7CisgICAgICAgIHJldHVybjsKKyAgICBkZWZhdWx0OgorICAgICAgICAvLyBU
YWtlIHRoZSB1bmlvbiBvZiBib3RoIGlucHV0IGVmZmVjdHMuCisgICAgICAgIEZpbHRlckVmZmVj
dDo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoZmlsdGVyKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KK30KIAogdm9pZCBGRUNvbXBvc2l0ZTo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7CkBA
IC0xMjIsMzkgKzE0MywzOSBAQCB2b2lkIEZFQ29tcG9zaXRlOjphcHBseShGaWx0ZXIqIGZpbHRl
cikKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpIHx8ICFpbjItPnJlc3VsdEltYWdlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVm
ZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZl
Y3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAgICAgICByZXR1
cm47CiAKICAgICBGbG9hdFJlY3Qgc3JjUmVjdCA9IEZsb2F0UmVjdCgwLCAwLCAtMSwgLTEpOwog
ICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9PVkVS
OgotICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4yLT5yZXN1bHRJbWFn
ZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+cmVw
YWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSkpOwotICAgICAgICBmaWx0ZXJDb250ZXh0LT5k
cmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdp
bmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkp
KTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1h
Z2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPmFi
c29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVm
ZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJ
bnB1dEltYWdlKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfSU46CiAgICAgICAgIGZpbHRlckNvbnRleHQtPnNh
dmUoKTsKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+Y2xpcFRvSW1hZ2VCdWZmZXIoaW4yLT5yZXN1
bHRJbWFnZSgpLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+cmVwYWludFJlY3RJbkxv
Y2FsQ29vcmRpbmF0ZXMoKSkpOwotICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZm
ZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklu
cHV0SW1hZ2UoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKKyAgICAgICAg
ZmlsdGVyQ29udGV4dC0+Y2xpcFRvSW1hZ2VCdWZmZXIoaW4yLT5yZXN1bHRJbWFnZSgpLCBkcmF3
aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSkpOworICAgICAg
ICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmlj
ZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRS
ZWN0KCkpKTsKICAgICAgICAgZmlsdGVyQ29udGV4dC0+cmVzdG9yZSgpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX09VVDoKLSAgICAgICAgZmlsdGVyQ29u
dGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNl
LCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGlu
YXRlcygpKSk7Ci0gICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbjItPnJl
c3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2Uo
aW4yLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSwgc3JjUmVjdCwgQ29tcG9zaXRl
RGVzdGluYXRpb25PdXQpOworICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIo
aW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0
SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+
ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJh
d2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpLCBzcmNSZWN0
LCBDb21wb3NpdGVEZXN0aW5hdGlvbk91dCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRkVD
T01QT1NJVEVfT1BFUkFUT1JfQVRPUDoKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdl
QnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lv
bk9mSW5wdXRJbWFnZShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKLSAg
ICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBE
ZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVj
dEluTG9jYWxDb29yZGluYXRlcygpKSwgc3JjUmVjdCwgQ29tcG9zaXRlU291cmNlQXRvcCk7Cisg
ICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbjItPnJlc3VsdEltYWdlKCks
IERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4yLT5hYnNvbHV0
ZVBhaW50UmVjdCgpKSk7CisgICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihp
bi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJ
bWFnZShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSksIHNyY1JlY3QsIENvbXBvc2l0ZVNvdXJjZUF0
b3ApOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX1hPUjoK
LSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1hZ2Uo
KSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPnJlcGFp
bnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJh
d0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5n
UmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSwg
c3JjUmVjdCwgQ29tcG9zaXRlWE9SKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdl
QnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lv
bk9mSW5wdXRJbWFnZShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVy
Q29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNw
YWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKSwg
c3JjUmVjdCwgQ29tcG9zaXRlWE9SKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGRUNPTVBP
U0lURV9PUEVSQVRPUl9BUklUSE1FVElDOiB7Ci0gICAgICAgIEludFJlY3QgZWZmZWN0QURyYXdp
bmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+cmVwYWludFJlY3RJ
bkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisgICAgICAgIEludFJlY3QgZWZmZWN0QURyYXdpbmdSZWN0
ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3Qo
KSk7CiAgICAgICAgIFJlZlB0cjxDYW52YXNQaXhlbEFycmF5PiBzcmNQaXhlbEFycmF5QShpbi0+
cmVzdWx0SW1hZ2UoKS0+Z2V0UHJlbXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RBRHJhd2luZ1Jl
Y3QpLT5kYXRhKCkpOwogCi0gICAgICAgIEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVx
dWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzKCkpOworICAgICAgICBJbnRSZWN0IGVmZmVjdEJEcmF3aW5nUmVjdCA9IHJlcXVlc3Rl
ZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4yLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAgICAg
ICAgUmVmUHRyPEltYWdlRGF0YT4gaW1hZ2VEYXRhKGluMi0+cmVzdWx0SW1hZ2UoKS0+Z2V0UHJl
bXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RCRHJhd2luZ1JlY3QpKTsKICAgICAgICAgQ2FudmFz
UGl4ZWxBcnJheSogc3JjUGl4ZWxBcnJheUIoaW1hZ2VEYXRhLT5kYXRhKCkpOwogCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaAkocmV2
aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21w
b3NpdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsOCBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKKyAg
ICAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKik7
CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0
cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2ZU1hdHJpeC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29udm9sdmVNYXRyaXguY3BwCShyZXZpc2lv
biA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbnZvbHZl
TWF0cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc3LDExICszNzcsMTEgQEAgdm9pZCBGRUNv
bnZvbHZlTWF0cml4OjphcHBseShGaWx0ZXIqIGZpbAogICAgIGlmICghaW4tPnJlc3VsdEltYWdl
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4dCgpKQorICAgIGlm
ICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAKICAgICBJbnRSZWN0
IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkpOwotICAgIEludFJl
Y3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGlu
LT5maWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKSk7CisgICAgSW50UmVjdCBlZmZlY3REcmF3aW5n
UmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPmFic29sdXRlUGFpbnRS
ZWN0KCkpOwogCiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJyYXk+IHNyY1BpeGVsQXJyYXk7CiAg
ICAgaWYgKG1fcHJlc2VydmVBbHBoYSkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUNvbnZvbHZlTWF0cml4LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29udm9sdmVNYXRyaXguaAkocmV2aXNpb24gNjkxMjApCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2ZU1hdHJpeC5oCSh3
b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
YXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwg
dm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKSB7IHNldEFic29sdXRlUGFp
bnRSZWN0KG1heEVmZmVjdFJlY3QoKSk7IH0KKwogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0
ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAK
IHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVEaXNw
bGFjZW1lbnRNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRURpc3BsYWNlbWVudE1hcC5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODgsMTMgKzg4LDEzIEBAIHZvaWQgRkVEaXNwbGFjZW1lbnRNYXA6OmFwcGx5
KEZpbHRlciogZmkKICAgICBpZiAobV94Q2hhbm5lbFNlbGVjdG9yID09IENIQU5ORUxfVU5LTk9X
TiB8fCBtX3lDaGFubmVsU2VsZWN0b3IgPT0gQ0hBTk5FTF9VTktOT1dOKQogICAgICAgICByZXR1
cm47CiAKLSAgICBpZiAoIWVmZmVjdENvbnRleHQoKSkKKyAgICBpZiAoIWVmZmVjdENvbnRleHQo
ZmlsdGVyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UmVjdCBlZmZlY3RBRHJhd2luZ1Jl
Y3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9j
YWxDb29yZGluYXRlcygpKTsKKyAgICBJbnRSZWN0IGVmZmVjdEFEcmF3aW5nUmVjdCA9IHJlcXVl
c3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpOwogICAg
IFJlZlB0cjxDYW52YXNQaXhlbEFycmF5PiBzcmNQaXhlbEFycmF5QShpbi0+cmVzdWx0SW1hZ2Uo
KS0+Z2V0UHJlbXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RBRHJhd2luZ1JlY3QpLT5kYXRhKCkp
OwogCi0gICAgSW50UmVjdCBlZmZlY3RCRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklu
cHV0SW1hZ2VEYXRhKGluMi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisgICAg
SW50UmVjdCBlZmZlY3RCRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VE
YXRhKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJy
YXk+IHNyY1BpeGVsQXJyYXlCKGluMi0+cmVzdWx0SW1hZ2UoKS0+Z2V0VW5tdWx0aXBsaWVkSW1h
Z2VEYXRhKGVmZmVjdEJEcmF3aW5nUmVjdCktPmRhdGEoKSk7CiAKICAgICBJbnRSZWN0IGltYWdl
UmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkpOwpAQCAtMTAyLDEwICsxMDIs
MTAgQEAgdm9pZCBGRURpc3BsYWNlbWVudE1hcDo6YXBwbHkoRmlsdGVyKiBmaQogCiAgICAgQVNT
RVJUKHNyY1BpeGVsQXJyYXlBLT5sZW5ndGgoKSA9PSBzcmNQaXhlbEFycmF5Qi0+bGVuZ3RoKCkp
OwogCi0gICAgZmxvYXQgc2NhbGVYID0gbV9zY2FsZSAvIDI1NS5mICogZmlsdGVyLT5maWx0ZXJS
ZXNvbHV0aW9uKCkud2lkdGgoKTsKLSAgICBmbG9hdCBzY2FsZVkgPSBtX3NjYWxlIC8gMjU1LmYg
KiBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKTsKLSAgICBmbG9hdCBzY2FsZUFk
anVzdG1lbnRYID0gKDAuNWYgLSAwLjVmICogbV9zY2FsZSkgKiBmaWx0ZXItPmZpbHRlclJlc29s
dXRpb24oKS53aWR0aCgpOwotICAgIGZsb2F0IHNjYWxlQWRqdXN0bWVudFkgPSAoMC41ZiAtIDAu
NWYgKiBtX3NjYWxlKSAqIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpOworICAg
IGZsb2F0IHNjYWxlWCA9IGZpbHRlci0+YXBwbHlIb3Jpem9udGFsU2NhbGUobV9zY2FsZSAvIDI1
NSk7CisgICAgZmxvYXQgc2NhbGVZID0gZmlsdGVyLT5hcHBseVZlcnRpY2FsU2NhbGUobV9zY2Fs
ZSAvIDI1NSk7CisgICAgZmxvYXQgc2NhbGVBZGp1c3RtZW50WCA9IGZpbHRlci0+YXBwbHlIb3Jp
em9udGFsU2NhbGUoMC41ZiAtIDAuNWYgKiBtX3NjYWxlKTsKKyAgICBmbG9hdCBzY2FsZUFkanVz
dG1lbnRZID0gZmlsdGVyLT5hcHBseVZlcnRpY2FsU2NhbGUoMC41ZiAtIDAuNWYgKiBtX3NjYWxl
KTsKICAgICBpbnQgc3RyaWRlID0gaW1hZ2VSZWN0LndpZHRoKCkgKiA0OwogICAgIGZvciAoaW50
IHkgPSAwOyB5IDwgaW1hZ2VSZWN0LmhlaWdodCgpOyArK3kpIHsKICAgICAgICAgaW50IGxpbmUg
PSB5ICogc3RyaWRlOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZF
RGlzcGxhY2VtZW50TWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUzLDYgKzUzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhcHBseShG
aWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOwogCisgICAgdmlydHVhbCB2b2lkIGRl
dGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopIHsgc2V0QWJzb2x1dGVQYWludFJlY3Qo
bWF4RWZmZWN0UmVjdCgpKTsgfQorCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJl
cHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25zdDsKIAogcHJpdmF0
ZToKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZsb29kLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9vZC5j
cHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFRmxvb2QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MiwxNCArNjIsMTQgQEAgdm9pZCBGRUZs
b29kOjpzZXRGbG9vZE9wYWNpdHkoZmxvYXQgZmxvbwogICAgIG1fZmxvb2RPcGFjaXR5ID0gZmxv
b2RPcGFjaXR5OwogfQogCi12b2lkIEZFRmxvb2Q6OmFwcGx5KEZpbHRlciopCit2b2lkIEZFRmxv
b2Q6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogewotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVy
Q29udGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNv
bnRleHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQog
ICAgICAgICByZXR1cm47CiAKICAgICBDb2xvciBjb2xvciA9IGNvbG9yV2l0aE92ZXJyaWRlQWxw
aGEoZmxvb2RDb2xvcigpLnJnYigpLCBmbG9vZE9wYWNpdHkoKSk7Ci0gICAgZmlsdGVyQ29udGV4
dC0+ZmlsbFJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgcmVwYWludFJlY3RJbkxvY2FsQ29v
cmRpbmF0ZXMoKS5zaXplKCkpLCBjb2xvciwgRGV2aWNlQ29sb3JTcGFjZSk7CisgICAgZmlsdGVy
Q29udGV4dC0+ZmlsbFJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgYWJzb2x1dGVQYWludFJl
Y3QoKS5zaXplKCkpLCBjb2xvciwgRGV2aWNlQ29sb3JTcGFjZSk7CiB9CiAKIHZvaWQgRkVGbG9v
ZDo6ZHVtcCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9v
ZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZs
b29kLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFRmxvb2QuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7
CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKikg
eyBzZXRBYnNvbHV0ZVBhaW50UmVjdChtYXhFZmZlY3RSZWN0KCkpOyB9CisKICAgICB2aXJ0dWFs
IFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRl
bnRpb24pIGNvbnN0OwogCiBwcml2YXRlOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwCShyZXZpc2lvbiA2OTEyMCkK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyNSw2ICsxMjUsNDEgQEAgdm9pZCBGRUdhdXNzaWFuQmx1cjo6
a2VybmVsUG9zaXRpb24oaW50IAogICAgIH0KIH0KIAoraW5saW5lIHZvaWQgY2FsY3VsYXRlS2Vy
bmVsU2l6ZSh1bnNpZ25lZCYga2VybmVsU2l6ZVgsIHVuc2lnbmVkJiBrZXJuZWxTaXplWSwgZmxv
YXQgc3RkWCwgZmxvYXQgc3RkWSwgRmlsdGVyKiBmaWx0ZXIpCit7CisgICAgc3RkWCA9IGZpbHRl
ci0+YXBwbHlIb3Jpem9udGFsU2NhbGUoc3RkWCk7CisgICAgc3RkWSA9IGZpbHRlci0+YXBwbHlW
ZXJ0aWNhbFNjYWxlKHN0ZFkpOworICAgIAorICAgIGtlcm5lbFNpemVYID0gMDsKKyAgICBpZiAo
c3RkWCkKKyAgICAgICAga2VybmVsU2l6ZVggPSBtYXg8dW5zaWduZWQ+KDIsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihmbG9vcmYoc3RkWCAqIGdHYXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7
CisgICAga2VybmVsU2l6ZVkgPSAwOworICAgIGlmIChzdGRZKQorICAgICAgICBrZXJuZWxTaXpl
WSA9IG1heDx1bnNpZ25lZD4oMiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGZsb29yZihzdGRZICog
Z0dhdXNzaWFuS2VybmVsRmFjdG9yICsgMC41ZikpKTsKKyAgICAKKyAgICAvLyBMaW1pdCB0aGUg
a2VybmVsIHNpemUgdG8gMTAwMC4gQSBiaWdnZXIgcmFkaXVzIHdvbid0IG1ha2UgYSBiaWcgZGlm
ZmVyZW5jZSBmb3IgdGhlIHJlc3VsdCBpbWFnZSBidXQKKyAgICAvLyBpbmZsYXRlcyB0aGUgYWJz
b2x1dGUgcGFpbnQgcmVjdCB0byBtdWNoLgorICAgIGlmIChrZXJuZWxTaXplWCA+IDEwMDApCisg
ICAgICAgIGtlcm5lbFNpemVYID0gMTAwMDsKKyAgICBpZiAoa2VybmVsU2l6ZVkgPiAxMDAwKQor
ICAgICAgICBrZXJuZWxTaXplWSA9IDEwMDA7Cit9CisKK3ZvaWQgRkVHYXVzc2lhbkJsdXI6OmRl
dGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciogZmlsdGVyKQoreworICAgIEludFJlY3Qg
YWJzb2x1dGVQYWludFJlY3QgPSBpbnB1dEVmZmVjdCgwKS0+YWJzb2x1dGVQYWludFJlY3QoKTsK
KyAgICBhYnNvbHV0ZVBhaW50UmVjdC5pbnRlcnNlY3QobWF4RWZmZWN0UmVjdCgpKTsKKworICAg
IHVuc2lnbmVkIGtlcm5lbFNpemVYID0gMDsKKyAgICB1bnNpZ25lZCBrZXJuZWxTaXplWSA9IDA7
CisgICAgY2FsY3VsYXRlS2VybmVsU2l6ZShrZXJuZWxTaXplWCwga2VybmVsU2l6ZVksIG1fc3Rk
WCwgbV9zdGRZLCBmaWx0ZXIpOworCisgICAgLy8gV2UgdGFrZSB0aGUgaGFsZiBrZXJuZWwgc2l6
ZSBhbmQgbXVsdGlwbHkgaXQgd2l0aCB0aHJlZSwgYmVjYXVzZSB3ZSBydW4gYm94IGJsdXIgdGhy
ZWUgdGltZXMuCisgICAgYWJzb2x1dGVQYWludFJlY3QuaW5mbGF0ZVgoMyAqIChrZXJuZWxTaXpl
WCAqIDAuNWYpKTsKKyAgICBhYnNvbHV0ZVBhaW50UmVjdC5pbmZsYXRlWSgzICogKGtlcm5lbFNp
emVZICogMC41ZikpOworICAgIHNldEFic29sdXRlUGFpbnRSZWN0KGFic29sdXRlUGFpbnRSZWN0
KTsKK30KKwogdm9pZCBGRUdhdXNzaWFuQmx1cjo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7CiAg
ICAgRmlsdGVyRWZmZWN0KiBpbiA9IGlucHV0RWZmZWN0KDApOwpAQCAtMTMyLDEyICsxNjcsMTIg
QEAgdm9pZCBGRUdhdXNzaWFuQmx1cjo6YXBwbHkoRmlsdGVyKiBmaWx0ZQogICAgIGlmICghaW4t
PnJlc3VsdEltYWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4
dCgpKQorICAgIGlmICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBzZXRJc0FscGhhSW1hZ2UoaW4tPmlzQWxwaGFJbWFnZSgpKTsKIAotICAgIEludFJlY3Qg
ZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5y
ZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKyAgICBJbnRSZWN0IGVmZmVjdERyYXdp
bmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWlu
dFJlY3QoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gc3JjSW1hZ2VEYXRhKGluLT5yZXN1bHRJ
bWFnZSgpLT5nZXRQcmVtdWx0aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdERyYXdpbmdSZWN0KSk7CiAg
ICAgSW50UmVjdCBpbWFnZVJlY3QoSW50UG9pbnQoKSwgcmVzdWx0SW1hZ2UoKS0+c2l6ZSgpKTsK
IApAQCAtMTQ3LDEyICsxODIsOCBAQCB2b2lkIEZFR2F1c3NpYW5CbHVyOjphcHBseShGaWx0ZXIq
IGZpbHRlCiAgICAgfQogCiAgICAgdW5zaWduZWQga2VybmVsU2l6ZVggPSAwOwotICAgIGlmICht
X3N0ZFgpCi0gICAgICAgIGtlcm5lbFNpemVYID0gbWF4KDJVLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oZmxvb3IobV9zdGRYICogZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgoKSAqIGdH
YXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7Ci0KICAgICB1bnNpZ25lZCBrZXJuZWxTaXpl
WSA9IDA7Ci0gICAgaWYgKG1fc3RkWSkKLSAgICAgICAga2VybmVsU2l6ZVkgPSBtYXgoMlUsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihmbG9vcihtX3N0ZFkgKiBmaWx0ZXItPmZpbHRlclJlc29sdXRp
b24oKS5oZWlnaHQoKSAqIGdHYXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7CisgICAgY2Fs
Y3VsYXRlS2VybmVsU2l6ZShrZXJuZWxTaXplWCwga2VybmVsU2l6ZVksIG1fc3RkWCwgbV9zdGRZ
LCBmaWx0ZXIpOwogCiAgICAgQ2FudmFzUGl4ZWxBcnJheSogc3JjUGl4ZWxBcnJheShzcmNJbWFn
ZURhdGEtPmRhdGEoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gdG1wSW1hZ2VEYXRhID0gSW1h
Z2VEYXRhOjpjcmVhdGUoaW1hZ2VSZWN0LndpZHRoKCksIGltYWdlUmVjdC5oZWlnaHQoKSk7Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lh
bkJsdXIuaAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVHYXVzc2lhbkJsdXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2
b2lkIGR1bXAoKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWlu
dFJlY3QoRmlsdGVyKik7CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVz
ZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3BwCShyZXZp
c2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUxpZ2h0
aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDEyICsyNDcsMTIgQEAgdm9pZCBGRUxpZ2h0
aW5nOjphcHBseShGaWx0ZXIqIGZpbHRlcikKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIWVmZmVjdENvbnRleHQoKSkKKyAgICBpZiAoIWVm
ZmVjdENvbnRleHQoZmlsdGVyKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc2V0SXNBbHBoYUlt
YWdlKGZhbHNlKTsKIAotICAgIEludFJlY3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRS
ZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
KTsKKyAgICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1
dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0
YT4gc3JjSW1hZ2VEYXRhKGluLT5yZXN1bHRJbWFnZSgpLT5nZXRVbm11bHRpcGxpZWRJbWFnZURh
dGEoZWZmZWN0RHJhd2luZ1JlY3QpKTsKICAgICBDYW52YXNQaXhlbEFycmF5KiBzcmNQaXhlbEFy
cmF5KHNyY0ltYWdlRGF0YS0+ZGF0YSgpKTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFTWVyZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRU1lcmdlLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVNZXJnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUwLDEzICs1MCwxMyBAQCB2b2lkIEZFTWVyZ2U6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogICAg
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29u
dGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRl
eHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAg
ICAgICByZXR1cm47CiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7
CiAgICAgICAgIEZpbHRlckVmZmVjdCogaW4gPSBpbnB1dEVmZmVjdChpKTsKLSAgICAgICAgZmls
dGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xv
clNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxD
b29yZGluYXRlcygpKSk7CisgICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihp
bi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJ
bWFnZShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSkpOwogICAgIH0KIH0KIApJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5jcHAJKHJl
dmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9y
cGhvbG9neS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0LDYgKzc0LDE0IEBAIGZsb2F0IEZFTW9y
cGhvbG9neTo6cmFkaXVzWSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcmFkaXVzWTsKIH0KIAordm9p
ZCBGRU1vcnBob2xvZ3k6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciogZmlsdGVy
KQoreworICAgIEludFJlY3QgcGFpbnRSZWN0ID0gaW5wdXRFZmZlY3QoMCktPmFic29sdXRlUGFp
bnRSZWN0KCk7CisgICAgcGFpbnRSZWN0LmluZmxhdGVYKGZsb29yZihmaWx0ZXItPmFwcGx5SG9y
aXpvbnRhbFNjYWxlKG1fcmFkaXVzWCkpKTsKKyAgICBwYWludFJlY3QuaW5mbGF0ZVkoZmxvb3Jm
KGZpbHRlci0+YXBwbHlWZXJ0aWNhbFNjYWxlKG1fcmFkaXVzWSkpKTsKKyAgICBzZXRBYnNvbHV0
ZVBhaW50UmVjdChwYWludFJlY3QpOworfQorCiB2b2lkIEZFTW9ycGhvbG9neTo6c2V0UmFkaXVz
WShmbG9hdCByYWRpdXNZKQogewogICAgIG1fcmFkaXVzWSA9IHJhZGl1c1k7CkBAIC04NiwxOCAr
OTQsMTggQEAgdm9pZCBGRU1vcnBob2xvZ3k6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogICAgIGlm
ICghaW4tPnJlc3VsdEltYWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0
Q29udGV4dCgpKQorICAgIGlmICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1
cm47CiAKICAgICBzZXRJc0FscGhhSW1hZ2UoaW4tPmlzQWxwaGFJbWFnZSgpKTsKLQotICAgIGlu
dCByYWRpdXNYID0gc3RhdGljX2Nhc3Q8aW50PihtX3JhZGl1c1ggKiBmaWx0ZXItPmZpbHRlclJl
c29sdXRpb24oKS53aWR0aCgpKTsKLSAgICBpbnQgcmFkaXVzWSA9IHN0YXRpY19jYXN0PGludD4o
bV9yYWRpdXNZICogZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkuaGVpZ2h0KCkpOwotICAgIGlm
IChyYWRpdXNYIDw9IDAgfHwgcmFkaXVzWSA8PSAwKQorICAgIGlmIChtX3JhZGl1c1ggPD0gMCB8
fCBtX3JhZGl1c1kgPD0gMCkKICAgICAgICAgcmV0dXJuOwogCisgICAgaW50IHJhZGl1c1ggPSBm
bG9vcmYoZmlsdGVyLT5hcHBseUhvcml6b250YWxTY2FsZShtX3JhZGl1c1gpKTsKKyAgICBpbnQg
cmFkaXVzWSA9IGZsb29yZihmaWx0ZXItPmFwcGx5VmVydGljYWxTY2FsZShtX3JhZGl1c1kpKTsK
KwogICAgIEludFJlY3QgaW1hZ2VSZWN0KEludFBvaW50KCksIHJlc3VsdEltYWdlKCktPnNpemUo
KSk7Ci0gICAgSW50UmVjdCBlZmZlY3REcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5w
dXRJbWFnZURhdGEoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgIElu
dFJlY3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRh
KGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAgICBSZWZQdHI8Q2FudmFzUGl4ZWxBcnJheT4g
c3JjUGl4ZWxBcnJheShpbi0+cmVzdWx0SW1hZ2UoKS0+Z2V0UHJlbXVsdGlwbGllZEltYWdlRGF0
YShlZmZlY3REcmF3aW5nUmVjdCktPmRhdGEoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gaW1h
Z2VEYXRhID0gSW1hZ2VEYXRhOjpjcmVhdGUoaW1hZ2VSZWN0LndpZHRoKCksIGltYWdlUmVjdC5o
ZWlnaHQoKSk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU1v
cnBob2xvZ3kuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRkVNb3JwaG9sb2d5LmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0
OSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmly
dHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBh
aW50UmVjdChGaWx0ZXIqKTsKKwogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKIHByaXZhdGU6
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5j
cHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFT2Zmc2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTQgQEAgdm9pZCBGRU9m
ZnNldDo6c2V0RHkoZmxvYXQgZHkpCiAgICAgbV9keSA9IGR5OwogfQogCit2b2lkIEZFT2Zmc2V0
OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqIGZpbHRlcikKK3sKKyAgICBGbG9h
dFJlY3QgcGFpbnRSZWN0ID0gaW5wdXRFZmZlY3QoMCktPmFic29sdXRlUGFpbnRSZWN0KCk7Cisg
ICAgcGFpbnRSZWN0Lm1vdmUoZmlsdGVyLT5hcHBseUhvcml6b250YWxTY2FsZShtX2R4KSwgZmls
dGVyLT5hcHBseVZlcnRpY2FsU2NhbGUobV9keSkpOworICAgIHBhaW50UmVjdC5pbnRlcnNlY3Qo
bWF4RWZmZWN0UmVjdCgpKTsKKyAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChlbmNsb3NpbmdJbnRS
ZWN0KHBhaW50UmVjdCkpOworfQorCiB2b2lkIEZFT2Zmc2V0OjphcHBseShGaWx0ZXIqIGZpbHRl
cikKIHsKICAgICBGaWx0ZXJFZmZlY3QqIGluID0gaW5wdXRFZmZlY3QoMCk7CkBAIC02OSwyOCAr
NzcsMTUgQEAgdm9pZCBGRU9mZnNldDo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAgaWYgKCFp
bi0+cmVzdWx0SW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgR3JhcGhpY3NDb250ZXh0
KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dCgpOworICAgIEdyYXBoaWNzQ29udGV4dCog
ZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQoZmlsdGVyKTsKICAgICBpZiAoIWZpbHRlckNv
bnRleHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNldElzQWxwaGFJbWFnZShpbi0+aXNBbHBo
YUltYWdlKCkpOwogCi0gICAgRmxvYXRSZWN0IHNvdXJjZUltYWdlUmVjdCA9IGZpbHRlci0+c291
cmNlSW1hZ2VSZWN0KCk7Ci0gICAgc291cmNlSW1hZ2VSZWN0LnNjYWxlKGZpbHRlci0+ZmlsdGVy
UmVzb2x1dGlvbigpLndpZHRoKCksIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgp
KTsKLQotICAgIGlmIChmaWx0ZXItPmVmZmVjdEJvdW5kaW5nQm94TW9kZSgpKSB7Ci0gICAgICAg
IG1fZHggKj0gc291cmNlSW1hZ2VSZWN0LndpZHRoKCk7Ci0gICAgICAgIG1fZHkgKj0gc291cmNl
SW1hZ2VSZWN0LmhlaWdodCgpOwotICAgIH0KLSAgICBtX2R4ICo9IGZpbHRlci0+ZmlsdGVyUmVz
b2x1dGlvbigpLndpZHRoKCk7Ci0gICAgbV9keSAqPSBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24o
KS5oZWlnaHQoKTsKLQotICAgIEZsb2F0UmVjdCBkc3RSZWN0ID0gRmxvYXRSZWN0KG1fZHggKyBp
bi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS54KCkgLSByZXBhaW50UmVjdEluTG9j
YWxDb29yZGluYXRlcygpLngoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
X2R5ICsgaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkueSgpIC0gcmVwYWludFJl
Y3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS55KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkud2lkdGgoKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRp
bmF0ZXMoKS5oZWlnaHQoKSk7Ci0KLSAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIo
aW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRzdFJlY3QpOworICAgIEZsb2F0
UmVjdCBkcmF3aW5nUmVnaW9uID0gZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbi0+YWJzb2x1
dGVQYWludFJlY3QoKSk7CisgICAgZHJhd2luZ1JlZ2lvbi5tb3ZlKGZpbHRlci0+YXBwbHlIb3Jp
em9udGFsU2NhbGUobV9keCksIGZpbHRlci0+YXBwbHlWZXJ0aWNhbFNjYWxlKG1fZHkpKTsKKyAg
ICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmlj
ZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb24pOwogfQogCiB2b2lkIEZFT2Zmc2V0OjpkdW1wKCkK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5oCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9m
ZnNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgdm9pZCBhcHBseShGaWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOworICAg
IAorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKTsK
IAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3Ry
ZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRmlsdGVyLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCiAjaW5jbHVkZSAiUGF0dGVybi5oIgorI2luY2x1ZGUgIlNWR0ltYWdlQnVmZmVyVG9v
bHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCw3ICs0NSw3IEBAIEZsb2F0UmVj
dCBGRVRpbGU6OmRldGVybWluZUZpbHRlclByaW1pdGkKIHsKICAgICBpbnB1dEVmZmVjdCgwKS0+
ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKGZpbHRlcik7CiAKLSAgICBmaWx0ZXIt
PmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbih0aGlzLCBmaWx0ZXItPmZpbHRlclJl
Z2lvbigpKTsKKyAgICBmaWx0ZXItPmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbih0
aGlzLCBmaWx0ZXItPmZpbHRlclJlZ2lvbkluVXNlclNwYWNlKCkpOwogICAgIHJldHVybiBmaWx0
ZXJQcmltaXRpdmVTdWJyZWdpb24oKTsKIH0KIApAQCAtNTUsMzQgKzU2LDM1IEBAIHZvaWQgRkVU
aWxlOjphcHBseShGaWx0ZXIqIGZpbHRlcikKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBl
ZmZlY3RDb250ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZm
ZWN0Q29udGV4dChmaWx0ZXIpOwogICAgIGlmICghZmlsdGVyQ29udGV4dCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgc2V0SXNBbHBoYUltYWdlKGluLT5pc0FscGhhSW1hZ2UoKSk7CiAKLSAgICBJ
bnRSZWN0IHRpbGVSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChpbi0+cmVwYWludFJlY3RJbkxvY2Fs
Q29vcmRpbmF0ZXMoKSk7Ci0KICAgICAvLyBTb3VyY2UgaW5wdXQgbmVlZHMgbW9yZSBhdHRlbnRp
b24uIEl0IGhhcyB0aGUgc2l6ZSBvZiB0aGUgZmlsdGVyUmVnaW9uIGJ1dCBnaXZlcyB0aGUKICAg
ICAvLyBzaXplIG9mIHRoZSBjdXR0ZWQgc291cmNlSW1hZ2UgYmFjay4gVGhpcyBpcyBwYXJ0IG9m
IHRoZSBzcGVjaWZpY2F0aW9uIGFuZCBvcHRpbWl6YXRpb24uCisgICAgRmxvYXRSZWN0IHRpbGVS
ZWN0ID0gaW4tPm1heEVmZmVjdFJlY3QoKTsKICAgICBpZiAoaW4tPmlzU291cmNlSW5wdXQoKSkg
ewotICAgICAgICBGbG9hdFJlY3QgZmlsdGVyUmVnaW9uID0gZmlsdGVyLT5maWx0ZXJSZWdpb24o
KTsKLSAgICAgICAgZmlsdGVyUmVnaW9uLnNjYWxlKGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigp
LndpZHRoKCksIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpKTsKLSAgICAgICAg
dGlsZVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGZpbHRlclJlZ2lvbik7CisgICAgICAgIHRpbGVS
ZWN0ID0gZmlsdGVyLT5maWx0ZXJSZWdpb24oKTsKKyAgICAgICAgdGlsZVJlY3Quc2NhbGUoZmls
dGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgoKSwgZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9u
KCkuaGVpZ2h0KCkpOwogICAgIH0KIAotICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gdGlsZUltYWdl
ID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZSh0aWxlUmVjdC5zaXplKCkpOworICAgIE93blB0cjxJbWFn
ZUJ1ZmZlcj4gdGlsZUltYWdlOworICAgIGlmICghU1ZHSW1hZ2VCdWZmZXJUb29sczo6Y3JlYXRl
SW1hZ2VCdWZmZXIodGlsZVJlY3QsIHRpbGVSZWN0LCB0aWxlSW1hZ2UsIERldmljZVJHQikpCisg
ICAgICAgIHJldHVybjsKKwogICAgIEdyYXBoaWNzQ29udGV4dCogdGlsZUltYWdlQ29udGV4dCA9
IHRpbGVJbWFnZS0+Y29udGV4dCgpOwotICAgIHRpbGVJbWFnZUNvbnRleHQtPmRyYXdJbWFnZUJ1
ZmZlcihpbi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgSW50UG9pbnQoKSk7Ci0g
ICAgUmVmUHRyPFBhdHRlcm4+IHBhdHRlcm4gPSBQYXR0ZXJuOjpjcmVhdGUodGlsZUltYWdlLT5j
b3B5SW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7CisgICAgdGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRl
KC1pbi0+bWF4RWZmZWN0UmVjdCgpLngoKSwgLWluLT5tYXhFZmZlY3RSZWN0KCkueSgpKTsKKyAg
ICB0aWxlSW1hZ2VDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERl
dmljZUNvbG9yU3BhY2UsIGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpLmxvY2F0aW9uKCkpOwogCi0g
ICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKLSAgICBtYXRyaXgudHJhbnNsYXRlKGluLT5yZXBh
aW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLngoKSAtIHJlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzKCkueCgpLAotICAgICAgICAgICAgICAgICAgICAgaW4tPnJlcGFpbnRSZWN0SW5Mb2Nh
bENvb3JkaW5hdGVzKCkueSgpIC0gcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS55KCkp
OwotICAgIHBhdHRlcm4uZ2V0KCktPnNldFBhdHRlcm5TcGFjZVRyYW5zZm9ybShtYXRyaXgpOwor
ICAgIFJlZlB0cjxQYXR0ZXJuPiBwYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGVJbWFnZS0+
Y29weUltYWdlKCksIHRydWUsIHRydWUpOwogCisgICAgQWZmaW5lVHJhbnNmb3JtIHBhdHRlcm5U
cmFuc2Zvcm07CisgICAgcGF0dGVyblRyYW5zZm9ybS50cmFuc2xhdGUoaW4tPm1heEVmZmVjdFJl
Y3QoKS54KCkgLSBtYXhFZmZlY3RSZWN0KCkueCgpLCBpbi0+bWF4RWZmZWN0UmVjdCgpLnkoKSAt
IG1heEVmZmVjdFJlY3QoKS55KCkpOworICAgIHBhdHRlcm4tPnNldFBhdHRlcm5TcGFjZVRyYW5z
Zm9ybShwYXR0ZXJuVHJhbnNmb3JtKTsKICAgICBmaWx0ZXJDb250ZXh0LT5zZXRGaWxsUGF0dGVy
bihwYXR0ZXJuKTsKLSAgICBmaWx0ZXJDb250ZXh0LT5maWxsUmVjdChGbG9hdFJlY3QoRmxvYXRQ
b2ludCgpLCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLnNpemUoKSkpOworICAgIGZp
bHRlckNvbnRleHQtPmZpbGxSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIGFic29sdXRlUGFp
bnRSZWN0KCkuc2l6ZSgpKSk7CiB9CiAKIHZvaWQgRkVUaWxlOjpkdW1wKCkKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUaWxlLmgJKHJldmlzaW9uIDY5MTIwKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVGlsZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw2ICszNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmls
dGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkZXRl
cm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKSB7IHNldEFic29sdXRlUGFpbnRSZWN0KG1h
eEVmZmVjdFJlY3QoKSk7IH0KKwogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKICAgICB2aXJ0
dWFsIEZsb2F0UmVjdCBkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVyKik7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxlbmNlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJi
dWxlbmNlLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRkVUdXJidWxlbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIxLDcgKzMyMSw3
IEBAIHVuc2lnbmVkIGNoYXIgRkVUdXJidWxlbmNlOjpjYWxjdWxhdGVUdXIKIAogdm9pZCBGRVR1
cmJ1bGVuY2U6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogewotICAgIGlmICghZWZmZWN0Q29udGV4
dCgpKQorICAgIGlmICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBJbnRSZWN0IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkp
OwpAQCAtMzI5LDEwICszMjksMTAgQEAgdm9pZCBGRVR1cmJ1bGVuY2U6OmFwcGx5KEZpbHRlciog
ZmlsdGVyKQogICAgICAgICByZXR1cm47CiAKICAgICBSZWZQdHI8SW1hZ2VEYXRhPiBpbWFnZURh
dGEgPSBJbWFnZURhdGE6OmNyZWF0ZShpbWFnZVJlY3Qud2lkdGgoKSwgaW1hZ2VSZWN0LmhlaWdo
dCgpKTsKLSAgICBQYWludGluZ0RhdGEgcGFpbnRpbmdEYXRhKG1fc2VlZCwgaW1hZ2VSZWN0LnNp
emUoKSk7CisgICAgUGFpbnRpbmdEYXRhIHBhaW50aW5nRGF0YShtX3NlZWQsIHJvdW5kZWRJbnRT
aXplKGZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbigpLnNpemUoKSkpOwogICAgIGluaXRQYWludChw
YWludGluZ0RhdGEpOwogCi0gICAgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbiA9IGZpbHRlci0+Zmls
dGVyUmVnaW9uKCk7CisgICAgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbiA9IGFic29sdXRlUGFpbnRS
ZWN0KCk7CiAgICAgRmxvYXRQb2ludCBwb2ludDsKICAgICBwb2ludC5zZXRZKGZpbHRlclJlZ2lv
bi55KCkpOwogICAgIGludCBpbmRleE9mUGl4ZWxDaGFubmVsID0gMDsKQEAgLTM0Miw3ICszNDIs
NyBAQCB2b2lkIEZFVHVyYnVsZW5jZTo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAgICAgIGZv
ciAoaW50IHggPSAwOyB4IDwgaW1hZ2VSZWN0LndpZHRoKCk7ICsreCkgewogICAgICAgICAgICAg
cG9pbnQuc2V0WChwb2ludC54KCkgKyAxKTsKICAgICAgICAgICAgIGZvciAocGFpbnRpbmdEYXRh
LmNoYW5uZWwgPSAwOyBwYWludGluZ0RhdGEuY2hhbm5lbCA8IDQ7ICsrcGFpbnRpbmdEYXRhLmNo
YW5uZWwsICsraW5kZXhPZlBpeGVsQ2hhbm5lbCkKLSAgICAgICAgICAgICAgICBpbWFnZURhdGEt
PmRhdGEoKS0+c2V0KGluZGV4T2ZQaXhlbENoYW5uZWwsIGNhbGN1bGF0ZVR1cmJ1bGVuY2VWYWx1
ZUZvclBvaW50KHBhaW50aW5nRGF0YSwgcG9pbnQpKTsKKyAgICAgICAgICAgICAgICBpbWFnZURh
dGEtPmRhdGEoKS0+c2V0KGluZGV4T2ZQaXhlbENoYW5uZWwsIGNhbGN1bGF0ZVR1cmJ1bGVuY2VW
YWx1ZUZvclBvaW50KHBhaW50aW5nRGF0YSwgZmlsdGVyLT5tYXBBYnNvbHV0ZVBvaW50VG9Mb2Nh
bFBvaW50KHBvaW50KSkpOwogICAgICAgICB9CiAgICAgfQogICAgIHJlc3VsdEltYWdlKCktPnB1
dFVubXVsdGlwbGllZEltYWdlRGF0YShpbWFnZURhdGEuZ2V0KCksIGltYWdlUmVjdCwgSW50UG9p
bnQoKSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxl
bmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZF
VHVyYnVsZW5jZS5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRVR1cmJ1bGVuY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsOCBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVh
bCB2b2lkIGR1bXAoKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQ
YWludFJlY3QoRmlsdGVyKikgeyBzZXRBYnNvbHV0ZVBhaW50UmVjdChtYXhFZmZlY3RSZWN0KCkp
OyB9CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4
dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlci5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDQs
MTEgKzQ0LDE4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRmxvYXRTaXplIGZpbHRl
clJlc29sdXRpb24oKSBjb25zdCB7IHJldHVybiBtX2ZpbHRlclJlc29sdXRpb247IH0KICAgICAg
ICAgdm9pZCBzZXRGaWx0ZXJSZXNvbHV0aW9uKGNvbnN0IEZsb2F0U2l6ZSYgZmlsdGVyUmVzb2x1
dGlvbikgeyBtX2ZpbHRlclJlc29sdXRpb24gPSBmaWx0ZXJSZXNvbHV0aW9uOyB9CiAKKyAgICAg
ICAgdmlydHVhbCBmbG9hdCBhcHBseUhvcml6b250YWxTY2FsZShmbG9hdCB2YWx1ZSkgY29uc3Qg
eyByZXR1cm4gdmFsdWUgKiBtX2ZpbHRlclJlc29sdXRpb24ud2lkdGgoKTsgfQorICAgICAgICB2
aXJ0dWFsIGZsb2F0IGFwcGx5VmVydGljYWxTY2FsZShmbG9hdCB2YWx1ZSkgY29uc3QgeyByZXR1
cm4gdmFsdWUgKiBtX2ZpbHRlclJlc29sdXRpb24uaGVpZ2h0KCk7IH0KKyAgICAgICAgCiAgICAg
ICAgIHZpcnR1YWwgRmxvYXRSZWN0IHNvdXJjZUltYWdlUmVjdCgpIGNvbnN0ID0gMDsKICAgICAg
ICAgdmlydHVhbCBGbG9hdFJlY3QgZmlsdGVyUmVnaW9uKCkgY29uc3QgPSAwOworICAgICAgICAK
KyAgICAgICAgdmlydHVhbCBGbG9hdFBvaW50IG1hcEFic29sdXRlUG9pbnRUb0xvY2FsUG9pbnQo
Y29uc3QgRmxvYXRQb2ludCYpIGNvbnN0IHsgcmV0dXJuIEZsb2F0UG9pbnQoKTsgfQogCiAgICAg
ICAgIC8vIFNWRyBzcGVjaWZpYwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lRmlsdGVy
UHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlckVmZmVjdCosIGNvbnN0IEZsb2F0UmVjdCYpIHsgfQor
ICAgICAgICAKKyAgICAgICAgdmlydHVhbCBGbG9hdFJlY3QgZmlsdGVyUmVnaW9uSW5Vc2VyU3Bh
Y2UoKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQogCiAgICAgICAgIHZpcnR1YWwgRmxv
YXRTaXplIG1heEltYWdlU2l6ZSgpIGNvbnN0ID0gMDsKICAgICAgICAgdmlydHVhbCBib29sIGVm
ZmVjdEJvdW5kaW5nQm94TW9kZSgpIGNvbnN0ID0gMDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwCShyZXZpc2lvbiA2OTEy
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIEZsb2F0UmVjdCBGaWx0ZXJFZmZlY3Q6
OmRldGVybWluZUZpbHRlclAKIAogICAgIC8vIEZFVHVyYnVsZW5jZSwgRkVJbWFnZSBhbmQgRkVG
bG9vZCBkb24ndCBoYXZlIGlucHV0IGVmZmVjdHMsIHRha2UgdGhlIGZpbHRlciByZWdpb24gYXMg
dW5pdGUgcmVjdC4KICAgICBpZiAoIXNpemUpCi0gICAgICAgIHVuaXRlUmVjdCA9IGZpbHRlci0+
ZmlsdGVyUmVnaW9uKCk7CisgICAgICAgIHVuaXRlUmVjdCA9IGZpbHRlci0+ZmlsdGVyUmVnaW9u
SW5Vc2VyU3BhY2UoKTsKICAgICBlbHNlIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHNpemU7ICsraSkKICAgICAgICAgICAgIHVuaXRlUmVjdC51bml0ZShtX2lucHV0RWZmZWN0
cy5hdChpKS0+ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKGZpbHRlcikpOwpAQCAt
NTYsMTggKzU2LDI5IEBAIEZsb2F0UmVjdCBGaWx0ZXJFZmZlY3Q6OmRldGVybWluZUZpbHRlclAK
ICAgICByZXR1cm4gbV9maWx0ZXJQcmltaXRpdmVTdWJyZWdpb247CiB9CiAKLUludFJlY3QgRmls
dGVyRWZmZWN0OjpyZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGNvbnN0IEZsb2F0UmVj
dCYgZWZmZWN0UmVjdCkgY29uc3QKK3ZvaWQgRmlsdGVyRWZmZWN0OjpkZXRlcm1pbmVBYnNvbHV0
ZVBhaW50UmVjdChGaWx0ZXIqKQoreworICAgIG1fYWJzb2x1dGVQYWludFJlY3QgPSBJbnRSZWN0
KCk7CisgICAgdW5zaWduZWQgc2l6ZSA9IG1faW5wdXRFZmZlY3RzLnNpemUoKTsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICBtX2Fic29sdXRlUGFpbnRS
ZWN0LnVuaXRlKG1faW5wdXRFZmZlY3RzLmF0KGkpLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKKyAg
ICAKKyAgICAvLyBTVkcgc3BlY2lmaWNhdGlvbiB3YW50cyB1cyB0byBjbGlwIHRvIHByaW1pdGl2
ZSBzdWJyZWdpb24uCisgICAgbV9hYnNvbHV0ZVBhaW50UmVjdC5pbnRlcnNlY3QobV9tYXhFZmZl
Y3RSZWN0KTsKK30KKworSW50UmVjdCBGaWx0ZXJFZmZlY3Q6OnJlcXVlc3RlZFJlZ2lvbk9mSW5w
dXRJbWFnZURhdGEoY29uc3QgSW50UmVjdCYgZWZmZWN0UmVjdCkgY29uc3QKIHsKICAgICBBU1NF
UlQobV9lZmZlY3RCdWZmZXIpOwotICAgIEZsb2F0UG9pbnQgbG9jYXRpb24gPSBtX3JlcGFpbnRS
ZWN0SW5Mb2NhbENvb3JkaW5hdGVzLmxvY2F0aW9uKCk7CisgICAgSW50UG9pbnQgbG9jYXRpb24g
PSBtX2Fic29sdXRlUGFpbnRSZWN0LmxvY2F0aW9uKCk7CiAgICAgbG9jYXRpb24ubW92ZSgtZWZm
ZWN0UmVjdC54KCksIC1lZmZlY3RSZWN0LnkoKSk7Ci0gICAgcmV0dXJuIEludFJlY3Qocm91bmRl
ZEludFBvaW50KGxvY2F0aW9uKSwgbV9lZmZlY3RCdWZmZXItPnNpemUoKSk7CisgICAgcmV0dXJu
IEludFJlY3QobG9jYXRpb24sIG1fZWZmZWN0QnVmZmVyLT5zaXplKCkpOwogfQogCi1GbG9hdFJl
Y3QgRmlsdGVyRWZmZWN0OjpkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGNvbnN0IEZsb2F0UmVj
dCYgc3JjUmVjdCkgY29uc3QKK0ludFJlY3QgRmlsdGVyRWZmZWN0OjpkcmF3aW5nUmVnaW9uT2ZJ
bnB1dEltYWdlKGNvbnN0IEludFJlY3QmIHNyY1JlY3QpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIEZs
b2F0UmVjdChGbG9hdFBvaW50KHNyY1JlY3QueCgpIC0gbV9yZXBhaW50UmVjdEluTG9jYWxDb29y
ZGluYXRlcy54KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY1JlY3QueSgp
IC0gbV9yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcy55KCkpLCBzcmNSZWN0LnNpemUoKSk7
CisgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQoc3JjUmVjdC54KCkgLSBtX2Fic29sdXRlUGFp
bnRSZWN0LngoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNSZWN0LnkoKSAtIG1f
YWJzb2x1dGVQYWludFJlY3QueSgpKSwgc3JjUmVjdC5zaXplKCkpOwogfQogCiBGaWx0ZXJFZmZl
Y3QqIEZpbHRlckVmZmVjdDo6aW5wdXRFZmZlY3QodW5zaWduZWQgbnVtYmVyKSBjb25zdApAQCAt
NzYsMTAgKzg3LDEyIEBAIEZpbHRlckVmZmVjdCogRmlsdGVyRWZmZWN0OjppbnB1dEVmZmVjdCgK
ICAgICByZXR1cm4gbV9pbnB1dEVmZmVjdHMuYXQobnVtYmVyKS5nZXQoKTsKIH0KIAotR3JhcGhp
Y3NDb250ZXh0KiBGaWx0ZXJFZmZlY3Q6OmVmZmVjdENvbnRleHQoKQorR3JhcGhpY3NDb250ZXh0
KiBGaWx0ZXJFZmZlY3Q6OmVmZmVjdENvbnRleHQoRmlsdGVyKiBmaWx0ZXIpCiB7Ci0gICAgSW50
UmVjdCBidWZmZXJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChtX3JlcGFpbnRSZWN0SW5Mb2NhbENv
b3JkaW5hdGVzKTsKLSAgICBtX2VmZmVjdEJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoYnVm
ZmVyUmVjdC5zaXplKCksIExpbmVhclJHQik7CisgICAgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJl
Y3QoZmlsdGVyKTsKKyAgICBpZiAobV9hYnNvbHV0ZVBhaW50UmVjdC5pc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybiAwOworICAgIG1fZWZmZWN0QnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZSht
X2Fic29sdXRlUGFpbnRSZWN0LnNpemUoKSwgTGluZWFyUkdCKTsKICAgICBpZiAoIW1fZWZmZWN0
QnVmZmVyKQogICAgICAgICByZXR1cm4gMDsKICAgICByZXR1cm4gbV9lZmZlY3RCdWZmZXItPmNv
bnRleHQoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJF
ZmZlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RmlsdGVyRWZmZWN0LmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwyNSArNDks
MzAgQEAgcHVibGljOgogCiAgICAgLy8gQ3JlYXRlcyB0aGUgSW1hZ2VCdWZmZXIgZm9yIHRoZSBj
dXJyZW50IGZpbHRlciBwcmltaXRpdmUgcmVzdWx0IGluIHRoZSBzaXplIG9mIHRoZQogICAgIC8v
IHJlcGFpbnRSZWN0LiBHaXZlcyBiYWNrIHRoZSBHcmFwaGljc0NvbnRleHQgb2YgdGhlIG93biBJ
bWFnZUJ1ZmZlci4KLSAgICBHcmFwaGljc0NvbnRleHQqIGVmZmVjdENvbnRleHQoKTsKKyAgICBH
cmFwaGljc0NvbnRleHQqIGVmZmVjdENvbnRleHQoRmlsdGVyKik7CiAKICAgICBGaWx0ZXJFZmZl
Y3RWZWN0b3ImIGlucHV0RWZmZWN0cygpIHsgcmV0dXJuIG1faW5wdXRFZmZlY3RzOyB9CiAgICAg
RmlsdGVyRWZmZWN0KiBpbnB1dEVmZmVjdCh1bnNpZ25lZCkgY29uc3Q7CiAgICAgdW5zaWduZWQg
bnVtYmVyT2ZFZmZlY3RJbnB1dHMoKSBjb25zdCB7IHJldHVybiBtX2lucHV0RWZmZWN0cy5zaXpl
KCk7IH0KIAotICAgIEZsb2F0UmVjdCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGNvbnN0IEZs
b2F0UmVjdCYpIGNvbnN0OwotICAgIEludFJlY3QgcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdl
RGF0YShjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKKyAgICBJbnRSZWN0IGRyYXdpbmdSZWdpb25P
ZklucHV0SW1hZ2UoY29uc3QgSW50UmVjdCYpIGNvbnN0OworICAgIEludFJlY3QgcmVxdWVzdGVk
UmVnaW9uT2ZJbnB1dEltYWdlRGF0YShjb25zdCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICAvLyBT
b2xpZCBibGFjayBpbWFnZSB3aXRoIGRpZmZlcmVudCBhbHBoYSB2YWx1ZXMuCiAgICAgYm9vbCBp
c0FscGhhSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX2FscGhhSW1hZ2U7IH0KICAgICB2b2lkIHNl
dElzQWxwaGFJbWFnZShib29sIGFscGhhSW1hZ2UpIHsgbV9hbHBoYUltYWdlID0gYWxwaGFJbWFn
ZTsgfQogCi0gICAgRmxvYXRSZWN0IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkgY29u
c3QgeyByZXR1cm4gbV9yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlczsgfQotICAgIHZvaWQg
c2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoY29uc3QgRmxvYXRSZWN0JiByZXBhaW50
UmVjdEluTG9jYWxDb29yZGluYXRlcykgeyBtX3JlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVz
ID0gcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXM7IH0KKyAgICBJbnRSZWN0IGFic29sdXRl
UGFpbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9hYnNvbHV0ZVBhaW50UmVjdDsgfQorICAgIHZv
aWQgc2V0QWJzb2x1dGVQYWludFJlY3QoY29uc3QgSW50UmVjdCYgYWJzb2x1dGVQYWludFJlY3Qp
IHsgbV9hYnNvbHV0ZVBhaW50UmVjdCA9IGFic29sdXRlUGFpbnRSZWN0OyB9CisgICAgCisgICAg
SW50UmVjdCBtYXhFZmZlY3RSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9tYXhFZmZlY3RSZWN0OyB9
CisgICAgdm9pZCBzZXRNYXhFZmZlY3RSZWN0KGNvbnN0IEludFJlY3QmIG1heEVmZmVjdFJlY3Qp
IHsgbV9tYXhFZmZlY3RSZWN0ID0gbWF4RWZmZWN0UmVjdDsgfSAKIAogICAgIHZpcnR1YWwgdm9p
ZCBhcHBseShGaWx0ZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKSA9IDA7CiAKKyAg
ICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKik7CisgICAg
CiAgICAgdmlydHVhbCBib29sIGlzU291cmNlSW5wdXQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRT
dHJlYW0mLCBpbnQgaW5kZW50aW9uID0gMCkgY29uc3Q7CkBAIC04Nyw3ICs5Miw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGhhc0hlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzSGVpZ2h0OyB9CiAg
ICAgdm9pZCBzZXRIYXNIZWlnaHQoYm9vbCB2YWx1ZSkgeyBtX2hhc0hlaWdodCA9IHZhbHVlOyB9
CiAKLSAgICAvLyBGSVhNRTogUHNldWRvIHByaW1pdGl2ZXMgbGlrZSBTb3VyY2VHcmFwaGljIGFu
ZCBTb3VyY2VBbHBoYSBhcyB3ZWxsIGFzIEZFVGlsZSBzdGlsbCBuZWVkIHNwZWNpYWwgaGFuZGxp
bmcuCisgICAgLy8gRklYTUU6IEZFVGlsZSBzdGlsbCBuZWVkcyBzcGVjaWFsIGhhbmRsaW5nLgog
ICAgIHZpcnR1YWwgRmxvYXRSZWN0IGRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihG
aWx0ZXIqKTsKIAogICAgIEZsb2F0UmVjdCBmaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKSBjb25z
dCB7IHJldHVybiBtX2ZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbjsgfQpAQCAtMTA1LDggKzExMCwx
MSBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2FscGhhSW1hZ2U7CiAKLSAgICAvLyBGSVhNRTog
U2hvdWxkIGJlIHRoZSBwYWludCByZWdpb24gb2YgdGhlIGZpbHRlciBwcmltaXRpdmUsIGluc3Rl
YWQgb2YgdGhlIHNjYWxlZCBzdWJyZWdpb24gb24gdXNlIG9mIGZpbHRlclJlcy4KLSAgICBGbG9h
dFJlY3QgbV9yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlczsKKyAgICBJbnRSZWN0IG1fYWJz
b2x1dGVQYWludFJlY3Q7CisgICAgCisgICAgLy8gVGhlIG1heGltdW0gc2l6ZSBvZiBhIGZpbHRl
ciBwcmltaXRpdmUuIEluIFNWRyB0aGlzIGlzIHRoZSBwcmltaXRpdmUgc3VicmVnaW9uIGluIGFi
c29sdXRlIGNvb3JkaW5hdGUgc3BhY2UuCisgICAgLy8gVGhlIGFic29sdXRlIHBhaW50IHJlY3Qg
c2hvdWxkIG5ldmVyIGJlIGJpZ2dlciB0aGFuIG1fbWF4RWZmZWN0UmVjdC4KKyAgICBJbnRSZWN0
IG1fbWF4RWZmZWN0UmVjdDsKIAogcHJpdmF0ZToKICAgICAvLyBUaGUgZm9sbG93aW5nIG1lbWJl
ciB2YXJpYWJsZXMgYXJlIFNWRyBzcGVjaWZpYyBhbmQgd2lsbCBtb3ZlIHRvIFJlbmRlclNWR1Jl
c291cmNlRmlsdGVyUHJpbWl0aXZlLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL1NvdXJjZUFscGhhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDIyICs0MiwxNiBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFNvdXJjZUFscGhhOjpl
ZmZlY3ROCiAgICAgcmV0dXJuIHNfZWZmZWN0TmFtZTsKIH0KIAotRmxvYXRSZWN0IFNvdXJjZUFs
cGhhOjpkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVyKiBmaWx0ZXIpCit2
b2lkIFNvdXJjZUFscGhhOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqIGZpbHRl
cikKIHsKICAgICBGbG9hdFJlY3QgY2xpcHBlZFNvdXJjZVJlY3QgPSBmaWx0ZXItPnNvdXJjZUlt
YWdlUmVjdCgpOwotICAgIGlmIChmaWx0ZXItPnNvdXJjZUltYWdlUmVjdCgpLngoKSA8IGZpbHRl
ci0+ZmlsdGVyUmVnaW9uKCkueCgpKQotICAgICAgICBjbGlwcGVkU291cmNlUmVjdC5zZXRYKGZp
bHRlci0+ZmlsdGVyUmVnaW9uKCkueCgpKTsKLSAgICBpZiAoZmlsdGVyLT5zb3VyY2VJbWFnZVJl
Y3QoKS55KCkgPCBmaWx0ZXItPmZpbHRlclJlZ2lvbigpLnkoKSkKLSAgICAgICAgY2xpcHBlZFNv
dXJjZVJlY3Quc2V0WShmaWx0ZXItPmZpbHRlclJlZ2lvbigpLnkoKSk7Ci0gICAgc2V0RmlsdGVy
UHJpbWl0aXZlU3VicmVnaW9uKGNsaXBwZWRTb3VyY2VSZWN0KTsKICAgICBjbGlwcGVkU291cmNl
UmVjdC5zY2FsZShmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS53aWR0aCgpLCBmaWx0ZXItPmZp
bHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7Ci0gICAgc2V0UmVwYWludFJlY3RJbkxvY2FsQ29v
cmRpbmF0ZXMoY2xpcHBlZFNvdXJjZVJlY3QpOwotICAgIHJldHVybiBmaWx0ZXItPmZpbHRlclJl
Z2lvbigpOworICAgIHNldEFic29sdXRlUGFpbnRSZWN0KGVuY2xvc2luZ0ludFJlY3QoY2xpcHBl
ZFNvdXJjZVJlY3QpKTsKIH0KIAogdm9pZCBTb3VyY2VBbHBoYTo6YXBwbHkoRmlsdGVyKiBmaWx0
ZXIpCiB7Ci0gICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4
dCgpOworICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQo
ZmlsdGVyKTsKICAgICBpZiAoIWZpbHRlckNvbnRleHQpCiAgICAgICAgIHJldHVybjsKIApJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmgJ
KHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1Nv
dXJjZUFscGhhLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDExICszNCwxMSBAQCBwdWJsaWM6ICAg
ICAgICAKIAogICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIGVmZmVjdE5hbWUoKTsKIAot
ICAgIHZpcnR1YWwgRmxvYXRSZWN0IGRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihG
aWx0ZXIqKTsKLQogICAgIHZpcnR1YWwgdm9pZCBhcHBseShGaWx0ZXIqKTsKICAgICB2aXJ0dWFs
IHZvaWQgZHVtcCgpOwogCisgICAgdmlydHVhbCB2b2lkIGRldGVybWluZUFic29sdXRlUGFpbnRS
ZWN0KEZpbHRlciopOworCiAgICAgdmlydHVhbCBib29sIGlzU291cmNlSW5wdXQoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVz
ZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAko
cmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291
cmNlR3JhcGhpYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDIyICs0MSwxNiBAQCBjb25zdCBB
dG9taWNTdHJpbmcmIFNvdXJjZUdyYXBoaWM6OmVmZmVjCiAgICAgcmV0dXJuIHNfZWZmZWN0TmFt
ZTsKIH0KIAotRmxvYXRSZWN0IFNvdXJjZUdyYXBoaWM6OmRldGVybWluZUZpbHRlclByaW1pdGl2
ZVN1YnJlZ2lvbihGaWx0ZXIqIGZpbHRlcikKK3ZvaWQgU291cmNlR3JhcGhpYzo6ZGV0ZXJtaW5l
QWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKiBmaWx0ZXIpCiB7CiAgICAgRmxvYXRSZWN0IGNsaXBw
ZWRTb3VyY2VSZWN0ID0gZmlsdGVyLT5zb3VyY2VJbWFnZVJlY3QoKTsKLSAgICBpZiAoZmlsdGVy
LT5zb3VyY2VJbWFnZVJlY3QoKS54KCkgPCBmaWx0ZXItPmZpbHRlclJlZ2lvbigpLngoKSkKLSAg
ICAgICAgY2xpcHBlZFNvdXJjZVJlY3Quc2V0WChmaWx0ZXItPmZpbHRlclJlZ2lvbigpLngoKSk7
Ci0gICAgaWYgKGZpbHRlci0+c291cmNlSW1hZ2VSZWN0KCkueSgpIDwgZmlsdGVyLT5maWx0ZXJS
ZWdpb24oKS55KCkpCi0gICAgICAgIGNsaXBwZWRTb3VyY2VSZWN0LnNldFkoZmlsdGVyLT5maWx0
ZXJSZWdpb24oKS55KCkpOwotICAgIHNldEZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihjbGlwcGVk
U291cmNlUmVjdCk7CiAgICAgY2xpcHBlZFNvdXJjZVJlY3Quc2NhbGUoZmlsdGVyLT5maWx0ZXJS
ZXNvbHV0aW9uKCkud2lkdGgoKSwgZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkuaGVpZ2h0KCkp
OwotICAgIHNldFJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKGNsaXBwZWRTb3VyY2VSZWN0
KTsKLSAgICByZXR1cm4gZmlsdGVyLT5maWx0ZXJSZWdpb24oKTsKKyAgICBzZXRBYnNvbHV0ZVBh
aW50UmVjdChlbmNsb3NpbmdJbnRSZWN0KGNsaXBwZWRTb3VyY2VSZWN0KSk7CiB9CiAKIHZvaWQg
U291cmNlR3JhcGhpYzo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7Ci0gICAgR3JhcGhpY3NDb250
ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dCgpOworICAgIEdyYXBoaWNzQ29udGV4
dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQoZmlsdGVyKTsKICAgICBpZiAoIWZpbHRl
ckNvbnRleHQpCiAgICAgICAgIHJldHVybjsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5oCShyZXZpc2lvbiA2OTEyMCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM1LDExICszNSwxMSBAQCBwdWJsaWM6ICAgICAgICAKIAogICAgIHN0YXRp
YyBjb25zdCBBdG9taWNTdHJpbmcmIGVmZmVjdE5hbWUoKTsKIAotICAgIHZpcnR1YWwgRmxvYXRS
ZWN0IGRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihGaWx0ZXIqKTsKLQogICAgIHZp
cnR1YWwgdm9pZCBhcHBseShGaWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOwogCisg
ICAgdmlydHVhbCB2b2lkIGRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopOworCiAg
ICAgdmlydHVhbCBib29sIGlzU291cmNlSW5wdXQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAK
ICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVh
bSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5
LDYgKzM5LDcgQEAKICNpbmNsdWRlICJTVkdGaWx0ZXIuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJF
bGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
LmgiCisjaW5jbHVkZSAiU1ZHSW1hZ2VCdWZmZXJUb29scy5oIgogI2luY2x1ZGUgIlNWR1N0eWxl
ZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdVbml0VHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CkBAIC0xNTAsNzAgKzE1MSw5MyBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlRmlsdGVy
OjphcHBseVJlc291CiAgICAgfQogCiAgICAgT3duUHRyPEZpbHRlckRhdGE+IGZpbHRlckRhdGEo
bmV3IEZpbHRlckRhdGEpOworICAgIEZsb2F0UmVjdCB0YXJnZXRCb3VuZGluZ0JveCA9IG9iamVj
dC0+b2JqZWN0Qm91bmRpbmdCb3goKTsKKworICAgIFNWR0ZpbHRlckVsZW1lbnQqIGZpbHRlckVs
ZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdGaWx0ZXJFbGVtZW50Kj4obm9kZSgpKTsKKyAgICBmaWx0
ZXJEYXRhLT5ib3VuZGFyaWVzID0gZmlsdGVyRWxlbWVudC0+ZmlsdGVyQm91bmRpbmdCb3godGFy
Z2V0Qm91bmRpbmdCb3gpOworICAgIGlmIChmaWx0ZXJEYXRhLT5ib3VuZGFyaWVzLmlzRW1wdHko
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gRGV0ZXJtaW5lIGFic29sdXRlIHRy
YW5zZm9ybWF0aW9uIG1hdHJpeCBmb3IgZmlsdGVyLiAKKyAgICBBZmZpbmVUcmFuc2Zvcm0gYWJz
b2x1dGVUcmFuc2Zvcm07CisgICAgU1ZHSW1hZ2VCdWZmZXJUb29sczo6Y2FsY3VsYXRlVHJhbnNm
b3JtYXRpb25Ub091dGVybW9zdFNWR0Nvb3JkaW5hdGVTeXN0ZW0ob2JqZWN0LCBhYnNvbHV0ZVRy
YW5zZm9ybSk7CisgICAgaWYgKCFhYnNvbHV0ZVRyYW5zZm9ybS5pc0ludmVydGlibGUoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gRWxpbWluYXRlIHNoZWFyIG9mIHRoZSBhYnNv
bHV0ZSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggdG8gaW5jcmVhc2UgdGhlIHF1YWxpdHkgb2YgcmVz
dWx0cyBpbiBmZVRpbGUuIAorICAgIGZpbHRlckRhdGEtPnNoZWFyRnJlZUFic29sdXRlVHJhbnNm
b3JtID0gQWZmaW5lVHJhbnNmb3JtKGFic29sdXRlVHJhbnNmb3JtLnhTY2FsZSgpLCAwLCAwLCBh
YnNvbHV0ZVRyYW5zZm9ybS55U2NhbGUoKSwgYWJzb2x1dGVUcmFuc2Zvcm0uZSgpLCBhYnNvbHV0
ZVRyYW5zZm9ybS5mKCkpOworCisgICAgLy8gRGV0ZXJtaW5lIGFic29sdXRlIGJvdW5kYXJpZXMg
b2YgdGhlIGZpbHRlciBhbmQgdGhlIGRyYXdpbmcgcmVnaW9uLgorICAgIEZsb2F0UmVjdCBhYnNv
bHV0ZUZpbHRlckJvdW5kYXJpZXMgPSBmaWx0ZXJEYXRhLT5zaGVhckZyZWVBYnNvbHV0ZVRyYW5z
Zm9ybS5tYXBSZWN0KGZpbHRlckRhdGEtPmJvdW5kYXJpZXMpOworICAgIEZsb2F0UmVjdCBkcmF3
aW5nUmVnaW9uID0gb2JqZWN0LT5zdHJva2VCb3VuZGluZ0JveCgpOworICAgIGRyYXdpbmdSZWdp
b24uaW50ZXJzZWN0KGZpbHRlckRhdGEtPmJvdW5kYXJpZXMpOworICAgIEZsb2F0UmVjdCBhYnNv
bHV0ZURyYXdpbmdSZWdpb24gPSBmaWx0ZXJEYXRhLT5zaGVhckZyZWVBYnNvbHV0ZVRyYW5zZm9y
bS5tYXBSZWN0KGRyYXdpbmdSZWdpb24pOworCisgICAgLy8gQ3JlYXRlIHRoZSBTVkdGaWx0ZXIg
b2JqZWN0LgorICAgIGJvb2wgcHJpbWl0aXZlQm91bmRpbmdCb3hNb2RlID0gZmlsdGVyRWxlbWVu
dC0+cHJpbWl0aXZlVW5pdHMoKSA9PSBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNU
Qk9VTkRJTkdCT1g7CisgICAgZmlsdGVyRGF0YS0+ZmlsdGVyID0gU1ZHRmlsdGVyOjpjcmVhdGUo
ZmlsdGVyRGF0YS0+c2hlYXJGcmVlQWJzb2x1dGVUcmFuc2Zvcm0sIGFic29sdXRlRHJhd2luZ1Jl
Z2lvbiwgdGFyZ2V0Qm91bmRpbmdCb3gsIGZpbHRlckRhdGEtPmJvdW5kYXJpZXMsIHByaW1pdGl2
ZUJvdW5kaW5nQm94TW9kZSk7CisKKyAgICAvLyBDcmVhdGUgYWxsIHJlbGV2YW50IGZpbHRlciBw
cmltaXRpdmVzLgogICAgIGZpbHRlckRhdGEtPmJ1aWxkZXIgPSBidWlsZFByaW1pdGl2ZXMoKTsK
ICAgICBpZiAoIWZpbHRlckRhdGEtPmJ1aWxkZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIEZsb2F0UmVjdCBwYWludFJlY3QgPSBvYmplY3QtPnN0cm9rZUJvdW5kaW5nQm94KCk7Ci0K
ICAgICAvLyBDYWxjdWxhdGUgdGhlIHNjYWxlIGZhY3RvciBmb3IgdGhlIHVzZSBvZiBmaWx0ZXJS
ZXMuCiAgICAgLy8gQWxzbyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL2ZpbHRlcnMuaHRt
bCNGaWx0ZXJFZmZlY3RzUmVnaW9uCi0gICAgU1ZHRmlsdGVyRWxlbWVudCogZmlsdGVyRWxlbWVu
dCA9IHN0YXRpY19jYXN0PFNWR0ZpbHRlckVsZW1lbnQqPihub2RlKCkpOwotICAgIGZpbHRlckRh
dGEtPmJvdW5kYXJpZXMgPSBmaWx0ZXJFbGVtZW50LT5maWx0ZXJCb3VuZGluZ0JveChvYmplY3Qt
Pm9iamVjdEJvdW5kaW5nQm94KCkpOwotICAgIGlmIChmaWx0ZXJEYXRhLT5ib3VuZGFyaWVzLmlz
RW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgRmxvYXRTaXplIHNjYWxlKDEu
MGYsIDEuMGYpOworICAgIEZsb2F0U2l6ZSBzY2FsZSgxLCAxKTsKICAgICBpZiAoZmlsdGVyRWxl
bWVudC0+aGFzQXR0cmlidXRlKFNWR05hbWVzOjpmaWx0ZXJSZXNBdHRyKSkgewotICAgICAgICBz
Y2FsZS5zZXRXaWR0aChmaWx0ZXJFbGVtZW50LT5maWx0ZXJSZXNYKCkgLyBmaWx0ZXJEYXRhLT5i
b3VuZGFyaWVzLndpZHRoKCkpOwotICAgICAgICBzY2FsZS5zZXRIZWlnaHQoZmlsdGVyRWxlbWVu
dC0+ZmlsdGVyUmVzWSgpIC8gZmlsdGVyRGF0YS0+Ym91bmRhcmllcy5oZWlnaHQoKSk7CisgICAg
ICAgIHNjYWxlLnNldFdpZHRoKGZpbHRlckVsZW1lbnQtPmZpbHRlclJlc1goKSAvIGFic29sdXRl
RmlsdGVyQm91bmRhcmllcy53aWR0aCgpKTsKKyAgICAgICAgc2NhbGUuc2V0SGVpZ2h0KGZpbHRl
ckVsZW1lbnQtPmZpbHRlclJlc1koKSAvIGFic29sdXRlRmlsdGVyQm91bmRhcmllcy5oZWlnaHQo
KSk7CiAgICAgfQogCiAgICAgaWYgKHNjYWxlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgLy8gY2xpcCBzb3VyY2VJbWFnZSB0byBmaWx0ZXJSZWdpb24KLSAgICBGbG9h
dFJlY3QgY2xpcHBlZFNvdXJjZVJlY3QgPSBwYWludFJlY3Q7Ci0gICAgY2xpcHBlZFNvdXJjZVJl
Y3QuaW50ZXJzZWN0KGZpbHRlckRhdGEtPmJvdW5kYXJpZXMpOwotCi0gICAgLy8gc2NhbGUgZmls
dGVyIHNpemUgdG8gZmlsdGVyUmVzCi0gICAgRmxvYXRSZWN0IHRlbXBTb3VyY2VSZWN0ID0gY2xp
cHBlZFNvdXJjZVJlY3Q7Ci0KLSAgICAvLyBzY2FsZSB0byBiaWcgc291cmNlSW1hZ2Ugc2l6ZSB0
byBrTWF4RmlsdGVyU2l6ZQorICAgIC8vIERldGVybWluZSBzY2FsZSBmYWN0b3IgZm9yIGZpbHRl
ci4gVGhlIHNpemUgb2YgaW50ZXJtZWRpYXRlIEltYWdlQnVmZmVycyBzaG91bGRuJ3QgYmUgYmln
Z2VyIHRoYW4ga01heEZpbHRlclNpemUuCisgICAgRmxvYXRSZWN0IHRlbXBTb3VyY2VSZWN0ID0g
YWJzb2x1dGVEcmF3aW5nUmVnaW9uOwogICAgIHRlbXBTb3VyY2VSZWN0LnNjYWxlKHNjYWxlLndp
ZHRoKCksIHNjYWxlLmhlaWdodCgpKTsKICAgICBmaXRzSW5NYXhpbXVtSW1hZ2VTaXplKHRlbXBT
b3VyY2VSZWN0LnNpemUoKSwgc2NhbGUpOwogCi0gICAgLy8gcHJlcGFyZSBGaWx0ZXJzCi0gICAg
Ym9vbCBwcmltaXRpdmVCb3VuZGluZ0JveE1vZGUgPSBmaWx0ZXJFbGVtZW50LT5wcmltaXRpdmVV
bml0cygpID09IFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWDsK
LSAgICBmaWx0ZXJEYXRhLT5maWx0ZXIgPSBTVkdGaWx0ZXI6OmNyZWF0ZShwYWludFJlY3QsIGZp
bHRlckRhdGEtPmJvdW5kYXJpZXMsIHByaW1pdGl2ZUJvdW5kaW5nQm94TW9kZSk7CisgICAgLy8g
U2V0IHRoZSBzY2FsZSBsZXZlbCBpbiBTVkdGaWx0ZXIuCiAgICAgZmlsdGVyRGF0YS0+ZmlsdGVy
LT5zZXRGaWx0ZXJSZXNvbHV0aW9uKHNjYWxlKTsKIAogICAgIEZpbHRlckVmZmVjdCogbGFzdEVm
ZmVjdCA9IGZpbHRlckRhdGEtPmJ1aWxkZXItPmxhc3RFZmZlY3QoKTsKICAgICBpZiAoIWxhc3RF
ZmZlY3QpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKKworICAgIC8vIERldGVybWluZSB0
aGUgZmlsdGVyIHByaW1pdGl2ZSBzdWJyZWdpb25zIG9mIGV2ZXJ5IGVmZmVjdC4KICAgICBsYXN0
RWZmZWN0LT5kZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oZmlsdGVyRGF0YS0+Zmls
dGVyLmdldCgpKTsKLSAgICAvLyBBdCBsZWFzdCBvbmUgRmlsdGVyRWZmZWN0IGhhcyBhIHRvbyBi
aWcgaW1hZ2Ugc2l6ZSwKLSAgICAvLyByZWNhbGN1bGF0ZSB0aGUgZWZmZWN0IHNpemVzIHdpdGgg
bmV3IHNjYWxlIGZhY3RvcnMuCiAgICAgaWYgKCFmaXRzSW5NYXhpbXVtSW1hZ2VTaXplKGZpbHRl
ckRhdGEtPmZpbHRlci0+bWF4SW1hZ2VTaXplKCksIHNjYWxlKSkgeworICAgICAgICAvLyBBdCBs
ZWFzdCBvbmUgRmlsdGVyRWZmZWN0IGhhcyBhIHRvbyBiaWcgaW1hZ2Ugc2l6ZSwKKyAgICAgICAg
Ly8gcmVjYWxjdWxhdGUgdGhlIGVmZmVjdCBzaXplcyB3aXRoIG5ldyBzY2FsZSBmYWN0b3IuCiAg
ICAgICAgIGZpbHRlckRhdGEtPmZpbHRlci0+c2V0RmlsdGVyUmVzb2x1dGlvbihzY2FsZSk7CiAg
ICAgICAgIGxhc3RFZmZlY3QtPmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihmaWx0
ZXJEYXRhLT5maWx0ZXIuZ2V0KCkpOwogICAgIH0KIAotICAgIGNsaXBwZWRTb3VyY2VSZWN0LnNj
YWxlKHNjYWxlLndpZHRoKCksIHNjYWxlLmhlaWdodCgpKTsKLQotICAgIC8vIERyYXcgdGhlIGNv
bnRlbnQgb2YgdGhlIGN1cnJlbnQgZWxlbWVudCBhbmQgaXQncyBjaGlsZHMgdG8gYSBpbWFnZUJ1
ZmZlciB0byBnZXQgdGhlIFNvdXJjZUdyYXBoaWMuCi0gICAgLy8gVGhlIHNpemUgb2YgdGhlIFNv
dXJjZUdyYXBoaWMgaXMgY2xpcHBlZCB0byB0aGUgc2l6ZSBvZiB0aGUgZmlsdGVyUmVnaW9uLgot
ICAgIEludFJlY3QgYnVmZmVyUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QoY2xpcHBlZFNvdXJjZVJl
Y3QpOwotICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gc291cmNlR3JhcGhpYyhJbWFnZUJ1ZmZlcjo6
Y3JlYXRlKGJ1ZmZlclJlY3Quc2l6ZSgpLCBMaW5lYXJSR0IpKTsKLSAgICAKLSAgICBpZiAoIXNv
dXJjZUdyYXBoaWMuZ2V0KCkpCisgICAgLy8gSWYgdGhlIGRyYXdpbmdSZWdpb24gaXMgZW1wdHks
IHdlIGhhdmUgc29tZXRoaW5nIGxpa2UgPGcgZmlsdGVyPSIuLiIvPi4KKyAgICAvLyBFdmVuIGlm
IHRoZSB0YXJnZXQgb2JqZWN0Qm91bmRpbmdCb3goKSBpcyBlbXB0eSwgd2Ugc3RpbGwgaGF2ZSB0
byBkcmF3IHNvbWV0aGluZy4KKyAgICBpZiAoZHJhd2luZ1JlZ2lvbi5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgQVNTRVJUKCFtX2ZpbHRlci5jb250YWlucyhvYmplY3QpKTsKKyAgICAgICAgZmlsdGVy
RGF0YS0+c2F2ZWRDb250ZXh0ID0gY29udGV4dDsKKyAgICAgICAgbV9maWx0ZXIuc2V0KG9iamVj
dCwgZmlsdGVyRGF0YS5sZWFrUHRyKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQog
CisgICAgYWJzb2x1dGVEcmF3aW5nUmVnaW9uLnNjYWxlKHNjYWxlLndpZHRoKCksIHNjYWxlLmhl
aWdodCgpKTsKKworICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gc291cmNlR3JhcGhpYzsKKyAgICBp
ZiAoIVNWR0ltYWdlQnVmZmVyVG9vbHM6OmNyZWF0ZUltYWdlQnVmZmVyKGFic29sdXRlRHJhd2lu
Z1JlZ2lvbiwgYWJzb2x1dGVEcmF3aW5nUmVnaW9uLCBzb3VyY2VHcmFwaGljLCBMaW5lYXJSR0Ip
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCiAgICAgR3JhcGhpY3NDb250ZXh0KiBzb3Vy
Y2VHcmFwaGljQ29udGV4dCA9IHNvdXJjZUdyYXBoaWMtPmNvbnRleHQoKTsKLSAgICBzb3VyY2VH
cmFwaGljQ29udGV4dC0+dHJhbnNsYXRlKC1jbGlwcGVkU291cmNlUmVjdC54KCksIC1jbGlwcGVk
U291cmNlUmVjdC55KCkpOwotICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT5zY2FsZShzY2FsZSk7
Ci0gICAgc291cmNlR3JhcGhpY0NvbnRleHQtPmNsZWFyUmVjdChGbG9hdFJlY3QoRmxvYXRQb2lu
dCgpLCBwYWludFJlY3Quc2l6ZSgpKSk7CisgICAgQVNTRVJUKHNvdXJjZUdyYXBoaWNDb250ZXh0
KTsKKyAgCisgICAgc291cmNlR3JhcGhpY0NvbnRleHQtPnRyYW5zbGF0ZSgtYWJzb2x1dGVEcmF3
aW5nUmVnaW9uLngoKSwgLWFic29sdXRlRHJhd2luZ1JlZ2lvbi55KCkpOworICAgIGlmIChzY2Fs
ZS53aWR0aCgpICE9IDEgfHwgc2NhbGUuaGVpZ2h0KCkgIT0gMSkKKyAgICAgICAgc291cmNlR3Jh
cGhpY0NvbnRleHQtPnNjYWxlKHNjYWxlKTsKKworICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT5j
b25jYXRDVE0oZmlsdGVyRGF0YS0+c2hlYXJGcmVlQWJzb2x1dGVUcmFuc2Zvcm0pOworICAgIHNv
dXJjZUdyYXBoaWNDb250ZXh0LT5jbGVhclJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgYWJz
b2x1dGVEcmF3aW5nUmVnaW9uLnNpemUoKSkpOwogICAgIGZpbHRlckRhdGEtPnNvdXJjZUdyYXBo
aWNCdWZmZXIgPSBzb3VyY2VHcmFwaGljLnJlbGVhc2UoKTsKICAgICBmaWx0ZXJEYXRhLT5zYXZl
ZENvbnRleHQgPSBjb250ZXh0OwogCkBAIC0yNzAsMTAgKzI5NCwxNyBAQCB2b2lkIFJlbmRlclNW
R1Jlc291cmNlRmlsdGVyOjpwb3N0QXBwbHlSCiAgICAgICAgIH0KIAogICAgICAgICBJbWFnZUJ1
ZmZlciogcmVzdWx0SW1hZ2UgPSBsYXN0RWZmZWN0LT5yZXN1bHRJbWFnZSgpOwotICAgICAgICBp
ZiAocmVzdWx0SW1hZ2UpCi0gICAgICAgICAgICBjb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIocmVz
dWx0SW1hZ2UsIG9iamVjdC0+c3R5bGUoKS0+Y29sb3JTcGFjZSgpLCBsYXN0RWZmZWN0LT5maWx0
ZXJQcmltaXRpdmVTdWJyZWdpb24oKSk7Ci0gICAgfQorICAgICAgICBpZiAocmVzdWx0SW1hZ2Up
IHsKKyAgICAgICAgICAgIGNvbnRleHQtPmNvbmNhdENUTShmaWx0ZXJEYXRhLT5zaGVhckZyZWVB
YnNvbHV0ZVRyYW5zZm9ybS5pbnZlcnNlKCkpOworCisgICAgICAgICAgICBjb250ZXh0LT5zY2Fs
ZShGbG9hdFNpemUoMSAvIGZpbHRlckRhdGEtPmZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLndp
ZHRoKCksIDEgLyBmaWx0ZXJEYXRhLT5maWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQo
KSkpOworICAgICAgICAgICAgY29udGV4dC0+Y2xpcChsYXN0RWZmZWN0LT5tYXhFZmZlY3RSZWN0
KCkpOworICAgICAgICAgICAgY29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKHJlc3VsdEltYWdlLCBv
YmplY3QtPnN0eWxlKCktPmNvbG9yU3BhY2UoKSwgbGFzdEVmZmVjdC0+YWJzb2x1dGVQYWludFJl
Y3QoKSk7CisgICAgICAgICAgICBjb250ZXh0LT5zY2FsZShmaWx0ZXJEYXRhLT5maWx0ZXItPmZp
bHRlclJlc29sdXRpb24oKSk7CiAKKyAgICAgICAgICAgIGNvbnRleHQtPmNvbmNhdENUTShmaWx0
ZXJEYXRhLT5zaGVhckZyZWVBYnNvbHV0ZVRyYW5zZm9ybSk7CisgICAgICAgIH0KKyAgICB9CiAg
ICAgZmlsdGVyRGF0YS0+c291cmNlR3JhcGhpY0J1ZmZlci5jbGVhcigpOwogfQogCkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgJKHJldmlzaW9uIDY5
MTIwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtNDIsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVj
dCBGaWx0ZXJEYXRhIHsKICAgICBGaWx0ZXJEYXRhKCkKLSAgICAgICAgOiBidWlsZGVkKGZhbHNl
KQorICAgICAgICA6IHNhdmVkQ29udGV4dCgwKQorICAgICAgICAsIGJ1aWxkZWQoZmFsc2UpCiAg
ICAgewogICAgIH0KIApAQCAtNTAsNiArNTEsNyBAQCBzdHJ1Y3QgRmlsdGVyRGF0YSB7CiAgICAg
UmVmUHRyPFNWR0ZpbHRlckJ1aWxkZXI+IGJ1aWxkZXI7CiAgICAgT3duUHRyPEltYWdlQnVmZmVy
PiBzb3VyY2VHcmFwaGljQnVmZmVyOwogICAgIEdyYXBoaWNzQ29udGV4dCogc2F2ZWRDb250ZXh0
OworICAgIEFmZmluZVRyYW5zZm9ybSBzaGVhckZyZWVBYnNvbHV0ZVRyYW5zZm9ybTsKICAgICBG
bG9hdFJlY3QgYm91bmRhcmllczsKICAgICBGbG9hdFNpemUgc2NhbGU7CiAgICAgYm9vbCBidWls
ZGVkOwpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3Bw
CShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJ
bWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDE3ICs0NCwxNyBAQCBQYXNzUmVmUHRyPEZF
SW1hZ2U+IEZFSW1hZ2U6OmNyZWF0ZShSZWZQCiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGRUlt
YWdlKGltYWdlLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKSk7CiB9CiAKLXZvaWQgRkVJbWFnZTo6YXBw
bHkoRmlsdGVyKikKK3ZvaWQgRkVJbWFnZTo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7CiAgICAg
aWYgKCFtX2ltYWdlLmdldCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBHcmFwaGljc0NvbnRl
eHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0
KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dChmaWx0ZXIpOwogICAgIGlmICghZmlsdGVy
Q29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgRmxvYXRSZWN0IHNyY1JlY3QoRmxvYXRQ
b2ludCgpLCBtX2ltYWdlLT5zaXplKCkpOwotICAgIEZsb2F0UmVjdCBkZXN0UmVjdChGbG9hdFBv
aW50KCksIGZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbigpLnNpemUoKSk7CisgICAgRmxvYXRSZWN0
IGRlc3RSZWN0KEZsb2F0UG9pbnQoKSwgYWJzb2x1dGVQYWludFJlY3QoKS5zaXplKCkpOwogCiAg
ICAgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvLnRyYW5zZm9ybVJlY3QoZGVzdFJlY3QsIHNyY1JlY3Qp
OwogCkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuaAkocmV2
aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGFwcGx5KEZpbHRlciopOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7CiAKKyAgICB2aXJ0
dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKikgeyBzZXRBYnNvbHV0
ZVBhaW50UmVjdChtYXhFZmZlY3RSZWN0KCkpOyB9CisKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0m
IGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0
OwogICAgIAogcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZH
RmlsdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NW
R0ZpbHRlci5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmls
dGVycy9TVkdGaWx0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwxMiArMjQsMTUgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdGaWx0ZXI6OlNWR0ZpbHRlcihjb25zdCBGbG9hdFJl
Y3QmIHRhcmdldEJvdW5kaW5nQm94LCBjb25zdCBGbG9hdFJlY3QmIGZpbHRlclJlY3QsIGJvb2wg
ZWZmZWN0QkJveE1vZGUpCitTVkdGaWx0ZXI6OlNWR0ZpbHRlcihjb25zdCBBZmZpbmVUcmFuc2Zv
cm0mIGFic29sdXRlVHJhbnNmb3JtLCBjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlU291cmNlRHJh
d2luZ1JlZ2lvbiwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRCb3VuZGluZ0JveCwgY29uc3QgRmxv
YXRSZWN0JiBmaWx0ZXJSZWdpb24sIGJvb2wgZWZmZWN0QkJveE1vZGUpCiAgICAgOiBGaWx0ZXIo
KQorICAgICwgbV9hYnNvbHV0ZVRyYW5zZm9ybShhYnNvbHV0ZVRyYW5zZm9ybSkKKyAgICAsIG1f
YWJzb2x1dGVTb3VyY2VEcmF3aW5nUmVnaW9uKGFic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbikK
ICAgICAsIG1fdGFyZ2V0Qm91bmRpbmdCb3godGFyZ2V0Qm91bmRpbmdCb3gpCi0gICAgLCBtX2Zp
bHRlclJlY3QoZmlsdGVyUmVjdCkKKyAgICAsIG1fZmlsdGVyUmVnaW9uKGZpbHRlclJlZ2lvbikK
ICAgICAsIG1fZWZmZWN0QkJveE1vZGUoZWZmZWN0QkJveE1vZGUpCiB7CisgICAgbV9hYnNvbHV0
ZUZpbHRlclJlZ2lvbiA9IGFic29sdXRlVHJhbnNmb3JtLm1hcFJlY3QoZmlsdGVyUmVnaW9uKTsK
IH0KIAogdm9pZCBTVkdGaWx0ZXI6OmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihG
aWx0ZXJFZmZlY3QqIGVmZmVjdCwgY29uc3QgRmxvYXRSZWN0JiB1bmlvbk9mUHJldmlvdXNQcmlt
aXRpdmVTdWJyZWdpb25zKQpAQCAtNjYsMjIgKzY5LDM3IEBAIHZvaWQgU1ZHRmlsdGVyOjpkZXRl
cm1pbmVGaWx0ZXJQcmltaXRpdmUKICAgICB9CiAKICAgICAvLyBjbGlwIGV2ZXJ5IGZpbHRlciBl
ZmZlY3QgdG8gdGhlIGZpbHRlciByZWdpb24KLSAgICBuZXdTdWJSZWdpb24uaW50ZXJzZWN0KG1f
ZmlsdGVyUmVjdCk7CisgICAgbmV3U3ViUmVnaW9uLmludGVyc2VjdChtX2ZpbHRlclJlZ2lvbik7
CiAKICAgICBlZmZlY3QtPnNldEZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihuZXdTdWJSZWdpb24p
OwotICAgIAogICAgIC8vIFRPRE86IEV2ZXJ5dGhpbmcgYWJvdmUgc2hvdWxkIGJlIG1vdmVkIHRv
IGEgZmlyc3QgcGhhc2Ugb2YgbGF5b3V0IGluIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0
aXZlLgogICAgIC8vIFRoZSBzY2FsaW5nIG9mIHRoZSBzdWJyZWdpb24gdG8gdGhlIHJlcGFpbnQg
cmVjdCBzaG91bGQgYmUgbWVyZ2VkIHdpdGggYSBtb3JlIGludGVsbGlnZW50IHJlcGFpbnQgbG9n
aWMKICAgICAvLyBhbmQgbW92ZWQgdG8gdGhlIHNlY29uZCBwaGFzZSBvZiBsYXlvdXQgaW4gUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXJQcmltaXRpdmUuCiAgICAgLy8gU2VlIGJ1ZyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU2MTQuCisgICAgbmV3U3ViUmVnaW9uID0g
bV9hYnNvbHV0ZVRyYW5zZm9ybS5tYXBSZWN0KG5ld1N1YlJlZ2lvbik7CiAgICAgbmV3U3ViUmVn
aW9uLnNjYWxlKGZpbHRlclJlc29sdXRpb24oKS53aWR0aCgpLCBmaWx0ZXJSZXNvbHV0aW9uKCku
aGVpZ2h0KCkpOwotICAgIGVmZmVjdC0+c2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMo
bmV3U3ViUmVnaW9uKTsKLSAgICBtX21heEltYWdlU2l6ZSA9IG1fbWF4SW1hZ2VTaXplLmV4cGFu
ZGVkVG8obmV3U3ViUmVnaW9uLnNpemUoKSk7IAorICAgIGVmZmVjdC0+c2V0TWF4RWZmZWN0UmVj
dChlbmNsb3NpbmdJbnRSZWN0KG5ld1N1YlJlZ2lvbikpOworICAgIGlmICghZWZmZWN0LT5pc1Nv
dXJjZUlucHV0KCkpCisgICAgICAgIG1fbWF4SW1hZ2VTaXplID0gbV9tYXhJbWFnZVNpemUuZXhw
YW5kZWRUbyhuZXdTdWJSZWdpb24uc2l6ZSgpKTsgCiB9CiAKLVBhc3NSZWZQdHI8U1ZHRmlsdGVy
PiBTVkdGaWx0ZXI6OmNyZWF0ZShjb25zdCBGbG9hdFJlY3QmIHRhcmdldEJvdW5kaW5nQm94LCBj
b25zdCBGbG9hdFJlY3QmIGZpbHRlclJlY3QsIGJvb2wgZWZmZWN0QkJveE1vZGUpCitmbG9hdCBT
VkdGaWx0ZXI6OmFwcGx5SG9yaXpvbnRhbFNjYWxlKGZsb2F0IHZhbHVlKSBjb25zdAogewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHRmlsdGVyKHRhcmdldEJvdW5kaW5nQm94LCBmaWx0ZXJS
ZWN0LCBlZmZlY3RCQm94TW9kZSkpOworICAgIGlmIChtX2VmZmVjdEJCb3hNb2RlKQorICAgICAg
ICB2YWx1ZSAqPSBtX3RhcmdldEJvdW5kaW5nQm94LndpZHRoKCk7CisgICAgcmV0dXJuIEZpbHRl
cjo6YXBwbHlIb3Jpem9udGFsU2NhbGUodmFsdWUpICogbV9hYnNvbHV0ZUZpbHRlclJlZ2lvbi53
aWR0aCgpIC8gbV9maWx0ZXJSZWdpb24ud2lkdGgoKTsKK30KKworZmxvYXQgU1ZHRmlsdGVyOjph
cHBseVZlcnRpY2FsU2NhbGUoZmxvYXQgdmFsdWUpIGNvbnN0Cit7CisgICAgaWYgKG1fZWZmZWN0
QkJveE1vZGUpCisgICAgICAgIHZhbHVlICo9IG1fdGFyZ2V0Qm91bmRpbmdCb3guaGVpZ2h0KCk7
CisgICAgcmV0dXJuIEZpbHRlcjo6YXBwbHlWZXJ0aWNhbFNjYWxlKHZhbHVlKSAqIG1fYWJzb2x1
dGVGaWx0ZXJSZWdpb24uaGVpZ2h0KCkgLyBtX2ZpbHRlclJlZ2lvbi5oZWlnaHQoKTsKK30KKwor
UGFzc1JlZlB0cjxTVkdGaWx0ZXI+IFNWR0ZpbHRlcjo6Y3JlYXRlKGNvbnN0IEFmZmluZVRyYW5z
Zm9ybSYgYWJzb2x1dGVUcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVTb3VyY2VE
cmF3aW5nUmVnaW9uLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldEJvdW5kaW5nQm94LCBjb25zdCBG
bG9hdFJlY3QmIGZpbHRlclJlZ2lvbiwgYm9vbCBlZmZlY3RCQm94TW9kZSkKK3sKKyAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFNWR0ZpbHRlcihhYnNvbHV0ZVRyYW5zZm9ybSwgYWJzb2x1dGVTb3Vy
Y2VEcmF3aW5nUmVnaW9uLCB0YXJnZXRCb3VuZGluZ0JveCwgZmlsdGVyUmVnaW9uLCBlZmZlY3RC
Qm94TW9kZSkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2
Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjEs
NiArMjEsNyBAQAogI2RlZmluZSBTVkdGaWx0ZXJfaAogCiAjaWYgRU5BQkxFKFNWRykgJiYgRU5B
QkxFKEZJTFRFUlMpCisjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiRmls
dGVyLmgiCiAjaW5jbHVkZSAiRmlsdGVyRWZmZWN0LmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
CkBAIC0zMiwyNyArMzMsMzYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3Mg
U1ZHRmlsdGVyIDogcHVibGljIEZpbHRlciB7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTVkdGaWx0ZXI+IGNyZWF0ZShjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBGbG9h
dFJlY3QmLCBib29sKTsKLQotICAgICAgICB2aXJ0dWFsIGJvb2wgZWZmZWN0Qm91bmRpbmdCb3hN
b2RlKCkgY29uc3QgeyByZXR1cm4gbV9lZmZlY3RCQm94TW9kZTsgfQotCi0gICAgICAgIHZpcnR1
YWwgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyUmVjdDsg
fQotICAgICAgICAKLSAgICAgICAgdmlydHVhbCBGbG9hdFJlY3Qgc291cmNlSW1hZ2VSZWN0KCkg
Y29uc3QgeyByZXR1cm4gbV90YXJnZXRCb3VuZGluZ0JveDsgfQotCi0gICAgICAgIHZpcnR1YWwg
RmxvYXRTaXplIG1heEltYWdlU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4SW1hZ2VTaXplOyB9
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24o
RmlsdGVyRWZmZWN0KiwgY29uc3QgRmxvYXRSZWN0Jik7Ci0KLSAgICBwcml2YXRlOgotICAgICAg
ICBTVkdGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRCb3VuZGluZ0JveCwgY29uc3QgRmxv
YXRSZWN0JiBmaWx0ZXJSZWN0LCBib29sIGVmZmVjdEJCb3hNb2RlKTsKLQotICAgICAgICBGbG9h
dFNpemUgbV9tYXhJbWFnZVNpemU7Ci0gICAgICAgIEZsb2F0UmVjdCBtX3RhcmdldEJvdW5kaW5n
Qm94OwotICAgICAgICBGbG9hdFJlY3QgbV9maWx0ZXJSZWN0OwotICAgICAgICBib29sIG1fZWZm
ZWN0QkJveE1vZGU7Ci0gICAgfTsKK2NsYXNzIFNWR0ZpbHRlciA6IHB1YmxpYyBGaWx0ZXIgewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR0ZpbHRlcj4gY3JlYXRlKGNvbnN0IEFm
ZmluZVRyYW5zZm9ybSYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0
IEZsb2F0UmVjdCYsIGJvb2wpOworCisgICAgdmlydHVhbCBib29sIGVmZmVjdEJvdW5kaW5nQm94
TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fZWZmZWN0QkJveE1vZGU7IH0KKworICAgIHZpcnR1YWwg
RmxvYXRSZWN0IGZpbHRlclJlZ2lvbkluVXNlclNwYWNlKCkgY29uc3QgeyByZXR1cm4gbV9maWx0
ZXJSZWdpb247IH0KKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBmaWx0ZXJSZWdpb24oKSBjb25zdCB7
IHJldHVybiBtX2Fic29sdXRlRmlsdGVyUmVnaW9uOyB9CisKKyAgICB2aXJ0dWFsIEZsb2F0UG9p
bnQgbWFwQWJzb2x1dGVQb2ludFRvTG9jYWxQb2ludChjb25zdCBGbG9hdFBvaW50JiBwb2ludCkg
Y29uc3QgeyByZXR1cm4gbV9hYnNvbHV0ZVRyYW5zZm9ybS5pbnZlcnNlKCkubWFwUG9pbnQocG9p
bnQpOyB9CisKKyAgICB2aXJ0dWFsIGZsb2F0IGFwcGx5SG9yaXpvbnRhbFNjYWxlKGZsb2F0IHZh
bHVlKSBjb25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IGFwcGx5VmVydGljYWxTY2FsZShmbG9hdCB2
YWx1ZSkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzb3VyY2VJbWFnZVJlY3QoKSBj
b25zdCB7IHJldHVybiBtX2Fic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbjsgfQorICAgIAorICAg
IHZpcnR1YWwgRmxvYXRTaXplIG1heEltYWdlU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4SW1h
Z2VTaXplOyB9CisgICAgdmlydHVhbCB2b2lkIGRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJl
Z2lvbihGaWx0ZXJFZmZlY3QqLCBjb25zdCBGbG9hdFJlY3QmKTsKKworcHJpdmF0ZToKKyAgICBT
VkdGaWx0ZXIoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhYnNvbHV0ZVRyYW5zZm9ybSwgY29uc3Qg
RmxvYXRSZWN0JiBhYnNvbHV0ZVNvdXJjZURyYXdpbmdSZWdpb24sIGNvbnN0IEZsb2F0UmVjdCYg
dGFyZ2V0Qm91bmRpbmdCb3gsIGNvbnN0IEZsb2F0UmVjdCYgZmlsdGVyUmVnaW9uLCBib29sIGVm
ZmVjdEJCb3hNb2RlKTsKKworICAgIEFmZmluZVRyYW5zZm9ybSBtX2Fic29sdXRlVHJhbnNmb3Jt
OworICAgIEZsb2F0UmVjdCBtX2Fic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbjsKKyAgICBGbG9h
dFJlY3QgbV90YXJnZXRCb3VuZGluZ0JveDsKKyAgICBGbG9hdFJlY3QgbV9hYnNvbHV0ZUZpbHRl
clJlZ2lvbjsKKyAgICBGbG9hdFJlY3QgbV9maWx0ZXJSZWdpb247CisgICAgYm9vbCBtX2VmZmVj
dEJCb3hNb2RlOworICAgIEZsb2F0U2l6ZSBtX21heEltYWdlU2l6ZTsKK307CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjkxMzUpCisrKyBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0xMC0wNSAg
RGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR3Mgd2l0aCBmaWx0ZXJzIGxvb2sgZ3JhaW55IHdo
ZW4gc2NhbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NTI2CisKKyAgICAgICAgQWRkZWQgdGhyZWUgbmV3IHRlc3RzIGZvciBTVkdzIGZpbHRlclJl
cy4KKyAgICAgICAgU2hhZG93IHRlc3RzIGZvciBTVkcgRmlsdGVyIG5lZWRlZCBhbiB1cGRhdGUu
IEN1cnJlbnQgdGVzdHMgZGlkbid0IHJlc3BlY3QKKyAgICAgICAgcHJpbWl0aXZlVW5pdHMgIm9i
amVjdEJvdW5kaW5nQm94IiBmb3Igc3RkRGV2aWF0aW9uIG9uIGZlR2F1c3NpYW5CbHUgY29ycmVj
dGx5LgorICAgICAgICAKKworICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0
ZXJSZXMxLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
c3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczItZXhwZWN0ZWQuY2hl
Y2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJS
ZXMyLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0
ZXJzL2ZpbHRlclJlczItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMy1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQucG5nOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zaGFk
b3ctb24tZmlsdGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2Zp
bHRlcnMvc2hhZG93LW9uLXJlY3Qtd2l0aC1maWx0ZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHN2Zy9maWx0ZXJzL2ZpbHRlclJlczEuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZmlsdGVy
cy9maWx0ZXJSZXMyLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2ZpbHRlcnMvZmlsdGVyUmVz
My5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9maWx0ZXJzL3NoYWRvdy1vbi1maWx0ZXIuc3Zn
OgorICAgICAgICAqIHN2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgtZmlsdGVyLnN2ZzoK
KwogMjAxMC0xMC0wNSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVj
dGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9maWx0ZXJzL2ZpbHRlclJlczEtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEgQEAKKzUxNjA5N2U0NTQ5YTRmNzE5N2NhMGZhNTQxMDBhMGVlClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJz
L2ZpbHRlclJlczEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMTAsMTApIHNpemUg
NDAweDEyMAorICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6
ZSAweDAKKyAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjEiXSBb
ZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VP
blVzZV0KKyAgICAgICAgW2ZlRmxvb2QgZmxvb2QtY29sb3I9IiMwMDgwMDAiIGZsb29kLW9wYWNp
dHk9IjEuMDAiXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJm
MiJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJT
cGFjZU9uVXNlXQorICAgICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwODAwMCIgZmxvb2Qt
b3BhY2l0eT0iMS4wMCJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBb
aWQ9ImYzIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9
dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFtmZUZsb29kIGZsb29kLWNvbG9yPSIjMDA4MDAwIiBm
bG9vZC1vcGFjaXR5PSIxLjAwIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNp
emUgMTIweDEyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJN
MjAuMDAsMjAuMDAgTDEyMC4wMCwyMC4wMCBMMTIwLjAwLDEyMC4wMCBMMjAuMDAsMTIwLjAwIFoi
XQorICAgICAgW2ZpbHRlcj0iZjEiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBh
dCAoMTAsMTApIHNpemUgMTIweDEyMAorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNTAsMTAp
IHNpemUgMTIweDEyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRh
PSJNMTYwLjAwLDIwLjAwIEwyNjAuMDAsMjAuMDAgTDI2MC4wMCwxMjAuMDAgTDE2MC4wMCwxMjAu
MDAgWiJdCisgICAgICBbZmlsdGVyPSJmMiJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0
ZXJ9IGF0ICgxNTAsMTApIHNpemUgMTIweDEyMAorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgy
OTAsMTApIHNpemUgMTIweDEyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1d
IFtkYXRhPSJNMzAwLjAwLDIwLjAwIEw0MDAuMDAsMjAuMDAgTDQwMC4wMCwxMjAuMDAgTDMwMC4w
MCwxMjAuMDAgWiJdCisgICAgICBbZmlsdGVyPSJmMyJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVy
IHtmaWx0ZXJ9IGF0ICgyOTAsMTApIHNpemUgMTIweDEyMApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczItZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczIt
ZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSBAQAorNjViZmNmYzlkZDRiNWM3ZGE2MzNlM2JiNDZjMTE2ZjgKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2Zp
bHRlcnMvZmlsdGVyUmVzMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczIt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgxMCwxMCkg
c2l6ZSA0MDB4MTIwCisgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCww
KSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJm
MSJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJT
cGFjZU9uVXNlXQorICAgICAgICBbZmVPZmZzZXQgZHg9IjAuMDAiIGR5PSIwLjAwIl0KKyAgICAg
ICAgICBbU291cmNlR3JhcGhpY10KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0
ZXJ9IFtpZD0iZjIiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVV
bml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlT2Zmc2V0IGR4PSIwLjAwIiBkeT0iMC4w
MCJdCisgICAgICAgICAgW1NvdXJjZUdyYXBoaWNdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZp
bHRlciB7ZmlsdGVyfSBbaWQ9ImYzIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBb
cHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFtmZU9mZnNldCBkeD0iMC4w
MCIgZHk9IjAuMDAiXQorICAgICAgICAgIFtTb3VyY2VHcmFwaGljXQorICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgxMCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDgwMDBdfV0gW2RhdGE9Ik0yMC4wMCwyMC4wMCBMMTIwLjAwLDIwLjAwIEwxMjAuMDAsMTIw
LjAwIEwyMC4wMCwxMjAuMDAgWiJdCisgICAgICBbZmlsdGVyPSJmMSJdIFJlbmRlclNWR1Jlc291
cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgxMCwxMCkgc2l6ZSAxMjB4MTIwCisgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDE1MCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0xNjAuMDAsMjAuMDAgTDI2MC4wMCwyMC4wMCBMMjYwLjAw
LDEyMC4wMCBMMTYwLjAwLDEyMC4wMCBaIl0KKyAgICAgIFtmaWx0ZXI9ImYyIl0gUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDE1MCwxMCkgc2l6ZSAxMjB4MTIwCisgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDI5MCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0zMDAuMDAsMjAuMDAgTDQwMC4wMCwyMC4wMCBM
NDAwLjAwLDEyMC4wMCBMMzAwLjAwLDEyMC4wMCBaIl0KKyAgICAgIFtmaWx0ZXI9ImYzIl0gUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDI5MCwxMCkgc2l6ZSAxMjB4MTIwCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMy1leHBl
Y3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2ZpbHRlcnMvZmlsdGVyUmVzMy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMzLWV4cGVjdGVkLmNo
ZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis1MTYwOTdlNDU0OWE0ZjcxOTdjYTBm
YTU0MTAwYTBlZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2ZpbHRlcnMvZmlsdGVyUmVzMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jv
b3Qge3N2Z30gYXQgKDEwLDEwKSBzaXplIDQwMHgxMjAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZp
bHRlciB7ZmlsdGVyfSBbaWQ9ImYxIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBb
cHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFtmZUZsb29kIGZsb29kLWNv
bG9yPSIjMDA4MDAwIiBmbG9vZC1vcGFjaXR5PSIxLjAwIl0KKyAgICAgIFJlbmRlclNWR1Jlc291
cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjIiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdC
b3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlRmxvb2QgZmxv
b2QtY29sb3I9IiMwMDgwMDAiIGZsb29kLW9wYWNpdHk9IjEuMDAiXQorICAgICAgUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmMyJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3Vu
ZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAgICBbZmVGbG9v
ZCBmbG9vZC1jb2xvcj0iIzAwODAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJdCisgICAgUmVuZGVy
UGF0aCB7cmVjdH0gYXQgKDEwLDEwKSBzaXplIDEyMHgxMjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTIwLjAwLDIwLjAwIEwxMjAuMDAsMjAuMDAgTDEyMC4w
MCwxMjAuMDAgTDIwLjAwLDEyMC4wMCBaIl0KKyAgICAgIFtmaWx0ZXI9ImYxIl0gUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDEwLDEwKSBzaXplIDEyMHgxMjAKKyAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMTUwLDEwKSBzaXplIDEyMHgxMjAgW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTE2MC4wMCwyMC4wMCBMMjYwLjAwLDIwLjAwIEwy
NjAuMDAsMTIwLjAwIEwxNjAuMDAsMTIwLjAwIFoiXQorICAgICAgW2ZpbHRlcj0iZjIiXSBSZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMTUwLDEwKSBzaXplIDEyMHgxMjAKKyAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjkwLDEwKSBzaXplIDEyMHgxMjAgW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTMwMC4wMCwyMC4wMCBMNDAwLjAwLDIw
LjAwIEw0MDAuMDAsMTIwLjAwIEwzMDAuMDAsMTIwLjAwIFoiXQorICAgICAgW2ZpbHRlcj0iZjMi
XSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMjkwLDEwKSBzaXplIDEyMHgx
MjAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zaGFkb3ctb24t
ZmlsdGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLWZpbHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY5
MTIwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1m
aWx0ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoNTAsNTApIHNp
emUgNDgweDQ4MAogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkg
c2l6ZSAweDAKICAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZmls
dGVyIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9b2Jq
ZWN0Qm91bmRpbmdCb3hdCi0gICAgICAgIFtmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjQu
MDAsIDQuMDAiXQorICAgICAgICBbZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIwLjAxLCAw
LjAxIl0KICAgICAgICAgICBbZmVDb21wb3NpdGUgb3BlcmF0aW9uPSJPVkVSIl0KICAgICAgICAg
ICAgIFtmZUZsb29kIGZsb29kLWNvbG9yPSIjRkYwMDAwIiBmbG9vZC1vcGFjaXR5PSIxLjAwIl0K
ICAgICAgICAgICAgIFtmZUZsb29kIGZsb29kLWNvbG9yPSIjMDA4MDAwIiBmbG9vZC1vcGFjaXR5
PSIxLjAwIl0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zaGFk
b3ctb24tcmVjdC13aXRoLWZpbHRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgtZmlsdGVy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjkxMjApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLXJlY3Qtd2l0aC1maWx0ZXItZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMzcsMzcpIHNpemUgNDkzeDQ5MwogICAgIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRl
clNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZmlsdGVyIl0gW2ZpbHRlclVuaXRzPW9i
amVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdCi0gICAg
ICAgIFtmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjQuMDAsIDQuMDAiXQorICAgICAgICBb
ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIwLjAxLCAwLjAxIl0KICAgICAgICAgICBbZmVD
b21wb3NpdGUgb3BlcmF0aW9uPSJPVkVSIl0KICAgICAgICAgICAgIFtmZUZsb29kIGZsb29kLWNv
bG9yPSIjRkYwMDAwIiBmbG9vZC1vcGFjaXR5PSIxLjAwIl0KICAgICAgICAgICAgIFtmZUZsb29k
IGZsb29kLWNvbG9yPSIjMDA4MDAwIiBmbG9vZC1vcGFjaXR5PSIxLjAwIl0KSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEuc3ZnCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEuc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcg
QEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+Cis8ZGVmcz4KKzxmaWx0ZXIgaWQ9ImYxIiBm
aWx0ZXJSZXM9IjYwIj4KKyAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iZ3JlZW4iLz4KKzwvZmls
dGVyPgorPGZpbHRlciBpZD0iZjIiIGZpbHRlclJlcz0iMTIwIj4KKyAgICA8ZmVGbG9vZCBmbG9v
ZC1jb2xvcj0iZ3JlZW4iLz4KKzwvZmlsdGVyPgorPGZpbHRlciBpZD0iZjMiPgorICAgIDxmZUZs
b29kIGZsb29kLWNvbG9yPSJncmVlbiIvPgorPC9maWx0ZXI+Cis8L2RlZnM+Cis8cmVjdCB4PSIy
MCIgeT0iMjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWx0ZXI9InVybCgjZjEpIi8+Cis8
cmVjdCB4PSIxNjAiIHk9IjIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsdGVyPSJ1cmwo
I2YyKSIvPgorPHJlY3QgeD0iMzAwIiB5PSIyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZp
bHRlcj0idXJsKCNmMykiLz4KKzwvc3ZnPgorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZmlsdGVy
cy9maWx0ZXJSZXMyLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9m
aWx0ZXJSZXMyLnN2ZwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2Zp
bHRlclJlczIuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8c3ZnIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiPgorPGRlZnM+Cis8ZmlsdGVyIGlkPSJmMSIgZmlsdGVyUmVzPSI2MCI+Cisg
ICAgPGZlT2Zmc2V0Lz4KKzwvZmlsdGVyPgorPGZpbHRlciBpZD0iZjIiIGZpbHRlclJlcz0iMTIw
Ij4KKyAgICA8ZmVPZmZzZXQvPgorPC9maWx0ZXI+Cis8ZmlsdGVyIGlkPSJmMyI+CisgICAgPGZl
T2Zmc2V0Lz4KKzwvZmlsdGVyPgorPC9kZWZzPgorPHJlY3QgeD0iMjAiIHk9IjIwIiB3aWR0aD0i
MTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iZ3JlZW4iIGZpbHRlcj0idXJsKCNmMSkiLz4KKzxyZWN0
IHg9IjE2MCIgeT0iMjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIgZmls
dGVyPSJ1cmwoI2YyKSIvPgorPHJlY3QgeD0iMzAwIiB5PSIyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0
PSIxMDAiIGZpbGw9ImdyZWVuIiBmaWx0ZXI9InVybCgjZjMpIi8+Cis8L3N2Zz4KKwpJbmRleDog
TGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMy5zdmcKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMy5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJSZXMzLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyMCBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhs
aW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKzxkZWZzPgorPGZpbHRlciBpZD0i
ZjEiIGZpbHRlclJlcz0iNjAiPgorICAgIDxmZUZsb29kIGZsb29kLWNvbG9yPSJncmVlbiIvPgor
ICAgIDxmZU9mZmZzZXQvPgorPC9maWx0ZXI+Cis8ZmlsdGVyIGlkPSJmMiIgZmlsdGVyUmVzPSIx
MjAiPgorICAgIDxmZUZsb29kIGZsb29kLWNvbG9yPSJncmVlbiIvPgorICAgIDxmZU9mZmZzZXQv
PgorPC9maWx0ZXI+Cis8ZmlsdGVyIGlkPSJmMyI+CisgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9
ImdyZWVuIi8+CisgICAgPGZlT2ZmZnNldC8+Cis8L2ZpbHRlcj4KKzwvZGVmcz4KKzxyZWN0IHg9
IjIwIiB5PSIyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbHRlcj0idXJsKCNmMSkiLz4K
KzxyZWN0IHg9IjE2MCIgeT0iMjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWx0ZXI9InVy
bCgjZjIpIi8+Cis8cmVjdCB4PSIzMDAiIHk9IjIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIg
ZmlsdGVyPSJ1cmwoI2YzKSIvPgorPC9zdmc+CisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9maWx0
ZXJzL3NoYWRvdy1vbi1maWx0ZXIuc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9m
aWx0ZXJzL3NoYWRvdy1vbi1maWx0ZXIuc3ZnCShyZXZpc2lvbiA2OTEyMCkKKysrIExheW91dFRl
c3RzL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1maWx0ZXIuc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC00
LDcgKzQsNyBAQAogPGZlRmxvb2QgeD0iLTQwJSIgeT0iLTQwJSIgd2lkdGg9IjUwJSIgaGVpZ2h0
PSI1MCUiIGZsb29kLWNvbG9yPSJyZWQiIHN0eWxlPSItd2Via2l0LXN2Zy1zaGFkb3c6LTRweCAt
NHB4IDBweCBibHVlOyIgcmVzdWx0PSJmbG9vZDEiLz4KIDxmZUZsb29kIHg9Ii0yMCUiIHk9Ii0y
MCUiIHdpZHRoPSI1MCUiIGhlaWdodD0iNTAlIiBmbG9vZC1jb2xvcj0iZ3JlZW4iIHJlc3VsdD0i
Zmxvb2QyIi8+CiA8ZmVDb21wb3NpdGUgaW49ImZsb29kMSIgaW4yPSJmbG9vZDIiIHdpZHRoPSIx
MjAlIiBoZWlnaHQ9IjEyMCUiIHJlc3VsdD0iY29tcDEiIHN0eWxlPSItd2Via2l0LXN2Zy1zaGFk
b3c6NHB4IC0xcHggM3B4IGdyZWVuOyIvPgotPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0i
NCA0IiBzdHlsZT0iLXdlYmtpdC1zdmctc2hhZG93OiA2cHggNHB4IDhweCB5ZWxsb3c7Ii8+Cis8
ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIwLjAxMzMiIHN0eWxlPSItd2Via2l0LXN2Zy1z
aGFkb3c6IDZweCA0cHggOHB4IHllbGxvdzsiLz4KIDwvZmlsdGVyPgogPC9kZWZzPgogPHJlY3Qg
eD0iMjAwIiB5PSIyMDAiIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiBmaWxsPSJncmVlbiIgc3R5
bGU9ImZpbHRlcjp1cmwoI2ZpbHRlcik7Ii8+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZmlsdGVy
cy9zaGFkb3ctb24tcmVjdC13aXRoLWZpbHRlci5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLXJlY3Qtd2l0aC1maWx0ZXIuc3ZnCShyZXZpc2lvbiA2
OTEyMCkKKysrIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgtZmls
dGVyLnN2Zwkod29ya2luZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAKIDxmZUZsb29kIHg9Ii00MCUi
IHk9Ii00MCUiIHdpZHRoPSI1MCUiIGhlaWdodD0iNTAlIiBmbG9vZC1jb2xvcj0icmVkIiByZXN1
bHQ9ImZsb29kMSIvPgogPGZlRmxvb2QgeD0iLTIwJSIgeT0iLTIwJSIgd2lkdGg9IjUwJSIgaGVp
Z2h0PSI1MCUiIGZsb29kLWNvbG9yPSJncmVlbiIgcmVzdWx0PSJmbG9vZDIiLz4KIDxmZUNvbXBv
c2l0ZSBpbj0iZmxvb2QxIiBpbjI9ImZsb29kMiIgd2lkdGg9IjEyMCUiIGhlaWdodD0iMTIwJSIg
cmVzdWx0PSJjb21wMSIgLz4KLTxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjQgNCIgLz4K
KzxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjAuMDEzMyIgLz4KIDwvZmlsdGVyPgogPC9k
ZWZzPgogPHJlY3QgeD0iMjAwIiB5PSIyMDAiIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiBmaWxs
PSJncmVlbiIgc3R5bGU9ImZpbHRlcjp1cmwoI2ZpbHRlcik7LXdlYmtpdC1zdmctc2hhZG93Oi0x
MHB4IC0xMHB4IDNweCBvcmFuZ2U7Ii8+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlz
cGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEtZXhwZWN0ZWQucG5nCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
QWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgppVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEwTWdV
SEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlh
d3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJL
R0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQov
SWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRF
ZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxj
NS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2
WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhx
cAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgw
bTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJv
eE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0
cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFz
ZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlz
ZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVt
ZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVov
RFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZF
S0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1ds
czA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVw
MHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFWUjRB
ZTNkUVdwYkFSQkV3U2prM2lFbnQwMHU0STM0VEQrWHRqTDYwOVhhTk1iNDlmSDErdVZGZ0FBQkFn
UUlFQ0JBZ0FDQgpCd1IrUC9BTWp5QkFnQUFCQWdRSUVDQkFnTUIvQVFQRUY0RUFBUUlFQ0JBZ1FJ
QUFnY2NFREpESHFEMklBQUVDQkFnUUlFQ0FBQUVECnhIZUFBQUVDQkFnUUlFQ0FBSUhIQkF5UXg2
ZzlpQUFCQWdRSUVDQkFnQUFCQThSM2dBQUJBZ1FJRUNCQWdBQ0J4d1FNa01lb1BZZ0EKQVFJRUNC
QWdRSUFBZ1QvZkVieit2Yjc3RWU4SEJENysrbmN3Z1JwRklFQ0FBQUVDQkFpY0YvaDJnSnhQNE1C
ekFrYnJ1VXJlZnBEQgorblpTSDBpQUFBRUNCSDZNZ0FIeVk2b1dsTUJkQWFQMWJqZnZ1TXhnZlll
aXp5QkFnRUJId04rQWRMcVVoQUFCQWdRSUVDQkFnTUI1CkFRUGtmRVVPSkVDQUFBRUNCQWdRSU5B
Uk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHUKSlNG
QWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJ
RURndllJQ2NyOGlCQkFnUQpJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkFnQUFCQWdRSW5CY3dRTTVY
NUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCCkFnVE9DeGdnNXl0eUlBRUNCQWdR
SUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkEK
QU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJB
Z1FJRUNCQWdNQjVBUVBrZkVVTwpKRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENnQUFCQWdRSUVDQkE0
THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCCkFnUUlFQ0J3WHNBQU9WK1JB
d2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFB
RUMKQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUUlFQ0FBQUVDSFFFRHBO
T2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZwo1eXR5SUFFQ0JBZ1FJRUNBQUlHT2dBSFM2VklTQWdRSUVD
QkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCCkFnUUlFQ0JBZ0FDQjh3
SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVD
QUFBRUMKQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFn
UTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCdwpYc0FBT1YrUkF3a1FJRUNBQUFFQ0JBaDBCQXlRVHBl
U0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luClMwa0lFQ0JBZ0FB
QkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdn
NXl0eUlBRUMKQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUJBdWNGREpEekZUbVFBQUVD
QkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQQpnQUNCOHdJR3lQbUtIRWlBQUFFQ0JBZ1FJRUNn
STJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSCk1FQTZYVXBD
Z0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlF
Q0J3WHNBQU9WK1IKQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJRURndllJQ2Ny
OGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQQpnQUFCQWdRSW5CY3dRTTVYNUVBQ0JBZ1FJ
RUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJRUNBCkFJR09n
QUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQkFn
UUlFQ0JBZ0FDQjh3SUcKeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdN
QjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQwpnQUFCQWdRSUVDQkE0THlBQVhLK0ln
Y1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBCkFB
RUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFBRUNCRG9DQmtp
blMwa0lFQ0JBZ0FBQkFnUUkKbkJjd1FNNVg1RUFDQkFnUUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNC
QWdBQUJBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUwo2VklTQWdRSUVDQkFnQUFCQXVj
RkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJR3lQbUtIRWlB
CkFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVDQUFBRUNCQWdR
SU5BUk1FQTZYVXBDZ0FBQkFnUUkKRUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1
SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMApCQXlRVHBlU0VDQkFnQUFC
QWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkFnQUFCQWdRSW5CY3dR
TTVYCjVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdnNXl0eUlBRUNC
QWdRSUVDQUFJR09nQUhTNlZJU0FnUUkKRUNCQWdBQUJBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FR
RWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUQpJRUNnSTJDQWRMcVVo
QUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENnQUFCQWdRSUVD
QkE0THlBCkFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlFQ0J3WHNBQU9W
K1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVMKRUNCQWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUUlF
Q0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUQpJRUNBQUFFQ0hR
RURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJRUNBQUlHT2dBSFM2VklTQWdR
SUVDQkFnQUFCCkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQkFnUUlFQ0JBZ0FD
Qjh3SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0EKZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVV
T0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjUwpJRUNBQUFF
Q0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBQUFFQ0JBaDBCQXlR
VHBlU0VDQkFnQUFCCkFnUUlFRGd2OFByNGVwMi8wb0VFQ0JBZ1FJQUFBUUlFQ0NRRS9BWWtVYU1R
QkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUkKRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFn
UUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUQpNRUEy
ZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJB
Z1FJRUNDUUVEQkFFalVLClFZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNC
a2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUUKQ0JBZ1FJQkFRc0FBU2RRb0JBRUNC
QWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZwpz
Q0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZ
QUFBUUlFQ0JBZ1FDQWhZSUFrCmFoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFn
UUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUMKQkFnUUlFQ0FBSUdFZ0FHU3FG
RUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFn
UQpJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NB
YlBibVNBQUVDQkFnUUlFQ0FRRUxBCkFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlB
QUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUksKQWdRSUVDQkFnQUFCQWdr
QkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FC
QWdRSQpFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdR
MkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCCmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1
SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm8KeVpVRUNCQWdRSUFB
QVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkox
Q2dFQVFJRQpDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJB
Z1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBCkFRSUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVE
SkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUIKc3RHVEt3a1FJ
RUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZ
U0FBWktvVVFnQwpCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZ
QUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBCkFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFn
UUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU4KQVFOa295
ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVD
QUFBRUNDUUVESkZHagpFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlB
a2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBCmdBQUJBZ1FJSkFRTWtFU05RaEFnUUlB
QUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUIKQWhz
Q0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJ
RUNCQWdBQUJBZ1FTQWdaSQpva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNB
UUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnClFJQUFBUUlFQ0JCSUNCZ2dpUnFG
SUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUEK
QVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kw
Wk1yQ1JBZ1FJQUFBUUlFQ0NRRQpESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlF
Q0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1CkpFQ0FBQUVDQkFnUUlKQVFN
RUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlF
Q0EKQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdR
MEJBMlNqSjFjU0lFQ0FBQUVDQkFnUQpTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1Nn
SUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNOCm5seEpnQUFCQWdRSUVD
QkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkx
Q0VDQkEKZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVD
QUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSQpFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FE
WjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZCklCczl1WklBQVFJ
RUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJ
R0NDSkdvVWcKUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJ
RUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRQpDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNB
d0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZCkVEQkFObnB5
SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVD
QkFna0JBd1FCSTEKQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklv
a1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQwpCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlF
Q0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRCklMQWhZ
SUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFB
RUNCQWdRSUVBZ0lXQ0EKSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUND
UUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQgpBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNB
SUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJCkVD
QkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oy
NWtnQUJBZ1FJRUNCQWdFQkMKd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFF
Q0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUawpTZ0lFQ0JBZ1FJQUFBUUlKQVFN
a1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlF
CkNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdR
TUVBMmVuSWxBUUlFQ0JBZ1FJQUEKZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJB
Z0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWgo2TW1WQkFnUUlFQ0FBQUVD
QkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9C
QUVDCkJBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVD
QkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0EKQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFq
WjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQQpBYkxSa3lzSkVDQkFn
QUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdB
R1NxRkVJCkFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFB
RUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkEKZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNH
d0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQgpEUUVEWktNblZ4
SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FB
QkFna0JBeVJSCm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdv
VWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWcKUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFF
Q0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlBQQpBUUliQWdi
SVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFn
UUlBQUFRSUVFZ0lHClNLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJD
d0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1MKSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JB
Z0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVDQQpBQUVD
QkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RL
d2tRSUVDQUFBRUNCQWdrCkJBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdR
SUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlAKcmlSQWdBQUJBZ1FJRUNDUUVEQkFF
alVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQQpn
QUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFR
TmtveWRYRWlCQWdBQUJBZ1FJCkVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JB
Z1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVEKalo1Y1NZQUFBUUlFQ0JBZ1FD
QWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhB
ZwpRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FB
QkFoc0NCc2hHVDY0a1FJQUFBUUlFCkNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVq
SmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0kKR0NBYlBibVNBQUVDQkFn
UUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdn
aVJxRgpJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFn
UUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDCkJBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNH
Z0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EKMkJBd1FEWjZjaVVC
QWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJ
SkFRTUVBUwpOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJ
UWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCCkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdR
SUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUkKRUNDd0lXQ0Fi
UFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFn
UUlFQ0JBSUNGZwpnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JB
eVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsCkFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JB
Z1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUUKQ0JBZ1FH
QkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJ
QUFRSUVDQkFnUUlCQQpRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdR
SUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owCjVFb0NCQWdRSUVDQUFBRUNDUUVESkZH
akVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUMKQkFn
UUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJB
Tm5weUpRRUNCQWdRSUVDQQpBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFB
QVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBCjJlakpsUVFJRUNCQWdBQUJBZ1FT
QWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUIK
QWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJ
TEFoWUlCczlPUktBZ1FJRUNCQQpnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVY
RW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHCmdBR3kwWk1yQ1JBZ1FJQUFB
UUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtx
aFIKQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFn
UUlFQ0JBWUVQQUFObm95WlVFQ0JBZwpRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NC
Z2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBCmdRMEJBMlNqSjFjU0lF
Q0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJ
SkFRTWsKVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJ
QUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUQpJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdR
SUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBCkFBRUNHd0lHeUVa
UHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNB
QUFFQ0JCSUMKQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FB
U2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWApFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFB
QVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBCmdBQUJBZ1Ey
QkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pF
Q0JBZ0FBQkFnUUkKSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FB
SUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoRwpUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFD
a0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnClFJQUFB
UUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpL
TW5WeElnUUlBQUFRSUUKQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVD
QkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTQprSTJlWEVtQUFBRUNCQWdRSUVBZ0lX
Q0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRCklF
Q0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJ
YkFnYklSayt1SkVDQUFBRUMKQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpV
RUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFocwpDQmdnR3oyNWtnQUJBZ1FJRUNC
QWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWth
CmhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNB
QUFFQ0JQZVdKUTBBQUFqMVNVUkIKVkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlB
QVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UQpSSTFDRUNCQWdBQUJBZ1FJ
RU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlBy
aVJBCmdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FB
QUVDQkJJQ0JraWlSaUVJRUNCQWdBQUIKQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFT
ZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSQpHQ0NKR29VZ1FJQUFB
UUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJB
eVFqWjVjClNZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVD
QkFnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUEKQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJ
R0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZwprQkF3UUJJMUNr
R0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJ
RUNHd0lHQ0FiClBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktN
blZ4SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0EKQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNC
QWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUQpJRUFnSVdD
QUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNB
QUFFQ0JBZ1EyQkF3ClFEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUli
QWdiSVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEIKZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVF
Q0JBZ1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSQpFQ0JB
Z0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2Fo
U0JBZ0FBQkFnUUlFQ0N3CklXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FB
QUVDQkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnEKRklJQUFRSUVDQkFnUUlEQWhvQUJz
dEdUS3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRQpD
QkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVE
QkFFalVLUVlBQUFRSUVDQkFnClFHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVD
QkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUEKU2RRb0JBRUNCQWdRSUVDQUFJ
RU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVv
QwpCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JB
Z1FDQWhZSUFrYWhTQ0FBRUNCQWdRCklFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VT
TlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0UKZ0FHU3FGRUlBZ1FJRUNC
QWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFB
MmVqSgpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVD
QkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJCkVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJ
Q0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUIKQWdrQkF5UlJveEFF
Q0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFn
TUNHZ0FHeQowWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZj
aVVCQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFCkNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNC
QWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUEKQVFJRUVnSUdT
S0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNC
QWdRSUFBZ1EwQgpBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lX
Q0FiUFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RCkJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdB
QUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0EKQUFFQ0JB
Z2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFn
Q0JBZ1FJRUNBQUFFQwpHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JB
Z1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpClJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJz
OXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkEKZ0FB
QkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVE
SkZHakVBUUlFQ0JBZ0FBQgpBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVD
QkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNCmtFU05RaEFnUUlBQUFRSUVDQkRZ
RURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGsK
UUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJB
Z1FTQWdaSW9rWWhDQkFnUUlBQQpBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVL
QVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJCkNCZ2dpUnFGSUVDQUFBRUNC
QWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJ
MmUKWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJ
QUFBUUlFQ0NRRURKQkVqVUlRSUVDQQpBQUVDQkFnUTJCRDRCR01GRmEzOXlkWEhBQUFBQUVsRlRr
U3VRbUNDCgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRl
clJlczItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2Vk
IGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJl
YW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmls
dGVycy9maWx0ZXJSZXMyLWV4cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10
eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVV
Z0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpW
TTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51
dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdN
NSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1Rp
UUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9n
OAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pU
MWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lI
Q0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhI
WkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5u
M3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekox
SkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIz
bEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekht
Z2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2Mkpp
emRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExx
d3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NL
bVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4
TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVz
eFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytm
bXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVRVlI0QWUzYnZRNmQxUlZGVVR1aFRW
SWpJZkZzZVJLVVIvT1RPVDg5cXdpVEs1K3RRWk5paStYdmp1Tm1LdUxyOS8vODg4VS8KQkFnUUlF
Q0FBQUVDQkFnUStJREFYejd3Wi9nakNCQWdRSUFBQVFJRUNCQWc4RDhCQWVJdkFnRUNCQWdRSUVD
QUFBRUNIeE1RSUIrago5Z2NSSUVDQUFBRUNCQWdRSUNCQS9CMGdRSUFBQVFJRUNCQWdRT0JqQWdM
a1k5VCtJQUlFQ0JBZ1FJQUFBUUlFQklpL0F3UUlFQ0JBCmdBQUJBZ1FJZkV4QWdIeU0yaDlFZ0FB
QkFnUUlFQ0JBZ0lBQThYZUFBQUVDQkFnUUlFQ0FBSUdQQ1FpUWoxSDdnd2dRSUVDQUFBRUMKQkFn
UUVDRCtEaEFnUUlBQUFRSUVDQkFnOERFQkFmSXhhbjhRQVFJRUNCQWdRSUFBQVFJQ3hOOEJBZ1FJ
RUNCQWdBQUJBZ1ErSmlCQQpQa2J0RHlKQWdBQUJBZ1FJRUNCQVFJRDRPMENBQUFFQ0JBZ1FJRUNB
d01jRUJNakhxUDFCQkFnUUlFQ0FBQUVDQkFnSUVIOEhDQkFnClFJQUFBUUlFQ0JENG1JQUErUmkx
UDRnQUFRSUVDQkFnUUlBQWdaOHFncS8vK2xwTjJmbURBci8rNDljdjMvNzU3Y3QvLzljL0JBZ1EK
SUVDQUFBRUNCSDRrZ1N4QWZxUWY1VnZlRUJDdFA5WTdmZi90KzQvMVFiNkdBQUVDQkFnUU9Da2dR
RTQrcXg5RjRLYUFhUDJ4M2xXMAovbGp2NFdzSUVDRHdpb0QvQnVTVmwvS2RCQWdRSUVDQUFBRUNC
QTRJQ0pBRGorZ25FQ0JBZ0FBQkFnUUlFSGhGUUlDODhsSytrd0FCCkFnUUlFQ0JBZ01BQkFRRnk0
Qkg5QkFJRUNCQWdRSUFBQVFLdkNBaVFWMTdLZHhJZ1FJQUFBUUlFQ0JBNElDQkFEanlpbjBDQUFB
RUMKQkFnUUlFRGdGUUVCOHNwTCtVNENCQWdRSUVDQUFBRUNCd1FFeUlGSDlCTUlFQ0JBZ0FBQkFn
UUl2Q0lnUUY1NUtkOUpnQUFCQWdRSQpFQ0JBNElDQUFEbndpSDRDQVFJRUNCQWdRSUFBZ1ZjRUJN
Z3JMK1U3Q1JBZ1FJQUFBUUlFQ0J3UUVDQUhIdEZQSUVDQUFBRUNCQWdRCklQQ0tnQUI1NWFWOEp3
RUNCQWdRSUVDQUFJRURBZ0xrd0NQNkNRUUlFQ0JBZ0FBQkFnUmVFUkFncjd5VTd5UkFnQUFCQWdR
SUVDQncKUUVDQUhIaEVQNEVBQVFJRUNCQWdRSURBS3dJQzVKV1g4cDBFQ0JBZ1FJQUFBUUlFRGdn
SWtBT1A2Q2NRSUVDQUFBRUNCQWdRZUVWQQpnTHp5VXI2VEFBRUNCQWdRSUVDQXdBRUJBWExnRWYw
RUFnUUlFQ0JBZ0FBQkFxOElDSkJYWHNwM0VpQkFnQUFCQWdRSUVEZ2dJRUFPClBLS2ZRSUFBQVFJ
RUNCQWdRT0FWQVFIeXlrdjVUZ0lFQ0JBZ1FJQUFBUUlIQkFUSWdVZjBFd2dRSUVDQUFBRUNCQWk4
SWlCQVhua3AKMzBtQUFBRUNCQWdRSUVEZ2dJQUFPZkNJZmdJQkFnUUlFQ0JBZ0FDQlZ3UUV5Q3N2
NVRzSkVDQkFnQUFCQWdRSUhCQVFJQWNlMFU4ZwpRSUFBQVFJRUNCQWc4SXFBQUhubHBYd25BUUlF
Q0JBZ1FJQUFnUU1DQXVUQUkvb0pCQWdRSUVDQUFBRUNCRjRSRUNDdnZKVHZKRUNBCkFBRUNCQWdR
SUhCQVFJQWNlRVEvZ1FBQkFnUUlFQ0JBZ01BckFnTGtsWmZ5blFRSUVDQkFnQUFCQWdRT0NBaVFB
NC9vSnhBZ1FJQUEKQVFJRUNCQjRSVUNBdlBKU3ZwTUFBUUlFQ0JBZ1FJREFBUUVCY3VBUi9RUUNC
QWdRSUVDQUFBRUNyd2dJa0ZkZXluY1NJRUNBQUFFQwpCQWdRT0NBZ1FBNDhvcDlBZ0FBQkFnUUlF
Q0JBNEJVQkFmTEtTL2xPQWdRSUVDQkFnQUFCQWdjRUJNaUJSL1FUQ0JBZ1FJQUFBUUlFCkNMd2lJ
RUJlZVNuZlNZQUFBUUlFQ0JBZ1FPQ0FnQUE1OEloK0FnRUNCQWdRSUVDQUFJRlhCQVRJS3kvbE93
a1FJRUNBQUFFQ0JBZ2MKRUJBZ0J4N1JUeUJBZ0FBQkFnUUlFQ0R3aW9BQWVlV2xmQ2NCQWdRSUVD
QkFnQUNCQXdJQzVNQWorZ2tFQ0JBZ1FJQUFBUUlFWGhFUQpJSys4bE84a1FJQUFBUUlFQ0JBZ2NF
QkFnQng0UkQrQkFBRUNCQWdRSUVDQXdDc0NBdVNWbC9LZEJBZ1FJRUNBQUFFQ0JBNElDSkFECmor
Z25FQ0JBZ0FBQkFnUUlFSGhGUUlDODhsSytrd0FCQWdRSUVDQkFnTUFCQVFGeTRCSDlCQUlFQ0JB
Z1FJQUFBUUt2Q0FpUVYxN0sKZHhJZ1FJQUFBUUlFQ0JBNElDQkFEanlpbjBDQUFBRUNCQWdRSUVE
Z0ZRRUI4c3BMK1U0Q0JBZ1FJRUNBQUFFQ0J3UUV5SUZIOUJNSQpFQ0JBZ0FBQkFnUUl2Q0lnUUY1
NUtkOUpnQUFCQWdRSUVDQkE0SUNBQURud2lINENBUUlFQ0JBZ1FJQUFnVmNFQk1nckwrVTdDUkFn
ClFJQUFBUUlFQ0J3UUVDQUhIdEZQSUVDQUFBRUNCQWdRSVBDS2dBQjU1YVY4SndFQ0JBZ1FJRUNB
QUlFREFnTGt3Q1A2Q1FRSUVDQkEKZ0FBQkFnUmVFUkFncjd5VTd5UkFnQUFCQWdRSUVDQndRRUNB
SEhoRVA0RUFBUUlFQ0JBZ1FJREFLd0lDNUpXWDhwMEVDQkFnUUlBQQpBUUlFRGdnSWtBT1A2Q2NR
SUVDQUFBRUNCQWdRZUVWQWdMenlVcjZUQUFFQ0JBZ1FJRUNBd0FFQkFYTGdFZjBFQWdRSUVDQkFn
QUFCCkFxOElDSkJYWHNwM0VpQkFnQUFCQWdRSUVEZ2dJRUFPUEtLZlFJQUFBUUlFQ0JBZ1FPQVZB
UUh5eWt2NVRnSUVDQkFnUUlBQUFRSUgKQkFUSWdVZjBFd2dRSUVDQUFBRUNCQWk4SWlCQVhua3Az
MG1BQUFFQ0JBZ1FJRURnZ0lBQU9mQ0lmZ0lCQWdRSUVDQkFnQUNCVndRRQp5Q3N2NVRzSkVDQkFn
QUFCQWdRSUhCQVFJQWNlMFU4Z1FJQUFBUUlFQ0JBZzhJcUFBSG5scFh3bkFRSUVDQkFnUUlBQWdR
TUNBdVRBCkkvb0pCQWdRSUVDQUFBRUNCRjRSRUNDdnZKVHZKRUNBQUFFQ0JBZ1FJSEJBUUlBY2VF
US9nUUFCQWdRSUVDQkFnTUFyQWdMa2xaZnkKblFRSUVDQkFnQUFCQWdRT0NBaVFBNC9vSnhBZ1FJ
QUFBUUlFQ0JCNFJVQ0F2UEpTdnBNQUFRSUVDQkFnUUlEQUFRRUJjdUFSL1FRQwpCQWdRSUVDQUFB
RUNyd2dJa0ZkZXluY1NJRUNBQUFFQ0JBZ1FPQ0FnUUE0OG9wOUFnQUFCQWdRSUVDQkE0QlVCQWZM
S1MvbE9BZ1FJCkVDQkFnQUFCQWdjRUJNaUJSL1FUQ0JBZ1FJQUFBUUlFQ0x3aUlFQmVlU25mU1lB
QUFRSUVDQkFnUU9DQWdBQTU4SWgrQWdFQ0JBZ1EKSUVDQUFJRlhCQVRJS3kvbE93a1FJRUNBQUFF
Q0JBZ2NFQkFnQng3UlR5QkFnQUFCQWdRSUVDRHdpb0FBZWVXbGZDY0JBZ1FJRUNCQQpnQUNCQXdJ
QzVNQWorZ2tFQ0JBZ1FJQUFBUUlFWGhFUUlLKzhsTzhrUUlBQUFRSUVDQkFnY0VCQWdCeDRSRCtC
QUFFQ0JBZ1FJRUNBCndDc0NQMVVmK3VzL2ZxMm03UHhCZ1YvKy9zdVh2Mzc5Nng5YzhhOFRJRUNB
QUFFQ0JBZ1E2QVd5QVBuMnoyLzkxMW44dndUK0d4OC8KLyszbi8rdmY5UzhSSUVDQUFBRUNCQWdR
K0RNRnNnRHgvNEQ4bWM5MGMvdjdiOTl2L2pDL2lnQUJBZ1FJRUNCQTRIY0Z2bjcvenorLwplM1Vn
UUlBQUFRSUVDQkFnUUlCQUtPQS9RZzh4VFJFZ1FJQUFBUUlFQ0JBZ3NBVUV5UFp4SlVDQUFBRUNC
QWdRSUVBZ0ZCQWdJYVlwCkFnUUlFQ0JBZ0FBQkFnUzJnQURaUHE0RUNCQWdRSUFBQVFJRUNJUUNB
aVRFTkVXQUFBRUNCQWdRSUVDQXdCWVFJTnZIbFFBQkFnUUkKRUNCQWdBQ0JVRUNBaEppbUNCQWdR
SUFBQVFJRUNCRFlBZ0prKzdnU0lFQ0FBQUVDQkFnUUlCQUtDSkFRMHhRQkFnUUlFQ0JBZ0FBQgpB
bHRBZ0d3ZlZ3SUVDQkFnUUlBQUFRSUVRZ0VCRW1LYUlrQ0FBQUVDQkFnUUlFQmdDd2lRN2VOS2dB
QUJBZ1FJRUNCQWdFQW9JRUJDClRGTUVDQkFnUUlBQUFRSUVDR3dCQWJKOVhBa1FJRUNBQUFFQ0JB
Z1FDQVVFU0locGlnQUJBZ1FJRUNCQWdBQ0JMU0JBdG84ckFRSUUKQ0JBZ1FJQUFBUUtoZ0FBSk1V
MFJJRUNBQUFFQ0JBZ1FJTEFGQk1qMmNTVkFnQUFCQWdRSUVDQkFJQlFRSUNHbUtRSUVDQkFnUUlB
QQpBUUlFdG9BQTJUNnVCQWdRSUVDQUFBRUNCQWlFQWdJa3hEUkZnQUFCQWdRSUVDQkFnTUFXRUNE
Yng1VUFBUUlFQ0JBZ1FJQUFnVkJBCmdJU1lwZ2dRSUVDQUFBRUNCQWdRMkFJQ1pQdTRFaUJBZ0FB
QkFnUUlFQ0FRQ2dpUUVOTVVBUUlFQ0JBZ1FJQUFBUUpiUUlCc0gxY0MKQkFnUUlFQ0FBQUVDQkVJ
QkFSSmltaUpBZ0FBQkFnUUlFQ0JBWUFzSWtPM2pTb0FBQVFJRUNCQWdRSUJBS0NCQVFreFRCQWdR
SUVDQQpBQUVDQkFoc0FRR3lmVndKRUNCQWdBQUJBZ1FJRUFnRkJFaUlhWW9BQVFJRUNCQWdRSUFB
Z1MwZ1FMYVBLd0VDQkFnUUlFQ0FBQUVDCm9ZQUFDVEZORVNCQWdBQUJBZ1FJRUNDd0JRVEk5bkVs
UUlBQUFRSUVDQkFnUUNBVUVDQWhwaWtDQkFnUUlFQ0FBQUVDQkxhQUFOaysKcmdRSUVDQkFnQUFC
QWdRSWhBSUNKTVEwUllBQUFRSUVDQkFnUUlEQUZoQWcyOGVWQUFFQ0JBZ1FJRUNBQUlGUVFJQ0Vt
S1lJRUNCQQpnQUFCQWdRSUVOZ0NBbVQ3dUJJZ1FJQUFBUUlFQ0JBZ0VBb0lrQkRURkFFQ0JBZ1FJ
RUNBQUFFQ1cwQ0FiQjlYQWdRSUVDQkFnQUFCCkFnUkNBUUVTWXBvaVFJQUFBUUlFQ0JBZ1FHQUxD
SkR0NDBxQUFBRUNCQWdRSUVDQVFDZ2dRRUpNVXdRSUVDQkFnQUFCQWdRSWJBRUIKc24xY0NSQWdR
SUFBQVFJRUNCQUlCUVJJaUdtS0FBRUNCQWdRSUVDQUFJRXRJRUMyanlzQkFnUUlFQ0JBZ0FBQkFx
R0FBQWt4VFJFZwpRSUFBQVFJRUNCQWdzQVVFeVBaeEpVQ0FBQUVDQkFnUUlFQWdGQkFnSWFZcEFn
UUlFQ0JBZ0FBQkFnUzJnQURaUHE0RUNCQWdRSUFBCkFRSUVDSVFDQWlURU5FV0FBQUVDQkFnUUlF
Q0F3QllRSU52SGxRQUJBZ1FJRUNCQWdBQ0JVRUNBaEppbUNCQWdRSUFBQVFJRUNCRFkKQWdKays3
Z1NJRUNBQUFFQ0JBZ1FJQkFLQ0pBUTB4UUJBZ1FJRUNCQWdBQUJBbHRBZ0d3ZlZ3SUVDQkFnUUlB
QUFRSUVRZ0VCRW1LYQpJa0NBQUFFQ0JBZ1FJRUJnQ3dpUTdlTktnQUFCQWdRSUVDQkFnRUFvSUVC
Q1RGTUVDQkFnUUlBQUFRSUVDR3dCQWJKOVhBa1FJRUNBCkFBRUNCQWdRQ0FVRVNJaHBpZ0FCQWdR
SUVDQkFnQUNCTFNCQXRvOHJBUUlFQ0JBZ1FJQUFBUUtoZ0FBSk1VMFJJRUNBQUFFQ0JBZ1EKSUxB
RkJNajJjU1ZBZ0FBQkFnUUlFQ0JBSUJRUUlDR21LUUlFQ0JBZ1FJQUFBUUlFdG9BQTJUNnVCQWdR
SUVDQUFBRUNCQWlFQWdJawp4RFJGZ0FBQkFnUUlFQ0JBZ01BV0VDRGJ4NVVBQVFJRUNCQWdRSUFB
Z1ZCQWdJU1lwZ2dRSUVDQUFBRUNCQWdRMkFJQ1pQdTRFaUJBCmdBQUJBZ1FJRUNBUUNnaVFFTk1V
QVFJRUNCQWdRSUFBQVFKYlFJQnNIMWNDQkFnUUlFQ0FBQUVDQkVJQkFSSmltaUpBZ0FBQkFnUUkK
RUNCQVlBc0lrTzNqU29BQUFRSUVDQkFnUUlCQUtDQkFRa3hUQkFnUUlFQ0FBQUVDQkFoc0FRR3lm
VndKRUNCQWdBQUJBZ1FJRUFnRgpCRWlJYVlvQUFRSUVDQkFnUUlBQWdTMGdRTGFQS3dFQ0JBZ1FJ
RUNBQUFFQ29ZQUFDVEZORVNCQWdBQUJBZ1FJRUNDd0JRVEk5bkVsClFJQUFBUUlFQ0JBZ1FDQVVF
Q0FocGlrQ0JBZ1FJRUNBQUFFQ0JMYUFBTmsrcmdRSUVDQkFnQUFCQWdRSWhBSUNKTVEwUllBQUFR
SUUKQ0JBZ1FJREFGaEFnMjhlVkFBRUNCQWdRSUVDQUFJRlFRSUNFbUtZSUVDQkFnQUFCQWdRSUVO
Z0NBbVQ3dUJJZ1FJQUFBUUlFQ0JBZwpFQW9Ja0JEVEZBRUNCQWdRSUVDQUFBRUNXMENBYkI5WEFn
UUlFQ0JBZ0FBQkFnUkNBUUVTWXBvaVFJQUFBUUlFQ0JBZ1FHQUxDSkR0CjQwcUFBQUVDQkFnUUlF
Q0FRQ2dnUUVKTVV3UUlFQ0JBZ0FBQkFnUUliQUVCc24xY0NSQWdRSUFBQVFJRUNCQUlCUVJJaUdt
S0FBRUMKQkFnUUlFQ0FBSUV0SUVDMmp5c0JBZ1FJRUNCQWdBQUJBcUdBQUFreFRSRWdRSUFBQVFJ
RUNCQWdzQVVFeVBaeEpVQ0FBQUVDQkFnUQpJRUFnRkJBZ0lhWXBBZ1FJRUNCQWdBQUJBZ1MyZ0FE
WlBxNEVDQkFnUUlBQUFRSUVDSVFDQWlURU5FV0FBQUVDQkFnUUlFQ0F3QllRCklOdkhsUUFCQWdR
SUVDQkFnQUNCVUVDQWhKaW1DQkFnUUlBQUFRSUVDQkRZQWdKays3Z1NJRUNBQUFFQ0JBZ1FJQkFL
Q0pBUTB4UUIKQWdRSUVDQkFnQUFCQWx0QWdHd2ZWd0lFQ0JBZ1FJQUFBUUlFUWdFQkVtS2FJa0NB
QUFFQ0JBZ1FJRUJnQ3dpUTdlTktnQUFCQWdRSQpFQ0JBZ0VBb0lFQkNURk1FQ0JBZ1FJQUFBUUlF
Q0d3QkFiSjlYQWtRSUVDQUFBRUNCQWdRQ0FVRVNJaHBpZ0FCQWdRSUVDQkFnQUNCCkxTQkF0bzhy
QVFJRUNCQWdRSUFBQVFLaGdBQUpNVTBSSUVDQUFBRUNCQWdRSUxBRkJNajJjU1ZBZ0FBQkFnUUlF
Q0JBSUJRUUlDR20KS1FJRUNCQWdRSUFBQVFJRXRvQUEyVDZ1QkFnUUlFQ0FBQUVDQkFpRUFnSWt4
RFJGZ0FBQkFnUUlFQ0JBZ01BV0VDRGJ4NVVBQVFJRQpDQkFnUUlBQWdWQkFnSVNZcGdnUUlFQ0FB
QUVDQkFnUTJBSUNaUHU0RWlCQWdBQUJBZ1FJRUNBUUNnaVFFTk1VQVFJRUNCQWdRSUFBCkFRSmJR
SUJzSDFjQ0JBZ1FJRUNBQUFFQ0JFSUJBUkppbWlKQWdBQUJBZ1FJRUNCQVlBc0lrTzNqU29BQUFR
SUVDQkFnUUlCQUtDQkEKUWt4VEJBZ1FJRUNBQUFFQ0JBaHNBUUd5ZlZ3SkVDQkFnQUFCQWdRSUVB
Z0ZCRWlJYVlvQUFRSUVDQkFnUUlBQWdTMGdRTGFQS3dFQwpCQWdRSUVDQUFBRUNvWUFBQ1RGTkVT
QkFnQUFCQWdRSUVDQ3dCUVRJOW5FbFFJQUFBUUlFQ0JBZ1FDQVVFQ0FocGlrQ0JBZ1FJRUNBCkFB
RUNCTGFBQU5rK3JnUUlFQ0JBZ0FBQkFnUUloQUlDSk1RMFJZQUFBUUlFQ0JBZ1FJREFGaEFnMjhl
VkFBRUNCQWdRSUVDQUFJRlEKUUlDRW1LWUlFQ0JBZ0FBQkFnUUlFTmdDQW1UN3VCSWdRSUFBQVFJ
RUNCQWdFQW9Ja0JEVEZBRUNCQWdRSUVDQUFBRUNXMENBYkI5WApBZ1FJRUNCQWdBQUJBZ1JDQVFF
U1lwb2lRSUFBQVFJRUNCQWdRR0FMQ0pEdDQwcUFBQUVDQkFnUUlFQ0FRQ2dnUUVKTVV3UUlFQ0JB
CmdBQUJBZ1FJYkFFQnNuMWNDUkFnUUlBQUFRSUVDQkFJQlFSSWlHbUtBQUVDQkFnUUlFQ0FBSUV0
SUVDMmp5c0JBZ1FJRUNCQWdBQUIKQXFHQUFBa3hUUkVnUUlBQUFRSUVDQkFnc0FVRXlQWnhKVUNB
QUFFQ0JBZ1FJRUFnRkJBZ0lhWXBBZ1FJRUNCQWdBQUJBZ1MyZ0FEWgpQcTRFQ0JBZ1FJQUFBUUlF
Q0lRQ0FpVEVORVdBQUFFQ0JBZ1FJRUNBd0JZUUlOdkhsUUFCQWdRSUVDQkFnQUNCVUVDQWhKaW1D
QkFnClFJQUFBUUlFQ0JEWUFnSmsrN2dTSUVDQUFBRUNCQWdRSUJBS0NKQVEweFFCQWdRSUVDQkFn
QUFCQWx0QWdHd2ZWd0lFQ0JBZ1FJQUEKQVFJRVFnRUJFbUthSWtDQUFBRUNCQWdRSUVCZ0N3aVE3
ZU5LZ0FBQkFnUUlFQ0JBZ0VBb0lFQkNURk1FQ0JBZ1FJQUFBUUlFQ0d3QgpBYko5WEFrUUlFQ0FB
QUVDQkFnUUNBVUVTSWhwaWdBQkFnUUlFQ0JBZ0FDQkxTQkF0bzhyQVFJRUNCQWdRSUFBQVFLaGdB
QUpNVTBSCklFQ0FBQUVDQkFnUUlMQUZCTWoyY1NWQWdBQUJBZ1FJRUNCQUlCUVFJQ0dtS1FJRUNC
QWdRSUFBQVFJRXRvQUEyVDZ1QkFnUUlFQ0EKQUFFQ0JBaUVBZ0lreERSRmdBQUJBZ1FJRUNCQWdN
QVdFQ0RieDVVQUFRSUVDQkFnUUlBQWdWQkFnSVNZcGdnUUlFQ0FBQUVDQkFnUQoyQUlDWlB1NEVp
QkFnQUFCQWdRSUVDQVFDZ2lRRU5NVUFRSUVDQkFnUUlBQUFRSmJRSUJzSDFjQ0JBZ1FJRUNBQUFF
Q0JFSUJBUkppCm1pSkFnQUFCQWdRSUVDQkFZQXNJa08zalNvQUFBUUlFQ0JBZ1FJQkFLQ0JBUWt4
VEJBZ1FJRUNBQUFFQ0JBaHNBUUd5ZlZ3SkVDQkEKZ0FBQkFnUUlFQWdGQkVpSWFZb0FBUUlFQ0JB
Z1FJQUFnUzBnUUxhUEt3RUNCQWdRSUVDQUFBRUNvWUFBQ1RGTkVTQkFnQUFCQWdRSQpFQ0N3QlFU
STluRWxRSUFBQVFJRUNCQWdRQ0FVRUNBaHBpa0NCQWdRSUVDQUFBRUNCTGFBQU5rK3JnUUlFQ0JB
Z0FBQkFnUUloQUlDCkpNUTBSWUFBQVFJRUNCQWdRSURBRmhBZzI4ZVZBQUVDQkFnUUlFQ0FBSUZR
UUlDRW1LWUlFQ0JBZ0FBQkFnUUlFTmdDQW1UN3VCSWcKUUlBQUFRSUVDQkFnRUFvSWtCRFRGQUVD
QkFnUUlFQ0FBQUVDVzBDQWJCOVhBZ1FJRUNCQWdBQUJBZ1JDQVFFU1lwb2lRSUFBQVFJRQpDQkFn
UUdBTENKRHQ0MHFBQUFFQ0JBZ1FJRUNBUUNnZ1FFSk1Vd1FJRUNCQWdBQUJBZ1FJYkFFQnNuMWND
UkFnUUlBQUFRSUVDQkFJCkJRUklpR21LQUFFQ0JBZ1FJRUNBQUlFdElFQzJqeXNCQWdRSUVDQkFn
QUFCQXFHQUFBa3hUUkVnUUlBQUFRSUVDQkFnc0FVRXlQWngKSlVDQUFBRUNCQWdRSUVBZ0ZCQWdJ
YVlwQWdRSUVDQkFnQUFCQWdTMmdBRFpQcTRFQ0JBZ1FJQUFBUUlFQ0lRQ0FpVEVORVdBQUFFQwpC
QWdRSUVDQXdCWVFJTnZIbFFBQkFnUUlFQ0JBZ0FDQlVFQ0FoSmltQ0JBZ1FJQUFBUUlFQ0JEWUFn
SmsrN2dTSUVDQUFBRUNCQWdRCklCQUtDSkFRMHhRQkFnUUlFQ0JBZ0FBQkFsdEFnR3dmVndJRUNC
QWdRSUFBQVFJRVFnRUJFbUthSWtDQUFBRUNCQWdRSUVCZ0N3aVEKN2VOS2dBQUJBZ1FJRUNCQWdF
QW9JRUJDVEZNRUNCQWdRSUFBQVFJRUNHd0JBYko5WEFrUUlFQ0FBQUVDQkFnUUNBVUVTSWhwaWdB
QgpBZ1FJRUNCQWdBQ0JMU0JBdG84ckFRSUVDQkFnUUlBQUFRS2hnQUFKTVUwUklFQ0FBQUVDQkFn
UUlMQUZCTWoyY1NWQWdBQUJBZ1FJCkVDQkFJQlFRSUNHbUtRSUVDQkFnUUlBQUFRSUV0b0FBMlQ2
dUJBZ1FJRUNBQUFFQ0JBaUVBZ0lreERSRmdBQUJBZ1FJRUNCQWdNQVcKRUNEYng1VUFBUUlFQ0JB
Z1FJQUFnVkJBZ0lTWXBnZ1FJRUNBQUFFQ0JBZ1EyQUlDWlB1NEVpQkFnQUFCQWdRSUVDQVFDZ2lR
RU5NVQpBUUlFQ0JBZ1FJQUFBUUpiUUlCc0gxY0NCQWdRSUVDQUFBRUNCRUlCQVJKaW1pSkFnQUFC
QWdRSUVDQkFZQXNJa08zalNvQUFBUUlFCkNCQWdRSUJBS0NCQVFreFRCQWdRSUVDQUFBRUNCQWhz
QVFHeWZWd0pFQ0JBZ0FBQkFnUUlFQWdGQkVpSWFZb0FBUUlFQ0JBZ1FJQUEKZ1MwZ1FMYVBLd0VD
QkFnUUlFQ0FBQUVDb1lBQUNURk5FU0JBZ0FBQkFnUUlFQ0N3QlFUSTluRWxRSUFBQVFJRUNCQWdR
Q0FVRUNBaApwaWtDQkFnUUlFQ0FBQUVDQkxhQUFOaytyZ1FJRUNCQWdBQUJBZ1FJaEFJQ0pNUTBS
WUFBQVFJRUNCQWdRSURBRmhBZzI4ZVZBQUVDCkJBZ1FJRUNBQUlGUVFJQ0VtS1lJRUNCQWdBQUJB
Z1FJRU5nQ0FtVDd1QklnUUlBQUFRSUVDQkFnRUFvSWtCRFRGQUVDQkFnUUlFQ0EKQUFFQ1cwQ0Fi
QjlYQWdRSUVDQkFnQUFCQWdSQ0FRRVNZcG9pUUlBQUFRSUVDQkFnUUdBTENKRHQ0MHFBQUFFQ0JB
Z1FJRUNBUUNnZwpRRUpNVXdRSUVDQkFnQUFCQWdRSWJBRUJzbjFjQ1JBZ1FJQUFBUUlFQ0JBSUJR
UklpR21LQUFFQ0JBZ1FJRUNBQUlFdElFQzJqeXNCCkFnUUlFQ0JBZ0FBQkFxR0FBQWt4VFJFZ1FJ
QUFBUUlFQ0JBZ3NBVUV5UFp4SlVDQUFBRUNCQWdRSUVBZ0ZCQWdJYVlwQWdRSUVDQkEKZ0FBQkFn
UzJnQURaUHE0RUNCQWdRSUFBQVFJRUNJUUNBaVRFTkVXQUFBRUNCQWdRSUVDQXdCWVFJTnZIbFFB
QkFnUUlFQ0JBZ0FDQgpVRUNBaEppbUNCQWdRSUFBQVFJRUNCRFlBZ0prKzdnU0lFQ0FBQUVDQkFn
UUlCQUtDSkFRMHhRQkFnUUlFQ0JBZ0FBQkFsdEFnR3dmClZ3SUVDQkFnUUlBQUFRSUVRZ0VCRW1L
YUlrQ0FBQUVDQkFnUUlFQmdDd2lRN2VOS2dBQUJBZ1FJRUNCQWdFQW9JRUJDVEZNRUNCQWcKUUlB
QUFRSUVDR3dCQWJKOVhBa1FJRUNBQUFFQ0JBZ1FDQVVFU0locGlnQUJBZ1FJRUNCQWdBQ0JMU0JB
dG84ckFRSUVDQkFnUUlBQQpBUUtoZ0FBSk1VMFJJRUNBQUFFQ0JBZ1FJTEFGQk1qMmNTVkFnQUFC
QWdRSUVDQkFJQlFRSUNHbUtRSUVDQkFnUUlBQUFRSUV0b0FBCjJUNnVCQWdRSUVDQUFBRUNCQWlF
QWdJa3hEUkZnQUFCQWdRSUVDQkFnTUFXRUNEYng1VUFBUUlFQ0JBZ1FJQUFnVkJBZ0lTWXBnZ1EK
SUVDQUFBRUNCQWdRMkFJQ1pQdTRFaUJBZ0FBQkFnUUlFQ0FRQ2dpUUVOTVVBUUlFQ0JBZ1FJQUFB
UUpiUUlCc0gxY0NCQWdRSUVDQQpBQUVDQkVJQkFSSmltaUpBZ0FBQkFnUUlFQ0JBWUFzSWtPM2pT
b0FBQVFJRUNCQWdRSUJBS0NCQVFreFRCQWdRSUVDQUFBRUNCQWhzCkFRR3lmVndKRUNCQWdBQUJB
Z1FJRUFnRkJFaUlhWW9BQVFJRUNCQWdRSUFBZ1MwZ1FMYVBLd0VDQkFnUUlFQ0FBQUVDb1lBQUNU
Rk4KRVNCQWdBQUJBZ1FJRUNDd0JRVEk5bkVsUUlBQUFRSUVDQkFnUUNBVUVDQWhwaWtDQkFnUUlF
Q0FBQUVDQkxhQUFOaytyZ1FJRUNCQQpnQUFCQWdRSWhBSUNKTVEwUllBQUFRSUVDQkFnUUlEQUZo
QWcyOGVWQUFFQ0JBZ1FJRUNBQUlGUVFJQ0VtS1lJRUNCQWdBQUJBZ1FJCkVOZ0NBbVQ3dUJJZ1FJ
QUFBUUlFQ0JBZ0VBb0lrQkRURkFFQ0JBZ1FJRUNBQUFFQ1cwQ0FiQjlYQWdRSUVDQkFnQUFCQWdS
Q0FRRVMKWXBvaVFJQUFBUUlFQ0JBZ1FHQUxDSkR0NDBxQUFBRUNCQWdRSUVDQVFDZ2dRRUpNVXdR
SUVDQkFnQUFCQWdRSWJBRUJzbjFjQ1JBZwpRSUFBQVFJRUNCQUlCUVJJaUdtS0FBRUNCQWdRSUVD
QUFJRXRJRUMyanlzQkFnUUlFQ0JBZ0FBQkFxR0FBQWt4VFJFZ1FJQUFBUUlFCkNCQWdzQVVFeVBa
eEpVQ0FBQUVDQkFnUUlFQWdGQkFnSWFZcEFnUUlFQ0JBZ0FBQkFnUzJnQURaUHE0RUNCQWdRSUFB
QVFJRUNJUUMKQWlURU5FV0FBQUVDQkFnUUlFQ0F3QllRSU52SGxRQUJBZ1FJRUNCQWdBQ0JVRUNB
aEppbUNCQWdRSUFBQVFJRUNCRFlBZ0prKzdnUwpJRUNBQUFFQ0JBZ1FJQkFLQ0pBUTB4UUJBZ1FJ
RUNCQWdBQUJBbHRBZ0d3ZlZ3SUVDQkFnUUlBQUFRSUVRZ0VCRW1LYUlrQ0FBQUVDCkJBZ1FJRUJn
Q3dpUTdlTktnQUFCQWdRSUVDQkFnRUFvSUVCQ1RGTUVDQkFnUUlBQUFRSUVDR3dCQWJKOVhBa1FJ
RUNBQUFFQ0JBZ1EKQ0FVRVNJaHBpZ0FCQWdRSUVDQkFnQUNCTFNCQXRvOHJBUUlFQ0JBZ1FJQUFB
UUtoZ0FBSk1VMFJJRUNBQUFFQ0JBZ1FJTEFGQk1qMgpjU1ZBZ0FBQkFnUUlFQ0JBSUJRUUlDR21L
UUlFQ0JBZ1FJQUFBUUlFdG9BQTJUNnVCQWdRSUVDQUFBRUNCQWlFQWdJa3hEUkZnQUFCCkFnUUlF
Q0JBZ01BV0VDRGJ4NVVBQVFJRUNCQWdRSUFBZ1ZCQWdJU1lwZ2dRSUVDQUFBRUNCQWdRMkFJQ1pQ
dTRFaUJBZ0FBQkFnUUkKRUNBUUNnaVFFTk1VQVFJRUNCQWdRSUFBQVFKYlFJQnNIMWNDQkFnUUlF
Q0FBQUVDQkVJQkFSSmltaUpBZ0FBQkFnUUlFQ0JBWUFzSQprTzNqU29BQUFRSUVDQkFnUUlCQUtD
QkFRa3hUQkFnUUlFQ0FBQUVDQkFoc0FRR3lmVndKRUNCQWdBQUJBZ1FJRUFnRkJFaUlhWW9BCkFR
SUVDQkFnUUlBQWdTMGdRTGFQS3dFQ0JBZ1FJRUNBQUFFQ29ZQUFDVEZORVNCQWdBQUJBZ1FJRUND
d0JRVEk5bkVsUUlBQUFRSUUKQ0JBZ1FDQVVFQ0FocGlrQ0JBZ1FJRUNBQUFFQ0JMYUFBTmsrcmdR
SUVDQkFnQUFCQWdRSWhBSUNKTVEwUllBQUFRSUVDQkFnUUlEQQpGaEFnMjhlVkFBRUNCQWdRSUVD
QUFJRlFRSUNFbUtZSUVDQkFnQUFCQWdRSUVOZ0NBbVQ3dUJJZ1FJQUFBUUlFQ0JBZ0VBb0lrQkRU
CkZBRUNCQWdRSUVDQUFBRUNXMENBYkI5WEFnUUlFQ0JBZ0FBQkFnUkNBUUVTWXBvaVFJQUFBUUlF
Q0JBZ1FHQUxDSkR0NDBxQUFBRUMKQkFnUUlFQ0FRQ2dnUUVKTVV3UUlFQ0JBZ0FBQkFnUUliQUVC
c24xY0NSQWdRSUFBQVFJRUNCQUlCUVJJaUdtS0FBRUNCQWdRSUVDQQpBSUV0SUVDMmp5c0JBZ1FJ
RUNCQWdBQUJBcUdBQUFreFRSRWdRSUFBQVFJRUNCQWdzQVVFeVBaeEpVQ0FBSXc1eXgwQUFBbVlT
VVJCClZBRUNCQWdRSUVBZ0ZCQWdJYVlwQWdRSUVDQkFnQUFCQWdTMmdBRFpQcTRFQ0JBZ1FJQUFB
UUlFQ0lRQ0FpVEVORVdBQUFFQ0JBZ1EKSUVDQXdCWVFJTnZIbFFBQkFnUUlFQ0JBZ0FDQlVFQ0Fo
SmltQ0JBZ1FJQUFBUUlFQ0JEWUFnSmsrN2dTSUVDQUFBRUNCQWdRSUJBSwpDSkFRMHhRQkFnUUlF
Q0JBZ0FBQkFsdEFnR3dmVndJRUNCQWdRSUFBQVFJRVFnRUJFbUthSWtDQUFBRUNCQWdRSUVCZ0N3
aVE3ZU5LCmdBQUJBZ1FJRUNCQWdFQW9JRUJDVEZNRUNCQWdRSUFBQVFJRUNHd0JBYko5WEFrUUlF
Q0FBQUVDQkFnUUNBVUVTSWhwaWdBQkFnUUkKRUNCQWdBQ0JMU0JBdG84ckFRSUVDQkFnUUlBQUFR
S2hnQUFKTVUwUklFQ0FBQUVDQkFnUUlMQUZCTWoyY1NWQWdBQUJBZ1FJRUNCQQpJQlFRSUNHbUtR
SUVDQkFnUUlBQUFRSUV0b0FBMlQ2dUJBZ1FJRUNBQUFFQ0JBaUVBZ0lreERSRmdBQUJBZ1FJRUNC
QWdNQVdFQ0RiCng1VUFBUUlFQ0JBZ1FJQUFnVkJBZ0lTWXBnZ1FJRUNBQUFFQ0JBZ1EyQUlDWlB1
NEVpQkFnQUFCQWdRSUVDQVFDZ2lRRU5NVUFRSUUKQ0JBZ1FJQUFBUUpiUUlCc0gxY0NCQWdRSUVD
QUFBRUNCRUlCQVJKaW1pSkFnQUFCQWdRSUVDQkFZQXNJa08zalNvQUFBUUlFQ0JBZwpRSUJBS0NC
QVFreFRCQWdRSUVDQUFBRUNCQWhzQVFHeWZWd0pFQ0JBZ0FBQkFnUUlFQWdGQkVpSWFZb0FBUUlF
Q0JBZ1FJQUFnUzBnClFMYVBLd0VDQkFnUUlFQ0FBQUVDb1lBQUNURk5FU0JBZ0FBQkFnUUlFQ0N3
QlFUSTluRWxRSUFBQVFJRUNCQWdRQ0FVRUNBaHBpa0MKQkFnUUlFQ0FBQUVDQkxhQUFOaytyZ1FJ
RUNCQWdBQUJBZ1FJaEFJQ0pNUTBSWUFBQVFJRUNCQWdRSURBRmhBZzI4ZVZBQUVDQkFnUQpJRUNB
QUlGUVFJQ0VtS1lJRUNCQWdBQUJBZ1FJRU5nQ0FtVDd1QklnUUlBQUFRSUVDQkFnRUFvSWtCRFRG
QUVDQkFnUUlFQ0FBQUVDClcwQ0FiQjlYQWdRSUVDQkFnQUFCQWdSQ0FRRVNZcG9pUUlBQUFRSUVD
QkFnUUdBTENKRHQ0MHFBQUFFQ0JBZ1FJRUNBUUNnZ1FFSk0KVXdRSUVDQkFnQUFCQWdRSWJBRUJz
bjFjQ1JBZ1FJQUFBUUlFQ0JBSUJRUklpR21LQUFFQ0JBZ1FJRUNBQUlFdElFQzJqeXNCQWdRSQpF
Q0JBZ0FBQkFxR0FBQWt4VFJFZ1FJQUFBUUlFQ0JBZ3NBVUV5UFp4SlVDQUFBRUNCQWdRSUVBZ0ZC
QWdJYVlwQWdRSUVDQkFnQUFCCkFnUzJnQURaUHE0RUNCQWdRSUFBQVFJRUNJUUNBaVRFTkVXQUFB
RUNCQWdRSUVDQXdCWVFJTnZIbFFBQkFnUUlFQ0JBZ0FDQlVFQ0EKaEppbUNCQWdRSUFBQVFJRUNC
RFlBZ0prKzdnU0lFQ0FBQUVDQkFnUUlCQUtDSkFRMHhRQkFnUUlFQ0JBZ0FBQkFsdEFnR3dmVndJ
RQpDQkFnUUlBQUFRSUVRZ0VCRW1LYUlrQ0FBQUVDQkFnUUlFQmdDd2lRN2VOS2dBQUJBZ1FJRUNC
QWdFQW9JRUJDVEZNRUNCQWdRSUFBCkFRSUVDR3dCQWJKOVhBa1FJRUNBQUFFQ0JBZ1FDQVVFU0lo
cGlnQUJBZ1FJRUNCQWdBQ0JMU0JBdG84ckFRSUVDQkFnUUlBQUFRS2gKZ0FBSk1VMFJJRUNBQUFF
Q0JBZ1FJTEFGQk1qMmNTVkFnQUFCQWdRSUVDQkFJQlFRSUNHbUtRSUVDQkFnUUlBQUFRSUV0b0FB
MlQ2dQpCQWdRSUVDQUFBRUNCQWlFQWdJa3hEUkZnQUFCQWdRSUVDQkFnTUFXRUNEYng1VUFBUUlF
Q0JBZ1FJQUFnVkJBZ0lTWXBnZ1FJRUNBCkFBRUNCQWdRMkFJQ1pQdTRFaUJBZ0FBQkFnUUlFQ0FR
Q2dpUUVOTVVBUUlFQ0JBZ1FJQUFBUUpiUUlCc0gxY0NCQWdRSUVDQUFBRUMKQkVJQkFSSmltaUpB
Z0FBQkFnUUlFQ0JBWUFzSWtPM2pTb0FBQVFJRUNCQWdRSUJBS0NCQVFreFRCQWdRSUVDQUFBRUNC
QWhzQVFHeQpmVndKRUNCQWdBQUJBZ1FJRUFnRkJFaUlhWW9BQVFJRUNCQWdRSUFBZ1MwZ1FMYVBL
d0VDQkFnUUlFQ0FBQUVDb1lBQUNURk5FU0JBCmdBQUJBZ1FJRUNDd0JRVEk5bkVsUUlBQUFRSUVD
QkFnUUNBVUVDQWhwaWtDQkFnUUlFQ0FBQUVDQkxhQUFOaytyZ1FJRUNCQWdBQUIKQWdRSWhBSUNK
TVEwUllBQUFRSUVDQkFnUUlEQUZoQWcyOGVWQUFFQ0JBZ1FJRUNBQUlGUVFJQ0VtS1lJRUNCQWdB
QUJBZ1FJRU5nQwpBbVQ3dUJJZ1FJQUFBUUlFQ0JBZ0VBb0lrQkRURkFFQ0JBZ1FJRUNBQUFFQ1cw
Q0FiQjlYQWdRSUVDQkFnQUFCQWdSQ0FRRVNZcG9pClFJQUFBUUlFQ0JBZ1FHQUxDSkR0NDBxQUFB
RUNCQWdRSUVDQVFDZ2dRRUpNVXdRSUVDQkFnQUFCQWdRSWJBRUJzbjFjQ1JBZ1FJQUEKQVFJRUNC
QUlCUVJJaUdtS0FBRUNCQWdRSUVDQUFJRXRJRUMyanlzQkFnUUlFQ0JBZ0FBQkFxR0FBQWt4VFJF
Z1FJQUFBUUlFQ0JBZwpzQVVFeVBaeEpVQ0FBQUVDQkFnUUlFQWdGQkFnSWFZcEFnUUlFQ0JBZ0FB
QkFnUzJnQURaUHE0RUNCQWdRSUFBQVFJRUNJUUNBaVRFCk5FV0FBQUVDQkFnUUlFQ0F3QllRSU52
SGxRQUJBZ1FJRUNCQWdBQ0JVRUNBaEppbUNCQWdRSUFBQVFJRUNCRFlBZ0prKzdnU0lFQ0EKQUFF
Q0JBZ1FJQkFLQ0pBUTB4UUJBZ1FJRUNCQWdBQUJBbHRBZ0d3ZlZ3SUVDQkFnUUlBQUFRSUVRZ0VC
RW1LYUlrQ0FBQUVDQkFnUQpJRUJnQ3dpUTdlTktnQUFCQWdRSUVDQkFnRUFvSUVCQ1RGTUVDQkFn
UUlBQUFRSUVDR3dCQWJKOVhBa1FJRUNBQUFFQ0JBZ1FDQVVFClNJaHBpZ0FCQWdRSUVDQkFnQUNC
TFNCQXRvOHJBUUlFQ0JBZ1FJQUFBUUtoZ0FBSk1VMFJJRUNBQUFFQ0JBZ1FJTEFGQk1qMmNTVkEK
Z0FBQkFnUUlFQ0JBSUJRUUlDR21LUUlFQ0JBZ1FJQUFBUUlFdG9BQTJUNnVCQWdRSUVDQUFBRUNC
QWlFQWdJa3hEUkZnQUFCQWdRSQpFQ0JBZ01BV0VDRGJ4NVVBQVFJRUNCQWdRSUFBZ1ZCQWdJU1lw
Z2dRSUVDQUFBRUNCQWdRMkFJQ1pQdTRFaUJBZ0FBQkFnUUlFQ0FRCkNnaVFFTk1VQVFJRUNCQWdR
SUFBQVFKYlFJQnNIMWNDQkFnUUlFQ0FBQUVDQkVJQkFSSmltaUpBZ0FBQkFnUUlFQ0JBWUFzSWtP
M2oKU29BQUFRSUVDQkFnUUlCQUtDQkFRa3hUQkFnUUlFQ0FBQUVDQkFoc0FRR3lmVndKRUNCQWdB
QUJBZ1FJRUFnRkJFaUlhWW9BQVFJRQpDQkFnUUlBQWdTMGdRTGFQS3dFQ0JBZ1FJRUNBQUFFQ29Z
QUFDVEZORVNCQWdBQUJBZ1FJRUNDd0JRVEk5bkVsUUlBQUFRSUVDQkFnClFDQVVFQ0FocGlrQ0JB
Z1FJRUNBQUFFQ0JMYUFBTmsrcmdRSUVDQkFnQUFCQWdRSWhBSUNKTVEwUllBQUFRSUVDQkFnUUlE
QUZoQWcKMjhlVkFBRUNCQWdRSUVDQUFJRlFRSUNFbUtZSUVDQkFnQUFCQWdRSUVOZ0NBbVQ3dUJJ
Z1FJQUFBUUlFQ0JBZ0VBb0lrQkRURkFFQwpCQWdRSUVDQUFBRUNXMENBYkI5WEFnUUlFQ0JBZ0FB
QkFnUkNBUUVTWXBvaVFJQUFBUUlFQ0JBZ1FHQUxDSkR0NDBxQUFBRUNCQWdRCklFQ0FRQ2dnUUVK
TVV3UUlFQ0JBZ0FBQkFnUUliQUVCc24xY0NSQWdRSUFBQVFJRUNCQUlCUVJJaUdtS0FBRUNCQWdR
SUVDQUFJRXQKOEc4N2pSdEFkMUVoV2dBQUFBQkpSVTVFcmtKZ2dnPT0KCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMy1leHBlY3RlZC5wbmcKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3Zu
Om1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0
ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9v
Y3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9K
d0FBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJK
NGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8r
QUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdB
Qk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3
ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1
ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkK
RUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhw
T2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZ
WUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFE
VWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNU
eisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4
ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZN
WGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZm
bFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5W
Z1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVl
ZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4
Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldM
cGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhB
ZUl1SkFBQWcKQUVsRVFWUjRBZTNkUVdwYkFSQkV3U2prM2lFbnQwMHU0STM0VEQrWHRqTDYwOVhh
Tk1iNDlmSDErdVZGZ0FBQkFnUUlFQ0JBZ0FDQgpCd1IrUC9BTWp5QkFnQUFCQWdRSUVDQkFnTUIv
QVFQRUY0RUFBUUlFQ0JBZ1FJQUFnY2NFREpESHFEMklBQUVDQkFnUUlFQ0FBQUVECnhIZUFBQUVD
QkFnUUlFQ0FBSUhIQkF5UXg2ZzlpQUFCQWdRSUVDQkFnQUFCQThSM2dBQUJBZ1FJRUNCQWdBQ0J4
d1FNa01lb1BZZ0EKQVFJRUNCQWdRSUFBZ1QvZkVieit2Yjc3RWU4SEJENysrbmN3Z1JwRklFQ0FB
QUVDQkFpY0YvaDJnSnhQNE1CekFrYnJ1VXJlZnBEQgorblpTSDBpQUFBRUNCSDZNZ0FIeVk2b1ds
TUJkQWFQMWJqZnZ1TXhnZlllaXp5QkFnRUJId04rQWRMcVVoQUFCQWdRSUVDQkFnTUI1CkFRUGtm
RVVPSkVDQUFBRUNCQWdRSU5BUk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFB
RUNCQWdRNkFnWUlKMHUKSlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJB
eVFUcGVTRUNCQWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUQpJRUNBQUFFQ0JEb0NCa2luUzBrSUVD
QkFnQUFCQWdRSW5CY3dRTTVYNUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCCkFn
VE9DeGdnNXl0eUlBRUNCQWdRSUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRt
UUFBRUNCQWdRSUVDQVFFZkEKQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFn
UUlFQ2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVVTwpKRUNBQUFFQ0JBZ1FJTkFSTUVB
NlhVcENnQUFCQWdRSUVDQkE0THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFC
CkFnUUlFQ0J3WHNBQU9WK1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2
WUlDY3I4aUJCQWdRSUVDQUFBRUMKQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFD
QkFnUUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZwo1eXR5SUFFQ0JBZ1FJRUNB
QUlHT2dBSFM2VklTQWdRSUVDQkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBL
UWtCCkFnUUlFQ0JBZ0FDQjh3SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlF
Q0JBZ01CNUFRUGtmRVVPSkVDQUFBRUMKQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFB
WEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCdwpYc0FBT1YrUkF3a1FJ
RUNBQUFFQ0JBaDBCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JE
b0NCa2luClMwa0lFQ0JBZ0FBQkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpB
UUlFQ0JBZ0FBQkFnVE9DeGdnNXl0eUlBRUMKQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdB
QUJBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQQpnQUNCOHdJR3lQ
bUtIRWlBQUFFQ0JBZ1FJRUNnSTJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFF
Q0JBZ1FJTkFSCk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFn
WUlKMHVKU0ZBZ0FBQkFnUUlFQ0J3WHNBQU9WK1IKQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNC
QWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQQpnQUFCQWdR
SW5CY3dRTTVYNUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5
SUFFQ0JBZ1FJRUNBCkFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdR
SUVDQVFFZkFBT2wwS1FrQkFnUUlFQ0JBZ0FDQjh3SUcKeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNB
ZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQwpnQUFC
QWdRSUVDQkE0THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndY
c0FBT1YrUkF3a1FJRUNBCkFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJC
QWdRSUVDQUFBRUNCRG9DQmtpblMwa0lFQ0JBZ0FBQkFnUUkKbkJjd1FNNVg1RUFDQkFnUUlFQ0FB
QUVDSFFFRHBOT2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUwo2
VklTQWdRSUVDQkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVD
QkFnQUNCOHdJR3lQbUtIRWlBCkFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFR
UGtmRVVPSkVDQUFBRUNCQWdRSU5BUk1FQTZYVXBDZ0FBQkFnUUkKRUNCQTRMeUFBWEsrSWdjU0lF
Q0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFo
MApCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBr
SUVDQkFnQUFCQWdRSW5CY3dRTTVYCjVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FB
QkFnVE9DeGdnNXl0eUlBRUNCQWdRSUVDQUFJR09nQUhTNlZJU0FnUUkKRUNCQWdBQUJBdWNGREpE
ekZUbVFBQUVDQkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVD
QkFnUQpJRUNnSTJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFS
TUVBNlhVcENnQUFCQWdRSUVDQkE0THlBCkFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZB
Z0FBQkFnUUlFQ0J3WHNBQU9WK1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVMKRUNCQWdBQUJBZ1FJ
RURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1
RUFDQkFnUQpJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJ
RUNBQUlHT2dBSFM2VklTQWdRSUVDQkFnQUFCCkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFB
T2wwS1FrQkFnUUlFQ0JBZ0FDQjh3SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0EKZExxVWhBQUJB
Z1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRM
eUFBWEsrSWdjUwpJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3
a1FJRUNBQUFFQ0JBaDBCQXlRVHBlU0VDQkFnQUFCCkFnUUlFRGd2OFByNGVwMi8wb0VFQ0JBZ1FJ
QUFBUUlFQ0NRRS9BWWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUkKRUNCQUlD
RmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNC
QWdBQUJBZ1FJRU5nUQpNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFF
Q0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLClFZQUFBUUlFQ0JBZ1FHQkR3QURaNk1t
VkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUUKQ0JB
Z1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NK
R29VZ1FJQUFBUUlFQ0JBZwpzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JB
Z0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrCmFoU0NBQUVDQkFnUUlFQ0F3SWFB
QWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUMK
QkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdr
QkF3UUJJMUNrR0FBQUVDQkFnUQpJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhD
QkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBCkFFblVLQVFCQWdRSUVDQkFn
QUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlP
UksKQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JB
Z1FJRUFnSVdDQUpHb1VnZ0FCQWdRSQpFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURK
QkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCCmhJQUJrcWhSQ0FJRUNC
QWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQ
QUFObm8KeVpVRUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dB
QkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRQpDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFn
UVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBCkFRSUpBUU1rVWFN
UUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFn
UUlEQWhvQUIKc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEy
ZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQwpCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFC
QWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBCkFBRUNCQklD
QmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNC
QWdRSUVDQUFJRU4KQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdz
Q0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHagpFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNT
WUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBCmdBQUJB
Z1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FG
RUlBZ1FJRUNCQWdBQUIKQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JB
Z1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSQpva1loQ0JBZ1FJQUFBUUlFQ0d3SUdD
QWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnClFJ
QUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdr
QkF5UlJveEFFQ0JBZ1FJQUEKQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dB
QkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRQpESkJFalVJUUlFQ0FBQUVDQkFn
UTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1
CkpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFB
QVFJRUVnSUdTS0pHSVFnUUlFQ0EKQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJK
MUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUQpTQWdZSUlrYWhTQkFnQUFC
QWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVE
SkNOCm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJ
RUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkEKZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFn
WVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSQpFQ0NRRURCQUVqVUtR
WUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFn
UUliQWdZCklCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295
ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWcKUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlF
Q0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRQpDQkFnUUNBaFlJ
QWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlB
QUFRSUVDQkRZCkVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhz
Q0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTEKQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFR
SUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQwpCQWdRSUVD
QVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFG
SUVDQUFBRUNCQWdRCklMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFB
QVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0EKSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5
MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQgpBZ1FJ
RUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFN
RUFTTlFwQmdBQUJBZ1FJCkVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJ
RUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkMKd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFn
UTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUawpT
Z0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVD
QkFJQ0ZnZ0NScUZJSUFBUUlFCkNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJ
MUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUEKZ1lTQUFaS29VUWdDQkFnUUlF
Q0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FE
Wgo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJ
RUNCQWdRSUJBUXNBQVNkUW9CQUVDCkJBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVn
SUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0EKQUFFQ0NRRURKRkdqRUFR
SUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNB
d0lhQQpBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5
SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJCkFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlF
Q0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkEKZ0FBQkFnUVNBZ1pJ
b2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlF
Q0JBZ0FDQgpEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZ
SUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSCm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFB
QUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWcKUUlBQUFRSUVD
Q1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNB
SUVDQkFnUUlBQQpBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVD
QkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHClNLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6
MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1MKSUVDQUFB
RUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFN
a1VhTVFCQWdRSUVDQQpBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJ
RUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrCkJBeVFSSTFDRUNCQWdBQUJBZ1FJRU5n
UU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlAKcmlS
QWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVD
QkJJQ0JraWlSaUVJRUNCQQpnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFv
QkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJCkVFZ0lHQ0NKR29VZ1FJQUFBUUlF
Q0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVEK
alo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFn
QUFCQWdRSUpBUU1rRVNOUWhBZwpRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0Vn
QUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFCkNCQWdrQkF3UUJJMUNrR0FB
QUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNH
d0kKR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4
SWdRSUFBQVFJRUNCQklDQmdnaVJxRgpJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdB
QUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDCkJBZ1FJRUFnSVdDQUpH
b1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFF
Q0JBZ1EKMkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdi
SVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBUwpOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JB
Z1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCCkFnUUlFQ0JBZ0VC
Q3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JB
Z0FBQkFnUUkKRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVD
QkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZwpnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdU
S3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsCkFRSUVDQkFn
UUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFF
alVLUVlBQUFRSUUKQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFn
QUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQQpRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5B
UU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owCjVFb0NC
QWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FD
QWhZSUFrYWhTQ0FBRUMKQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFo
QWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQQpBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdB
QUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBCjJl
akpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFn
UUlFQ0FRRUxBQUVuVUtBUUIKQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0Jn
Z2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQQpnQUFCQWdrQkF5UlJveEFFQ0JB
Z1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNH
CmdBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVC
QWdRSUVDQkFnQUNCaElBQmtxaFIKQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNCQWdR
SUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JBZwpRSUFBQVFJRUVnSUdTS0pH
SVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdR
SUFBCmdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0Fi
UFRrU2dJRUNCQWdRSUFBQVFJSkFRTWsKVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJB
Z1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUQpJRUNBQUFFQ0JBZ2tC
QXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JB
Z1FJRUNBCkFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FH
QkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUMKQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVa
SUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWApFaUJBZ0FBQkFn
UUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZH
akVBUUlFQ0JBCmdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFn
UUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUkKSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURC
QU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoRwpUNjRrUUlB
QUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FT
QWdaSW9rWWhDQkFnClFJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFC
QWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUUKQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdR
SUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTQprSTJl
WEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFB
UUlFQ0NRRURKQkVqVUlRCklFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJr
cWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUMKQkFnUUlKQVFNRUFTTlFwQmdBQUJB
Z1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFocwpD
QmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lF
Q0FBQUVDQkFnUVNBZ1lJSWthCmhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFR
SUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JQZVdKUTBBQUFqMVNVUkIKVkRZRURKQ05ubHhKZ0FBQkFn
UUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5
UQpSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFn
UUlFQ0FBQUVDR3dJR3lFWlByaVJBCmdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdC
RHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQWdBQUIKQWdRSWJBZ1lJQnM5dVpJ
QUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJ
RUVnSQpHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdq
RUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjClNZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdR
SUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUEKQVFJRUNCRFlFREJB
Tm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFB
UUlFQ0JBZwprQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNB
Z1pJb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiClBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJB
Z1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0EKQUFFQ0JBZ1FJ
TEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhF
bUFBQUVDQkFnUQpJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFR
SUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3ClFEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtx
aFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEIKZ0FBQkFn
UUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0Jn
Z0d6MjVrZ0FCQWdRSQpFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVD
QUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3CklXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJ
SkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnEKRklJ
QUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJ
RU5nUU1FQTJlbklsQVFJRQpDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQ
cmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnClFHQkR3QURaNk1tVkJBZ1FJRUNB
QUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUEK
U2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFB
UUlFQ0JBZ3NDRmdnR3owNUVvQwpCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJC
QXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRCklFQ0F3SWFBQWJMUmt5c0pF
Q0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJ
R0UKZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNr
R0FBQUVDQkFnUUlFQmdROEFBMmVqSgpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFR
SUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJCkVDQkFnQUNCRFFFRFpL
TW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNC
QWdBQUIKQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdD
QUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeQowWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVD
QUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFCkNCQWdRSUFBQVFJ
YkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVF
Q0JBZ1FJQUEKQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JB
Z0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQgpBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWth
aFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RCkJBZ1FJRUNB
QUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJz
dEdUS3drUUlFQ0EKQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVD
QkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQwpHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FF
REJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpClJpRUlF
Q0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJ
RU5BUU5rb3lkWEVpQkEKZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVF
b0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQgpBZ1EyQkF5UWpaNWNTWUFBQVFJRUNC
QWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNCmtF
U05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNC
QWdBQUJBaHNDQnNoR1Q2NGsKUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThB
QTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQQpBUUlFQ0d3SUdDQWJQYm1TQUFF
Q0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJ
CkNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFF
Q0JBZ1FJQUFBUUlFTmdRTWtJMmUKWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JB
Z01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQQpBQUVDQkFnUTJCRDRCR01G
RmEzOXlkWEhBQUFBQUVsRlRrU3VRbUNDCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69839</attachid>
            <date>2010-10-05 14:04:13 -0700</date>
            <delta_ts>2010-10-05 22:53:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31370-20101005230409.patch</filename>
            <type>text/plain</type>
            <size>129495</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTEzNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTM2IEBACisyMDEwLTEwLTA1ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU1ZH
cyB3aXRoIGZpbHRlcnMgbG9vayBncmFpbnkgd2hlbiBzY2FsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MjYKKworICAgICAgICBTVkcgZmlsdGVy
IGVmZmVjdHMgbmVlZCBzbWFydGVyIHNpemUgY2FsY3VsYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMzcwCisKKyAgICAgICAgU1ZHIGVsZW1l
bnRzIHVzZSBGaWx0ZXJzIGJlZm9yZSBvd24gdHJhbnNmb3JtYXRpb25zCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjQ4NgorCisgICAgICAgIENhbGN1
bGF0ZSBhbGwgZmlsdGVyIHJlc3VsdHMgaW4gZGV2aWNlIHNwYWNlIGluc3RlYWQgb2YgdGhlIGZp
bHRlcmVkIG9iamVjdHMgdXNlciBzcGFjZS4gVGhpcyBjaGFuZ2UgaXMgc2ltaWxhciB0bworICAg
ICAgICB0aGUgcGF0Y2hlcyBmb3IgU1ZHIFBhdHRlcm4gYW5kIFNWRyBNYXNrZXIgYmVmb3JlLiBJ
dCBhdm9pZHMgcGl4ZWxhdGlvbiBhbmQgZ3VhcmFudGVlcyBzbW9vdGggZmlsdGVyIHJlc3VsdHMg
Zm9yCisgICAgICAgIGV2ZXJ5IHNjYWxlIGxldmVsIGFuZCBpcyBpbmRlcGVuZGVudCBvZiBhbnkg
dHJhbnNmb3JtYXRpb24gdG8gdGhlIHRhcmdldCBlbGVtZW50IG9yIGFueSBhbmNlc3RlciBvZiB0
aGUgdGFyZ2V0LgorICAgICAgICBUaGUgc2Vjb25kIHBhcnQgb2YgdGhpcyBwYXRjaCByZWR1Y2Vz
IHRoZSBzaXplIG9mIGV2ZXJ5IGVmZmVjdCB0byB0aGUgc21hbGxlc3QgYWZmZWN0ZWQgcmVnaW9u
IGluc3RlYWQgb2YgdGhlIGNvbXBsZXRlCisgICAgICAgIGZpbHRlciBwcmltaXRpdmUgc3VicmVn
aW9uIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0ZpbHRlclByaW1pdGl2
ZVN1YlJlZ2lvbikuIFdlIGp1c3QgdXNlIHRoZSBzdWJyZWdpb24KKyAgICAgICAgYXMgY2xpcHBp
bmcgcmVnaW9uLCBsaWtlIG1lbnRpb25lZCBpbiB0aGUgU1ZHIHNwZWNpZmljYXRpb24sIHRvIG1h
a2UgdGhlIGFmZmVjdGVkIHJlZ2lvbiBldmVuIHNtYWxsZXIgbm93LgorCisgICAgICAgIFRoaXMg
aXMgYSBodWdlIHNwZWVkIHVwLiBUaGUgRUNNQSBjbG91ZCAoaHR0cDovL2Vqb2huLm9yZy9maWxl
cy9lY21hLWNsb3VkLnN2ZykgaXMgbW9yZSB0aGFuIDEwMCB0aW1lcyBmYXN0ZXIgb24gR3RrIGFu
ZAorICAgICAgICByZW5kZXJzIGluIGxlc3MgdGhhbiBhIHNlY29uZC4KKyAgICAgICAgU29tZSBl
eGFtcGxlcyBvbiBzdmctd293Lm9yZyBjYW4gYmUgdmlld2VkIHRoZSBmaXJzdCB0aW1lIG5vdywg
c2luY2UgdGhlIHN1YnJlZ2lvbnMgd2VyZSBtdWNoIGJpZ2dlciB0aGFuIHRoZSBhZmZlY3RlZAor
ICAgICAgICByZWdpb24uCisgICAgICAgIFRoZXJlJ3Mgc3RpbGwgbW9yZSBwb3RlbnRpYWwgdG8g
c3BlZWQgdXAgZmlsdGVycywgYnkgZnVydGhlciByZWR1Y2luZyB0aGUgSW1hZ2VCdWZmZXIgc2l6
ZXMuCisgICAgICAgIFJlbmFtZWQgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMgdG8gYWJz
b2x1dGVQYWludFJlY3QsIHNpbmNlIGFsbCBjb29yZGluYXRlcyBhcmUgaW4gZGV2aWNlIHNwYWNl
IGluc3RlYWQgb2YgdGhlCisgICAgICAgIHVzZXIgc3BhY2Ugbm93LgorICAgICAgICBUaGUgYWJz
b2x1dGUgcGFpbnQgcmVjdCBpcyBjYWxjdWxhdGVkIGJ5IGRldGVybWluZUFic29sdXRlUGFpbnRS
ZWN0KCkgYW5kIGdldHMgY2FsbGVkIGJ5IEZpbHRlckVmZmVjdDo6ZWZmZWN0Q29udGV4dCgpIG9u
CisgICAgICAgIGFwcGx5aW5nIHRoZSBlZmZlY3QuCisgICAgICAgIFBhcnRseSByZXdyb3RlIGZp
bHRlciByZXNvbHV0aW9uIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0Zp
bHRlckVsZW1lbnRGaWx0ZXJSZXNBdHRyaWJ1dGUpIHRvIHdvcmsgd2l0aCB0aGUKKyAgICAgICAg
bmV3IGNvbmNlcHQuIFRoaXMgYWxzbyBjb3JyZWN0cyB0aGUgb2xkIGJlaGF2aW9yIHRvIG1hdGNo
IHRoZSBTVkcgc3BlY2lmaWNhdGlvbi4KKworICAgICAgICBUZXN0czogc3ZnL2ZpbHRlcnMvZmls
dGVyUmVzMS5zdmcKKyAgICAgICAgICAgICAgIHN2Zy9maWx0ZXJzL2ZpbHRlclJlczIuc3ZnCisg
ICAgICAgICAgICAgICBzdmcvZmlsdGVycy9maWx0ZXJSZXMzLnN2ZworCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOiBDYWxsIHNldEFi
c29sdXRlUGFpbnRSZWN0IGluc3RlYWQgb2Ygc2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0
ZXMuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNyZWF0ZVNoYWRvd01hc2sp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVCbGVuZC5jcHA6IFJlbmFt
ZWQgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMgdG8gYWJzb2x1dGVQYWludFJlY3QuCisg
ICAgICAgIChXZWJDb3JlOjpGRUJsZW5kOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRUNvbG9yTWF0cml4LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpGRUNvbG9yTWF0cml4OjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpG
RUNvbXBvbmVudFRyYW5zZmVyOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDb21w
b3NpdGU6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZF
Q29tcG9zaXRlOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUNvbXBvc2l0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252
b2x2ZU1hdHJpeC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDb252b2x2ZU1hdHJp
eDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2
ZU1hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZTo6RkVDb252b2x2ZU1hdHJpeDo6ZGV0ZXJtaW5l
QWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVEaXNwbGFjZW1lbnRNYXAuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFRGlzcGxh
Y2VtZW50TWFwOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RURpc3BsYWNlbWVudE1hcC5oOgorICAgICAgICAoV2ViQ29yZTo6RkVEaXNwbGFjZW1lbnRNYXA6
OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFRmxvb2QuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFRmxvb2Q6
OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRmxvb2QuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkZFRmxvb2Q6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcDog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVLZXJuZWxTaXplKToKKyAgICAgICAg
KFdlYkNvcmU6OkZFR2F1c3NpYW5CbHVyOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGRUdhdXNzaWFuQmx1cjo6YXBwbHkpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkZFTGlnaHRpbmc6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFTWVyZ2UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFTWVyZ2U6OmFwcGx5
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVNb3JwaG9sb2d5OjpkZXRlcm1pbmVBYnNvbHV0
ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGRU1vcnBob2xvZ3k6OmFwcGx5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OkZFT2Zmc2V0OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpGRU9mZnNldDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVPZmZzZXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFVGlsZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVUaWxlOjpkZXRlcm1p
bmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6RkVUaWxlOjph
cHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZFVGlsZTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxlbmNlLmNwcDogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpGRVR1cmJ1bGVuY2U6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVHVyYnVsZW5jZS5oOgorICAgICAgICAoV2ViQ29yZTo6
RkVUdXJidWxlbmNlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRl
cjo6YXBwbHlIb3Jpem9udGFsU2NhbGUpOiBNYXAgaG9yaXpvbnRhbCBlZmZlY3QgdmFsdWVzIHRv
IGFic29sdXRlIGNvb3JkaW5hdGVzLgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyOjphcHBseVZl
cnRpY2FsU2NhbGUpOiBNYXAgdmVydGljYWwgZWZmZWN0IHZhbHVlcyB0byBhYnNvbHV0ZSBjb29y
ZGluYXRlcy4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlcjo6bWFwQWJzb2x1dGVQb2ludFRvTG9j
YWxQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXI6OmZpbHRlclJlZ2lvbkluVXNlclNw
YWNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpkZXRlcm1pbmVGaWx0
ZXJQcmltaXRpdmVTdWJyZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0Ojpk
ZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZl
Y3Q6OnJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6
RmlsdGVyRWZmZWN0OjpkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkZpbHRlckVmZmVjdDo6ZWZmZWN0Q29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVm
ZmVjdDo6YWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0
OjpzZXRBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6
Om1heEVmZmVjdFJlY3QpOiBUaGUgc3VicmVnaW9uIGluIGFic29sdXRlIGNvb3JkaW5hdGVzIGZv
ciBTVkcuCisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6OnNldE1heEVmZmVjdFJlY3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUFscGhhOjpkZXRlcm1pbmVBYnNvbHV0ZVBh
aW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VBbHBoYTo6YXBwbHkpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUdyYXBoaWM6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUdyYXBoaWM6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRl
ckRhdGE6OkZpbHRlckRhdGEpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZF
SW1hZ2UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFSW1hZ2U6OmFwcGx5KToKKyAg
ICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmg6CisgICAgICAgIChXZWJD
b3JlOjpGRUltYWdlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgICogc3Zn
L2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Zp
bHRlcjo6U1ZHRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6ZGV0ZXJtaW5l
RmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6
YXBwbHlIb3Jpem9udGFsU2NhbGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjphcHBs
eVZlcnRpY2FsU2NhbGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjpjcmVhdGUpOgor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRmlsdGVyOjplZmZlY3RCb3VuZGluZ0JveE1vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRmlsdGVyOjpmaWx0ZXJSZWdpb25JblVzZXJTcGFjZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdGaWx0ZXI6OmZpbHRlclJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXI6
Om1hcEFic29sdXRlUG9pbnRUb0xvY2FsUG9pbnQpOiBNYXAgYWJzb2x1dGUgcG9pbnQgdG8gbG9j
YWwgcG9pbnQgaW4gdXNlcnNwYWNlLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjpzb3Vy
Y2VJbWFnZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjptYXhJbWFnZVNpemUp
OgorCiAyMDEwLTEwLTA1ICBLaW1tbyBLaW5udW5lbiAgPGtpbW1vLnQua2lubnVuZW5Abm9raWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWly
by5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFw
aGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTk0NCwxMiArOTQ0LDEyIEBAIFBsYXRmb3JtUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gR3Jh
cGhpY3MKICAgICBSZWZQdHI8RmlsdGVyPiBmaWx0ZXIgPSBJbWFnZUJ1ZmZlckZpbHRlcjo6Y3Jl
YXRlKCk7CiAgICAgZmlsdGVyLT5zZXRTb3VyY2VJbWFnZShidWZmZXIpOwogICAgIFJlZlB0cjxG
aWx0ZXJFZmZlY3Q+IHNvdXJjZSA9IFNvdXJjZUdyYXBoaWM6OmNyZWF0ZSgpOwotICAgIHNvdXJj
ZS0+c2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoRmxvYXRSZWN0KEZsb2F0UG9pbnQo
KSwgc2hhZG93UmVjdC5zaXplKCkpKTsKKyAgICBzb3VyY2UtPnNldEFic29sdXRlUGFpbnRSZWN0
KEludFJlY3QoSW50UG9pbnQoKSwgcm91bmRlZEludFNpemUoc2hhZG93UmVjdC5zaXplKCkpKSk7
CiAgICAgc291cmNlLT5zZXRJc0FscGhhSW1hZ2UodHJ1ZSk7CiAgICAgUmVmUHRyPEZpbHRlckVm
ZmVjdD4gYmx1ciA9IEZFR2F1c3NpYW5CbHVyOjpjcmVhdGUoc3RkRGV2aWF0aW9uLCBzdGREZXZp
YXRpb24pOwogICAgIEZpbHRlckVmZmVjdFZlY3RvciYgaW5wdXRFZmZlY3RzID0gYmx1ci0+aW5w
dXRFZmZlY3RzKCk7CiAgICAgaW5wdXRFZmZlY3RzLmFwcGVuZChzb3VyY2UuZ2V0KCkpOwotICAg
IGJsdXItPnNldFJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKEZsb2F0UmVjdChGbG9hdFBv
aW50KCksIHNoYWRvd1JlY3Quc2l6ZSgpKSk7CisgICAgYmx1ci0+c2V0QWJzb2x1dGVQYWludFJl
Y3QoSW50UmVjdChJbnRQb2ludCgpLCByb3VuZGVkSW50U2l6ZShzaGFkb3dSZWN0LnNpemUoKSkp
KTsKICAgICBibHVyLT5hcHBseShmaWx0ZXIuZ2V0KCkpOwogICAgIHJldHVybiBibHVyLT5yZXN1
bHRJbWFnZSgpLT5tX2RhdGEubV9zdXJmYWNlOwogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVCbGVuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQmxlbmQuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUJsZW5kLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTgsMTMgKzk4LDEzIEBAIHZvaWQgRkVCbGVuZDo6YXBwbHkoRmlsdGVyKiBmaWx0
ZXIpCiAgICAgaWYgKG1fbW9kZSA9PSBGRUJMRU5EX01PREVfVU5LTk9XTikKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaWYgKCFlZmZlY3RDb250ZXh0KCkpCisgICAgaWYgKCFlZmZlY3RDb250ZXh0
KGZpbHRlcikpCiAgICAgICAgIHJldHVybjsKIAotICAgIEludFJlY3QgZWZmZWN0QURyYXdpbmdS
ZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+cmVwYWludFJlY3RJbkxv
Y2FsQ29vcmRpbmF0ZXMoKSk7CisgICAgSW50UmVjdCBlZmZlY3RBRHJhd2luZ1JlY3QgPSByZXF1
ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAg
ICBSZWZQdHI8Q2FudmFzUGl4ZWxBcnJheT4gc3JjUGl4ZWxBcnJheUEoaW4tPnJlc3VsdEltYWdl
KCktPmdldFByZW11bHRpcGxpZWRJbWFnZURhdGEoZWZmZWN0QURyYXdpbmdSZWN0KS0+ZGF0YSgp
KTsKIAotICAgIEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJ
bnB1dEltYWdlRGF0YShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAg
IEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdl
RGF0YShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpOwogICAgIFJlZlB0cjxDYW52YXNQaXhlbEFy
cmF5PiBzcmNQaXhlbEFycmF5QihpbjItPnJlc3VsdEltYWdlKCktPmdldFByZW11bHRpcGxpZWRJ
bWFnZURhdGEoZWZmZWN0QkRyYXdpbmdSZWN0KS0+ZGF0YSgpKTsKIAogICAgIEludFJlY3QgaW1h
Z2VSZWN0KEludFBvaW50KCksIHJlc3VsdEltYWdlKCktPnNpemUoKSk7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xvck1hdHJpeC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXguY3BwCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNv
bG9yTWF0cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYwLDExICsxNjAsMTEgQEAgdm9pZCBG
RUNvbG9yTWF0cml4OjphcHBseShGaWx0ZXIqIGZpbHRlcgogICAgIGlmICghaW4tPnJlc3VsdElt
YWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29u
dGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRl
eHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAg
ICAgICByZXR1cm47CiAKLSAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJl
c3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2Uo
aW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKKyAgICBmaWx0ZXJDb250ZXh0
LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRy
YXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKIAogICAg
IEludFJlY3QgaW1hZ2VSZWN0KEludFBvaW50KCksIHJlc3VsdEltYWdlKCktPnNpemUoKSk7CiAg
ICAgUGFzc1JlZlB0cjxJbWFnZURhdGE+IGltYWdlRGF0YShyZXN1bHRJbWFnZSgpLT5nZXRVbm11
bHRpcGxpZWRJbWFnZURhdGEoaW1hZ2VSZWN0KSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIuY3BwCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNv
bXBvbmVudFRyYW5zZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU0LDcgKzE1NCw3IEBAIHZv
aWQgRkVDb21wb25lbnRUcmFuc2Zlcjo6YXBwbHkoRmlsdGVyKiAKICAgICBpZiAoIWluLT5yZXN1
bHRJbWFnZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIWVmZmVjdENvbnRleHQoKSkK
KyAgICBpZiAoIWVmZmVjdENvbnRleHQoZmlsdGVyKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
dW5zaWduZWQgY2hhciByVmFsdWVzWzI1Nl0sIGdWYWx1ZXNbMjU2XSwgYlZhbHVlc1syNTZdLCBh
VmFsdWVzWzI1Nl07CkBAIC0xNjcsNyArMTY3LDcgQEAgdm9pZCBGRUNvbXBvbmVudFRyYW5zZmVy
OjphcHBseShGaWx0ZXIqIAogICAgIGZvciAodW5zaWduZWQgY2hhbm5lbCA9IDA7IGNoYW5uZWwg
PCA0OyBjaGFubmVsKyspCiAgICAgICAgICgqY2FsbEVmZmVjdFt0cmFuc2ZlckZ1bmN0aW9uW2No
YW5uZWxdLnR5cGVdKSh0YWJsZXNbY2hhbm5lbF0sIHRyYW5zZmVyRnVuY3Rpb25bY2hhbm5lbF0p
OwogCi0gICAgSW50UmVjdCBkcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFn
ZURhdGEoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgIEludFJlY3Qg
ZHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5hYnNvbHV0
ZVBhaW50UmVjdCgpKTsKICAgICBSZWZQdHI8SW1hZ2VEYXRhPiBpbWFnZURhdGEoaW4tPnJlc3Vs
dEltYWdlKCktPmdldFVubXVsdGlwbGllZEltYWdlRGF0YShkcmF3aW5nUmVjdCkpOwogICAgIENh
bnZhc1BpeGVsQXJyYXkqIHNyY1BpeGVsQXJyYXkoaW1hZ2VEYXRhLT5kYXRhKCkpOwogCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5j
cHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFQ29tcG9zaXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDYgKzExMiwyNyBAQCBpbmxp
bmUgdm9pZCBhcml0aG1ldGljKGNvbnN0IFJlZlB0cjxDYW52CiAgICAgICAgIH0KICAgICB9CiB9
CisgICAgCit2b2lkIEZFQ29tcG9zaXRlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0
ZXIqIGZpbHRlcikKK3sKKyAgICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2UgRkVDT01QT1NJ
VEVfT1BFUkFUT1JfSU46CisgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9BVE9QOgorICAg
ICAgICAvLyBGb3IgSW4gYW5kIEF0b3AgdGhlIGZpcnN0IGVmZmVjdCBqdXN0IGluZmx1ZW5jZXMg
dGhlIHJlc3VsdCBvZgorICAgICAgICAvLyB0aGUgc2Vjb25kIGVmZmVjdC4gU28ganVzdCB1c2Ug
dGhlIGFic29sdXRlIHBhaW50IHJlY3Qgb2YgdGhlIHNlY29uZCBlZmZlY3QgaGVyZS4KKyAgICAg
ICAgc2V0QWJzb2x1dGVQYWludFJlY3QoaW5wdXRFZmZlY3QoMSktPmFic29sdXRlUGFpbnRSZWN0
KCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9BUklU
SE1FVElDOgorICAgICAgICAvLyBBcml0aG1ldGljIG1heSBpbmZsdW5jZSB0aGUgY29tcGxlIGZp
bHRlciBwcmltaXRpdmUgcmVnaW9uLiBTbyB3ZSBjYW4ndAorICAgICAgICAvLyBvcHRpbWl6ZSB0
aGUgcGFpbnQgcmVnaW9uIGhlcmUuCisgICAgICAgIHNldEFic29sdXRlUGFpbnRSZWN0KG1heEVm
ZmVjdFJlY3QoKSk7CisgICAgICAgIHJldHVybjsKKyAgICBkZWZhdWx0OgorICAgICAgICAvLyBU
YWtlIHRoZSB1bmlvbiBvZiBib3RoIGlucHV0IGVmZmVjdHMuCisgICAgICAgIEZpbHRlckVmZmVj
dDo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoZmlsdGVyKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KK30KIAogdm9pZCBGRUNvbXBvc2l0ZTo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7CkBA
IC0xMjIsMzkgKzE0MywzOSBAQCB2b2lkIEZFQ29tcG9zaXRlOjphcHBseShGaWx0ZXIqIGZpbHRl
cikKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpIHx8ICFpbjItPnJlc3VsdEltYWdlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVm
ZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZl
Y3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAgICAgICByZXR1
cm47CiAKICAgICBGbG9hdFJlY3Qgc3JjUmVjdCA9IEZsb2F0UmVjdCgwLCAwLCAtMSwgLTEpOwog
ICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9PVkVS
OgotICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4yLT5yZXN1bHRJbWFn
ZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+cmVw
YWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSkpOwotICAgICAgICBmaWx0ZXJDb250ZXh0LT5k
cmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdp
bmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkp
KTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1h
Z2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPmFi
c29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVm
ZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJ
bnB1dEltYWdlKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfSU46CiAgICAgICAgIGZpbHRlckNvbnRleHQtPnNh
dmUoKTsKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+Y2xpcFRvSW1hZ2VCdWZmZXIoaW4yLT5yZXN1
bHRJbWFnZSgpLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+cmVwYWludFJlY3RJbkxv
Y2FsQ29vcmRpbmF0ZXMoKSkpOwotICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZm
ZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklu
cHV0SW1hZ2UoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKKyAgICAgICAg
ZmlsdGVyQ29udGV4dC0+Y2xpcFRvSW1hZ2VCdWZmZXIoaW4yLT5yZXN1bHRJbWFnZSgpLCBkcmF3
aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSkpOworICAgICAg
ICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmlj
ZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRS
ZWN0KCkpKTsKICAgICAgICAgZmlsdGVyQ29udGV4dC0+cmVzdG9yZSgpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX09VVDoKLSAgICAgICAgZmlsdGVyQ29u
dGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNl
LCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGlu
YXRlcygpKSk7Ci0gICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbjItPnJl
c3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2Uo
aW4yLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSwgc3JjUmVjdCwgQ29tcG9zaXRl
RGVzdGluYXRpb25PdXQpOworICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIo
aW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0
SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+
ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJh
d2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpLCBzcmNSZWN0
LCBDb21wb3NpdGVEZXN0aW5hdGlvbk91dCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRkVD
T01QT1NJVEVfT1BFUkFUT1JfQVRPUDoKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdl
QnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lv
bk9mSW5wdXRJbWFnZShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKLSAg
ICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBE
ZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVj
dEluTG9jYWxDb29yZGluYXRlcygpKSwgc3JjUmVjdCwgQ29tcG9zaXRlU291cmNlQXRvcCk7Cisg
ICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbjItPnJlc3VsdEltYWdlKCks
IERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4yLT5hYnNvbHV0
ZVBhaW50UmVjdCgpKSk7CisgICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihp
bi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJ
bWFnZShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSksIHNyY1JlY3QsIENvbXBvc2l0ZVNvdXJjZUF0
b3ApOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX1hPUjoK
LSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1hZ2Uo
KSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPnJlcGFp
bnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJh
d0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5n
UmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSwg
c3JjUmVjdCwgQ29tcG9zaXRlWE9SKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdl
QnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lv
bk9mSW5wdXRJbWFnZShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVy
Q29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNw
YWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKSwg
c3JjUmVjdCwgQ29tcG9zaXRlWE9SKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGRUNPTVBP
U0lURV9PUEVSQVRPUl9BUklUSE1FVElDOiB7Ci0gICAgICAgIEludFJlY3QgZWZmZWN0QURyYXdp
bmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+cmVwYWludFJlY3RJ
bkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisgICAgICAgIEludFJlY3QgZWZmZWN0QURyYXdpbmdSZWN0
ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3Qo
KSk7CiAgICAgICAgIFJlZlB0cjxDYW52YXNQaXhlbEFycmF5PiBzcmNQaXhlbEFycmF5QShpbi0+
cmVzdWx0SW1hZ2UoKS0+Z2V0UHJlbXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RBRHJhd2luZ1Jl
Y3QpLT5kYXRhKCkpOwogCi0gICAgICAgIEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVx
dWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzKCkpOworICAgICAgICBJbnRSZWN0IGVmZmVjdEJEcmF3aW5nUmVjdCA9IHJlcXVlc3Rl
ZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4yLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAgICAg
ICAgUmVmUHRyPEltYWdlRGF0YT4gaW1hZ2VEYXRhKGluMi0+cmVzdWx0SW1hZ2UoKS0+Z2V0UHJl
bXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RCRHJhd2luZ1JlY3QpKTsKICAgICAgICAgQ2FudmFz
UGl4ZWxBcnJheSogc3JjUGl4ZWxBcnJheUIoaW1hZ2VEYXRhLT5kYXRhKCkpOwogCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaAkocmV2
aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21w
b3NpdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsOCBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKKyAg
ICAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKik7
CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0
cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2ZU1hdHJpeC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29udm9sdmVNYXRyaXguY3BwCShyZXZpc2lv
biA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbnZvbHZl
TWF0cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc3LDExICszNzcsMTEgQEAgdm9pZCBGRUNv
bnZvbHZlTWF0cml4OjphcHBseShGaWx0ZXIqIGZpbAogICAgIGlmICghaW4tPnJlc3VsdEltYWdl
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4dCgpKQorICAgIGlm
ICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAKICAgICBJbnRSZWN0
IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkpOwotICAgIEludFJl
Y3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGlu
LT5maWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKSk7CisgICAgSW50UmVjdCBlZmZlY3REcmF3aW5n
UmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPmFic29sdXRlUGFpbnRS
ZWN0KCkpOwogCiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJyYXk+IHNyY1BpeGVsQXJyYXk7CiAg
ICAgaWYgKG1fcHJlc2VydmVBbHBoYSkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUNvbnZvbHZlTWF0cml4LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29udm9sdmVNYXRyaXguaAkocmV2aXNpb24gNjkxMjApCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2ZU1hdHJpeC5oCSh3
b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
YXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwg
dm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKSB7IHNldEFic29sdXRlUGFp
bnRSZWN0KG1heEVmZmVjdFJlY3QoKSk7IH0KKwogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0
ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAK
IHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVEaXNw
bGFjZW1lbnRNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRURpc3BsYWNlbWVudE1hcC5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODgsMTMgKzg4LDEzIEBAIHZvaWQgRkVEaXNwbGFjZW1lbnRNYXA6OmFwcGx5
KEZpbHRlciogZmkKICAgICBpZiAobV94Q2hhbm5lbFNlbGVjdG9yID09IENIQU5ORUxfVU5LTk9X
TiB8fCBtX3lDaGFubmVsU2VsZWN0b3IgPT0gQ0hBTk5FTF9VTktOT1dOKQogICAgICAgICByZXR1
cm47CiAKLSAgICBpZiAoIWVmZmVjdENvbnRleHQoKSkKKyAgICBpZiAoIWVmZmVjdENvbnRleHQo
ZmlsdGVyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UmVjdCBlZmZlY3RBRHJhd2luZ1Jl
Y3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9j
YWxDb29yZGluYXRlcygpKTsKKyAgICBJbnRSZWN0IGVmZmVjdEFEcmF3aW5nUmVjdCA9IHJlcXVl
c3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpOwogICAg
IFJlZlB0cjxDYW52YXNQaXhlbEFycmF5PiBzcmNQaXhlbEFycmF5QShpbi0+cmVzdWx0SW1hZ2Uo
KS0+Z2V0UHJlbXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RBRHJhd2luZ1JlY3QpLT5kYXRhKCkp
OwogCi0gICAgSW50UmVjdCBlZmZlY3RCRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklu
cHV0SW1hZ2VEYXRhKGluMi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisgICAg
SW50UmVjdCBlZmZlY3RCRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VE
YXRhKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJy
YXk+IHNyY1BpeGVsQXJyYXlCKGluMi0+cmVzdWx0SW1hZ2UoKS0+Z2V0VW5tdWx0aXBsaWVkSW1h
Z2VEYXRhKGVmZmVjdEJEcmF3aW5nUmVjdCktPmRhdGEoKSk7CiAKICAgICBJbnRSZWN0IGltYWdl
UmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkpOwpAQCAtMTAyLDEwICsxMDIs
MTAgQEAgdm9pZCBGRURpc3BsYWNlbWVudE1hcDo6YXBwbHkoRmlsdGVyKiBmaQogCiAgICAgQVNT
RVJUKHNyY1BpeGVsQXJyYXlBLT5sZW5ndGgoKSA9PSBzcmNQaXhlbEFycmF5Qi0+bGVuZ3RoKCkp
OwogCi0gICAgZmxvYXQgc2NhbGVYID0gbV9zY2FsZSAvIDI1NS5mICogZmlsdGVyLT5maWx0ZXJS
ZXNvbHV0aW9uKCkud2lkdGgoKTsKLSAgICBmbG9hdCBzY2FsZVkgPSBtX3NjYWxlIC8gMjU1LmYg
KiBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKTsKLSAgICBmbG9hdCBzY2FsZUFk
anVzdG1lbnRYID0gKDAuNWYgLSAwLjVmICogbV9zY2FsZSkgKiBmaWx0ZXItPmZpbHRlclJlc29s
dXRpb24oKS53aWR0aCgpOwotICAgIGZsb2F0IHNjYWxlQWRqdXN0bWVudFkgPSAoMC41ZiAtIDAu
NWYgKiBtX3NjYWxlKSAqIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpOworICAg
IGZsb2F0IHNjYWxlWCA9IGZpbHRlci0+YXBwbHlIb3Jpem9udGFsU2NhbGUobV9zY2FsZSAvIDI1
NSk7CisgICAgZmxvYXQgc2NhbGVZID0gZmlsdGVyLT5hcHBseVZlcnRpY2FsU2NhbGUobV9zY2Fs
ZSAvIDI1NSk7CisgICAgZmxvYXQgc2NhbGVBZGp1c3RtZW50WCA9IGZpbHRlci0+YXBwbHlIb3Jp
em9udGFsU2NhbGUoMC41ZiAtIDAuNWYgKiBtX3NjYWxlKTsKKyAgICBmbG9hdCBzY2FsZUFkanVz
dG1lbnRZID0gZmlsdGVyLT5hcHBseVZlcnRpY2FsU2NhbGUoMC41ZiAtIDAuNWYgKiBtX3NjYWxl
KTsKICAgICBpbnQgc3RyaWRlID0gaW1hZ2VSZWN0LndpZHRoKCkgKiA0OwogICAgIGZvciAoaW50
IHkgPSAwOyB5IDwgaW1hZ2VSZWN0LmhlaWdodCgpOyArK3kpIHsKICAgICAgICAgaW50IGxpbmUg
PSB5ICogc3RyaWRlOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZF
RGlzcGxhY2VtZW50TWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUzLDYgKzUzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhcHBseShG
aWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOwogCisgICAgdmlydHVhbCB2b2lkIGRl
dGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopIHsgc2V0QWJzb2x1dGVQYWludFJlY3Qo
bWF4RWZmZWN0UmVjdCgpKTsgfQorCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJl
cHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25zdDsKIAogcHJpdmF0
ZToKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZsb29kLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9vZC5j
cHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFRmxvb2QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MiwxNCArNjIsMTQgQEAgdm9pZCBGRUZs
b29kOjpzZXRGbG9vZE9wYWNpdHkoZmxvYXQgZmxvbwogICAgIG1fZmxvb2RPcGFjaXR5ID0gZmxv
b2RPcGFjaXR5OwogfQogCi12b2lkIEZFRmxvb2Q6OmFwcGx5KEZpbHRlciopCit2b2lkIEZFRmxv
b2Q6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogewotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVy
Q29udGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNv
bnRleHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQog
ICAgICAgICByZXR1cm47CiAKICAgICBDb2xvciBjb2xvciA9IGNvbG9yV2l0aE92ZXJyaWRlQWxw
aGEoZmxvb2RDb2xvcigpLnJnYigpLCBmbG9vZE9wYWNpdHkoKSk7Ci0gICAgZmlsdGVyQ29udGV4
dC0+ZmlsbFJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgcmVwYWludFJlY3RJbkxvY2FsQ29v
cmRpbmF0ZXMoKS5zaXplKCkpLCBjb2xvciwgRGV2aWNlQ29sb3JTcGFjZSk7CisgICAgZmlsdGVy
Q29udGV4dC0+ZmlsbFJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgYWJzb2x1dGVQYWludFJl
Y3QoKS5zaXplKCkpLCBjb2xvciwgRGV2aWNlQ29sb3JTcGFjZSk7CiB9CiAKIHZvaWQgRkVGbG9v
ZDo6ZHVtcCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9v
ZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZs
b29kLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFRmxvb2QuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7
CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKikg
eyBzZXRBYnNvbHV0ZVBhaW50UmVjdChtYXhFZmZlY3RSZWN0KCkpOyB9CisKICAgICB2aXJ0dWFs
IFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRl
bnRpb24pIGNvbnN0OwogCiBwcml2YXRlOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwCShyZXZpc2lvbiA2OTEyMCkK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyNSw2ICsxMjUsNDEgQEAgdm9pZCBGRUdhdXNzaWFuQmx1cjo6
a2VybmVsUG9zaXRpb24oaW50IAogICAgIH0KIH0KIAoraW5saW5lIHZvaWQgY2FsY3VsYXRlS2Vy
bmVsU2l6ZSh1bnNpZ25lZCYga2VybmVsU2l6ZVgsIHVuc2lnbmVkJiBrZXJuZWxTaXplWSwgZmxv
YXQgc3RkWCwgZmxvYXQgc3RkWSwgRmlsdGVyKiBmaWx0ZXIpCit7CisgICAgc3RkWCA9IGZpbHRl
ci0+YXBwbHlIb3Jpem9udGFsU2NhbGUoc3RkWCk7CisgICAgc3RkWSA9IGZpbHRlci0+YXBwbHlW
ZXJ0aWNhbFNjYWxlKHN0ZFkpOworICAgIAorICAgIGtlcm5lbFNpemVYID0gMDsKKyAgICBpZiAo
c3RkWCkKKyAgICAgICAga2VybmVsU2l6ZVggPSBtYXg8dW5zaWduZWQ+KDIsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihmbG9vcmYoc3RkWCAqIGdHYXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7
CisgICAga2VybmVsU2l6ZVkgPSAwOworICAgIGlmIChzdGRZKQorICAgICAgICBrZXJuZWxTaXpl
WSA9IG1heDx1bnNpZ25lZD4oMiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGZsb29yZihzdGRZICog
Z0dhdXNzaWFuS2VybmVsRmFjdG9yICsgMC41ZikpKTsKKyAgICAKKyAgICAvLyBMaW1pdCB0aGUg
a2VybmVsIHNpemUgdG8gMTAwMC4gQSBiaWdnZXIgcmFkaXVzIHdvbid0IG1ha2UgYSBiaWcgZGlm
ZmVyZW5jZSBmb3IgdGhlIHJlc3VsdCBpbWFnZSBidXQKKyAgICAvLyBpbmZsYXRlcyB0aGUgYWJz
b2x1dGUgcGFpbnQgcmVjdCB0byBtdWNoLgorICAgIGlmIChrZXJuZWxTaXplWCA+IDEwMDApCisg
ICAgICAgIGtlcm5lbFNpemVYID0gMTAwMDsKKyAgICBpZiAoa2VybmVsU2l6ZVkgPiAxMDAwKQor
ICAgICAgICBrZXJuZWxTaXplWSA9IDEwMDA7Cit9CisKK3ZvaWQgRkVHYXVzc2lhbkJsdXI6OmRl
dGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciogZmlsdGVyKQoreworICAgIEludFJlY3Qg
YWJzb2x1dGVQYWludFJlY3QgPSBpbnB1dEVmZmVjdCgwKS0+YWJzb2x1dGVQYWludFJlY3QoKTsK
KyAgICBhYnNvbHV0ZVBhaW50UmVjdC5pbnRlcnNlY3QobWF4RWZmZWN0UmVjdCgpKTsKKworICAg
IHVuc2lnbmVkIGtlcm5lbFNpemVYID0gMDsKKyAgICB1bnNpZ25lZCBrZXJuZWxTaXplWSA9IDA7
CisgICAgY2FsY3VsYXRlS2VybmVsU2l6ZShrZXJuZWxTaXplWCwga2VybmVsU2l6ZVksIG1fc3Rk
WCwgbV9zdGRZLCBmaWx0ZXIpOworCisgICAgLy8gV2UgdGFrZSB0aGUgaGFsZiBrZXJuZWwgc2l6
ZSBhbmQgbXVsdGlwbHkgaXQgd2l0aCB0aHJlZSwgYmVjYXVzZSB3ZSBydW4gYm94IGJsdXIgdGhy
ZWUgdGltZXMuCisgICAgYWJzb2x1dGVQYWludFJlY3QuaW5mbGF0ZVgoMyAqIChrZXJuZWxTaXpl
WCAqIDAuNWYpKTsKKyAgICBhYnNvbHV0ZVBhaW50UmVjdC5pbmZsYXRlWSgzICogKGtlcm5lbFNp
emVZICogMC41ZikpOworICAgIHNldEFic29sdXRlUGFpbnRSZWN0KGFic29sdXRlUGFpbnRSZWN0
KTsKK30KKwogdm9pZCBGRUdhdXNzaWFuQmx1cjo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7CiAg
ICAgRmlsdGVyRWZmZWN0KiBpbiA9IGlucHV0RWZmZWN0KDApOwpAQCAtMTMyLDEyICsxNjcsMTIg
QEAgdm9pZCBGRUdhdXNzaWFuQmx1cjo6YXBwbHkoRmlsdGVyKiBmaWx0ZQogICAgIGlmICghaW4t
PnJlc3VsdEltYWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4
dCgpKQorICAgIGlmICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBzZXRJc0FscGhhSW1hZ2UoaW4tPmlzQWxwaGFJbWFnZSgpKTsKIAotICAgIEludFJlY3Qg
ZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5y
ZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKyAgICBJbnRSZWN0IGVmZmVjdERyYXdp
bmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWlu
dFJlY3QoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gc3JjSW1hZ2VEYXRhKGluLT5yZXN1bHRJ
bWFnZSgpLT5nZXRQcmVtdWx0aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdERyYXdpbmdSZWN0KSk7CiAg
ICAgSW50UmVjdCBpbWFnZVJlY3QoSW50UG9pbnQoKSwgcmVzdWx0SW1hZ2UoKS0+c2l6ZSgpKTsK
IApAQCAtMTQ3LDEyICsxODIsOCBAQCB2b2lkIEZFR2F1c3NpYW5CbHVyOjphcHBseShGaWx0ZXIq
IGZpbHRlCiAgICAgfQogCiAgICAgdW5zaWduZWQga2VybmVsU2l6ZVggPSAwOwotICAgIGlmICht
X3N0ZFgpCi0gICAgICAgIGtlcm5lbFNpemVYID0gbWF4KDJVLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oZmxvb3IobV9zdGRYICogZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgoKSAqIGdH
YXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7Ci0KICAgICB1bnNpZ25lZCBrZXJuZWxTaXpl
WSA9IDA7Ci0gICAgaWYgKG1fc3RkWSkKLSAgICAgICAga2VybmVsU2l6ZVkgPSBtYXgoMlUsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihmbG9vcihtX3N0ZFkgKiBmaWx0ZXItPmZpbHRlclJlc29sdXRp
b24oKS5oZWlnaHQoKSAqIGdHYXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7CisgICAgY2Fs
Y3VsYXRlS2VybmVsU2l6ZShrZXJuZWxTaXplWCwga2VybmVsU2l6ZVksIG1fc3RkWCwgbV9zdGRZ
LCBmaWx0ZXIpOwogCiAgICAgQ2FudmFzUGl4ZWxBcnJheSogc3JjUGl4ZWxBcnJheShzcmNJbWFn
ZURhdGEtPmRhdGEoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gdG1wSW1hZ2VEYXRhID0gSW1h
Z2VEYXRhOjpjcmVhdGUoaW1hZ2VSZWN0LndpZHRoKCksIGltYWdlUmVjdC5oZWlnaHQoKSk7Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lh
bkJsdXIuaAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVHYXVzc2lhbkJsdXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2
b2lkIGR1bXAoKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWlu
dFJlY3QoRmlsdGVyKik7CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVz
ZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3BwCShyZXZp
c2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUxpZ2h0
aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDEyICsyNDcsMTIgQEAgdm9pZCBGRUxpZ2h0
aW5nOjphcHBseShGaWx0ZXIqIGZpbHRlcikKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIWVmZmVjdENvbnRleHQoKSkKKyAgICBpZiAoIWVm
ZmVjdENvbnRleHQoZmlsdGVyKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc2V0SXNBbHBoYUlt
YWdlKGZhbHNlKTsKIAotICAgIEludFJlY3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRS
ZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
KTsKKyAgICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1
dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0
YT4gc3JjSW1hZ2VEYXRhKGluLT5yZXN1bHRJbWFnZSgpLT5nZXRVbm11bHRpcGxpZWRJbWFnZURh
dGEoZWZmZWN0RHJhd2luZ1JlY3QpKTsKICAgICBDYW52YXNQaXhlbEFycmF5KiBzcmNQaXhlbEFy
cmF5KHNyY0ltYWdlRGF0YS0+ZGF0YSgpKTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFTWVyZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRU1lcmdlLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVNZXJnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUwLDEzICs1MCwxMyBAQCB2b2lkIEZFTWVyZ2U6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogICAg
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29u
dGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRl
eHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAg
ICAgICByZXR1cm47CiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7
CiAgICAgICAgIEZpbHRlckVmZmVjdCogaW4gPSBpbnB1dEVmZmVjdChpKTsKLSAgICAgICAgZmls
dGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xv
clNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxD
b29yZGluYXRlcygpKSk7CisgICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihp
bi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJ
bWFnZShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSkpOwogICAgIH0KIH0KIApJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5jcHAJKHJl
dmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9y
cGhvbG9neS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0LDYgKzc0LDE0IEBAIGZsb2F0IEZFTW9y
cGhvbG9neTo6cmFkaXVzWSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcmFkaXVzWTsKIH0KIAordm9p
ZCBGRU1vcnBob2xvZ3k6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciogZmlsdGVy
KQoreworICAgIEludFJlY3QgcGFpbnRSZWN0ID0gaW5wdXRFZmZlY3QoMCktPmFic29sdXRlUGFp
bnRSZWN0KCk7CisgICAgcGFpbnRSZWN0LmluZmxhdGVYKGZsb29yZihmaWx0ZXItPmFwcGx5SG9y
aXpvbnRhbFNjYWxlKG1fcmFkaXVzWCkpKTsKKyAgICBwYWludFJlY3QuaW5mbGF0ZVkoZmxvb3Jm
KGZpbHRlci0+YXBwbHlWZXJ0aWNhbFNjYWxlKG1fcmFkaXVzWSkpKTsKKyAgICBzZXRBYnNvbHV0
ZVBhaW50UmVjdChwYWludFJlY3QpOworfQorCiB2b2lkIEZFTW9ycGhvbG9neTo6c2V0UmFkaXVz
WShmbG9hdCByYWRpdXNZKQogewogICAgIG1fcmFkaXVzWSA9IHJhZGl1c1k7CkBAIC04NiwxOCAr
OTQsMTggQEAgdm9pZCBGRU1vcnBob2xvZ3k6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogICAgIGlm
ICghaW4tPnJlc3VsdEltYWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0
Q29udGV4dCgpKQorICAgIGlmICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1
cm47CiAKICAgICBzZXRJc0FscGhhSW1hZ2UoaW4tPmlzQWxwaGFJbWFnZSgpKTsKLQotICAgIGlu
dCByYWRpdXNYID0gc3RhdGljX2Nhc3Q8aW50PihtX3JhZGl1c1ggKiBmaWx0ZXItPmZpbHRlclJl
c29sdXRpb24oKS53aWR0aCgpKTsKLSAgICBpbnQgcmFkaXVzWSA9IHN0YXRpY19jYXN0PGludD4o
bV9yYWRpdXNZICogZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkuaGVpZ2h0KCkpOwotICAgIGlm
IChyYWRpdXNYIDw9IDAgfHwgcmFkaXVzWSA8PSAwKQorICAgIGlmIChtX3JhZGl1c1ggPD0gMCB8
fCBtX3JhZGl1c1kgPD0gMCkKICAgICAgICAgcmV0dXJuOwogCisgICAgaW50IHJhZGl1c1ggPSBm
bG9vcmYoZmlsdGVyLT5hcHBseUhvcml6b250YWxTY2FsZShtX3JhZGl1c1gpKTsKKyAgICBpbnQg
cmFkaXVzWSA9IGZsb29yZihmaWx0ZXItPmFwcGx5VmVydGljYWxTY2FsZShtX3JhZGl1c1kpKTsK
KwogICAgIEludFJlY3QgaW1hZ2VSZWN0KEludFBvaW50KCksIHJlc3VsdEltYWdlKCktPnNpemUo
KSk7Ci0gICAgSW50UmVjdCBlZmZlY3REcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5w
dXRJbWFnZURhdGEoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgIElu
dFJlY3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRh
KGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAgICBSZWZQdHI8Q2FudmFzUGl4ZWxBcnJheT4g
c3JjUGl4ZWxBcnJheShpbi0+cmVzdWx0SW1hZ2UoKS0+Z2V0UHJlbXVsdGlwbGllZEltYWdlRGF0
YShlZmZlY3REcmF3aW5nUmVjdCktPmRhdGEoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gaW1h
Z2VEYXRhID0gSW1hZ2VEYXRhOjpjcmVhdGUoaW1hZ2VSZWN0LndpZHRoKCksIGltYWdlUmVjdC5o
ZWlnaHQoKSk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU1v
cnBob2xvZ3kuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRkVNb3JwaG9sb2d5LmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0
OSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmly
dHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBh
aW50UmVjdChGaWx0ZXIqKTsKKwogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKIHByaXZhdGU6
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5j
cHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFT2Zmc2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTQgQEAgdm9pZCBGRU9m
ZnNldDo6c2V0RHkoZmxvYXQgZHkpCiAgICAgbV9keSA9IGR5OwogfQogCit2b2lkIEZFT2Zmc2V0
OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqIGZpbHRlcikKK3sKKyAgICBGbG9h
dFJlY3QgcGFpbnRSZWN0ID0gaW5wdXRFZmZlY3QoMCktPmFic29sdXRlUGFpbnRSZWN0KCk7Cisg
ICAgcGFpbnRSZWN0Lm1vdmUoZmlsdGVyLT5hcHBseUhvcml6b250YWxTY2FsZShtX2R4KSwgZmls
dGVyLT5hcHBseVZlcnRpY2FsU2NhbGUobV9keSkpOworICAgIHBhaW50UmVjdC5pbnRlcnNlY3Qo
bWF4RWZmZWN0UmVjdCgpKTsKKyAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChlbmNsb3NpbmdJbnRS
ZWN0KHBhaW50UmVjdCkpOworfQorCiB2b2lkIEZFT2Zmc2V0OjphcHBseShGaWx0ZXIqIGZpbHRl
cikKIHsKICAgICBGaWx0ZXJFZmZlY3QqIGluID0gaW5wdXRFZmZlY3QoMCk7CkBAIC02OSwyOCAr
NzcsMTUgQEAgdm9pZCBGRU9mZnNldDo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAgaWYgKCFp
bi0+cmVzdWx0SW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgR3JhcGhpY3NDb250ZXh0
KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dCgpOworICAgIEdyYXBoaWNzQ29udGV4dCog
ZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQoZmlsdGVyKTsKICAgICBpZiAoIWZpbHRlckNv
bnRleHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNldElzQWxwaGFJbWFnZShpbi0+aXNBbHBo
YUltYWdlKCkpOwogCi0gICAgRmxvYXRSZWN0IHNvdXJjZUltYWdlUmVjdCA9IGZpbHRlci0+c291
cmNlSW1hZ2VSZWN0KCk7Ci0gICAgc291cmNlSW1hZ2VSZWN0LnNjYWxlKGZpbHRlci0+ZmlsdGVy
UmVzb2x1dGlvbigpLndpZHRoKCksIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgp
KTsKLQotICAgIGlmIChmaWx0ZXItPmVmZmVjdEJvdW5kaW5nQm94TW9kZSgpKSB7Ci0gICAgICAg
IG1fZHggKj0gc291cmNlSW1hZ2VSZWN0LndpZHRoKCk7Ci0gICAgICAgIG1fZHkgKj0gc291cmNl
SW1hZ2VSZWN0LmhlaWdodCgpOwotICAgIH0KLSAgICBtX2R4ICo9IGZpbHRlci0+ZmlsdGVyUmVz
b2x1dGlvbigpLndpZHRoKCk7Ci0gICAgbV9keSAqPSBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24o
KS5oZWlnaHQoKTsKLQotICAgIEZsb2F0UmVjdCBkc3RSZWN0ID0gRmxvYXRSZWN0KG1fZHggKyBp
bi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS54KCkgLSByZXBhaW50UmVjdEluTG9j
YWxDb29yZGluYXRlcygpLngoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
X2R5ICsgaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkueSgpIC0gcmVwYWludFJl
Y3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS55KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkud2lkdGgoKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRp
bmF0ZXMoKS5oZWlnaHQoKSk7Ci0KLSAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIo
aW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRzdFJlY3QpOworICAgIEZsb2F0
UmVjdCBkcmF3aW5nUmVnaW9uID0gZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbi0+YWJzb2x1
dGVQYWludFJlY3QoKSk7CisgICAgZHJhd2luZ1JlZ2lvbi5tb3ZlKGZpbHRlci0+YXBwbHlIb3Jp
em9udGFsU2NhbGUobV9keCksIGZpbHRlci0+YXBwbHlWZXJ0aWNhbFNjYWxlKG1fZHkpKTsKKyAg
ICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmlj
ZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb24pOwogfQogCiB2b2lkIEZFT2Zmc2V0OjpkdW1wKCkK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5oCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9m
ZnNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgdm9pZCBhcHBseShGaWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOworICAg
IAorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKTsK
IAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3Ry
ZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRmlsdGVyLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCiAjaW5jbHVkZSAiUGF0dGVybi5oIgorI2luY2x1ZGUgIlNWR0ltYWdlQnVmZmVyVG9v
bHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCw3ICs0NSw3IEBAIEZsb2F0UmVj
dCBGRVRpbGU6OmRldGVybWluZUZpbHRlclByaW1pdGkKIHsKICAgICBpbnB1dEVmZmVjdCgwKS0+
ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKGZpbHRlcik7CiAKLSAgICBmaWx0ZXIt
PmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbih0aGlzLCBmaWx0ZXItPmZpbHRlclJl
Z2lvbigpKTsKKyAgICBmaWx0ZXItPmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbih0
aGlzLCBmaWx0ZXItPmZpbHRlclJlZ2lvbkluVXNlclNwYWNlKCkpOwogICAgIHJldHVybiBmaWx0
ZXJQcmltaXRpdmVTdWJyZWdpb24oKTsKIH0KIApAQCAtNTUsMzQgKzU2LDM1IEBAIHZvaWQgRkVU
aWxlOjphcHBseShGaWx0ZXIqIGZpbHRlcikKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBl
ZmZlY3RDb250ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZm
ZWN0Q29udGV4dChmaWx0ZXIpOwogICAgIGlmICghZmlsdGVyQ29udGV4dCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgc2V0SXNBbHBoYUltYWdlKGluLT5pc0FscGhhSW1hZ2UoKSk7CiAKLSAgICBJ
bnRSZWN0IHRpbGVSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChpbi0+cmVwYWludFJlY3RJbkxvY2Fs
Q29vcmRpbmF0ZXMoKSk7Ci0KICAgICAvLyBTb3VyY2UgaW5wdXQgbmVlZHMgbW9yZSBhdHRlbnRp
b24uIEl0IGhhcyB0aGUgc2l6ZSBvZiB0aGUgZmlsdGVyUmVnaW9uIGJ1dCBnaXZlcyB0aGUKICAg
ICAvLyBzaXplIG9mIHRoZSBjdXR0ZWQgc291cmNlSW1hZ2UgYmFjay4gVGhpcyBpcyBwYXJ0IG9m
IHRoZSBzcGVjaWZpY2F0aW9uIGFuZCBvcHRpbWl6YXRpb24uCisgICAgRmxvYXRSZWN0IHRpbGVS
ZWN0ID0gaW4tPm1heEVmZmVjdFJlY3QoKTsKICAgICBpZiAoaW4tPmlzU291cmNlSW5wdXQoKSkg
ewotICAgICAgICBGbG9hdFJlY3QgZmlsdGVyUmVnaW9uID0gZmlsdGVyLT5maWx0ZXJSZWdpb24o
KTsKLSAgICAgICAgZmlsdGVyUmVnaW9uLnNjYWxlKGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigp
LndpZHRoKCksIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpKTsKLSAgICAgICAg
dGlsZVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGZpbHRlclJlZ2lvbik7CisgICAgICAgIHRpbGVS
ZWN0ID0gZmlsdGVyLT5maWx0ZXJSZWdpb24oKTsKKyAgICAgICAgdGlsZVJlY3Quc2NhbGUoZmls
dGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgoKSwgZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9u
KCkuaGVpZ2h0KCkpOwogICAgIH0KIAotICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gdGlsZUltYWdl
ID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZSh0aWxlUmVjdC5zaXplKCkpOworICAgIE93blB0cjxJbWFn
ZUJ1ZmZlcj4gdGlsZUltYWdlOworICAgIGlmICghU1ZHSW1hZ2VCdWZmZXJUb29sczo6Y3JlYXRl
SW1hZ2VCdWZmZXIodGlsZVJlY3QsIHRpbGVSZWN0LCB0aWxlSW1hZ2UsIERldmljZVJHQikpCisg
ICAgICAgIHJldHVybjsKKwogICAgIEdyYXBoaWNzQ29udGV4dCogdGlsZUltYWdlQ29udGV4dCA9
IHRpbGVJbWFnZS0+Y29udGV4dCgpOwotICAgIHRpbGVJbWFnZUNvbnRleHQtPmRyYXdJbWFnZUJ1
ZmZlcihpbi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgSW50UG9pbnQoKSk7Ci0g
ICAgUmVmUHRyPFBhdHRlcm4+IHBhdHRlcm4gPSBQYXR0ZXJuOjpjcmVhdGUodGlsZUltYWdlLT5j
b3B5SW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7CisgICAgdGlsZUltYWdlQ29udGV4dC0+dHJhbnNsYXRl
KC1pbi0+bWF4RWZmZWN0UmVjdCgpLngoKSwgLWluLT5tYXhFZmZlY3RSZWN0KCkueSgpKTsKKyAg
ICB0aWxlSW1hZ2VDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERl
dmljZUNvbG9yU3BhY2UsIGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpLmxvY2F0aW9uKCkpOwogCi0g
ICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKLSAgICBtYXRyaXgudHJhbnNsYXRlKGluLT5yZXBh
aW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLngoKSAtIHJlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzKCkueCgpLAotICAgICAgICAgICAgICAgICAgICAgaW4tPnJlcGFpbnRSZWN0SW5Mb2Nh
bENvb3JkaW5hdGVzKCkueSgpIC0gcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS55KCkp
OwotICAgIHBhdHRlcm4uZ2V0KCktPnNldFBhdHRlcm5TcGFjZVRyYW5zZm9ybShtYXRyaXgpOwor
ICAgIFJlZlB0cjxQYXR0ZXJuPiBwYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGVJbWFnZS0+
Y29weUltYWdlKCksIHRydWUsIHRydWUpOwogCisgICAgQWZmaW5lVHJhbnNmb3JtIHBhdHRlcm5U
cmFuc2Zvcm07CisgICAgcGF0dGVyblRyYW5zZm9ybS50cmFuc2xhdGUoaW4tPm1heEVmZmVjdFJl
Y3QoKS54KCkgLSBtYXhFZmZlY3RSZWN0KCkueCgpLCBpbi0+bWF4RWZmZWN0UmVjdCgpLnkoKSAt
IG1heEVmZmVjdFJlY3QoKS55KCkpOworICAgIHBhdHRlcm4tPnNldFBhdHRlcm5TcGFjZVRyYW5z
Zm9ybShwYXR0ZXJuVHJhbnNmb3JtKTsKICAgICBmaWx0ZXJDb250ZXh0LT5zZXRGaWxsUGF0dGVy
bihwYXR0ZXJuKTsKLSAgICBmaWx0ZXJDb250ZXh0LT5maWxsUmVjdChGbG9hdFJlY3QoRmxvYXRQ
b2ludCgpLCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLnNpemUoKSkpOworICAgIGZp
bHRlckNvbnRleHQtPmZpbGxSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIGFic29sdXRlUGFp
bnRSZWN0KCkuc2l6ZSgpKSk7CiB9CiAKIHZvaWQgRkVUaWxlOjpkdW1wKCkKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUaWxlLmgJKHJldmlzaW9uIDY5MTIwKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVGlsZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw2ICszNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmls
dGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkZXRl
cm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKSB7IHNldEFic29sdXRlUGFpbnRSZWN0KG1h
eEVmZmVjdFJlY3QoKSk7IH0KKwogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKICAgICB2aXJ0
dWFsIEZsb2F0UmVjdCBkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVyKik7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxlbmNlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJi
dWxlbmNlLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRkVUdXJidWxlbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIxLDcgKzMyMSw3
IEBAIHVuc2lnbmVkIGNoYXIgRkVUdXJidWxlbmNlOjpjYWxjdWxhdGVUdXIKIAogdm9pZCBGRVR1
cmJ1bGVuY2U6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogewotICAgIGlmICghZWZmZWN0Q29udGV4
dCgpKQorICAgIGlmICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBJbnRSZWN0IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkp
OwpAQCAtMzI5LDEwICszMjksMTAgQEAgdm9pZCBGRVR1cmJ1bGVuY2U6OmFwcGx5KEZpbHRlciog
ZmlsdGVyKQogICAgICAgICByZXR1cm47CiAKICAgICBSZWZQdHI8SW1hZ2VEYXRhPiBpbWFnZURh
dGEgPSBJbWFnZURhdGE6OmNyZWF0ZShpbWFnZVJlY3Qud2lkdGgoKSwgaW1hZ2VSZWN0LmhlaWdo
dCgpKTsKLSAgICBQYWludGluZ0RhdGEgcGFpbnRpbmdEYXRhKG1fc2VlZCwgaW1hZ2VSZWN0LnNp
emUoKSk7CisgICAgUGFpbnRpbmdEYXRhIHBhaW50aW5nRGF0YShtX3NlZWQsIHJvdW5kZWRJbnRT
aXplKGZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbigpLnNpemUoKSkpOwogICAgIGluaXRQYWludChw
YWludGluZ0RhdGEpOwogCi0gICAgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbiA9IGZpbHRlci0+Zmls
dGVyUmVnaW9uKCk7CisgICAgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbiA9IGFic29sdXRlUGFpbnRS
ZWN0KCk7CiAgICAgRmxvYXRQb2ludCBwb2ludDsKICAgICBwb2ludC5zZXRZKGZpbHRlclJlZ2lv
bi55KCkpOwogICAgIGludCBpbmRleE9mUGl4ZWxDaGFubmVsID0gMDsKQEAgLTM0Miw3ICszNDIs
NyBAQCB2b2lkIEZFVHVyYnVsZW5jZTo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAgICAgIGZv
ciAoaW50IHggPSAwOyB4IDwgaW1hZ2VSZWN0LndpZHRoKCk7ICsreCkgewogICAgICAgICAgICAg
cG9pbnQuc2V0WChwb2ludC54KCkgKyAxKTsKICAgICAgICAgICAgIGZvciAocGFpbnRpbmdEYXRh
LmNoYW5uZWwgPSAwOyBwYWludGluZ0RhdGEuY2hhbm5lbCA8IDQ7ICsrcGFpbnRpbmdEYXRhLmNo
YW5uZWwsICsraW5kZXhPZlBpeGVsQ2hhbm5lbCkKLSAgICAgICAgICAgICAgICBpbWFnZURhdGEt
PmRhdGEoKS0+c2V0KGluZGV4T2ZQaXhlbENoYW5uZWwsIGNhbGN1bGF0ZVR1cmJ1bGVuY2VWYWx1
ZUZvclBvaW50KHBhaW50aW5nRGF0YSwgcG9pbnQpKTsKKyAgICAgICAgICAgICAgICBpbWFnZURh
dGEtPmRhdGEoKS0+c2V0KGluZGV4T2ZQaXhlbENoYW5uZWwsIGNhbGN1bGF0ZVR1cmJ1bGVuY2VW
YWx1ZUZvclBvaW50KHBhaW50aW5nRGF0YSwgZmlsdGVyLT5tYXBBYnNvbHV0ZVBvaW50VG9Mb2Nh
bFBvaW50KHBvaW50KSkpOwogICAgICAgICB9CiAgICAgfQogICAgIHJlc3VsdEltYWdlKCktPnB1
dFVubXVsdGlwbGllZEltYWdlRGF0YShpbWFnZURhdGEuZ2V0KCksIGltYWdlUmVjdCwgSW50UG9p
bnQoKSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxl
bmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZF
VHVyYnVsZW5jZS5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRVR1cmJ1bGVuY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsOCBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVh
bCB2b2lkIGR1bXAoKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQ
YWludFJlY3QoRmlsdGVyKikgeyBzZXRBYnNvbHV0ZVBhaW50UmVjdChtYXhFZmZlY3RSZWN0KCkp
OyB9CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4
dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlci5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDQs
MTEgKzQ0LDE4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRmxvYXRTaXplIGZpbHRl
clJlc29sdXRpb24oKSBjb25zdCB7IHJldHVybiBtX2ZpbHRlclJlc29sdXRpb247IH0KICAgICAg
ICAgdm9pZCBzZXRGaWx0ZXJSZXNvbHV0aW9uKGNvbnN0IEZsb2F0U2l6ZSYgZmlsdGVyUmVzb2x1
dGlvbikgeyBtX2ZpbHRlclJlc29sdXRpb24gPSBmaWx0ZXJSZXNvbHV0aW9uOyB9CiAKKyAgICAg
ICAgdmlydHVhbCBmbG9hdCBhcHBseUhvcml6b250YWxTY2FsZShmbG9hdCB2YWx1ZSkgY29uc3Qg
eyByZXR1cm4gdmFsdWUgKiBtX2ZpbHRlclJlc29sdXRpb24ud2lkdGgoKTsgfQorICAgICAgICB2
aXJ0dWFsIGZsb2F0IGFwcGx5VmVydGljYWxTY2FsZShmbG9hdCB2YWx1ZSkgY29uc3QgeyByZXR1
cm4gdmFsdWUgKiBtX2ZpbHRlclJlc29sdXRpb24uaGVpZ2h0KCk7IH0KKyAgICAgICAgCiAgICAg
ICAgIHZpcnR1YWwgRmxvYXRSZWN0IHNvdXJjZUltYWdlUmVjdCgpIGNvbnN0ID0gMDsKICAgICAg
ICAgdmlydHVhbCBGbG9hdFJlY3QgZmlsdGVyUmVnaW9uKCkgY29uc3QgPSAwOworICAgICAgICAK
KyAgICAgICAgdmlydHVhbCBGbG9hdFBvaW50IG1hcEFic29sdXRlUG9pbnRUb0xvY2FsUG9pbnQo
Y29uc3QgRmxvYXRQb2ludCYpIGNvbnN0IHsgcmV0dXJuIEZsb2F0UG9pbnQoKTsgfQogCiAgICAg
ICAgIC8vIFNWRyBzcGVjaWZpYwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lRmlsdGVy
UHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlckVmZmVjdCosIGNvbnN0IEZsb2F0UmVjdCYpIHsgfQor
ICAgICAgICAKKyAgICAgICAgdmlydHVhbCBGbG9hdFJlY3QgZmlsdGVyUmVnaW9uSW5Vc2VyU3Bh
Y2UoKSBjb25zdCB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQogCiAgICAgICAgIHZpcnR1YWwgRmxv
YXRTaXplIG1heEltYWdlU2l6ZSgpIGNvbnN0ID0gMDsKICAgICAgICAgdmlydHVhbCBib29sIGVm
ZmVjdEJvdW5kaW5nQm94TW9kZSgpIGNvbnN0ID0gMDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwCShyZXZpc2lvbiA2OTEy
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIEZsb2F0UmVjdCBGaWx0ZXJFZmZlY3Q6
OmRldGVybWluZUZpbHRlclAKIAogICAgIC8vIEZFVHVyYnVsZW5jZSwgRkVJbWFnZSBhbmQgRkVG
bG9vZCBkb24ndCBoYXZlIGlucHV0IGVmZmVjdHMsIHRha2UgdGhlIGZpbHRlciByZWdpb24gYXMg
dW5pdGUgcmVjdC4KICAgICBpZiAoIXNpemUpCi0gICAgICAgIHVuaXRlUmVjdCA9IGZpbHRlci0+
ZmlsdGVyUmVnaW9uKCk7CisgICAgICAgIHVuaXRlUmVjdCA9IGZpbHRlci0+ZmlsdGVyUmVnaW9u
SW5Vc2VyU3BhY2UoKTsKICAgICBlbHNlIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHNpemU7ICsraSkKICAgICAgICAgICAgIHVuaXRlUmVjdC51bml0ZShtX2lucHV0RWZmZWN0
cy5hdChpKS0+ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKGZpbHRlcikpOwpAQCAt
NTYsMTggKzU2LDI5IEBAIEZsb2F0UmVjdCBGaWx0ZXJFZmZlY3Q6OmRldGVybWluZUZpbHRlclAK
ICAgICByZXR1cm4gbV9maWx0ZXJQcmltaXRpdmVTdWJyZWdpb247CiB9CiAKLUludFJlY3QgRmls
dGVyRWZmZWN0OjpyZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGNvbnN0IEZsb2F0UmVj
dCYgZWZmZWN0UmVjdCkgY29uc3QKK3ZvaWQgRmlsdGVyRWZmZWN0OjpkZXRlcm1pbmVBYnNvbHV0
ZVBhaW50UmVjdChGaWx0ZXIqKQoreworICAgIG1fYWJzb2x1dGVQYWludFJlY3QgPSBJbnRSZWN0
KCk7CisgICAgdW5zaWduZWQgc2l6ZSA9IG1faW5wdXRFZmZlY3RzLnNpemUoKTsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICBtX2Fic29sdXRlUGFpbnRS
ZWN0LnVuaXRlKG1faW5wdXRFZmZlY3RzLmF0KGkpLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKKyAg
ICAKKyAgICAvLyBTVkcgc3BlY2lmaWNhdGlvbiB3YW50cyB1cyB0byBjbGlwIHRvIHByaW1pdGl2
ZSBzdWJyZWdpb24uCisgICAgbV9hYnNvbHV0ZVBhaW50UmVjdC5pbnRlcnNlY3QobV9tYXhFZmZl
Y3RSZWN0KTsKK30KKworSW50UmVjdCBGaWx0ZXJFZmZlY3Q6OnJlcXVlc3RlZFJlZ2lvbk9mSW5w
dXRJbWFnZURhdGEoY29uc3QgSW50UmVjdCYgZWZmZWN0UmVjdCkgY29uc3QKIHsKICAgICBBU1NF
UlQobV9lZmZlY3RCdWZmZXIpOwotICAgIEZsb2F0UG9pbnQgbG9jYXRpb24gPSBtX3JlcGFpbnRS
ZWN0SW5Mb2NhbENvb3JkaW5hdGVzLmxvY2F0aW9uKCk7CisgICAgSW50UG9pbnQgbG9jYXRpb24g
PSBtX2Fic29sdXRlUGFpbnRSZWN0LmxvY2F0aW9uKCk7CiAgICAgbG9jYXRpb24ubW92ZSgtZWZm
ZWN0UmVjdC54KCksIC1lZmZlY3RSZWN0LnkoKSk7Ci0gICAgcmV0dXJuIEludFJlY3Qocm91bmRl
ZEludFBvaW50KGxvY2F0aW9uKSwgbV9lZmZlY3RCdWZmZXItPnNpemUoKSk7CisgICAgcmV0dXJu
IEludFJlY3QobG9jYXRpb24sIG1fZWZmZWN0QnVmZmVyLT5zaXplKCkpOwogfQogCi1GbG9hdFJl
Y3QgRmlsdGVyRWZmZWN0OjpkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGNvbnN0IEZsb2F0UmVj
dCYgc3JjUmVjdCkgY29uc3QKK0ludFJlY3QgRmlsdGVyRWZmZWN0OjpkcmF3aW5nUmVnaW9uT2ZJ
bnB1dEltYWdlKGNvbnN0IEludFJlY3QmIHNyY1JlY3QpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIEZs
b2F0UmVjdChGbG9hdFBvaW50KHNyY1JlY3QueCgpIC0gbV9yZXBhaW50UmVjdEluTG9jYWxDb29y
ZGluYXRlcy54KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY1JlY3QueSgp
IC0gbV9yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcy55KCkpLCBzcmNSZWN0LnNpemUoKSk7
CisgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQoc3JjUmVjdC54KCkgLSBtX2Fic29sdXRlUGFp
bnRSZWN0LngoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNSZWN0LnkoKSAtIG1f
YWJzb2x1dGVQYWludFJlY3QueSgpKSwgc3JjUmVjdC5zaXplKCkpOwogfQogCiBGaWx0ZXJFZmZl
Y3QqIEZpbHRlckVmZmVjdDo6aW5wdXRFZmZlY3QodW5zaWduZWQgbnVtYmVyKSBjb25zdApAQCAt
NzYsMTAgKzg3LDEyIEBAIEZpbHRlckVmZmVjdCogRmlsdGVyRWZmZWN0OjppbnB1dEVmZmVjdCgK
ICAgICByZXR1cm4gbV9pbnB1dEVmZmVjdHMuYXQobnVtYmVyKS5nZXQoKTsKIH0KIAotR3JhcGhp
Y3NDb250ZXh0KiBGaWx0ZXJFZmZlY3Q6OmVmZmVjdENvbnRleHQoKQorR3JhcGhpY3NDb250ZXh0
KiBGaWx0ZXJFZmZlY3Q6OmVmZmVjdENvbnRleHQoRmlsdGVyKiBmaWx0ZXIpCiB7Ci0gICAgSW50
UmVjdCBidWZmZXJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChtX3JlcGFpbnRSZWN0SW5Mb2NhbENv
b3JkaW5hdGVzKTsKLSAgICBtX2VmZmVjdEJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoYnVm
ZmVyUmVjdC5zaXplKCksIExpbmVhclJHQik7CisgICAgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJl
Y3QoZmlsdGVyKTsKKyAgICBpZiAobV9hYnNvbHV0ZVBhaW50UmVjdC5pc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybiAwOworICAgIG1fZWZmZWN0QnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZSht
X2Fic29sdXRlUGFpbnRSZWN0LnNpemUoKSwgTGluZWFyUkdCKTsKICAgICBpZiAoIW1fZWZmZWN0
QnVmZmVyKQogICAgICAgICByZXR1cm4gMDsKICAgICByZXR1cm4gbV9lZmZlY3RCdWZmZXItPmNv
bnRleHQoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJF
ZmZlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RmlsdGVyRWZmZWN0LmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwyNSArNDks
MzAgQEAgcHVibGljOgogCiAgICAgLy8gQ3JlYXRlcyB0aGUgSW1hZ2VCdWZmZXIgZm9yIHRoZSBj
dXJyZW50IGZpbHRlciBwcmltaXRpdmUgcmVzdWx0IGluIHRoZSBzaXplIG9mIHRoZQogICAgIC8v
IHJlcGFpbnRSZWN0LiBHaXZlcyBiYWNrIHRoZSBHcmFwaGljc0NvbnRleHQgb2YgdGhlIG93biBJ
bWFnZUJ1ZmZlci4KLSAgICBHcmFwaGljc0NvbnRleHQqIGVmZmVjdENvbnRleHQoKTsKKyAgICBH
cmFwaGljc0NvbnRleHQqIGVmZmVjdENvbnRleHQoRmlsdGVyKik7CiAKICAgICBGaWx0ZXJFZmZl
Y3RWZWN0b3ImIGlucHV0RWZmZWN0cygpIHsgcmV0dXJuIG1faW5wdXRFZmZlY3RzOyB9CiAgICAg
RmlsdGVyRWZmZWN0KiBpbnB1dEVmZmVjdCh1bnNpZ25lZCkgY29uc3Q7CiAgICAgdW5zaWduZWQg
bnVtYmVyT2ZFZmZlY3RJbnB1dHMoKSBjb25zdCB7IHJldHVybiBtX2lucHV0RWZmZWN0cy5zaXpl
KCk7IH0KIAotICAgIEZsb2F0UmVjdCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGNvbnN0IEZs
b2F0UmVjdCYpIGNvbnN0OwotICAgIEludFJlY3QgcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdl
RGF0YShjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKKyAgICBJbnRSZWN0IGRyYXdpbmdSZWdpb25P
ZklucHV0SW1hZ2UoY29uc3QgSW50UmVjdCYpIGNvbnN0OworICAgIEludFJlY3QgcmVxdWVzdGVk
UmVnaW9uT2ZJbnB1dEltYWdlRGF0YShjb25zdCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICAvLyBT
b2xpZCBibGFjayBpbWFnZSB3aXRoIGRpZmZlcmVudCBhbHBoYSB2YWx1ZXMuCiAgICAgYm9vbCBp
c0FscGhhSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX2FscGhhSW1hZ2U7IH0KICAgICB2b2lkIHNl
dElzQWxwaGFJbWFnZShib29sIGFscGhhSW1hZ2UpIHsgbV9hbHBoYUltYWdlID0gYWxwaGFJbWFn
ZTsgfQogCi0gICAgRmxvYXRSZWN0IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkgY29u
c3QgeyByZXR1cm4gbV9yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlczsgfQotICAgIHZvaWQg
c2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoY29uc3QgRmxvYXRSZWN0JiByZXBhaW50
UmVjdEluTG9jYWxDb29yZGluYXRlcykgeyBtX3JlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVz
ID0gcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXM7IH0KKyAgICBJbnRSZWN0IGFic29sdXRl
UGFpbnRSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9hYnNvbHV0ZVBhaW50UmVjdDsgfQorICAgIHZv
aWQgc2V0QWJzb2x1dGVQYWludFJlY3QoY29uc3QgSW50UmVjdCYgYWJzb2x1dGVQYWludFJlY3Qp
IHsgbV9hYnNvbHV0ZVBhaW50UmVjdCA9IGFic29sdXRlUGFpbnRSZWN0OyB9CisgICAgCisgICAg
SW50UmVjdCBtYXhFZmZlY3RSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9tYXhFZmZlY3RSZWN0OyB9
CisgICAgdm9pZCBzZXRNYXhFZmZlY3RSZWN0KGNvbnN0IEludFJlY3QmIG1heEVmZmVjdFJlY3Qp
IHsgbV9tYXhFZmZlY3RSZWN0ID0gbWF4RWZmZWN0UmVjdDsgfSAKIAogICAgIHZpcnR1YWwgdm9p
ZCBhcHBseShGaWx0ZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKSA9IDA7CiAKKyAg
ICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKik7CisgICAg
CiAgICAgdmlydHVhbCBib29sIGlzU291cmNlSW5wdXQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRT
dHJlYW0mLCBpbnQgaW5kZW50aW9uID0gMCkgY29uc3Q7CkBAIC04Nyw3ICs5Miw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGhhc0hlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzSGVpZ2h0OyB9CiAg
ICAgdm9pZCBzZXRIYXNIZWlnaHQoYm9vbCB2YWx1ZSkgeyBtX2hhc0hlaWdodCA9IHZhbHVlOyB9
CiAKLSAgICAvLyBGSVhNRTogUHNldWRvIHByaW1pdGl2ZXMgbGlrZSBTb3VyY2VHcmFwaGljIGFu
ZCBTb3VyY2VBbHBoYSBhcyB3ZWxsIGFzIEZFVGlsZSBzdGlsbCBuZWVkIHNwZWNpYWwgaGFuZGxp
bmcuCisgICAgLy8gRklYTUU6IEZFVGlsZSBzdGlsbCBuZWVkcyBzcGVjaWFsIGhhbmRsaW5nLgog
ICAgIHZpcnR1YWwgRmxvYXRSZWN0IGRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihG
aWx0ZXIqKTsKIAogICAgIEZsb2F0UmVjdCBmaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKSBjb25z
dCB7IHJldHVybiBtX2ZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbjsgfQpAQCAtMTA1LDggKzExMCwx
MSBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2FscGhhSW1hZ2U7CiAKLSAgICAvLyBGSVhNRTog
U2hvdWxkIGJlIHRoZSBwYWludCByZWdpb24gb2YgdGhlIGZpbHRlciBwcmltaXRpdmUsIGluc3Rl
YWQgb2YgdGhlIHNjYWxlZCBzdWJyZWdpb24gb24gdXNlIG9mIGZpbHRlclJlcy4KLSAgICBGbG9h
dFJlY3QgbV9yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlczsKKyAgICBJbnRSZWN0IG1fYWJz
b2x1dGVQYWludFJlY3Q7CisgICAgCisgICAgLy8gVGhlIG1heGltdW0gc2l6ZSBvZiBhIGZpbHRl
ciBwcmltaXRpdmUuIEluIFNWRyB0aGlzIGlzIHRoZSBwcmltaXRpdmUgc3VicmVnaW9uIGluIGFi
c29sdXRlIGNvb3JkaW5hdGUgc3BhY2UuCisgICAgLy8gVGhlIGFic29sdXRlIHBhaW50IHJlY3Qg
c2hvdWxkIG5ldmVyIGJlIGJpZ2dlciB0aGFuIG1fbWF4RWZmZWN0UmVjdC4KKyAgICBJbnRSZWN0
IG1fbWF4RWZmZWN0UmVjdDsKIAogcHJpdmF0ZToKICAgICAvLyBUaGUgZm9sbG93aW5nIG1lbWJl
ciB2YXJpYWJsZXMgYXJlIFNWRyBzcGVjaWZpYyBhbmQgd2lsbCBtb3ZlIHRvIFJlbmRlclNWR1Jl
c291cmNlRmlsdGVyUHJpbWl0aXZlLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL1NvdXJjZUFscGhhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDI4ICs0MiwyMiBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFNvdXJjZUFscGhhOjpl
ZmZlY3ROCiAgICAgcmV0dXJuIHNfZWZmZWN0TmFtZTsKIH0KIAotRmxvYXRSZWN0IFNvdXJjZUFs
cGhhOjpkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVyKiBmaWx0ZXIpCit2
b2lkIFNvdXJjZUFscGhhOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqIGZpbHRl
cikKIHsKICAgICBGbG9hdFJlY3QgY2xpcHBlZFNvdXJjZVJlY3QgPSBmaWx0ZXItPnNvdXJjZUlt
YWdlUmVjdCgpOwotICAgIGlmIChmaWx0ZXItPnNvdXJjZUltYWdlUmVjdCgpLngoKSA8IGZpbHRl
ci0+ZmlsdGVyUmVnaW9uKCkueCgpKQotICAgICAgICBjbGlwcGVkU291cmNlUmVjdC5zZXRYKGZp
bHRlci0+ZmlsdGVyUmVnaW9uKCkueCgpKTsKLSAgICBpZiAoZmlsdGVyLT5zb3VyY2VJbWFnZVJl
Y3QoKS55KCkgPCBmaWx0ZXItPmZpbHRlclJlZ2lvbigpLnkoKSkKLSAgICAgICAgY2xpcHBlZFNv
dXJjZVJlY3Quc2V0WShmaWx0ZXItPmZpbHRlclJlZ2lvbigpLnkoKSk7Ci0gICAgc2V0RmlsdGVy
UHJpbWl0aXZlU3VicmVnaW9uKGNsaXBwZWRTb3VyY2VSZWN0KTsKICAgICBjbGlwcGVkU291cmNl
UmVjdC5zY2FsZShmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS53aWR0aCgpLCBmaWx0ZXItPmZp
bHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7Ci0gICAgc2V0UmVwYWludFJlY3RJbkxvY2FsQ29v
cmRpbmF0ZXMoY2xpcHBlZFNvdXJjZVJlY3QpOwotICAgIHJldHVybiBmaWx0ZXItPmZpbHRlclJl
Z2lvbigpOworICAgIHNldEFic29sdXRlUGFpbnRSZWN0KGVuY2xvc2luZ0ludFJlY3QoY2xpcHBl
ZFNvdXJjZVJlY3QpKTsKIH0KIAogdm9pZCBTb3VyY2VBbHBoYTo6YXBwbHkoRmlsdGVyKiBmaWx0
ZXIpCiB7Ci0gICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4
dCgpOwotICAgIGlmICghZmlsdGVyQ29udGV4dCkKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRl
ckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CisgICAgaWYgKCFmaWx0ZXJDb250ZXh0
IHx8ICFmaWx0ZXItPnNvdXJjZUltYWdlKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNldElz
QWxwaGFJbWFnZSh0cnVlKTsKIAotICAgIEZsb2F0UmVjdCBpbWFnZVJlY3QoRmxvYXRQb2ludCgp
LCBmaWx0ZXItPnNvdXJjZUltYWdlKCktPnNpemUoKSk7CisgICAgRmxvYXRSZWN0IGltYWdlUmVj
dChGbG9hdFBvaW50KCksIGFic29sdXRlUGFpbnRSZWN0KCkuc2l6ZSgpKTsKICAgICBmaWx0ZXJD
b250ZXh0LT5zYXZlKCk7CiAgICAgZmlsdGVyQ29udGV4dC0+Y2xpcFRvSW1hZ2VCdWZmZXIoZmls
dGVyLT5zb3VyY2VJbWFnZSgpLCBpbWFnZVJlY3QpOwogICAgIGZpbHRlckNvbnRleHQtPmZpbGxS
ZWN0KGltYWdlUmVjdCwgQ29sb3I6OmJsYWNrLCBEZXZpY2VDb2xvclNwYWNlKTsKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5oCShyZXZp
c2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VB
bHBoYS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxMSArMzQsMTEgQEAgcHVibGljOiAgICAgICAg
CiAKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBlZmZlY3ROYW1lKCk7CiAKLSAgICB2
aXJ0dWFsIEZsb2F0UmVjdCBkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVy
Kik7Ci0KICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lk
IGR1bXAoKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChG
aWx0ZXIqKTsKKwogICAgIHZpcnR1YWwgYm9vbCBpc1NvdXJjZUlucHV0KCkgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0
aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAJKHJldmlz
aW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdy
YXBoaWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwyMyArNDEsMTcgQEAgY29uc3QgQXRvbWlj
U3RyaW5nJiBTb3VyY2VHcmFwaGljOjplZmZlYwogICAgIHJldHVybiBzX2VmZmVjdE5hbWU7CiB9
CiAKLUZsb2F0UmVjdCBTb3VyY2VHcmFwaGljOjpkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJy
ZWdpb24oRmlsdGVyKiBmaWx0ZXIpCit2b2lkIFNvdXJjZUdyYXBoaWM6OmRldGVybWluZUFic29s
dXRlUGFpbnRSZWN0KEZpbHRlciogZmlsdGVyKQogewogICAgIEZsb2F0UmVjdCBjbGlwcGVkU291
cmNlUmVjdCA9IGZpbHRlci0+c291cmNlSW1hZ2VSZWN0KCk7Ci0gICAgaWYgKGZpbHRlci0+c291
cmNlSW1hZ2VSZWN0KCkueCgpIDwgZmlsdGVyLT5maWx0ZXJSZWdpb24oKS54KCkpCi0gICAgICAg
IGNsaXBwZWRTb3VyY2VSZWN0LnNldFgoZmlsdGVyLT5maWx0ZXJSZWdpb24oKS54KCkpOwotICAg
IGlmIChmaWx0ZXItPnNvdXJjZUltYWdlUmVjdCgpLnkoKSA8IGZpbHRlci0+ZmlsdGVyUmVnaW9u
KCkueSgpKQotICAgICAgICBjbGlwcGVkU291cmNlUmVjdC5zZXRZKGZpbHRlci0+ZmlsdGVyUmVn
aW9uKCkueSgpKTsKLSAgICBzZXRGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oY2xpcHBlZFNvdXJj
ZVJlY3QpOwogICAgIGNsaXBwZWRTb3VyY2VSZWN0LnNjYWxlKGZpbHRlci0+ZmlsdGVyUmVzb2x1
dGlvbigpLndpZHRoKCksIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpKTsKLSAg
ICBzZXRSZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcyhjbGlwcGVkU291cmNlUmVjdCk7Ci0g
ICAgcmV0dXJuIGZpbHRlci0+ZmlsdGVyUmVnaW9uKCk7CisgICAgc2V0QWJzb2x1dGVQYWludFJl
Y3QoZW5jbG9zaW5nSW50UmVjdChjbGlwcGVkU291cmNlUmVjdCkpOwogfQogCiB2b2lkIFNvdXJj
ZUdyYXBoaWM6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogewotICAgIEdyYXBoaWNzQ29udGV4dCog
ZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQoKTsKLSAgICBpZiAoIWZpbHRlckNvbnRleHQp
CisgICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dChmaWx0
ZXIpOworICAgIGlmICghZmlsdGVyQ29udGV4dCB8fCAhZmlsdGVyLT5zb3VyY2VJbWFnZSgpKQog
ICAgICAgICByZXR1cm47CiAKICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoZmls
dGVyLT5zb3VyY2VJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBJbnRQb2ludCgpKTsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMu
aAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
U291cmNlR3JhcGhpYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxMSArMzUsMTEgQEAgcHVibGlj
OiAgICAgICAgCiAKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBlZmZlY3ROYW1lKCk7
CiAKLSAgICB2aXJ0dWFsIEZsb2F0UmVjdCBkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdp
b24oRmlsdGVyKik7Ci0KICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmly
dHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBh
aW50UmVjdChGaWx0ZXIqKTsKKwogICAgIHZpcnR1YWwgYm9vbCBpc1NvdXJjZUlucHV0KCkgY29u
c3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJl
cHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25zdDsKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAJKHJldmlzaW9u
IDY5MTIwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiU1ZHRmlsdGVyLmgi
CiAjaW5jbHVkZSAiU1ZHRmlsdGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oIgorI2luY2x1ZGUgIlNWR0ltYWdlQnVmZmVyVG9vbHMu
aCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVW5pdFR5cGVz
LmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtMTUwLDcwICsxNTEsOTMgQEAgYm9vbCBS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdQogICAgIH0KIAogICAgIE93blB0cjxG
aWx0ZXJEYXRhPiBmaWx0ZXJEYXRhKG5ldyBGaWx0ZXJEYXRhKTsKKyAgICBGbG9hdFJlY3QgdGFy
Z2V0Qm91bmRpbmdCb3ggPSBvYmplY3QtPm9iamVjdEJvdW5kaW5nQm94KCk7CisKKyAgICBTVkdG
aWx0ZXJFbGVtZW50KiBmaWx0ZXJFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRmlsdGVyRWxlbWVu
dCo+KG5vZGUoKSk7CisgICAgZmlsdGVyRGF0YS0+Ym91bmRhcmllcyA9IGZpbHRlckVsZW1lbnQt
PmZpbHRlckJvdW5kaW5nQm94KHRhcmdldEJvdW5kaW5nQm94KTsKKyAgICBpZiAoZmlsdGVyRGF0
YS0+Ym91bmRhcmllcy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8v
IERldGVybWluZSBhYnNvbHV0ZSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggZm9yIGZpbHRlci4gCisg
ICAgQWZmaW5lVHJhbnNmb3JtIGFic29sdXRlVHJhbnNmb3JtOworICAgIFNWR0ltYWdlQnVmZmVy
VG9vbHM6OmNhbGN1bGF0ZVRyYW5zZm9ybWF0aW9uVG9PdXRlcm1vc3RTVkdDb29yZGluYXRlU3lz
dGVtKG9iamVjdCwgYWJzb2x1dGVUcmFuc2Zvcm0pOworICAgIGlmICghYWJzb2x1dGVUcmFuc2Zv
cm0uaXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIEVsaW1p
bmF0ZSBzaGVhciBvZiB0aGUgYWJzb2x1dGUgdHJhbnNmb3JtYXRpb24gbWF0cml4IHRvIGluY3Jl
YXNlIHRoZSBxdWFsaXR5IG9mIHJlc3VsdHMgaW4gZmVUaWxlLiAKKyAgICBmaWx0ZXJEYXRhLT5z
aGVhckZyZWVBYnNvbHV0ZVRyYW5zZm9ybSA9IEFmZmluZVRyYW5zZm9ybShhYnNvbHV0ZVRyYW5z
Zm9ybS54U2NhbGUoKSwgMCwgMCwgYWJzb2x1dGVUcmFuc2Zvcm0ueVNjYWxlKCksIGFic29sdXRl
VHJhbnNmb3JtLmUoKSwgYWJzb2x1dGVUcmFuc2Zvcm0uZigpKTsKKworICAgIC8vIERldGVybWlu
ZSBhYnNvbHV0ZSBib3VuZGFyaWVzIG9mIHRoZSBmaWx0ZXIgYW5kIHRoZSBkcmF3aW5nIHJlZ2lv
bi4KKyAgICBGbG9hdFJlY3QgYWJzb2x1dGVGaWx0ZXJCb3VuZGFyaWVzID0gZmlsdGVyRGF0YS0+
c2hlYXJGcmVlQWJzb2x1dGVUcmFuc2Zvcm0ubWFwUmVjdChmaWx0ZXJEYXRhLT5ib3VuZGFyaWVz
KTsKKyAgICBGbG9hdFJlY3QgZHJhd2luZ1JlZ2lvbiA9IG9iamVjdC0+c3Ryb2tlQm91bmRpbmdC
b3goKTsKKyAgICBkcmF3aW5nUmVnaW9uLmludGVyc2VjdChmaWx0ZXJEYXRhLT5ib3VuZGFyaWVz
KTsKKyAgICBGbG9hdFJlY3QgYWJzb2x1dGVEcmF3aW5nUmVnaW9uID0gZmlsdGVyRGF0YS0+c2hl
YXJGcmVlQWJzb2x1dGVUcmFuc2Zvcm0ubWFwUmVjdChkcmF3aW5nUmVnaW9uKTsKKworICAgIC8v
IENyZWF0ZSB0aGUgU1ZHRmlsdGVyIG9iamVjdC4KKyAgICBib29sIHByaW1pdGl2ZUJvdW5kaW5n
Qm94TW9kZSA9IGZpbHRlckVsZW1lbnQtPnByaW1pdGl2ZVVuaXRzKCkgPT0gU1ZHVW5pdFR5cGVz
OjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YOworICAgIGZpbHRlckRhdGEtPmZpbHRl
ciA9IFNWR0ZpbHRlcjo6Y3JlYXRlKGZpbHRlckRhdGEtPnNoZWFyRnJlZUFic29sdXRlVHJhbnNm
b3JtLCBhYnNvbHV0ZURyYXdpbmdSZWdpb24sIHRhcmdldEJvdW5kaW5nQm94LCBmaWx0ZXJEYXRh
LT5ib3VuZGFyaWVzLCBwcmltaXRpdmVCb3VuZGluZ0JveE1vZGUpOworCisgICAgLy8gQ3JlYXRl
IGFsbCByZWxldmFudCBmaWx0ZXIgcHJpbWl0aXZlcy4KICAgICBmaWx0ZXJEYXRhLT5idWlsZGVy
ID0gYnVpbGRQcmltaXRpdmVzKCk7CiAgICAgaWYgKCFmaWx0ZXJEYXRhLT5idWlsZGVyKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBGbG9hdFJlY3QgcGFpbnRSZWN0ID0gb2JqZWN0LT5z
dHJva2VCb3VuZGluZ0JveCgpOwotCiAgICAgLy8gQ2FsY3VsYXRlIHRoZSBzY2FsZSBmYWN0b3Ig
Zm9yIHRoZSB1c2Ugb2YgZmlsdGVyUmVzLgogICAgIC8vIEFsc28gc2VlIGh0dHA6Ly93d3cudzMu
b3JnL1RSL1NWRy9maWx0ZXJzLmh0bWwjRmlsdGVyRWZmZWN0c1JlZ2lvbgotICAgIFNWR0ZpbHRl
ckVsZW1lbnQqIGZpbHRlckVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdGaWx0ZXJFbGVtZW50Kj4o
bm9kZSgpKTsKLSAgICBmaWx0ZXJEYXRhLT5ib3VuZGFyaWVzID0gZmlsdGVyRWxlbWVudC0+Zmls
dGVyQm91bmRpbmdCb3gob2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpKTsKLSAgICBpZiAoZmls
dGVyRGF0YS0+Ym91bmRhcmllcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIEZsb2F0U2l6ZSBzY2FsZSgxLjBmLCAxLjBmKTsKKyAgICBGbG9hdFNpemUgc2NhbGUoMSwg
MSk7CiAgICAgaWYgKGZpbHRlckVsZW1lbnQtPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6ZmlsdGVy
UmVzQXR0cikpIHsKLSAgICAgICAgc2NhbGUuc2V0V2lkdGgoZmlsdGVyRWxlbWVudC0+ZmlsdGVy
UmVzWCgpIC8gZmlsdGVyRGF0YS0+Ym91bmRhcmllcy53aWR0aCgpKTsKLSAgICAgICAgc2NhbGUu
c2V0SGVpZ2h0KGZpbHRlckVsZW1lbnQtPmZpbHRlclJlc1koKSAvIGZpbHRlckRhdGEtPmJvdW5k
YXJpZXMuaGVpZ2h0KCkpOworICAgICAgICBzY2FsZS5zZXRXaWR0aChmaWx0ZXJFbGVtZW50LT5m
aWx0ZXJSZXNYKCkgLyBhYnNvbHV0ZUZpbHRlckJvdW5kYXJpZXMud2lkdGgoKSk7CisgICAgICAg
IHNjYWxlLnNldEhlaWdodChmaWx0ZXJFbGVtZW50LT5maWx0ZXJSZXNZKCkgLyBhYnNvbHV0ZUZp
bHRlckJvdW5kYXJpZXMuaGVpZ2h0KCkpOwogICAgIH0KIAogICAgIGlmIChzY2FsZS5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIC8vIGNsaXAgc291cmNlSW1hZ2UgdG8g
ZmlsdGVyUmVnaW9uCi0gICAgRmxvYXRSZWN0IGNsaXBwZWRTb3VyY2VSZWN0ID0gcGFpbnRSZWN0
OwotICAgIGNsaXBwZWRTb3VyY2VSZWN0LmludGVyc2VjdChmaWx0ZXJEYXRhLT5ib3VuZGFyaWVz
KTsKLQotICAgIC8vIHNjYWxlIGZpbHRlciBzaXplIHRvIGZpbHRlclJlcwotICAgIEZsb2F0UmVj
dCB0ZW1wU291cmNlUmVjdCA9IGNsaXBwZWRTb3VyY2VSZWN0OwotCi0gICAgLy8gc2NhbGUgdG8g
YmlnIHNvdXJjZUltYWdlIHNpemUgdG8ga01heEZpbHRlclNpemUKKyAgICAvLyBEZXRlcm1pbmUg
c2NhbGUgZmFjdG9yIGZvciBmaWx0ZXIuIFRoZSBzaXplIG9mIGludGVybWVkaWF0ZSBJbWFnZUJ1
ZmZlcnMgc2hvdWxkbid0IGJlIGJpZ2dlciB0aGFuIGtNYXhGaWx0ZXJTaXplLgorICAgIEZsb2F0
UmVjdCB0ZW1wU291cmNlUmVjdCA9IGFic29sdXRlRHJhd2luZ1JlZ2lvbjsKICAgICB0ZW1wU291
cmNlUmVjdC5zY2FsZShzY2FsZS53aWR0aCgpLCBzY2FsZS5oZWlnaHQoKSk7CiAgICAgZml0c0lu
TWF4aW11bUltYWdlU2l6ZSh0ZW1wU291cmNlUmVjdC5zaXplKCksIHNjYWxlKTsKIAotICAgIC8v
IHByZXBhcmUgRmlsdGVycwotICAgIGJvb2wgcHJpbWl0aXZlQm91bmRpbmdCb3hNb2RlID0gZmls
dGVyRWxlbWVudC0+cHJpbWl0aXZlVW5pdHMoKSA9PSBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZ
UEVfT0JKRUNUQk9VTkRJTkdCT1g7Ci0gICAgZmlsdGVyRGF0YS0+ZmlsdGVyID0gU1ZHRmlsdGVy
OjpjcmVhdGUocGFpbnRSZWN0LCBmaWx0ZXJEYXRhLT5ib3VuZGFyaWVzLCBwcmltaXRpdmVCb3Vu
ZGluZ0JveE1vZGUpOworICAgIC8vIFNldCB0aGUgc2NhbGUgbGV2ZWwgaW4gU1ZHRmlsdGVyLgog
ICAgIGZpbHRlckRhdGEtPmZpbHRlci0+c2V0RmlsdGVyUmVzb2x1dGlvbihzY2FsZSk7CiAKICAg
ICBGaWx0ZXJFZmZlY3QqIGxhc3RFZmZlY3QgPSBmaWx0ZXJEYXRhLT5idWlsZGVyLT5sYXN0RWZm
ZWN0KCk7CiAgICAgaWYgKCFsYXN0RWZmZWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
CisKKyAgICAvLyBEZXRlcm1pbmUgdGhlIGZpbHRlciBwcmltaXRpdmUgc3VicmVnaW9ucyBvZiBl
dmVyeSBlZmZlY3QuCiAgICAgbGFzdEVmZmVjdC0+ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3Vi
cmVnaW9uKGZpbHRlckRhdGEtPmZpbHRlci5nZXQoKSk7Ci0gICAgLy8gQXQgbGVhc3Qgb25lIEZp
bHRlckVmZmVjdCBoYXMgYSB0b28gYmlnIGltYWdlIHNpemUsCi0gICAgLy8gcmVjYWxjdWxhdGUg
dGhlIGVmZmVjdCBzaXplcyB3aXRoIG5ldyBzY2FsZSBmYWN0b3JzLgogICAgIGlmICghZml0c0lu
TWF4aW11bUltYWdlU2l6ZShmaWx0ZXJEYXRhLT5maWx0ZXItPm1heEltYWdlU2l6ZSgpLCBzY2Fs
ZSkpIHsKKyAgICAgICAgLy8gQXQgbGVhc3Qgb25lIEZpbHRlckVmZmVjdCBoYXMgYSB0b28gYmln
IGltYWdlIHNpemUsCisgICAgICAgIC8vIHJlY2FsY3VsYXRlIHRoZSBlZmZlY3Qgc2l6ZXMgd2l0
aCBuZXcgc2NhbGUgZmFjdG9yLgogICAgICAgICBmaWx0ZXJEYXRhLT5maWx0ZXItPnNldEZpbHRl
clJlc29sdXRpb24oc2NhbGUpOwogICAgICAgICBsYXN0RWZmZWN0LT5kZXRlcm1pbmVGaWx0ZXJQ
cmltaXRpdmVTdWJyZWdpb24oZmlsdGVyRGF0YS0+ZmlsdGVyLmdldCgpKTsKICAgICB9CiAKLSAg
ICBjbGlwcGVkU291cmNlUmVjdC5zY2FsZShzY2FsZS53aWR0aCgpLCBzY2FsZS5oZWlnaHQoKSk7
Ci0KLSAgICAvLyBEcmF3IHRoZSBjb250ZW50IG9mIHRoZSBjdXJyZW50IGVsZW1lbnQgYW5kIGl0
J3MgY2hpbGRzIHRvIGEgaW1hZ2VCdWZmZXIgdG8gZ2V0IHRoZSBTb3VyY2VHcmFwaGljLgotICAg
IC8vIFRoZSBzaXplIG9mIHRoZSBTb3VyY2VHcmFwaGljIGlzIGNsaXBwZWQgdG8gdGhlIHNpemUg
b2YgdGhlIGZpbHRlclJlZ2lvbi4KLSAgICBJbnRSZWN0IGJ1ZmZlclJlY3QgPSBlbmNsb3NpbmdJ
bnRSZWN0KGNsaXBwZWRTb3VyY2VSZWN0KTsKLSAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHNvdXJj
ZUdyYXBoaWMoSW1hZ2VCdWZmZXI6OmNyZWF0ZShidWZmZXJSZWN0LnNpemUoKSwgTGluZWFyUkdC
KSk7Ci0gICAgCi0gICAgaWYgKCFzb3VyY2VHcmFwaGljLmdldCgpKQorICAgIC8vIElmIHRoZSBk
cmF3aW5nUmVnaW9uIGlzIGVtcHR5LCB3ZSBoYXZlIHNvbWV0aGluZyBsaWtlIDxnIGZpbHRlcj0i
Li4iLz4uCisgICAgLy8gRXZlbiBpZiB0aGUgdGFyZ2V0IG9iamVjdEJvdW5kaW5nQm94KCkgaXMg
ZW1wdHksIHdlIHN0aWxsIGhhdmUgdG8gZHJhdyBzb21ldGhpbmcuCisgICAgaWYgKGRyYXdpbmdS
ZWdpb24uaXNFbXB0eSgpKSB7CisgICAgICAgIEFTU0VSVCghbV9maWx0ZXIuY29udGFpbnMob2Jq
ZWN0KSk7CisgICAgICAgIGZpbHRlckRhdGEtPnNhdmVkQ29udGV4dCA9IGNvbnRleHQ7CisgICAg
ICAgIG1fZmlsdGVyLnNldChvYmplY3QsIGZpbHRlckRhdGEubGVha1B0cigpKTsKICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KIAorICAgIGFic29sdXRlRHJhd2luZ1JlZ2lvbi5zY2FsZShz
Y2FsZS53aWR0aCgpLCBzY2FsZS5oZWlnaHQoKSk7CisKKyAgICBPd25QdHI8SW1hZ2VCdWZmZXI+
IHNvdXJjZUdyYXBoaWM7CisgICAgaWYgKCFTVkdJbWFnZUJ1ZmZlclRvb2xzOjpjcmVhdGVJbWFn
ZUJ1ZmZlcihhYnNvbHV0ZURyYXdpbmdSZWdpb24sIGFic29sdXRlRHJhd2luZ1JlZ2lvbiwgc291
cmNlR3JhcGhpYywgTGluZWFyUkdCKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAogICAg
IEdyYXBoaWNzQ29udGV4dCogc291cmNlR3JhcGhpY0NvbnRleHQgPSBzb3VyY2VHcmFwaGljLT5j
b250ZXh0KCk7Ci0gICAgc291cmNlR3JhcGhpY0NvbnRleHQtPnRyYW5zbGF0ZSgtY2xpcHBlZFNv
dXJjZVJlY3QueCgpLCAtY2xpcHBlZFNvdXJjZVJlY3QueSgpKTsKLSAgICBzb3VyY2VHcmFwaGlj
Q29udGV4dC0+c2NhbGUoc2NhbGUpOwotICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT5jbGVhclJl
Y3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgcGFpbnRSZWN0LnNpemUoKSkpOworICAgIEFTU0VS
VChzb3VyY2VHcmFwaGljQ29udGV4dCk7CisgIAorICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT50
cmFuc2xhdGUoLWFic29sdXRlRHJhd2luZ1JlZ2lvbi54KCksIC1hYnNvbHV0ZURyYXdpbmdSZWdp
b24ueSgpKTsKKyAgICBpZiAoc2NhbGUud2lkdGgoKSAhPSAxIHx8IHNjYWxlLmhlaWdodCgpICE9
IDEpCisgICAgICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT5zY2FsZShzY2FsZSk7CisKKyAgICBz
b3VyY2VHcmFwaGljQ29udGV4dC0+Y29uY2F0Q1RNKGZpbHRlckRhdGEtPnNoZWFyRnJlZUFic29s
dXRlVHJhbnNmb3JtKTsKKyAgICBzb3VyY2VHcmFwaGljQ29udGV4dC0+Y2xlYXJSZWN0KEZsb2F0
UmVjdChGbG9hdFBvaW50KCksIGFic29sdXRlRHJhd2luZ1JlZ2lvbi5zaXplKCkpKTsKICAgICBm
aWx0ZXJEYXRhLT5zb3VyY2VHcmFwaGljQnVmZmVyID0gc291cmNlR3JhcGhpYy5yZWxlYXNlKCk7
CiAgICAgZmlsdGVyRGF0YS0+c2F2ZWRDb250ZXh0ID0gY29udGV4dDsKIApAQCAtMjcwLDEwICsy
OTQsMTcgQEAgdm9pZCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6cG9zdEFwcGx5UgogICAgICAg
ICB9CiAKICAgICAgICAgSW1hZ2VCdWZmZXIqIHJlc3VsdEltYWdlID0gbGFzdEVmZmVjdC0+cmVz
dWx0SW1hZ2UoKTsKLSAgICAgICAgaWYgKHJlc3VsdEltYWdlKQotICAgICAgICAgICAgY29udGV4
dC0+ZHJhd0ltYWdlQnVmZmVyKHJlc3VsdEltYWdlLCBvYmplY3QtPnN0eWxlKCktPmNvbG9yU3Bh
Y2UoKSwgbGFzdEVmZmVjdC0+ZmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKCkpOwotICAgIH0KKyAg
ICAgICAgaWYgKHJlc3VsdEltYWdlKSB7CisgICAgICAgICAgICBjb250ZXh0LT5jb25jYXRDVE0o
ZmlsdGVyRGF0YS0+c2hlYXJGcmVlQWJzb2x1dGVUcmFuc2Zvcm0uaW52ZXJzZSgpKTsKKworICAg
ICAgICAgICAgY29udGV4dC0+c2NhbGUoRmxvYXRTaXplKDEgLyBmaWx0ZXJEYXRhLT5maWx0ZXIt
PmZpbHRlclJlc29sdXRpb24oKS53aWR0aCgpLCAxIC8gZmlsdGVyRGF0YS0+ZmlsdGVyLT5maWx0
ZXJSZXNvbHV0aW9uKCkuaGVpZ2h0KCkpKTsKKyAgICAgICAgICAgIGNvbnRleHQtPmNsaXAobGFz
dEVmZmVjdC0+bWF4RWZmZWN0UmVjdCgpKTsKKyAgICAgICAgICAgIGNvbnRleHQtPmRyYXdJbWFn
ZUJ1ZmZlcihyZXN1bHRJbWFnZSwgb2JqZWN0LT5zdHlsZSgpLT5jb2xvclNwYWNlKCksIGxhc3RF
ZmZlY3QtPmFic29sdXRlUGFpbnRSZWN0KCkpOworICAgICAgICAgICAgY29udGV4dC0+c2NhbGUo
ZmlsdGVyRGF0YS0+ZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkpOwogCisgICAgICAgICAgICBj
b250ZXh0LT5jb25jYXRDVE0oZmlsdGVyRGF0YS0+c2hlYXJGcmVlQWJzb2x1dGVUcmFuc2Zvcm0p
OworICAgICAgICB9CisgICAgfQogICAgIGZpbHRlckRhdGEtPnNvdXJjZUdyYXBoaWNCdWZmZXIu
Y2xlYXIoKTsKIH0KIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlci5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlRmlsdGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRmlsdGVyRGF0YSB7CiAgICAgRmlsdGVyRGF0YSgpCi0g
ICAgICAgIDogYnVpbGRlZChmYWxzZSkKKyAgICAgICAgOiBzYXZlZENvbnRleHQoMCkKKyAgICAg
ICAgLCBidWlsZGVkKGZhbHNlKQogICAgIHsKICAgICB9CiAKQEAgLTUwLDYgKzUxLDcgQEAgc3Ry
dWN0IEZpbHRlckRhdGEgewogICAgIFJlZlB0cjxTVkdGaWx0ZXJCdWlsZGVyPiBidWlsZGVyOwog
ICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gc291cmNlR3JhcGhpY0J1ZmZlcjsKICAgICBHcmFwaGlj
c0NvbnRleHQqIHNhdmVkQ29udGV4dDsKKyAgICBBZmZpbmVUcmFuc2Zvcm0gc2hlYXJGcmVlQWJz
b2x1dGVUcmFuc2Zvcm07CiAgICAgRmxvYXRSZWN0IGJvdW5kYXJpZXM7CiAgICAgRmxvYXRTaXpl
IHNjYWxlOwogICAgIGJvb2wgYnVpbGRlZDsKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2Zp
bHRlcnMvU1ZHRkVJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
ZmlsdGVycy9TVkdGRUltYWdlLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3N2Zy9n
cmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxNyAr
NDQsMTcgQEAgUGFzc1JlZlB0cjxGRUltYWdlPiBGRUltYWdlOjpjcmVhdGUoUmVmUAogICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgRkVJbWFnZShpbWFnZSwgcHJlc2VydmVBc3BlY3RSYXRpbykpOwog
fQogCi12b2lkIEZFSW1hZ2U6OmFwcGx5KEZpbHRlciopCit2b2lkIEZFSW1hZ2U6OmFwcGx5KEZp
bHRlciogZmlsdGVyKQogewogICAgIGlmICghbV9pbWFnZS5nZXQoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dCgp
OworICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQoZmls
dGVyKTsKICAgICBpZiAoIWZpbHRlckNvbnRleHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIEZs
b2F0UmVjdCBzcmNSZWN0KEZsb2F0UG9pbnQoKSwgbV9pbWFnZS0+c2l6ZSgpKTsKLSAgICBGbG9h
dFJlY3QgZGVzdFJlY3QoRmxvYXRQb2ludCgpLCBmaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKS5z
aXplKCkpOworICAgIEZsb2F0UmVjdCBkZXN0UmVjdChGbG9hdFBvaW50KCksIGFic29sdXRlUGFp
bnRSZWN0KCkuc2l6ZSgpKTsKIAogICAgIG1fcHJlc2VydmVBc3BlY3RSYXRpby50cmFuc2Zvcm1S
ZWN0KGRlc3RSZWN0LCBzcmNSZWN0KTsKIApJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmls
dGVycy9TVkdGRUltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmls
dGVycy9TVkdGRUltYWdlLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvZmlsdGVycy9TVkdGRUltYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDggQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhcHBseShGaWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZv
aWQgZHVtcCgpOwogCisgICAgdmlydHVhbCB2b2lkIGRldGVybWluZUFic29sdXRlUGFpbnRSZWN0
KEZpbHRlciopIHsgc2V0QWJzb2x1dGVQYWludFJlY3QobWF4RWZmZWN0UmVjdCgpKTsgfQorCiAg
ICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0m
LCBpbnQgaW5kZW50aW9uKSBjb25zdDsKICAgICAKIHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3N2
Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysrIFdl
YkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjQsMTIgKzI0LDE1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU1ZHRmlsdGVyOjpT
VkdGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRCb3VuZGluZ0JveCwgY29uc3QgRmxvYXRS
ZWN0JiBmaWx0ZXJSZWN0LCBib29sIGVmZmVjdEJCb3hNb2RlKQorU1ZHRmlsdGVyOjpTVkdGaWx0
ZXIoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhYnNvbHV0ZVRyYW5zZm9ybSwgY29uc3QgRmxvYXRS
ZWN0JiBhYnNvbHV0ZVNvdXJjZURyYXdpbmdSZWdpb24sIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0
Qm91bmRpbmdCb3gsIGNvbnN0IEZsb2F0UmVjdCYgZmlsdGVyUmVnaW9uLCBib29sIGVmZmVjdEJC
b3hNb2RlKQogICAgIDogRmlsdGVyKCkKKyAgICAsIG1fYWJzb2x1dGVUcmFuc2Zvcm0oYWJzb2x1
dGVUcmFuc2Zvcm0pCisgICAgLCBtX2Fic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbihhYnNvbHV0
ZVNvdXJjZURyYXdpbmdSZWdpb24pCiAgICAgLCBtX3RhcmdldEJvdW5kaW5nQm94KHRhcmdldEJv
dW5kaW5nQm94KQotICAgICwgbV9maWx0ZXJSZWN0KGZpbHRlclJlY3QpCisgICAgLCBtX2ZpbHRl
clJlZ2lvbihmaWx0ZXJSZWdpb24pCiAgICAgLCBtX2VmZmVjdEJCb3hNb2RlKGVmZmVjdEJCb3hN
b2RlKQogeworICAgIG1fYWJzb2x1dGVGaWx0ZXJSZWdpb24gPSBhYnNvbHV0ZVRyYW5zZm9ybS5t
YXBSZWN0KGZpbHRlclJlZ2lvbik7CiB9CiAKIHZvaWQgU1ZHRmlsdGVyOjpkZXRlcm1pbmVGaWx0
ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVyRWZmZWN0KiBlZmZlY3QsIGNvbnN0IEZsb2F0UmVj
dCYgdW5pb25PZlByZXZpb3VzUHJpbWl0aXZlU3VicmVnaW9ucykKQEAgLTY2LDIyICs2OSwzNyBA
QCB2b2lkIFNWR0ZpbHRlcjo6ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlCiAgICAgfQogCiAgICAg
Ly8gY2xpcCBldmVyeSBmaWx0ZXIgZWZmZWN0IHRvIHRoZSBmaWx0ZXIgcmVnaW9uCi0gICAgbmV3
U3ViUmVnaW9uLmludGVyc2VjdChtX2ZpbHRlclJlY3QpOworICAgIG5ld1N1YlJlZ2lvbi5pbnRl
cnNlY3QobV9maWx0ZXJSZWdpb24pOwogCiAgICAgZWZmZWN0LT5zZXRGaWx0ZXJQcmltaXRpdmVT
dWJyZWdpb24obmV3U3ViUmVnaW9uKTsKLSAgICAKICAgICAvLyBUT0RPOiBFdmVyeXRoaW5nIGFi
b3ZlIHNob3VsZCBiZSBtb3ZlZCB0byBhIGZpcnN0IHBoYXNlIG9mIGxheW91dCBpbiBSZW5kZXJT
VkdSZXNvdXJjZUZpbHRlclByaW1pdGl2ZS4KICAgICAvLyBUaGUgc2NhbGluZyBvZiB0aGUgc3Vi
cmVnaW9uIHRvIHRoZSByZXBhaW50IHJlY3Qgc2hvdWxkIGJlIG1lcmdlZCB3aXRoIGEgbW9yZSBp
bnRlbGxpZ2VudCByZXBhaW50IGxvZ2ljCiAgICAgLy8gYW5kIG1vdmVkIHRvIHRoZSBzZWNvbmQg
cGhhc2Ugb2YgbGF5b3V0IGluIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlLgogICAg
IC8vIFNlZSBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NjE0
LgorICAgIG5ld1N1YlJlZ2lvbiA9IG1fYWJzb2x1dGVUcmFuc2Zvcm0ubWFwUmVjdChuZXdTdWJS
ZWdpb24pOwogICAgIG5ld1N1YlJlZ2lvbi5zY2FsZShmaWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgo
KSwgZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpKTsKLSAgICBlZmZlY3QtPnNldFJlcGFpbnRS
ZWN0SW5Mb2NhbENvb3JkaW5hdGVzKG5ld1N1YlJlZ2lvbik7Ci0gICAgbV9tYXhJbWFnZVNpemUg
PSBtX21heEltYWdlU2l6ZS5leHBhbmRlZFRvKG5ld1N1YlJlZ2lvbi5zaXplKCkpOyAKKyAgICBl
ZmZlY3QtPnNldE1heEVmZmVjdFJlY3QoZW5jbG9zaW5nSW50UmVjdChuZXdTdWJSZWdpb24pKTsK
KyAgICBpZiAoIWVmZmVjdC0+aXNTb3VyY2VJbnB1dCgpKQorICAgICAgICBtX21heEltYWdlU2l6
ZSA9IG1fbWF4SW1hZ2VTaXplLmV4cGFuZGVkVG8obmV3U3ViUmVnaW9uLnNpemUoKSk7IAogfQog
Ci1QYXNzUmVmUHRyPFNWR0ZpbHRlcj4gU1ZHRmlsdGVyOjpjcmVhdGUoY29uc3QgRmxvYXRSZWN0
JiB0YXJnZXRCb3VuZGluZ0JveCwgY29uc3QgRmxvYXRSZWN0JiBmaWx0ZXJSZWN0LCBib29sIGVm
ZmVjdEJCb3hNb2RlKQorZmxvYXQgU1ZHRmlsdGVyOjphcHBseUhvcml6b250YWxTY2FsZShmbG9h
dCB2YWx1ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR0ZpbHRlcih0YXJn
ZXRCb3VuZGluZ0JveCwgZmlsdGVyUmVjdCwgZWZmZWN0QkJveE1vZGUpKTsKKyAgICBpZiAobV9l
ZmZlY3RCQm94TW9kZSkKKyAgICAgICAgdmFsdWUgKj0gbV90YXJnZXRCb3VuZGluZ0JveC53aWR0
aCgpOworICAgIHJldHVybiBGaWx0ZXI6OmFwcGx5SG9yaXpvbnRhbFNjYWxlKHZhbHVlKSAqIG1f
YWJzb2x1dGVGaWx0ZXJSZWdpb24ud2lkdGgoKSAvIG1fZmlsdGVyUmVnaW9uLndpZHRoKCk7Cit9
CisKK2Zsb2F0IFNWR0ZpbHRlcjo6YXBwbHlWZXJ0aWNhbFNjYWxlKGZsb2F0IHZhbHVlKSBjb25z
dAoreworICAgIGlmIChtX2VmZmVjdEJCb3hNb2RlKQorICAgICAgICB2YWx1ZSAqPSBtX3Rhcmdl
dEJvdW5kaW5nQm94LmhlaWdodCgpOworICAgIHJldHVybiBGaWx0ZXI6OmFwcGx5VmVydGljYWxT
Y2FsZSh2YWx1ZSkgKiBtX2Fic29sdXRlRmlsdGVyUmVnaW9uLmhlaWdodCgpIC8gbV9maWx0ZXJS
ZWdpb24uaGVpZ2h0KCk7Cit9CisKK1Bhc3NSZWZQdHI8U1ZHRmlsdGVyPiBTVkdGaWx0ZXI6OmNy
ZWF0ZShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGFic29sdXRlVHJhbnNmb3JtLCBjb25zdCBGbG9h
dFJlY3QmIGFic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbiwgY29uc3QgRmxvYXRSZWN0JiB0YXJn
ZXRCb3VuZGluZ0JveCwgY29uc3QgRmxvYXRSZWN0JiBmaWx0ZXJSZWdpb24sIGJvb2wgZWZmZWN0
QkJveE1vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdGaWx0ZXIoYWJzb2x1dGVU
cmFuc2Zvcm0sIGFic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbiwgdGFyZ2V0Qm91bmRpbmdCb3gs
IGZpbHRlclJlZ2lvbiwgZWZmZWN0QkJveE1vZGUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oCShyZXZp
c2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIxLDYgKzIxLDcgQEAKICNkZWZpbmUgU1ZHRmlsdGVyX2gKIAog
I2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShGSUxURVJTKQorI2luY2x1ZGUgIkFmZmluZVRyYW5z
Zm9ybS5oIgogI2luY2x1ZGUgIkZpbHRlci5oIgogI2luY2x1ZGUgIkZpbHRlckVmZmVjdC5oIgog
I2luY2x1ZGUgIkZsb2F0UmVjdC5oIgpAQCAtMzIsMjcgKzMzLDM2IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotICAgIGNsYXNzIFNWR0ZpbHRlciA6IHB1YmxpYyBGaWx0ZXIgewotICAgIHB1
YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHRmlsdGVyPiBjcmVhdGUoY29uc3Qg
RmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCk7Ci0KLSAgICAgICAgdmlydHVhbCBi
b29sIGVmZmVjdEJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fZWZmZWN0QkJveE1v
ZGU7IH0KLQotICAgICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBmaWx0ZXJSZWdpb24oKSBjb25zdCB7
IHJldHVybiBtX2ZpbHRlclJlY3Q7IH0KLSAgICAgICAgCi0gICAgICAgIHZpcnR1YWwgRmxvYXRS
ZWN0IHNvdXJjZUltYWdlUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0Qm91bmRpbmdCb3g7
IH0KLQotICAgICAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBtYXhJbWFnZVNpemUoKSBjb25zdCB7IHJl
dHVybiBtX21heEltYWdlU2l6ZTsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lRmls
dGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlckVmZmVjdCosIGNvbnN0IEZsb2F0UmVjdCYpOwot
Ci0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0
Qm91bmRpbmdCb3gsIGNvbnN0IEZsb2F0UmVjdCYgZmlsdGVyUmVjdCwgYm9vbCBlZmZlY3RCQm94
TW9kZSk7Ci0KLSAgICAgICAgRmxvYXRTaXplIG1fbWF4SW1hZ2VTaXplOwotICAgICAgICBGbG9h
dFJlY3QgbV90YXJnZXRCb3VuZGluZ0JveDsKLSAgICAgICAgRmxvYXRSZWN0IG1fZmlsdGVyUmVj
dDsKLSAgICAgICAgYm9vbCBtX2VmZmVjdEJCb3hNb2RlOwotICAgIH07CitjbGFzcyBTVkdGaWx0
ZXIgOiBwdWJsaWMgRmlsdGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdG
aWx0ZXI+IGNyZWF0ZShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mLCBjb25zdCBGbG9hdFJlY3QmLCBj
b25zdCBGbG9hdFJlY3QmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sKTsKKworICAgIHZpcnR1YWwg
Ym9vbCBlZmZlY3RCb3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2VmZmVjdEJCb3hN
b2RlOyB9CisKKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBmaWx0ZXJSZWdpb25JblVzZXJTcGFjZSgp
IGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyUmVnaW9uOyB9CisgICAgdmlydHVhbCBGbG9hdFJlY3Qg
ZmlsdGVyUmVnaW9uKCkgY29uc3QgeyByZXR1cm4gbV9hYnNvbHV0ZUZpbHRlclJlZ2lvbjsgfQor
CisgICAgdmlydHVhbCBGbG9hdFBvaW50IG1hcEFic29sdXRlUG9pbnRUb0xvY2FsUG9pbnQoY29u
c3QgRmxvYXRQb2ludCYgcG9pbnQpIGNvbnN0IHsgcmV0dXJuIG1fYWJzb2x1dGVUcmFuc2Zvcm0u
aW52ZXJzZSgpLm1hcFBvaW50KHBvaW50KTsgfQorCisgICAgdmlydHVhbCBmbG9hdCBhcHBseUhv
cml6b250YWxTY2FsZShmbG9hdCB2YWx1ZSkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCBhcHBs
eVZlcnRpY2FsU2NhbGUoZmxvYXQgdmFsdWUpIGNvbnN0OworCisgICAgdmlydHVhbCBGbG9hdFJl
Y3Qgc291cmNlSW1hZ2VSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9hYnNvbHV0ZVNvdXJjZURyYXdp
bmdSZWdpb247IH0KKyAgICAKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBtYXhJbWFnZVNpemUoKSBj
b25zdCB7IHJldHVybiBtX21heEltYWdlU2l6ZTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1p
bmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVyRWZmZWN0KiwgY29uc3QgRmxvYXRSZWN0
Jik7CisKK3ByaXZhdGU6CisgICAgU1ZHRmlsdGVyKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWJz
b2x1dGVUcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVTb3VyY2VEcmF3aW5nUmVn
aW9uLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldEJvdW5kaW5nQm94LCBjb25zdCBGbG9hdFJlY3Qm
IGZpbHRlclJlZ2lvbiwgYm9vbCBlZmZlY3RCQm94TW9kZSk7CisKKyAgICBBZmZpbmVUcmFuc2Zv
cm0gbV9hYnNvbHV0ZVRyYW5zZm9ybTsKKyAgICBGbG9hdFJlY3QgbV9hYnNvbHV0ZVNvdXJjZURy
YXdpbmdSZWdpb247CisgICAgRmxvYXRSZWN0IG1fdGFyZ2V0Qm91bmRpbmdCb3g7CisgICAgRmxv
YXRSZWN0IG1fYWJzb2x1dGVGaWx0ZXJSZWdpb247CisgICAgRmxvYXRSZWN0IG1fZmlsdGVyUmVn
aW9uOworICAgIGJvb2wgbV9lZmZlY3RCQm94TW9kZTsKKyAgICBGbG9hdFNpemUgbV9tYXhJbWFn
ZVNpemU7Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDY5MTM1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzIgQEAKKzIwMTAtMTAtMDUgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkdzIHdpdGgg
ZmlsdGVycyBsb29rIGdyYWlueSB3aGVuIHNjYWxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUyNgorCisgICAgICAgIEFkZGVkIHRocmVlIG5ldyB0
ZXN0cyBmb3IgU1ZHcyBmaWx0ZXJSZXMuCisgICAgICAgIFNoYWRvdyB0ZXN0cyBmb3IgU1ZHIEZp
bHRlciBuZWVkZWQgYW4gdXBkYXRlLiBDdXJyZW50IHRlc3RzIGRpZG4ndCByZXNwZWN0CisgICAg
ICAgIHByaW1pdGl2ZVVuaXRzICJvYmplY3RCb3VuZGluZ0JveCIgZm9yIHN0ZERldmlhdGlvbiBv
biBmZUdhdXNzaWFuQmx1IGNvcnJlY3RseS4KKyAgICAgICAgCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEtZXhwZWN0ZWQucG5n
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9m
aWx0ZXJSZXMyLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQu
Y2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0
ZXJSZXMzLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9m
aWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLWZpbHRlci1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgtZmlsdGVyLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9maWx0ZXJSZXMxLnN2ZzogQWRkZWQu
CisgICAgICAgICogc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi5zdmc6IEFkZGVkLgorICAgICAgICAq
IHN2Zy9maWx0ZXJzL2ZpbHRlclJlczMuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZmlsdGVy
cy9zaGFkb3ctb24tZmlsdGVyLnN2ZzoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9zaGFkb3ctb24t
cmVjdC13aXRoLWZpbHRlci5zdmc6CisKIDIwMTAtMTAtMDUgIFJvYmVydCBIb2dhbiAgPHJvYmVy
dEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBlY3Rl
ZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2Zp
bHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVjdGVkLmNoZWNr
c3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis1MTYwOTdlNDU0OWE0ZjcxOTdjYTBmYTU0
MTAwYTBlZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2Zp
bHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qg
e3N2Z30gYXQgKDEwLDEwKSBzaXplIDQwMHgxMjAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250YWlu
ZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRl
ciB7ZmlsdGVyfSBbaWQ9ImYxIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJp
bWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFtmZUZsb29kIGZsb29kLWNvbG9y
PSIjMDA4MDAwIiBmbG9vZC1vcGFjaXR5PSIxLjAwIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNl
RmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjIiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hd
IFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlRmxvb2QgZmxvb2Qt
Y29sb3I9IiMwMDgwMDAiIGZsb29kLW9wYWNpdHk9IjEuMDAiXQorICAgICAgUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmMyJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGlu
Z0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAgICBbZmVGbG9vZCBm
bG9vZC1jb2xvcj0iIzAwODAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJdCisgICAgUmVuZGVyUGF0
aCB7cmVjdH0gYXQgKDEwLDEwKSBzaXplIDEyMHgxMjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZGF0YT0iTTIwLjAwLDIwLjAwIEwxMjAuMDAsMjAuMDAgTDEyMC4wMCwx
MjAuMDAgTDIwLjAwLDEyMC4wMCBaIl0KKyAgICAgIFtmaWx0ZXI9ImYxIl0gUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDEwLDEwKSBzaXplIDEyMHgxMjAKKyAgICBSZW5kZXJQ
YXRoIHtyZWN0fSBhdCAoMTUwLDEwKSBzaXplIDEyMHgxMjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTE2MC4wMCwyMC4wMCBMMjYwLjAwLDIwLjAwIEwyNjAu
MDAsMTIwLjAwIEwxNjAuMDAsMTIwLjAwIFoiXQorICAgICAgW2ZpbHRlcj0iZjIiXSBSZW5kZXJT
VkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMTUwLDEwKSBzaXplIDEyMHgxMjAKKyAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjkwLDEwKSBzaXplIDEyMHgxMjAgW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTMwMC4wMCwyMC4wMCBMNDAwLjAwLDIwLjAw
IEw0MDAuMDAsMTIwLjAwIEwzMDAuMDAsMTIwLjAwIFoiXQorICAgICAgW2ZpbHRlcj0iZjMiXSBS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMjkwLDEwKSBzaXplIDEyMHgxMjAK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMyLWV4
cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvZmlsdGVycy9maWx0ZXJSZXMyLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczItZXhwZWN0ZWQu
Y2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzY1YmZjZmM5ZGQ0YjVjN2RhNjMz
ZTNiYjQ2YzExNmY4ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvZmlsdGVycy9maWx0ZXJSZXMyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyMCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZH
Um9vdCB7c3ZnfSBhdCAoMTAsMTApIHNpemUgNDAweDEyMAorICAgIFJlbmRlclNWR0hpZGRlbkNv
bnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNWR1Jlc291cmNl
RmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjEiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hd
IFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlT2Zmc2V0IGR4PSIw
LjAwIiBkeT0iMC4wMCJdCisgICAgICAgICAgW1NvdXJjZUdyYXBoaWNdCisgICAgICBSZW5kZXJT
VkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImYyIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJv
dW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFtmZU9m
ZnNldCBkeD0iMC4wMCIgZHk9IjAuMDAiXQorICAgICAgICAgIFtTb3VyY2VHcmFwaGljXQorICAg
ICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmMyJdIFtmaWx0ZXJVbml0
cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAg
ICAgICBbZmVPZmZzZXQgZHg9IjAuMDAiIGR5PSIwLjAwIl0KKyAgICAgICAgICBbU291cmNlR3Jh
cGhpY10KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUgMTIweDEyMCBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMjAuMDAsMjAuMDAgTDEy
MC4wMCwyMC4wMCBMMTIwLjAwLDEyMC4wMCBMMjAuMDAsMTIwLjAwIFoiXQorICAgICAgW2ZpbHRl
cj0iZjEiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMTAsMTApIHNpemUg
MTIweDEyMAorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNTAsMTApIHNpemUgMTIweDEyMCBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMTYwLjAwLDIwLjAw
IEwyNjAuMDAsMjAuMDAgTDI2MC4wMCwxMjAuMDAgTDE2MC4wMCwxMjAuMDAgWiJdCisgICAgICBb
ZmlsdGVyPSJmMiJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgxNTAsMTAp
IHNpemUgMTIweDEyMAorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyOTAsMTApIHNpemUgMTIw
eDEyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMzAwLjAw
LDIwLjAwIEw0MDAuMDAsMjAuMDAgTDQwMC4wMCwxMjAuMDAgTDMwMC4wMCwxMjAuMDAgWiJdCisg
ICAgICBbZmlsdGVyPSJmMyJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgy
OTAsMTApIHNpemUgMTIweDEyMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9m
aWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQuY2hlY2tz
dW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMv
ZmlsdGVyUmVzMy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAor
NTE2MDk3ZTQ1NDlhNGY3MTk3Y2EwZmE1NDEwMGEwZWUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVz
My1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9maWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgxMCwxMCkgc2l6ZSA0MDB4MTIwCisg
ICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAg
ICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmMSJdIFtmaWx0ZXJVbml0
cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAg
ICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwODAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJd
CisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImYyIl0gW2ZpbHRl
clVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2Vd
CisgICAgICAgIFtmZUZsb29kIGZsb29kLWNvbG9yPSIjMDA4MDAwIiBmbG9vZC1vcGFjaXR5PSIx
LjAwIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjMiXSBb
ZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VP
blVzZV0KKyAgICAgICAgW2ZlRmxvb2QgZmxvb2QtY29sb3I9IiMwMDgwMDAiIGZsb29kLW9wYWNp
dHk9IjEuMDAiXQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwxMCkgc2l6ZSAxMjB4MTIw
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0yMC4wMCwyMC4w
MCBMMTIwLjAwLDIwLjAwIEwxMjAuMDAsMTIwLjAwIEwyMC4wMCwxMjAuMDAgWiJdCisgICAgICBb
ZmlsdGVyPSJmMSJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgxMCwxMCkg
c2l6ZSAxMjB4MTIwCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE1MCwxMCkgc2l6ZSAxMjB4
MTIwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xNjAuMDAs
MjAuMDAgTDI2MC4wMCwyMC4wMCBMMjYwLjAwLDEyMC4wMCBMMTYwLjAwLDEyMC4wMCBaIl0KKyAg
ICAgIFtmaWx0ZXI9ImYyIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDE1
MCwxMCkgc2l6ZSAxMjB4MTIwCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5MCwxMCkgc2l6
ZSAxMjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0z
MDAuMDAsMjAuMDAgTDQwMC4wMCwyMC4wMCBMNDAwLjAwLDEyMC4wMCBMMzAwLjAwLDEyMC4wMCBa
Il0KKyAgICAgIFtmaWx0ZXI9ImYzIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0g
YXQgKDI5MCwxMCkgc2l6ZSAxMjB4MTIwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2ZpbHRlcnMvc2hhZG93LW9uLWZpbHRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1maWx0ZXItZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA2OTEyMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvZmlsdGVycy9zaGFkb3ctb24tZmlsdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtNCw3ICs0LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclNWR1Jv
b3Qge3N2Z30gYXQgKDUwLDUwKSBzaXplIDQ4MHg0ODAKICAgICBSZW5kZXJTVkdIaWRkZW5Db250
YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZp
bHRlciB7ZmlsdGVyfSBbaWQ9ImZpbHRlciJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0Jv
eF0gW3ByaW1pdGl2ZVVuaXRzPW9iamVjdEJvdW5kaW5nQm94XQotICAgICAgICBbZmVHYXVzc2lh
bkJsdXIgc3RkRGV2aWF0aW9uPSI0LjAwLCA0LjAwIl0KKyAgICAgICAgW2ZlR2F1c3NpYW5CbHVy
IHN0ZERldmlhdGlvbj0iMC4wMSwgMC4wMSJdCiAgICAgICAgICAgW2ZlQ29tcG9zaXRlIG9wZXJh
dGlvbj0iT1ZFUiJdCiAgICAgICAgICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iI0ZGMDAwMCIg
Zmxvb2Qtb3BhY2l0eT0iMS4wMCJdCiAgICAgICAgICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0i
IzAwODAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLXJlY3Qtd2l0aC1maWx0ZXItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zaGFk
b3ctb24tcmVjdC13aXRoLWZpbHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY5MTIwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgt
ZmlsdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDM3LDM3KSBz
aXplIDQ5M3g0OTMKICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDAp
IHNpemUgMHgwCiAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImZp
bHRlciJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPW9i
amVjdEJvdW5kaW5nQm94XQotICAgICAgICBbZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0
LjAwLCA0LjAwIl0KKyAgICAgICAgW2ZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMC4wMSwg
MC4wMSJdCiAgICAgICAgICAgW2ZlQ29tcG9zaXRlIG9wZXJhdGlvbj0iT1ZFUiJdCiAgICAgICAg
ICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iI0ZGMDAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJd
CiAgICAgICAgICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwODAwMCIgZmxvb2Qtb3BhY2l0
eT0iMS4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLnN2Zwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLnN2ZwkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEuc3ZnCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorPGRl
ZnM+Cis8ZmlsdGVyIGlkPSJmMSIgZmlsdGVyUmVzPSI2MCI+CisgICAgPGZlRmxvb2QgZmxvb2Qt
Y29sb3I9ImdyZWVuIi8+Cis8L2ZpbHRlcj4KKzxmaWx0ZXIgaWQ9ImYyIiBmaWx0ZXJSZXM9IjEy
MCI+CisgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9ImdyZWVuIi8+Cis8L2ZpbHRlcj4KKzxmaWx0
ZXIgaWQ9ImYzIj4KKyAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iZ3JlZW4iLz4KKzwvZmlsdGVy
PgorPC9kZWZzPgorPHJlY3QgeD0iMjAiIHk9IjIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIg
ZmlsdGVyPSJ1cmwoI2YxKSIvPgorPHJlY3QgeD0iMTYwIiB5PSIyMCIgd2lkdGg9IjEwMCIgaGVp
Z2h0PSIxMDAiIGZpbHRlcj0idXJsKCNmMikiLz4KKzxyZWN0IHg9IjMwMCIgeT0iMjAiIHdpZHRo
PSIxMDAiIGhlaWdodD0iMTAwIiBmaWx0ZXI9InVybCgjZjMpIi8+Cis8L3N2Zz4KKwpJbmRleDog
TGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi5zdmcKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJSZXMyLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhs
aW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKzxkZWZzPgorPGZpbHRlciBpZD0i
ZjEiIGZpbHRlclJlcz0iNjAiPgorICAgIDxmZU9mZnNldC8+Cis8L2ZpbHRlcj4KKzxmaWx0ZXIg
aWQ9ImYyIiBmaWx0ZXJSZXM9IjEyMCI+CisgICAgPGZlT2Zmc2V0Lz4KKzwvZmlsdGVyPgorPGZp
bHRlciBpZD0iZjMiPgorICAgIDxmZU9mZnNldC8+Cis8L2ZpbHRlcj4KKzwvZGVmcz4KKzxyZWN0
IHg9IjIwIiB5PSIyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIiBmaWx0
ZXI9InVybCgjZjEpIi8+Cis8cmVjdCB4PSIxNjAiIHk9IjIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjEwMCIgZmlsbD0iZ3JlZW4iIGZpbHRlcj0idXJsKCNmMikiLz4KKzxyZWN0IHg9IjMwMCIgeT0i
MjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIgZmlsdGVyPSJ1cmwoI2Yz
KSIvPgorPC9zdmc+CisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMu
c3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMuc3Zn
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMy5zdmcJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+
Cis8ZGVmcz4KKzxmaWx0ZXIgaWQ9ImYxIiBmaWx0ZXJSZXM9IjYwIj4KKyAgICA8ZmVGbG9vZCBm
bG9vZC1jb2xvcj0iZ3JlZW4iLz4KKyAgICA8ZmVPZmZmc2V0Lz4KKzwvZmlsdGVyPgorPGZpbHRl
ciBpZD0iZjIiIGZpbHRlclJlcz0iMTIwIj4KKyAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iZ3Jl
ZW4iLz4KKyAgICA8ZmVPZmZmc2V0Lz4KKzwvZmlsdGVyPgorPGZpbHRlciBpZD0iZjMiPgorICAg
IDxmZUZsb29kIGZsb29kLWNvbG9yPSJncmVlbiIvPgorICAgIDxmZU9mZmZzZXQvPgorPC9maWx0
ZXI+Cis8L2RlZnM+Cis8cmVjdCB4PSIyMCIgeT0iMjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAw
IiBmaWx0ZXI9InVybCgjZjEpIi8+Cis8cmVjdCB4PSIxNjAiIHk9IjIwIiB3aWR0aD0iMTAwIiBo
ZWlnaHQ9IjEwMCIgZmlsdGVyPSJ1cmwoI2YyKSIvPgorPHJlY3QgeD0iMzAwIiB5PSIyMCIgd2lk
dGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbHRlcj0idXJsKCNmMykiLz4KKzwvc3ZnPgorCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9zaGFkb3ctb24tZmlsdGVyLnN2Zwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9zaGFkb3ctb24tZmlsdGVyLnN2ZwkocmV2aXNp
b24gNjkxMjApCisrKyBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9zaGFkb3ctb24tZmlsdGVyLnN2
Zwkod29ya2luZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAKIDxmZUZsb29kIHg9Ii00MCUiIHk9Ii00
MCUiIHdpZHRoPSI1MCUiIGhlaWdodD0iNTAlIiBmbG9vZC1jb2xvcj0icmVkIiBzdHlsZT0iLXdl
YmtpdC1zdmctc2hhZG93Oi00cHggLTRweCAwcHggYmx1ZTsiIHJlc3VsdD0iZmxvb2QxIi8+CiA8
ZmVGbG9vZCB4PSItMjAlIiB5PSItMjAlIiB3aWR0aD0iNTAlIiBoZWlnaHQ9IjUwJSIgZmxvb2Qt
Y29sb3I9ImdyZWVuIiByZXN1bHQ9ImZsb29kMiIvPgogPGZlQ29tcG9zaXRlIGluPSJmbG9vZDEi
IGluMj0iZmxvb2QyIiB3aWR0aD0iMTIwJSIgaGVpZ2h0PSIxMjAlIiByZXN1bHQ9ImNvbXAxIiBz
dHlsZT0iLXdlYmtpdC1zdmctc2hhZG93OjRweCAtMXB4IDNweCBncmVlbjsiLz4KLTxmZUdhdXNz
aWFuQmx1ciBzdGREZXZpYXRpb249IjQgNCIgc3R5bGU9Ii13ZWJraXQtc3ZnLXNoYWRvdzogNnB4
IDRweCA4cHggeWVsbG93OyIvPgorPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMC4wMTMz
IiBzdHlsZT0iLXdlYmtpdC1zdmctc2hhZG93OiA2cHggNHB4IDhweCB5ZWxsb3c7Ii8+CiA8L2Zp
bHRlcj4KIDwvZGVmcz4KIDxyZWN0IHg9IjIwMCIgeT0iMjAwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9
IjMwMCIgZmlsbD0iZ3JlZW4iIHN0eWxlPSJmaWx0ZXI6dXJsKCNmaWx0ZXIpOyIvPgpJbmRleDog
TGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLXJlY3Qtd2l0aC1maWx0ZXIuc3ZnCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgt
ZmlsdGVyLnN2ZwkocmV2aXNpb24gNjkxMjApCisrKyBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9z
aGFkb3ctb24tcmVjdC13aXRoLWZpbHRlci5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTQsNyArNCw3
IEBACiA8ZmVGbG9vZCB4PSItNDAlIiB5PSItNDAlIiB3aWR0aD0iNTAlIiBoZWlnaHQ9IjUwJSIg
Zmxvb2QtY29sb3I9InJlZCIgcmVzdWx0PSJmbG9vZDEiLz4KIDxmZUZsb29kIHg9Ii0yMCUiIHk9
Ii0yMCUiIHdpZHRoPSI1MCUiIGhlaWdodD0iNTAlIiBmbG9vZC1jb2xvcj0iZ3JlZW4iIHJlc3Vs
dD0iZmxvb2QyIi8+CiA8ZmVDb21wb3NpdGUgaW49ImZsb29kMSIgaW4yPSJmbG9vZDIiIHdpZHRo
PSIxMjAlIiBoZWlnaHQ9IjEyMCUiIHJlc3VsdD0iY29tcDEiIC8+Ci08ZmVHYXVzc2lhbkJsdXIg
c3RkRGV2aWF0aW9uPSI0IDQiIC8+Cis8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIwLjAx
MzMiIC8+CiA8L2ZpbHRlcj4KIDwvZGVmcz4KIDxyZWN0IHg9IjIwMCIgeT0iMjAwIiB3aWR0aD0i
MzAwIiBoZWlnaHQ9IjMwMCIgZmlsbD0iZ3JlZW4iIHN0eWxlPSJmaWx0ZXI6dXJsKCNmaWx0ZXIp
Oy13ZWJraXQtc3ZnLXNoYWRvdzotMTBweCAtMTBweCAzcHggb3JhbmdlOyIvPgpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEtZXhwZWN0ZWQucG5n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUu
CnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5n
ZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4
cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRp
b24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFD
YWRvSndBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0Zw
ckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJo
CkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExT
TlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRX
dzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQ
T1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVa
c2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80
bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FP
TXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1H
Z3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQx
R2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdo
N1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5
bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZK
UG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpI
NkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitU
M2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnEx
U05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJP
WlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4
L1VYQWVJdUpBQUFnCkFFbEVRVlI0QWUzZFFXcGJBUkJFd1NqazNpRW50MDB1NEkzNFREK1h0akw2
MDlYYU5NYjQ5ZkgxK3VWRmdBQUJBZ1FJRUNCQWdBQ0IKQndSK1AvQU1qeUJBZ0FBQkFnUUlFQ0JB
Z01CL0FRUEVGNEVBQVFJRUNCQWdRSUFBZ2NjRURKREhxRDJJQUFFQ0JBZ1FJRUNBQUFFRAp4SGVB
QUFFQ0JBZ1FJRUNBQUlISEJBeVF4Nmc5aUFBQkFnUUlFQ0JBZ0FBQkE4UjNnQUFCQWdRSUVDQkFn
QUNCeHdRTWtNZW9QWWdBCkFRSUVDQkFnUUlBQWdUL2ZFYnordmI3N0VlOEhCRDcrK25jd2dScEZJ
RUNBQUFFQ0JBaWNGL2gyZ0p4UDRNQnpBa2JydVVyZWZwREIKK25aU0gwaUFBQUVDQkg2TWdBSHlZ
Nm9XbE1CZEFhUDFiamZ2dU14Z2ZZZWl6eUJBZ0VCSHdOK0FkTHFVaEFBQkFnUUlFQ0JBZ01CNQpB
UVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lF
Q0FBQUVDQkFnUTZBZ1lJSjB1CkpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBQUFFQ0JB
aDBCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1EKSUVDQUFBRUNCRG9DQmtpblMw
a0lFQ0JBZ0FBQkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FB
QgpBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUJBdWNGREpE
ekZUbVFBQUVDQkFnUUlFQ0FRRWZBCkFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJR3lQbUtIRWlBQUFF
Q0JBZ1FJRUNnSTJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU8KSkVDQUFBRUNCQWdRSU5B
Uk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZB
Z0FBQgpBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJ
RURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDCkJEb0NCa2luUzBrSUVDQkFnQUFCQWdRSW5CY3dRTTVY
NUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2cKNXl0eUlBRUNCQWdR
SUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFB
T2wwS1FrQgpBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJB
Z1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVDCkJBZ1FJTkFSTUVBNlhVcENnQUFCQWdRSUVDQkE0
THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQncKWHNBQU9WK1JB
d2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFB
RUNCRG9DQmtpbgpTMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUUlFQ0FBQUVDSFFFRHBO
T2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZzV5dHlJQUVDCkJBZ1FJRUNBQUlHT2dBSFM2VklTQWdRSUVD
QkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkEKZ0FDQjh3
SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVD
QUFBRUNCQWdRSU5BUgpNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFn
UTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSCkF3a1FJRUNBQUFFQ0JBaDBCQXlRVHBl
U0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkEKZ0FB
QkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdn
NXl0eUlBRUNCQWdRSUVDQQpBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUJBdWNGREpEekZUbVFBQUVD
QkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHCnlQbUtIRWlBQUFFQ0JBZ1FJRUNn
STJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcEMK
Z0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlF
Q0J3WHNBQU9WK1JBd2tRSUVDQQpBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJRURndllJQ2Ny
OGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJCm5CY3dRTTVYNUVBQ0JBZ1FJ
RUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJRUNBQUlHT2dB
SFMKNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQkFn
UUlFQ0JBZ0FDQjh3SUd5UG1LSEVpQQpBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdN
QjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJCkVDQkE0THlBQVhLK0ln
Y1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBQUFF
Q0JBaDAKQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFBRUNCRG9DQmtp
blMwa0lFQ0JBZ0FBQkFnUUluQmN3UU01WAo1RUFDQkFnUUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNC
QWdBQUJBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJCkVDQkFnQUFCQXVj
RkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJR3lQbUtIRWlB
QUFFQ0JBZ1EKSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVDQUFBRUNCQWdR
SU5BUk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QQpBWEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1
SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTCkVDQkFnQUFC
QWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkFnQUFCQWdRSW5CY3dR
TTVYNUVBQ0JBZ1EKSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdnNXl0eUlBRUNC
QWdRSUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQgpBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FR
RWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNBCmRMcVVo
QUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENnQUFCQWdRSUVD
QkE0THlBQVhLK0lnY1MKSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlFQ0J3WHNBQU9W
K1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQgpBZ1FJRURndjhQcjRlcDIvMG9FRUNC
QWdRSUFBQVFJRUNDUUUvQVlrVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJCkVD
QkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkx
Q0VDQkFnQUFCQWdRSUVOZ1EKTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVD
QUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVSwpRWUFBQVFJRUNCQWdRR0JEd0FE
WjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlF
CkNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJ
R0NDSkdvVWdRSUFBQVFJRUNCQWcKc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJ
RUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBawphaFNDQUFFQ0JBZ1FJRUNB
d0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlK
UUVDCkJBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVD
QkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1EKSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklv
a1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQQpBRW5VS0FRQkFnUUlF
Q0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJ
QnM5T1JLCkFnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFB
RUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUkKRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUND
UUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQgpoSUFCa3FoUkNB
SUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNC
QVlFUEFBTm5vCnlaVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oy
NWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUUKQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFF
Q0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQQpBUUlKQVFN
a1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlF
Q0JBZ1FJREFob0FCCnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdR
TUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0MKQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJB
Z0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQQpBQUVD
QkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9C
QUVDQkFnUUlFQ0FBSUVOCkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVD
QkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2oKRUFRSUVDQkFnQUFCQWdRMkJBeVFq
WjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQQpn
QUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdB
R1NxRkVJQWdRSUVDQkFnQUFCCkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFB
RUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWkkKb2tZaENCQWdRSUFBQVFJRUNH
d0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJ
ZwpRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FB
QkFna0JBeVJSb3hBRUNCQWdRSUFBCkFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdv
VWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUUKREpCRWpVSVFJRUNBQUFF
Q0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJ
UmsrdQpKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFn
UUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBCkFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJD
d0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1EKU0FnWUlJa2FoU0JB
Z0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNC
RFlFREpDTgpubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RL
d2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBCmdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdR
SUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUkKRUNDUUVEQkFF
alVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQWdB
QUJBZ1FJYkFnWQpJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFR
TmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnClFJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JB
Z1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUUKQ0JBZ1FD
QWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhB
Z1FJQUFBUUlFQ0JEWQpFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FB
QkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxCkNrR0FBQUVDQkFnUUlFQmdROEFBMmVq
SmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUMKQkFn
UUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdn
aVJxRklFQ0FBQUVDQkFnUQpJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFn
UUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBCkpHb1VnZ0FCQWdRSUVDQkFnTUNH
Z0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUIK
QWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJ
SkFRTUVBU05RcEJnQUFCQWdRSQpFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJ
UWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDCndBQkoxQ2dFQVFJRUNCQWdR
SUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQ
VGsKU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFn
UUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRQpDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JB
eVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBCmdZU0FBWktvVVFnQ0JB
Z1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdC
RHdBRFoKNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJ
QUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQwpCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdR
SUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBCkFBRUNDUUVESkZH
akVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdR
SUVDQXdJYUEKQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJB
Tm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSQpBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFB
QVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBCmdBQUJBZ1FT
QWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJB
Z1FJRUNCQWdBQ0IKRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJ
TEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUgpveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVY
RW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnClFJQUFB
UUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtx
aFJDQUlFQ0JBZ1FJQUEKQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFn
UUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJRwpTS0pHSVFnUUlFQ0FBQUVDQkFoc0NC
Z2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTCklF
Q0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJ
SkFRTWtVYU1RQkFnUUlFQ0EKQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJ
QUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFnawpCQXlRUkkxQ0VDQkFnQUFCQWdR
SUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQ
CnJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNB
QUFFQ0JCSUNCa2lpUmlFSUVDQkEKZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FB
U2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSQpFRWdJR0NDSkdvVWdRSUFB
QVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJC
QXlRCmpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pF
Q0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWcKUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FB
SUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRQpDQkFna0JBd1FCSTFD
a0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFR
SUVDR3dJCkdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpL
TW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUYKSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVD
QkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQwpCQWdRSUVBZ0lX
Q0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVD
QUFBRUNCQWdRCjJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJ
YkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVMKTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpV
RUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQgpBZ1FJRUNC
QWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWth
aFNCQWdBQUJBZ1FJCkVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNB
QUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmcKZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FC
c3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbApBUUlF
Q0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FF
REJBRWpVS1FZQUFBUUlFCkNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlF
Q0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkEKUXNBQVNkUW9CQUVDQkFnUUlFQ0FB
SUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MAo1
RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNC
QWdRQ0FoWUlBa2FoU0NBQUVDCkJBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtF
U05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0EKQUlHRWdBR1NxRkVJQWdRSUVD
QkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThB
QQoyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFF
Q0JBZ1FJRUNBUUVMQUFFblVLQVFCCkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JC
SUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkEKZ0FBQkFna0JBeVJSb3hB
RUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JB
Z01DRwpnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2
Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSCkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVD
QkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWcKUUlBQUFRSUVFZ0lH
U0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVD
QkFnUUlBQQpnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJ
V0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rClVhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpn
QUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1EKSUVDQUFBRUNC
QWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VR
Z0NCQWdRSUVDQQpBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNC
QWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDCkJraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlC
czl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFgKRWlCQWdB
QUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FF
REpGR2pFQVFJRUNCQQpnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFF
Q0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJCkpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JE
WUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEcKVDY0
a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFC
QWdRU0FnWklva1loQ0JBZwpRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5V
S0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFCkNCQklDQmdnaVJxRklFQ0FBQUVD
QkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU0K
a0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdR
SUFBQVFJRUNDUUVESkJFalVJUQpJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0Jo
SUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDCkJBZ1FJSkFRTUVBU05RcEJn
QUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JB
aHMKQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakox
Y1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYQpoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJ
QUFBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCUGVXSlEwQUFBajFTVVJCClZEWUVESkNObmx4SmdB
QUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFn
a0JBeVEKUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFn
Q0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQQpnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JB
Z1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCCkFnUUliQWdZSUJz
OXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFC
QWdRSUVFZ0kKR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVE
SkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1YwpTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVD
QkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBCkFRSUVDQkRZ
RURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtR
SUFBQVFJRUNCQWcKa0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJB
Z1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYgpQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVL
QVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBCkFBRUNC
QWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJ
MmVYRW1BQUFFQ0JBZ1EKSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJ
QUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBdwpRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJ
QUJrcWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCCmdB
QUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFo
c0NCZ2dHejI1a2dBQkFnUUkKRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFj
U0lFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDdwpJV0NBYlBUa1NnSUVDQkFnUUlB
QUFRSUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1Jx
CkZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFC
QWdRSUVOZ1FNRUEyZW5JbEFRSUUKQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lH
eUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZwpRR0JEd0FEWjZNbVZCQWdR
SUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFR
c0FBClNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdR
SUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0MKQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJB
Z1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUQpJRUNBd0lhQUFiTFJr
eXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlF
Q0FBSUdFCmdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FC
STFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakoKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJ
QUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSQpFQ0JBZ0FDQkRR
RURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdR
SUVDQkFnQUFCCkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVB
Z0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kKMFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJ
UUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRQpDQkFnUUlB
QUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5v
eVpVRUNCQWdRSUFBCkFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJ
RUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEIKQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZ
SUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUQpCQWdR
SUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFo
b0FCc3RHVEt3a1FJRUNBCkFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxB
UUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUMKR3dJR3lFWlByaVJBZ0FBQkFnUUlF
Q0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaQpS
aUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlF
Q0FBSUVOQVFOa295ZFhFaUJBCmdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dH
ejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUIKQWdRMkJBeVFqWjVjU1lBQUFR
SUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFR
TQprRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdR
SUVDQkFnQUFCQWhzQ0JzaEdUNjRrClFJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVC
Z1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUEKQVFJRUNHd0lHQ0FiUGJt
U0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlF
Q0JCSQpDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJS
b3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlClhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJ
RUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0EKQUFFQ0JBZ1EyQkQ0
QkdNRkZhMzl5ZFhIQUFBQUFFbEZUa1N1UW1DQwoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMyLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5v
dCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0g
YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi1leHBlY3RlZC5wbmcKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoK
CmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJK
UTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEy
L1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBG
S042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNm
RUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0ho
UDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lm
RUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZ
cUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtH
QVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStM
cUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VF
Q0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNK
TDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBO
WFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pF
MzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQ
aUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0
NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0
VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdw
bU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1
UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxF
UVZSNEFlM2J2UTZkMVJWRlVUdWhUVklqSWZGc2VSS1VSL09UT1Q4OXF3aVRLNSt0UVpOaWkrWHZq
dU5tS3VMcjkvLzg4OFUvCkJBZ1FJRUNBQUFFQ0JBZ1ErSURBWHo3d1ovZ2pDQkFnUUlBQUFRSUVD
QkFnOEQ4QkFlSXZBZ0VDQkFnUUlFQ0FBQUVDSHhNUUlCK2oKOWdjUklFQ0FBQUVDQkFnUUlDQkEv
QjBnUUlBQUFRSUVDQkFnUU9CakFnTGtZOVQrSUFJRUNCQWdRSUFBQVFJRUJJaS9Bd1FJRUNCQQpn
QUFCQWdRSWZFeEFnSHlNMmg5RWdBQUJBZ1FJRUNCQWdJQUE4WGVBQUFFQ0JBZ1FJRUNBQUlHUENR
aVFqMUg3Z3dnUUlFQ0FBQUVDCkJBZ1FFQ0QrRGhBZ1FJQUFBUUlFQ0JBZzhERUJBZkl4YW44UUFR
SUVDQkFnUUlBQUFRSUN4TjhCQWdRSUVDQkFnQUFCQWdRK0ppQkEKUGtidER5SkFnQUFCQWdRSUVD
QkFRSUQ0TzBDQUFBRUNCQWdRSUVDQXdNY0VCTWpIcVAxQkJBZ1FJRUNBQUFFQ0JBZ0lFSDhIQ0JB
ZwpRSUFBQVFJRUNCRDRtSUFBK1JpMVA0Z0FBUUlFQ0JBZ1FJQUFnWjhxZ3EvLytscE4yZm1EQXIv
KzQ5Y3YzLzc1N2N0Ly85Yy9CQWdRCklFQ0FBQUVDQkg0a2dTeEFmcVFmNVZ2ZUVCQ3RQOVk3ZmYv
dCs0LzFRYjZHQUFFQ0JBZ1FPQ2tnUUU0K3F4OUY0S2FBYVAyeDNsVzAKL2xqdjRXc0lFQ0R3aW9E
L0J1U1ZsL0tkQkFnUUlFQ0FBQUVDQkE0SUNKQURqK2duRUNCQWdBQUJBZ1FJRUhoRlFJQzg4bEsr
a3dBQgpBZ1FJRUNCQWdNQUJBUUZ5NEJIOUJBSUVDQkFnUUlBQUFRS3ZDQWlRVjE3S2R4SWdRSUFB
QVFJRUNCQTRJQ0JBRGp5aW4wQ0FBQUVDCkJBZ1FJRURnRlFFQjhzcEwrVTRDQkFnUUlFQ0FBQUVD
QndRRXlJRkg5Qk1JRUNCQWdBQUJBZ1FJdkNJZ1FGNTVLZDlKZ0FBQkFnUUkKRUNCQTRJQ0FBRG53
aUg0Q0FRSUVDQkFnUUlBQWdWY0VCTWdyTCtVN0NSQWdRSUFBQVFJRUNCd1FFQ0FISHRGUElFQ0FB
QUVDQkFnUQpJUENLZ0FCNTVhVjhKd0VDQkFnUUlFQ0FBSUVEQWdMa3dDUDZDUVFJRUNCQWdBQUJB
Z1JlRVJBZ3I3eVU3eVJBZ0FBQkFnUUlFQ0J3ClFFQ0FISGhFUDRFQUFRSUVDQkFnUUlEQUt3SUM1
SldYOHAwRUNCQWdRSUFBQVFJRURnZ0lrQU9QNkNjUUlFQ0FBQUVDQkFnUWVFVkEKZ0x6eVVyNlRB
QUVDQkFnUUlFQ0F3QUVCQVhMZ0VmMEVBZ1FJRUNCQWdBQUJBcThJQ0pCWFhzcDNFaUJBZ0FBQkFn
UUlFRGdnSUVBTwpQS0tmUUlBQUFRSUVDQkFnUU9BVkFRSHl5a3Y1VGdJRUNCQWdRSUFBQVFJSEJB
VElnVWYwRXdnUUlFQ0FBQUVDQkFpOElpQkFYbmtwCjMwbUFBQUVDQkFnUUlFRGdnSUFBT2ZDSWZn
SUJBZ1FJRUNCQWdBQ0JWd1FFeUNzdjVUc0pFQ0JBZ0FBQkFnUUlIQkFRSUFjZTBVOGcKUUlBQUFR
SUVDQkFnOElxQUFIbmxwWHduQVFJRUNCQWdRSUFBZ1FNQ0F1VEFJL29KQkFnUUlFQ0FBQUVDQkY0
UkVDQ3Z2SlR2SkVDQQpBQUVDQkFnUUlIQkFRSUFjZUVRL2dRQUJBZ1FJRUNCQWdNQXJBZ0xrbFpm
eW5RUUlFQ0JBZ0FBQkFnUU9DQWlRQTQvb0p4QWdRSUFBCkFRSUVDQkI0UlVDQXZQSlN2cE1BQVFJ
RUNCQWdRSURBQVFFQmN1QVIvUVFDQkFnUUlFQ0FBQUVDcndnSWtGZGV5bmNTSUVDQUFBRUMKQkFn
UU9DQWdRQTQ4b3A5QWdBQUJBZ1FJRUNCQTRCVUJBZkxLUy9sT0FnUUlFQ0JBZ0FBQkFnY0VCTWlC
Ui9RVENCQWdRSUFBQVFJRQpDTHdpSUVCZWVTbmZTWUFBQVFJRUNCQWdRT0NBZ0FBNThJaCtBZ0VD
QkFnUUlFQ0FBSUZYQkFUSUt5L2xPd2tRSUVDQUFBRUNCQWdjCkVCQWdCeDdSVHlCQWdBQUJBZ1FJ
RUNEd2lvQUFlZVdsZkNjQkFnUUlFQ0JBZ0FDQkF3SUM1TUFqK2drRUNCQWdRSUFBQVFJRVhoRVEK
SUsrOGxPOGtRSUFBQVFJRUNCQWdjRUJBZ0J4NFJEK0JBQUVDQkFnUUlFQ0F3Q3NDQXVTVmwvS2RC
QWdRSUVDQUFBRUNCQTRJQ0pBRApqK2duRUNCQWdBQUJBZ1FJRUhoRlFJQzg4bEsra3dBQkFnUUlF
Q0JBZ01BQkFRRnk0Qkg5QkFJRUNCQWdRSUFBQVFLdkNBaVFWMTdLCmR4SWdRSUFBQVFJRUNCQTRJ
Q0JBRGp5aW4wQ0FBQUVDQkFnUUlFRGdGUUVCOHNwTCtVNENCQWdRSUVDQUFBRUNCd1FFeUlGSDlC
TUkKRUNCQWdBQUJBZ1FJdkNJZ1FGNTVLZDlKZ0FBQkFnUUlFQ0JBNElDQUFEbndpSDRDQVFJRUNC
QWdRSUFBZ1ZjRUJNZ3JMK1U3Q1JBZwpRSUFBQVFJRUNCd1FFQ0FISHRGUElFQ0FBQUVDQkFnUUlQ
Q0tnQUI1NWFWOEp3RUNCQWdRSUVDQUFJRURBZ0xrd0NQNkNRUUlFQ0JBCmdBQUJBZ1JlRVJBZ3I3
eVU3eVJBZ0FBQkFnUUlFQ0J3UUVDQUhIaEVQNEVBQVFJRUNCQWdRSURBS3dJQzVKV1g4cDBFQ0JB
Z1FJQUEKQVFJRURnZ0lrQU9QNkNjUUlFQ0FBQUVDQkFnUWVFVkFnTHp5VXI2VEFBRUNCQWdRSUVD
QXdBRUJBWExnRWYwRUFnUUlFQ0JBZ0FBQgpBcThJQ0pCWFhzcDNFaUJBZ0FBQkFnUUlFRGdnSUVB
T1BLS2ZRSUFBQVFJRUNCQWdRT0FWQVFIeXlrdjVUZ0lFQ0JBZ1FJQUFBUUlICkJBVElnVWYwRXdn
UUlFQ0FBQUVDQkFpOElpQkFYbmtwMzBtQUFBRUNCQWdRSUVEZ2dJQUFPZkNJZmdJQkFnUUlFQ0JB
Z0FDQlZ3UUUKeUNzdjVUc0pFQ0JBZ0FBQkFnUUlIQkFRSUFjZTBVOGdRSUFBQVFJRUNCQWc4SXFB
QUhubHBYd25BUUlFQ0JBZ1FJQUFnUU1DQXVUQQpJL29KQkFnUUlFQ0FBQUVDQkY0UkVDQ3Z2SlR2
SkVDQUFBRUNCQWdRSUhCQVFJQWNlRVEvZ1FBQkFnUUlFQ0JBZ01BckFnTGtsWmZ5Cm5RUUlFQ0JB
Z0FBQkFnUU9DQWlRQTQvb0p4QWdRSUFBQVFJRUNCQjRSVUNBdlBKU3ZwTUFBUUlFQ0JBZ1FJREFB
UUVCY3VBUi9RUUMKQkFnUUlFQ0FBQUVDcndnSWtGZGV5bmNTSUVDQUFBRUNCQWdRT0NBZ1FBNDhv
cDlBZ0FBQkFnUUlFQ0JBNEJVQkFmTEtTL2xPQWdRSQpFQ0JBZ0FBQkFnY0VCTWlCUi9RVENCQWdR
SUFBQVFJRUNMd2lJRUJlZVNuZlNZQUFBUUlFQ0JBZ1FPQ0FnQUE1OEloK0FnRUNCQWdRCklFQ0FB
SUZYQkFUSUt5L2xPd2tRSUVDQUFBRUNCQWdjRUJBZ0J4N1JUeUJBZ0FBQkFnUUlFQ0R3aW9BQWVl
V2xmQ2NCQWdRSUVDQkEKZ0FDQkF3SUM1TUFqK2drRUNCQWdRSUFBQVFJRVhoRVFJSys4bE84a1FJ
QUFBUUlFQ0JBZ2NFQkFnQng0UkQrQkFBRUNCQWdRSUVDQQp3Q3NDUDFVZit1cy9mcTJtN1B4QmdW
Lysvc3VYdjM3OTZ4OWM4YThUSUVDQUFBRUNCQWdRNkFXeUFQbjJ6Mi85MTFuOHZ3VCtHeDgvCi8r
M24vK3ZmOVM4UklFQ0FBQUVDQkFnUStETUZzZ0R4LzREOG1jOTBjL3Y3Yjk5di9qQy9pZ0FCQWdR
SUVDQkE0SGNGdm43L3p6Ky8KZTNVZ1FJQUFBUUlFQ0JBZ1FJQkFLT0EvUWc4eFRSRWdRSUFBQVFJ
RUNCQWdzQVVFeVBaeEpVQ0FBQUVDQkFnUUlFQWdGQkFnSWFZcApBZ1FJRUNCQWdBQUJBZ1MyZ0FE
WlBxNEVDQkFnUUlBQUFRSUVDSVFDQWlURU5FV0FBQUVDQkFnUUlFQ0F3QllRSU52SGxRQUJBZ1FJ
CkVDQkFnQUNCVUVDQWhKaW1DQkFnUUlBQUFRSUVDQkRZQWdKays3Z1NJRUNBQUFFQ0JBZ1FJQkFL
Q0pBUTB4UUJBZ1FJRUNCQWdBQUIKQWx0QWdHd2ZWd0lFQ0JBZ1FJQUFBUUlFUWdFQkVtS2FJa0NB
QUFFQ0JBZ1FJRUJnQ3dpUTdlTktnQUFCQWdRSUVDQkFnRUFvSUVCQwpURk1FQ0JBZ1FJQUFBUUlF
Q0d3QkFiSjlYQWtRSUVDQUFBRUNCQWdRQ0FVRVNJaHBpZ0FCQWdRSUVDQkFnQUNCTFNCQXRvOHJB
UUlFCkNCQWdRSUFBQVFLaGdBQUpNVTBSSUVDQUFBRUNCQWdRSUxBRkJNajJjU1ZBZ0FBQkFnUUlF
Q0JBSUJRUUlDR21LUUlFQ0JBZ1FJQUEKQVFJRXRvQUEyVDZ1QkFnUUlFQ0FBQUVDQkFpRUFnSWt4
RFJGZ0FBQkFnUUlFQ0JBZ01BV0VDRGJ4NVVBQVFJRUNCQWdRSUFBZ1ZCQQpnSVNZcGdnUUlFQ0FB
QUVDQkFnUTJBSUNaUHU0RWlCQWdBQUJBZ1FJRUNBUUNnaVFFTk1VQVFJRUNCQWdRSUFBQVFKYlFJ
QnNIMWNDCkJBZ1FJRUNBQUFFQ0JFSUJBUkppbWlKQWdBQUJBZ1FJRUNCQVlBc0lrTzNqU29BQUFR
SUVDQkFnUUlCQUtDQkFRa3hUQkFnUUlFQ0EKQUFFQ0JBaHNBUUd5ZlZ3SkVDQkFnQUFCQWdRSUVB
Z0ZCRWlJYVlvQUFRSUVDQkFnUUlBQWdTMGdRTGFQS3dFQ0JBZ1FJRUNBQUFFQwpvWUFBQ1RGTkVT
QkFnQUFCQWdRSUVDQ3dCUVRJOW5FbFFJQUFBUUlFQ0JBZ1FDQVVFQ0FocGlrQ0JBZ1FJRUNBQUFF
Q0JMYUFBTmsrCnJnUUlFQ0JBZ0FBQkFnUUloQUlDSk1RMFJZQUFBUUlFQ0JBZ1FJREFGaEFnMjhl
VkFBRUNCQWdRSUVDQUFJRlFRSUNFbUtZSUVDQkEKZ0FBQkFnUUlFTmdDQW1UN3VCSWdRSUFBQVFJ
RUNCQWdFQW9Ja0JEVEZBRUNCQWdRSUVDQUFBRUNXMENBYkI5WEFnUUlFQ0JBZ0FBQgpBZ1JDQVFF
U1lwb2lRSUFBQVFJRUNCQWdRR0FMQ0pEdDQwcUFBQUVDQkFnUUlFQ0FRQ2dnUUVKTVV3UUlFQ0JB
Z0FBQkFnUUliQUVCCnNuMWNDUkFnUUlBQUFRSUVDQkFJQlFSSWlHbUtBQUVDQkFnUUlFQ0FBSUV0
SUVDMmp5c0JBZ1FJRUNCQWdBQUJBcUdBQUFreFRSRWcKUUlBQUFRSUVDQkFnc0FVRXlQWnhKVUNB
QUFFQ0JBZ1FJRUFnRkJBZ0lhWXBBZ1FJRUNCQWdBQUJBZ1MyZ0FEWlBxNEVDQkFnUUlBQQpBUUlF
Q0lRQ0FpVEVORVdBQUFFQ0JBZ1FJRUNBd0JZUUlOdkhsUUFCQWdRSUVDQkFnQUNCVUVDQWhKaW1D
QkFnUUlBQUFRSUVDQkRZCkFnSmsrN2dTSUVDQUFBRUNCQWdRSUJBS0NKQVEweFFCQWdRSUVDQkFn
QUFCQWx0QWdHd2ZWd0lFQ0JBZ1FJQUFBUUlFUWdFQkVtS2EKSWtDQUFBRUNCQWdRSUVCZ0N3aVE3
ZU5LZ0FBQkFnUUlFQ0JBZ0VBb0lFQkNURk1FQ0JBZ1FJQUFBUUlFQ0d3QkFiSjlYQWtRSUVDQQpB
QUVDQkFnUUNBVUVTSWhwaWdBQkFnUUlFQ0JBZ0FDQkxTQkF0bzhyQVFJRUNCQWdRSUFBQVFLaGdB
QUpNVTBSSUVDQUFBRUNCQWdRCklMQUZCTWoyY1NWQWdBQUJBZ1FJRUNCQUlCUVFJQ0dtS1FJRUNC
QWdRSUFBQVFJRXRvQUEyVDZ1QkFnUUlFQ0FBQUVDQkFpRUFnSWsKeERSRmdBQUJBZ1FJRUNCQWdN
QVdFQ0RieDVVQUFRSUVDQkFnUUlBQWdWQkFnSVNZcGdnUUlFQ0FBQUVDQkFnUTJBSUNaUHU0RWlC
QQpnQUFCQWdRSUVDQVFDZ2lRRU5NVUFRSUVDQkFnUUlBQUFRSmJRSUJzSDFjQ0JBZ1FJRUNBQUFF
Q0JFSUJBUkppbWlKQWdBQUJBZ1FJCkVDQkFZQXNJa08zalNvQUFBUUlFQ0JBZ1FJQkFLQ0JBUWt4
VEJBZ1FJRUNBQUFFQ0JBaHNBUUd5ZlZ3SkVDQkFnQUFCQWdRSUVBZ0YKQkVpSWFZb0FBUUlFQ0JB
Z1FJQUFnUzBnUUxhUEt3RUNCQWdRSUVDQUFBRUNvWUFBQ1RGTkVTQkFnQUFCQWdRSUVDQ3dCUVRJ
OW5FbApRSUFBQVFJRUNCQWdRQ0FVRUNBaHBpa0NCQWdRSUVDQUFBRUNCTGFBQU5rK3JnUUlFQ0JB
Z0FBQkFnUUloQUlDSk1RMFJZQUFBUUlFCkNCQWdRSURBRmhBZzI4ZVZBQUVDQkFnUUlFQ0FBSUZR
UUlDRW1LWUlFQ0JBZ0FBQkFnUUlFTmdDQW1UN3VCSWdRSUFBQVFJRUNCQWcKRUFvSWtCRFRGQUVD
QkFnUUlFQ0FBQUVDVzBDQWJCOVhBZ1FJRUNCQWdBQUJBZ1JDQVFFU1lwb2lRSUFBQVFJRUNCQWdR
R0FMQ0pEdAo0MHFBQUFFQ0JBZ1FJRUNBUUNnZ1FFSk1Vd1FJRUNCQWdBQUJBZ1FJYkFFQnNuMWND
UkFnUUlBQUFRSUVDQkFJQlFSSWlHbUtBQUVDCkJBZ1FJRUNBQUlFdElFQzJqeXNCQWdRSUVDQkFn
QUFCQXFHQUFBa3hUUkVnUUlBQUFRSUVDQkFnc0FVRXlQWnhKVUNBQUFFQ0JBZ1EKSUVBZ0ZCQWdJ
YVlwQWdRSUVDQkFnQUFCQWdTMmdBRFpQcTRFQ0JBZ1FJQUFBUUlFQ0lRQ0FpVEVORVdBQUFFQ0JB
Z1FJRUNBd0JZUQpJTnZIbFFBQkFnUUlFQ0JBZ0FDQlVFQ0FoSmltQ0JBZ1FJQUFBUUlFQ0JEWUFn
SmsrN2dTSUVDQUFBRUNCQWdRSUJBS0NKQVEweFFCCkFnUUlFQ0JBZ0FBQkFsdEFnR3dmVndJRUNC
QWdRSUFBQVFJRVFnRUJFbUthSWtDQUFBRUNCQWdRSUVCZ0N3aVE3ZU5LZ0FBQkFnUUkKRUNCQWdF
QW9JRUJDVEZNRUNCQWdRSUFBQVFJRUNHd0JBYko5WEFrUUlFQ0FBQUVDQkFnUUNBVUVTSWhwaWdB
QkFnUUlFQ0JBZ0FDQgpMU0JBdG84ckFRSUVDQkFnUUlBQUFRS2hnQUFKTVUwUklFQ0FBQUVDQkFn
UUlMQUZCTWoyY1NWQWdBQUJBZ1FJRUNCQUlCUVFJQ0dtCktRSUVDQkFnUUlBQUFRSUV0b0FBMlQ2
dUJBZ1FJRUNBQUFFQ0JBaUVBZ0lreERSRmdBQUJBZ1FJRUNCQWdNQVdFQ0RieDVVQUFRSUUKQ0JB
Z1FJQUFnVkJBZ0lTWXBnZ1FJRUNBQUFFQ0JBZ1EyQUlDWlB1NEVpQkFnQUFCQWdRSUVDQVFDZ2lR
RU5NVUFRSUVDQkFnUUlBQQpBUUpiUUlCc0gxY0NCQWdRSUVDQUFBRUNCRUlCQVJKaW1pSkFnQUFC
QWdRSUVDQkFZQXNJa08zalNvQUFBUUlFQ0JBZ1FJQkFLQ0JBClFreFRCQWdRSUVDQUFBRUNCQWhz
QVFHeWZWd0pFQ0JBZ0FBQkFnUUlFQWdGQkVpSWFZb0FBUUlFQ0JBZ1FJQUFnUzBnUUxhUEt3RUMK
QkFnUUlFQ0FBQUVDb1lBQUNURk5FU0JBZ0FBQkFnUUlFQ0N3QlFUSTluRWxRSUFBQVFJRUNCQWdR
Q0FVRUNBaHBpa0NCQWdRSUVDQQpBQUVDQkxhQUFOaytyZ1FJRUNCQWdBQUJBZ1FJaEFJQ0pNUTBS
WUFBQVFJRUNCQWdRSURBRmhBZzI4ZVZBQUVDQkFnUUlFQ0FBSUZRClFJQ0VtS1lJRUNCQWdBQUJB
Z1FJRU5nQ0FtVDd1QklnUUlBQUFRSUVDQkFnRUFvSWtCRFRGQUVDQkFnUUlFQ0FBQUVDVzBDQWJC
OVgKQWdRSUVDQkFnQUFCQWdSQ0FRRVNZcG9pUUlBQUFRSUVDQkFnUUdBTENKRHQ0MHFBQUFFQ0JB
Z1FJRUNBUUNnZ1FFSk1Vd1FJRUNCQQpnQUFCQWdRSWJBRUJzbjFjQ1JBZ1FJQUFBUUlFQ0JBSUJR
UklpR21LQUFFQ0JBZ1FJRUNBQUlFdElFQzJqeXNCQWdRSUVDQkFnQUFCCkFxR0FBQWt4VFJFZ1FJ
QUFBUUlFQ0JBZ3NBVUV5UFp4SlVDQUFBRUNCQWdRSUVBZ0ZCQWdJYVlwQWdRSUVDQkFnQUFCQWdT
MmdBRFoKUHE0RUNCQWdRSUFBQVFJRUNJUUNBaVRFTkVXQUFBRUNCQWdRSUVDQXdCWVFJTnZIbFFB
QkFnUUlFQ0JBZ0FDQlVFQ0FoSmltQ0JBZwpRSUFBQVFJRUNCRFlBZ0prKzdnU0lFQ0FBQUVDQkFn
UUlCQUtDSkFRMHhRQkFnUUlFQ0JBZ0FBQkFsdEFnR3dmVndJRUNCQWdRSUFBCkFRSUVRZ0VCRW1L
YUlrQ0FBQUVDQkFnUUlFQmdDd2lRN2VOS2dBQUJBZ1FJRUNCQWdFQW9JRUJDVEZNRUNCQWdRSUFB
QVFJRUNHd0IKQWJKOVhBa1FJRUNBQUFFQ0JBZ1FDQVVFU0locGlnQUJBZ1FJRUNCQWdBQ0JMU0JB
dG84ckFRSUVDQkFnUUlBQUFRS2hnQUFKTVUwUgpJRUNBQUFFQ0JBZ1FJTEFGQk1qMmNTVkFnQUFC
QWdRSUVDQkFJQlFRSUNHbUtRSUVDQkFnUUlBQUFRSUV0b0FBMlQ2dUJBZ1FJRUNBCkFBRUNCQWlF
QWdJa3hEUkZnQUFCQWdRSUVDQkFnTUFXRUNEYng1VUFBUUlFQ0JBZ1FJQUFnVkJBZ0lTWXBnZ1FJ
RUNBQUFFQ0JBZ1EKMkFJQ1pQdTRFaUJBZ0FBQkFnUUlFQ0FRQ2dpUUVOTVVBUUlFQ0JBZ1FJQUFB
UUpiUUlCc0gxY0NCQWdRSUVDQUFBRUNCRUlCQVJKaQptaUpBZ0FBQkFnUUlFQ0JBWUFzSWtPM2pT
b0FBQVFJRUNCQWdRSUJBS0NCQVFreFRCQWdRSUVDQUFBRUNCQWhzQVFHeWZWd0pFQ0JBCmdBQUJB
Z1FJRUFnRkJFaUlhWW9BQVFJRUNCQWdRSUFBZ1MwZ1FMYVBLd0VDQkFnUUlFQ0FBQUVDb1lBQUNU
Rk5FU0JBZ0FBQkFnUUkKRUNDd0JRVEk5bkVsUUlBQUFRSUVDQkFnUUNBVUVDQWhwaWtDQkFnUUlF
Q0FBQUVDQkxhQUFOaytyZ1FJRUNCQWdBQUJBZ1FJaEFJQwpKTVEwUllBQUFRSUVDQkFnUUlEQUZo
QWcyOGVWQUFFQ0JBZ1FJRUNBQUlGUVFJQ0VtS1lJRUNCQWdBQUJBZ1FJRU5nQ0FtVDd1QklnClFJ
QUFBUUlFQ0JBZ0VBb0lrQkRURkFFQ0JBZ1FJRUNBQUFFQ1cwQ0FiQjlYQWdRSUVDQkFnQUFCQWdS
Q0FRRVNZcG9pUUlBQUFRSUUKQ0JBZ1FHQUxDSkR0NDBxQUFBRUNCQWdRSUVDQVFDZ2dRRUpNVXdR
SUVDQkFnQUFCQWdRSWJBRUJzbjFjQ1JBZ1FJQUFBUUlFQ0JBSQpCUVJJaUdtS0FBRUNCQWdRSUVD
QUFJRXRJRUMyanlzQkFnUUlFQ0JBZ0FBQkFxR0FBQWt4VFJFZ1FJQUFBUUlFQ0JBZ3NBVUV5UFp4
CkpVQ0FBQUVDQkFnUUlFQWdGQkFnSWFZcEFnUUlFQ0JBZ0FBQkFnUzJnQURaUHE0RUNCQWdRSUFB
QVFJRUNJUUNBaVRFTkVXQUFBRUMKQkFnUUlFQ0F3QllRSU52SGxRQUJBZ1FJRUNCQWdBQ0JVRUNB
aEppbUNCQWdRSUFBQVFJRUNCRFlBZ0prKzdnU0lFQ0FBQUVDQkFnUQpJQkFLQ0pBUTB4UUJBZ1FJ
RUNCQWdBQUJBbHRBZ0d3ZlZ3SUVDQkFnUUlBQUFRSUVRZ0VCRW1LYUlrQ0FBQUVDQkFnUUlFQmdD
d2lRCjdlTktnQUFCQWdRSUVDQkFnRUFvSUVCQ1RGTUVDQkFnUUlBQUFRSUVDR3dCQWJKOVhBa1FJ
RUNBQUFFQ0JBZ1FDQVVFU0locGlnQUIKQWdRSUVDQkFnQUNCTFNCQXRvOHJBUUlFQ0JBZ1FJQUFB
UUtoZ0FBSk1VMFJJRUNBQUFFQ0JBZ1FJTEFGQk1qMmNTVkFnQUFCQWdRSQpFQ0JBSUJRUUlDR21L
UUlFQ0JBZ1FJQUFBUUlFdG9BQTJUNnVCQWdRSUVDQUFBRUNCQWlFQWdJa3hEUkZnQUFCQWdRSUVD
QkFnTUFXCkVDRGJ4NVVBQVFJRUNCQWdRSUFBZ1ZCQWdJU1lwZ2dRSUVDQUFBRUNCQWdRMkFJQ1pQ
dTRFaUJBZ0FBQkFnUUlFQ0FRQ2dpUUVOTVUKQVFJRUNCQWdRSUFBQVFKYlFJQnNIMWNDQkFnUUlF
Q0FBQUVDQkVJQkFSSmltaUpBZ0FBQkFnUUlFQ0JBWUFzSWtPM2pTb0FBQVFJRQpDQkFnUUlCQUtD
QkFRa3hUQkFnUUlFQ0FBQUVDQkFoc0FRR3lmVndKRUNCQWdBQUJBZ1FJRUFnRkJFaUlhWW9BQVFJ
RUNCQWdRSUFBCmdTMGdRTGFQS3dFQ0JBZ1FJRUNBQUFFQ29ZQUFDVEZORVNCQWdBQUJBZ1FJRUND
d0JRVEk5bkVsUUlBQUFRSUVDQkFnUUNBVUVDQWgKcGlrQ0JBZ1FJRUNBQUFFQ0JMYUFBTmsrcmdR
SUVDQkFnQUFCQWdRSWhBSUNKTVEwUllBQUFRSUVDQkFnUUlEQUZoQWcyOGVWQUFFQwpCQWdRSUVD
QUFJRlFRSUNFbUtZSUVDQkFnQUFCQWdRSUVOZ0NBbVQ3dUJJZ1FJQUFBUUlFQ0JBZ0VBb0lrQkRU
RkFFQ0JBZ1FJRUNBCkFBRUNXMENBYkI5WEFnUUlFQ0JBZ0FBQkFnUkNBUUVTWXBvaVFJQUFBUUlF
Q0JBZ1FHQUxDSkR0NDBxQUFBRUNCQWdRSUVDQVFDZ2cKUUVKTVV3UUlFQ0JBZ0FBQkFnUUliQUVC
c24xY0NSQWdRSUFBQVFJRUNCQUlCUVJJaUdtS0FBRUNCQWdRSUVDQUFJRXRJRUMyanlzQgpBZ1FJ
RUNCQWdBQUJBcUdBQUFreFRSRWdRSUFBQVFJRUNCQWdzQVVFeVBaeEpVQ0FBQUVDQkFnUUlFQWdG
QkFnSWFZcEFnUUlFQ0JBCmdBQUJBZ1MyZ0FEWlBxNEVDQkFnUUlBQUFRSUVDSVFDQWlURU5FV0FB
QUVDQkFnUUlFQ0F3QllRSU52SGxRQUJBZ1FJRUNCQWdBQ0IKVUVDQWhKaW1DQkFnUUlBQUFRSUVD
QkRZQWdKays3Z1NJRUNBQUFFQ0JBZ1FJQkFLQ0pBUTB4UUJBZ1FJRUNCQWdBQUJBbHRBZ0d3ZgpW
d0lFQ0JBZ1FJQUFBUUlFUWdFQkVtS2FJa0NBQUFFQ0JBZ1FJRUJnQ3dpUTdlTktnQUFCQWdRSUVD
QkFnRUFvSUVCQ1RGTUVDQkFnClFJQUFBUUlFQ0d3QkFiSjlYQWtRSUVDQUFBRUNCQWdRQ0FVRVNJ
aHBpZ0FCQWdRSUVDQkFnQUNCTFNCQXRvOHJBUUlFQ0JBZ1FJQUEKQVFLaGdBQUpNVTBSSUVDQUFB
RUNCQWdRSUxBRkJNajJjU1ZBZ0FBQkFnUUlFQ0JBSUJRUUlDR21LUUlFQ0JBZ1FJQUFBUUlFdG9B
QQoyVDZ1QkFnUUlFQ0FBQUVDQkFpRUFnSWt4RFJGZ0FBQkFnUUlFQ0JBZ01BV0VDRGJ4NVVBQVFJ
RUNCQWdRSUFBZ1ZCQWdJU1lwZ2dRCklFQ0FBQUVDQkFnUTJBSUNaUHU0RWlCQWdBQUJBZ1FJRUNB
UUNnaVFFTk1VQVFJRUNCQWdRSUFBQVFKYlFJQnNIMWNDQkFnUUlFQ0EKQUFFQ0JFSUJBUkppbWlK
QWdBQUJBZ1FJRUNCQVlBc0lrTzNqU29BQUFRSUVDQkFnUUlCQUtDQkFRa3hUQkFnUUlFQ0FBQUVD
QkFocwpBUUd5ZlZ3SkVDQkFnQUFCQWdRSUVBZ0ZCRWlJYVlvQUFRSUVDQkFnUUlBQWdTMGdRTGFQ
S3dFQ0JBZ1FJRUNBQUFFQ29ZQUFDVEZOCkVTQkFnQUFCQWdRSUVDQ3dCUVRJOW5FbFFJQUFBUUlF
Q0JBZ1FDQVVFQ0FocGlrQ0JBZ1FJRUNBQUFFQ0JMYUFBTmsrcmdRSUVDQkEKZ0FBQkFnUUloQUlD
Sk1RMFJZQUFBUUlFQ0JBZ1FJREFGaEFnMjhlVkFBRUNCQWdRSUVDQUFJRlFRSUNFbUtZSUVDQkFn
QUFCQWdRSQpFTmdDQW1UN3VCSWdRSUFBQVFJRUNCQWdFQW9Ja0JEVEZBRUNCQWdRSUVDQUFBRUNX
MENBYkI5WEFnUUlFQ0JBZ0FBQkFnUkNBUUVTCllwb2lRSUFBQVFJRUNCQWdRR0FMQ0pEdDQwcUFB
QUVDQkFnUUlFQ0FRQ2dnUUVKTVV3UUlFQ0JBZ0FBQkFnUUliQUVCc24xY0NSQWcKUUlBQUFRSUVD
QkFJQlFSSWlHbUtBQUVDQkFnUUlFQ0FBSUV0SUVDMmp5c0JBZ1FJRUNCQWdBQUJBcUdBQUFreFRS
RWdRSUFBQVFJRQpDQkFnc0FVRXlQWnhKVUNBQUFFQ0JBZ1FJRUFnRkJBZ0lhWXBBZ1FJRUNCQWdB
QUJBZ1MyZ0FEWlBxNEVDQkFnUUlBQUFRSUVDSVFDCkFpVEVORVdBQUFFQ0JBZ1FJRUNBd0JZUUlO
dkhsUUFCQWdRSUVDQkFnQUNCVUVDQWhKaW1DQkFnUUlBQUFRSUVDQkRZQWdKays3Z1MKSUVDQUFB
RUNCQWdRSUJBS0NKQVEweFFCQWdRSUVDQkFnQUFCQWx0QWdHd2ZWd0lFQ0JBZ1FJQUFBUUlFUWdF
QkVtS2FJa0NBQUFFQwpCQWdRSUVCZ0N3aVE3ZU5LZ0FBQkFnUUlFQ0JBZ0VBb0lFQkNURk1FQ0JB
Z1FJQUFBUUlFQ0d3QkFiSjlYQWtRSUVDQUFBRUNCQWdRCkNBVUVTSWhwaWdBQkFnUUlFQ0JBZ0FD
QkxTQkF0bzhyQVFJRUNCQWdRSUFBQVFLaGdBQUpNVTBSSUVDQUFBRUNCQWdRSUxBRkJNajIKY1NW
QWdBQUJBZ1FJRUNCQUlCUVFJQ0dtS1FJRUNCQWdRSUFBQVFJRXRvQUEyVDZ1QkFnUUlFQ0FBQUVD
QkFpRUFnSWt4RFJGZ0FBQgpBZ1FJRUNCQWdNQVdFQ0RieDVVQUFRSUVDQkFnUUlBQWdWQkFnSVNZ
cGdnUUlFQ0FBQUVDQkFnUTJBSUNaUHU0RWlCQWdBQUJBZ1FJCkVDQVFDZ2lRRU5NVUFRSUVDQkFn
UUlBQUFRSmJRSUJzSDFjQ0JBZ1FJRUNBQUFFQ0JFSUJBUkppbWlKQWdBQUJBZ1FJRUNCQVlBc0kK
a08zalNvQUFBUUlFQ0JBZ1FJQkFLQ0JBUWt4VEJBZ1FJRUNBQUFFQ0JBaHNBUUd5ZlZ3SkVDQkFn
QUFCQWdRSUVBZ0ZCRWlJYVlvQQpBUUlFQ0JBZ1FJQUFnUzBnUUxhUEt3RUNCQWdRSUVDQUFBRUNv
WUFBQ1RGTkVTQkFnQUFCQWdRSUVDQ3dCUVRJOW5FbFFJQUFBUUlFCkNCQWdRQ0FVRUNBaHBpa0NC
QWdRSUVDQUFBRUNCTGFBQU5rK3JnUUlFQ0JBZ0FBQkFnUUloQUlDSk1RMFJZQUFBUUlFQ0JBZ1FJ
REEKRmhBZzI4ZVZBQUVDQkFnUUlFQ0FBSUZRUUlDRW1LWUlFQ0JBZ0FBQkFnUUlFTmdDQW1UN3VC
SWdRSUFBQVFJRUNCQWdFQW9Ja0JEVApGQUVDQkFnUUlFQ0FBQUVDVzBDQWJCOVhBZ1FJRUNCQWdB
QUJBZ1JDQVFFU1lwb2lRSUFBQVFJRUNCQWdRR0FMQ0pEdDQwcUFBQUVDCkJBZ1FJRUNBUUNnZ1FF
Sk1Vd1FJRUNCQWdBQUJBZ1FJYkFFQnNuMWNDUkFnUUlBQUFRSUVDQkFJQlFSSWlHbUtBQUVDQkFn
UUlFQ0EKQUlFdElFQzJqeXNCQWdRSUVDQkFnQUFCQXFHQUFBa3hUUkVnUUlBQUFRSUVDQkFnc0FV
RXlQWnhKVUNBQUl3NXl4MEFBQW1ZU1VSQgpWQUVDQkFnUUlFQWdGQkFnSWFZcEFnUUlFQ0JBZ0FB
QkFnUzJnQURaUHE0RUNCQWdRSUFBQVFJRUNJUUNBaVRFTkVXQUFBRUNCQWdRCklFQ0F3QllRSU52
SGxRQUJBZ1FJRUNCQWdBQ0JVRUNBaEppbUNCQWdRSUFBQVFJRUNCRFlBZ0prKzdnU0lFQ0FBQUVD
QkFnUUlCQUsKQ0pBUTB4UUJBZ1FJRUNCQWdBQUJBbHRBZ0d3ZlZ3SUVDQkFnUUlBQUFRSUVRZ0VC
RW1LYUlrQ0FBQUVDQkFnUUlFQmdDd2lRN2VOSwpnQUFCQWdRSUVDQkFnRUFvSUVCQ1RGTUVDQkFn
UUlBQUFRSUVDR3dCQWJKOVhBa1FJRUNBQUFFQ0JBZ1FDQVVFU0locGlnQUJBZ1FJCkVDQkFnQUNC
TFNCQXRvOHJBUUlFQ0JBZ1FJQUFBUUtoZ0FBSk1VMFJJRUNBQUFFQ0JBZ1FJTEFGQk1qMmNTVkFn
QUFCQWdRSUVDQkEKSUJRUUlDR21LUUlFQ0JBZ1FJQUFBUUlFdG9BQTJUNnVCQWdRSUVDQUFBRUNC
QWlFQWdJa3hEUkZnQUFCQWdRSUVDQkFnTUFXRUNEYgp4NVVBQVFJRUNCQWdRSUFBZ1ZCQWdJU1lw
Z2dRSUVDQUFBRUNCQWdRMkFJQ1pQdTRFaUJBZ0FBQkFnUUlFQ0FRQ2dpUUVOTVVBUUlFCkNCQWdR
SUFBQVFKYlFJQnNIMWNDQkFnUUlFQ0FBQUVDQkVJQkFSSmltaUpBZ0FBQkFnUUlFQ0JBWUFzSWtP
M2pTb0FBQVFJRUNCQWcKUUlCQUtDQkFRa3hUQkFnUUlFQ0FBQUVDQkFoc0FRR3lmVndKRUNCQWdB
QUJBZ1FJRUFnRkJFaUlhWW9BQVFJRUNCQWdRSUFBZ1MwZwpRTGFQS3dFQ0JBZ1FJRUNBQUFFQ29Z
QUFDVEZORVNCQWdBQUJBZ1FJRUNDd0JRVEk5bkVsUUlBQUFRSUVDQkFnUUNBVUVDQWhwaWtDCkJB
Z1FJRUNBQUFFQ0JMYUFBTmsrcmdRSUVDQkFnQUFCQWdRSWhBSUNKTVEwUllBQUFRSUVDQkFnUUlE
QUZoQWcyOGVWQUFFQ0JBZ1EKSUVDQUFJRlFRSUNFbUtZSUVDQkFnQUFCQWdRSUVOZ0NBbVQ3dUJJ
Z1FJQUFBUUlFQ0JBZ0VBb0lrQkRURkFFQ0JBZ1FJRUNBQUFFQwpXMENBYkI5WEFnUUlFQ0JBZ0FB
QkFnUkNBUUVTWXBvaVFJQUFBUUlFQ0JBZ1FHQUxDSkR0NDBxQUFBRUNCQWdRSUVDQVFDZ2dRRUpN
ClV3UUlFQ0JBZ0FBQkFnUUliQUVCc24xY0NSQWdRSUFBQVFJRUNCQUlCUVJJaUdtS0FBRUNCQWdR
SUVDQUFJRXRJRUMyanlzQkFnUUkKRUNCQWdBQUJBcUdBQUFreFRSRWdRSUFBQVFJRUNCQWdzQVVF
eVBaeEpVQ0FBQUVDQkFnUUlFQWdGQkFnSWFZcEFnUUlFQ0JBZ0FBQgpBZ1MyZ0FEWlBxNEVDQkFn
UUlBQUFRSUVDSVFDQWlURU5FV0FBQUVDQkFnUUlFQ0F3QllRSU52SGxRQUJBZ1FJRUNCQWdBQ0JV
RUNBCmhKaW1DQkFnUUlBQUFRSUVDQkRZQWdKays3Z1NJRUNBQUFFQ0JBZ1FJQkFLQ0pBUTB4UUJB
Z1FJRUNCQWdBQUJBbHRBZ0d3ZlZ3SUUKQ0JBZ1FJQUFBUUlFUWdFQkVtS2FJa0NBQUFFQ0JBZ1FJ
RUJnQ3dpUTdlTktnQUFCQWdRSUVDQkFnRUFvSUVCQ1RGTUVDQkFnUUlBQQpBUUlFQ0d3QkFiSjlY
QWtRSUVDQUFBRUNCQWdRQ0FVRVNJaHBpZ0FCQWdRSUVDQkFnQUNCTFNCQXRvOHJBUUlFQ0JBZ1FJ
QUFBUUtoCmdBQUpNVTBSSUVDQUFBRUNCQWdRSUxBRkJNajJjU1ZBZ0FBQkFnUUlFQ0JBSUJRUUlD
R21LUUlFQ0JBZ1FJQUFBUUlFdG9BQTJUNnUKQkFnUUlFQ0FBQUVDQkFpRUFnSWt4RFJGZ0FBQkFn
UUlFQ0JBZ01BV0VDRGJ4NVVBQVFJRUNCQWdRSUFBZ1ZCQWdJU1lwZ2dRSUVDQQpBQUVDQkFnUTJB
SUNaUHU0RWlCQWdBQUJBZ1FJRUNBUUNnaVFFTk1VQVFJRUNCQWdRSUFBQVFKYlFJQnNIMWNDQkFn
UUlFQ0FBQUVDCkJFSUJBUkppbWlKQWdBQUJBZ1FJRUNCQVlBc0lrTzNqU29BQUFRSUVDQkFnUUlC
QUtDQkFRa3hUQkFnUUlFQ0FBQUVDQkFoc0FRR3kKZlZ3SkVDQkFnQUFCQWdRSUVBZ0ZCRWlJYVlv
QUFRSUVDQkFnUUlBQWdTMGdRTGFQS3dFQ0JBZ1FJRUNBQUFFQ29ZQUFDVEZORVNCQQpnQUFCQWdR
SUVDQ3dCUVRJOW5FbFFJQUFBUUlFQ0JBZ1FDQVVFQ0FocGlrQ0JBZ1FJRUNBQUFFQ0JMYUFBTmsr
cmdRSUVDQkFnQUFCCkFnUUloQUlDSk1RMFJZQUFBUUlFQ0JBZ1FJREFGaEFnMjhlVkFBRUNCQWdR
SUVDQUFJRlFRSUNFbUtZSUVDQkFnQUFCQWdRSUVOZ0MKQW1UN3VCSWdRSUFBQVFJRUNCQWdFQW9J
a0JEVEZBRUNCQWdRSUVDQUFBRUNXMENBYkI5WEFnUUlFQ0JBZ0FBQkFnUkNBUUVTWXBvaQpRSUFB
QVFJRUNCQWdRR0FMQ0pEdDQwcUFBQUVDQkFnUUlFQ0FRQ2dnUUVKTVV3UUlFQ0JBZ0FBQkFnUUli
QUVCc24xY0NSQWdRSUFBCkFRSUVDQkFJQlFSSWlHbUtBQUVDQkFnUUlFQ0FBSUV0SUVDMmp5c0JB
Z1FJRUNCQWdBQUJBcUdBQUFreFRSRWdRSUFBQVFJRUNCQWcKc0FVRXlQWnhKVUNBQUFFQ0JBZ1FJ
RUFnRkJBZ0lhWXBBZ1FJRUNCQWdBQUJBZ1MyZ0FEWlBxNEVDQkFnUUlBQUFRSUVDSVFDQWlURQpO
RVdBQUFFQ0JBZ1FJRUNBd0JZUUlOdkhsUUFCQWdRSUVDQkFnQUNCVUVDQWhKaW1DQkFnUUlBQUFR
SUVDQkRZQWdKays3Z1NJRUNBCkFBRUNCQWdRSUJBS0NKQVEweFFCQWdRSUVDQkFnQUFCQWx0QWdH
d2ZWd0lFQ0JBZ1FJQUFBUUlFUWdFQkVtS2FJa0NBQUFFQ0JBZ1EKSUVCZ0N3aVE3ZU5LZ0FBQkFn
UUlFQ0JBZ0VBb0lFQkNURk1FQ0JBZ1FJQUFBUUlFQ0d3QkFiSjlYQWtRSUVDQUFBRUNCQWdRQ0FV
RQpTSWhwaWdBQkFnUUlFQ0JBZ0FDQkxTQkF0bzhyQVFJRUNCQWdRSUFBQVFLaGdBQUpNVTBSSUVD
QUFBRUNCQWdRSUxBRkJNajJjU1ZBCmdBQUJBZ1FJRUNCQUlCUVFJQ0dtS1FJRUNCQWdRSUFBQVFJ
RXRvQUEyVDZ1QkFnUUlFQ0FBQUVDQkFpRUFnSWt4RFJGZ0FBQkFnUUkKRUNCQWdNQVdFQ0RieDVV
QUFRSUVDQkFnUUlBQWdWQkFnSVNZcGdnUUlFQ0FBQUVDQkFnUTJBSUNaUHU0RWlCQWdBQUJBZ1FJ
RUNBUQpDZ2lRRU5NVUFRSUVDQkFnUUlBQUFRSmJRSUJzSDFjQ0JBZ1FJRUNBQUFFQ0JFSUJBUkpp
bWlKQWdBQUJBZ1FJRUNCQVlBc0lrTzNqClNvQUFBUUlFQ0JBZ1FJQkFLQ0JBUWt4VEJBZ1FJRUNB
QUFFQ0JBaHNBUUd5ZlZ3SkVDQkFnQUFCQWdRSUVBZ0ZCRWlJYVlvQUFRSUUKQ0JBZ1FJQUFnUzBn
UUxhUEt3RUNCQWdRSUVDQUFBRUNvWUFBQ1RGTkVTQkFnQUFCQWdRSUVDQ3dCUVRJOW5FbFFJQUFB
UUlFQ0JBZwpRQ0FVRUNBaHBpa0NCQWdRSUVDQUFBRUNCTGFBQU5rK3JnUUlFQ0JBZ0FBQkFnUUlo
QUlDSk1RMFJZQUFBUUlFQ0JBZ1FJREFGaEFnCjI4ZVZBQUVDQkFnUUlFQ0FBSUZRUUlDRW1LWUlF
Q0JBZ0FBQkFnUUlFTmdDQW1UN3VCSWdRSUFBQVFJRUNCQWdFQW9Ja0JEVEZBRUMKQkFnUUlFQ0FB
QUVDVzBDQWJCOVhBZ1FJRUNCQWdBQUJBZ1JDQVFFU1lwb2lRSUFBQVFJRUNCQWdRR0FMQ0pEdDQw
cUFBQUVDQkFnUQpJRUNBUUNnZ1FFSk1Vd1FJRUNCQWdBQUJBZ1FJYkFFQnNuMWNDUkFnUUlBQUFR
SUVDQkFJQlFSSWlHbUtBQUVDQkFnUUlFQ0FBSUV0CjhHODdqUnRBZDFFaFdnQUFBQUJKUlU1RXJr
SmdnZz09CgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRl
clJlczMtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2Vk
IGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJl
YW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmls
dGVycy9maWx0ZXJSZXMzLWV4cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10
eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVV
Z0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpW
TTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51
dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdN
NSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1Rp
UUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9n
OAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pU
MWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lI
Q0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhI
WkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5u
M3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekox
SkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIz
bEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekht
Z2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2Mkpp
emRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExx
d3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NL
bVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4
TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVz
eFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytm
bXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVRVlI0QWUzZFFXcGJBUkJFd1NqazNp
RW50MDB1NEkzNFREK1h0akw2MDlYYU5NYjQ5ZkgxK3VWRmdBQUJBZ1FJRUNCQWdBQ0IKQndSK1Av
QU1qeUJBZ0FBQkFnUUlFQ0JBZ01CL0FRUEVGNEVBQVFJRUNCQWdRSUFBZ2NjRURKREhxRDJJQUFF
Q0JBZ1FJRUNBQUFFRAp4SGVBQUFFQ0JBZ1FJRUNBQUlISEJBeVF4Nmc5aUFBQkFnUUlFQ0JBZ0FB
QkE4UjNnQUFCQWdRSUVDQkFnQUNCeHdRTWtNZW9QWWdBCkFRSUVDQkFnUUlBQWdUL2ZFYnordmI3
N0VlOEhCRDcrK25jd2dScEZJRUNBQUFFQ0JBaWNGL2gyZ0p4UDRNQnpBa2JydVVyZWZwREIKK25a
U0gwaUFBQUVDQkg2TWdBSHlZNm9XbE1CZEFhUDFiamZ2dU14Z2ZZZWl6eUJBZ0VCSHdOK0FkTHFV
aEFBQkFnUUlFQ0JBZ01CNQpBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJ
RUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1CkpTRkFnQUFCQWdRSUVDQndYc0FB
T1YrUkF3a1FJRUNBQUFFQ0JBaDBCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1EK
SUVDQUFBRUNCRG9DQmtpblMwa0lFQ0JBZ0FBQkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNI
UUVEcE5PbEpBUUlFQ0JBZ0FBQgpBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNB
Z1FJRUNCQWdBQUJBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FRRWZBCkFPbDBLUWtCQWdRSUVDQkFn
QUNCOHdJR3lQbUtIRWlBQUFFQ0JBZ1FJRUNnSTJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZF
VU8KSkVDQUFBRUNCQWdRSU5BUk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFB
RUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQgpBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJB
eVFUcGVTRUNCQWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDCkJEb0NCa2luUzBrSUVD
QkFnQUFCQWdRSW5CY3dRTTVYNUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdU
T0N4Z2cKNXl0eUlBRUNCQWdRSUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRt
UUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQgpBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFn
UUlFQ2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVDCkJBZ1FJTkFSTUVB
NlhVcENnQUFCQWdRSUVDQkE0THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFC
QWdRSUVDQncKWHNBQU9WK1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2
WUlDY3I4aUJCQWdRSUVDQUFBRUNCRG9DQmtpbgpTMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFD
QkFnUUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZzV5dHlJQUVDCkJBZ1FJRUNB
QUlHT2dBSFM2VklTQWdRSUVDQkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBL
UWtCQWdRSUVDQkEKZ0FDQjh3SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlF
Q0JBZ01CNUFRUGtmRVVPSkVDQUFBRUNCQWdRSU5BUgpNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFB
WEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSCkF3a1FJ
RUNBQUFFQ0JBaDBCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JE
b0NCa2luUzBrSUVDQkEKZ0FBQkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpB
UUlFQ0JBZ0FBQkFnVE9DeGdnNXl0eUlBRUNCQWdRSUVDQQpBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdB
QUJBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHCnlQ
bUtIRWlBQUFFQ0JBZ1FJRUNnSTJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFF
Q0JBZ1FJTkFSTUVBNlhVcEMKZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFn
WUlKMHVKU0ZBZ0FBQkFnUUlFQ0J3WHNBQU9WK1JBd2tRSUVDQQpBQUVDQkFoMEJBeVFUcGVTRUNC
QWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJ
Cm5CY3dRTTVYNUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5
SUFFQ0JBZ1FJRUNBQUlHT2dBSFMKNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdR
SUVDQVFFZkFBT2wwS1FrQkFnUUlFQ0JBZ0FDQjh3SUd5UG1LSEVpQQpBQUVDQkFnUUlFQ2dJMkNB
ZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJB
Z1FJCkVDQkE0THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndY
c0FBT1YrUkF3a1FJRUNBQUFFQ0JBaDAKQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJC
QWdRSUVDQUFBRUNCRG9DQmtpblMwa0lFQ0JBZ0FBQkFnUUluQmN3UU01WAo1RUFDQkFnUUlFQ0FB
QUVDSFFFRHBOT2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZW
SVNBZ1FJCkVDQkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVD
QkFnQUNCOHdJR3lQbUtIRWlBQUFFQ0JBZ1EKSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFR
UGtmRVVPSkVDQUFBRUNCQWdRSU5BUk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QQpBWEsrSWdjU0lF
Q0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFo
MEJBeVFUcGVTCkVDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBr
SUVDQkFnQUFCQWdRSW5CY3dRTTVYNUVBQ0JBZ1EKSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FB
QkFnVE9DeGdnNXl0eUlBRUNCQWdRSUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQgpBdWNGREpE
ekZUbVFBQUVDQkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVD
QkFnUUlFQ2dJMkNBCmRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFS
TUVBNlhVcENnQUFCQWdRSUVDQkE0THlBQVhLK0lnY1MKSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZB
Z0FBQkFnUUlFQ0J3WHNBQU9WK1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQgpBZ1FJ
RURndjhQcjRlcDIvMG9FRUNCQWdRSUFBQVFJRUNDUUUvQVlrVWFNUUJBZ1FJRUNBQUFFQ0JEWUVE
SkNObmx4SmdBQUJBZ1FJCkVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJ
RUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1EKTUVBMmVuSWxBUUlFQ0JBZ1FJQUFn
WVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVSwpR
WUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFn
UUliQWdZSUJzOXVaSUFBUUlFCkNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295
ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWcKc0NGZ2dHejA1RW9DQkFnUUlF
Q0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlB
awphaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlB
QUFRSUVDQkRZRURCQU5ucHlKUUVDCkJBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhz
Q0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1EKSUVCZ1E4QUEyZWpKbFFR
SUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNB
UUVMQQpBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFG
SUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLCkFnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFB
QVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUkKRUNCQWdNQ0dnQUd5
MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlF
Q0JBZ0FDQgpoSUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFN
RUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5vCnlaVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJ
RUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUUKQ0JBZ1FJQUFn
UTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1Nn
SUVDQkFnUUlBQQpBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVD
QkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCCnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJ
MUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0MKQkFnUUlF
Q0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FE
WjZNbVZCQWdRSUVDQQpBQUVDQkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJ
RUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOCkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVn
SUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2oKRUFR
SUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNB
d0lhQUFiTFJreXNKRUNCQQpnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5
SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCCkFoc0NCc2hHVDY0a1FJQUFBUUlF
Q0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWkkK
b2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlF
Q0JBZ0FDQkRRRURaS01uVnhJZwpRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZ
SUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBCkFRSUVOZ1FNa0kyZVhFbUFB
QUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUND
UUUKREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNB
SUVDQkFnUUlBQUFRSWJBZ2JJUmsrdQpKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVD
QkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBCkFBRUNCQWhzQ0JnZ0d6
MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFF
Q0JBZ1EKU0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFN
a1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTgpubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJ
RUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBCmdBQUJBZ1FJRU5n
UU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJB
Z0FBQkFnUUkKRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVD
QkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWQpJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFv
QkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnClFJQUFBUUlF
Q0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFq
WjVjU1lBQUFRSUUKQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFn
QUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWQpFREJBTm5weUpRRUNCQWdRSUVDQUFJR0Vn
QUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxCkNrR0FB
QUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNH
d0lHQ0FiUGJtU0FBRUMKQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4
SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUQpJTEFoWUlCczlPUktBZ1FJRUNCQWdB
QUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBCkpH
b1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFF
Q0JBZ1EyQkF3UURaNmNpVUIKQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdi
SVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSQpFQ0JBWUVQQUFObm95WlVFQ0JB
Z1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJD
CndBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JB
Z0FBQkFnUUlFQ0N3SVdDQWJQVGsKU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVD
QkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRQpDQkFnUUlEQWhvQUJzdEdU
S3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdR
SUFBCmdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFF
alVLUVlBQUFRSUVDQkFnUUdCRHdBRFoKNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFn
QUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQwpCQWdRSUVDQUFJRU5B
UU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JB
Z1FJRUNBCkFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FD
QWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUEKQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFo
QWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSQpBZ1FJRUNCQWdB
QUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVq
SmxRUUlFQ0JBCmdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFn
UUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0IKRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0Jn
Z2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUgpveEFFQ0JB
Z1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNH
Z0FHeTBaTXJDUkFnClFJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVC
QWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUEKQVFJYkFnYklSayt1SkVDQUFBRUNCQWdR
SUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJRwpTS0pH
SVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdR
SUFBZ1EwQkEyU2pKMWNTCklFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0Fi
UFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0EKQUFFQ0JEWUVESkNObmx4SmdBQUJB
Z1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFnawpC
QXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JB
Z1FJRUNBQUFFQ0d3SUd5RVpQCnJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FH
QkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkEKZ0FBQkFnUUliQWdZSUJzOXVa
SUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdR
SQpFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZH
akVBUUlFQ0JBZ0FBQkFnUTJCQXlRCmpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFn
UUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWcKUUlBQUFRSUVDQkRZRURC
QU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFB
QVFJRQpDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FT
QWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJCkdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFC
QWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUYKSUVDQUFBRUNCQWdR
SUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVY
RW1BQUFFQwpCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFB
UUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRCjJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJr
cWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVMKTlFwQmdBQUJB
Z1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NC
Z2dHejI1a2dBQgpBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lF
Q0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJCkVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFR
SUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmcKZ0NScUZJ
SUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdR
SUVOZ1FNRUEyZW5JbApBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVa
UHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFCkNCQWdRR0JEd0FEWjZNbVZCQWdRSUVD
QUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkEKUXNB
QVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFB
QVFJRUNCQWdzQ0ZnZ0d6MAo1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1Ey
QkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDCkJBZ1FJRUNBd0lhQUFiTFJreXNK
RUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0EK
QUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFD
a0dBQUFFQ0JBZ1FJRUJnUThBQQoyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFB
UUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCCkFnUUlFQ0JBZ0FDQkRRRURa
S01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVD
QkEKZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lX
Q0FKR29VZ2dBQkFnUUlFQ0JBZ01DRwpnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlF
Q0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSCkNBSUVDQkFnUUlBQUFR
SWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpV
RUNCQWcKUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNC
QWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQQpnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlr
YWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rClVhTVFCQWdRSUVD
QUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FC
c3RHVEt3a1EKSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlF
Q0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQQpBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NR
RURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDCkJraWlSaUVJ
RUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FB
SUVOQVFOa295ZFgKRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1
RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQQpnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVD
QkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJCkpBUU1r
RVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVD
QkFnQUFCQWhzQ0JzaEcKVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4
QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZwpRSUFBQVFJRUNHd0lHQ0FiUGJtU0FB
RUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFCkNC
QklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hB
RUNCQWdRSUFBQVFJRU5nUU0Ka0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNC
QWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUQpJRUNBQUFFQ0JBZ1EyQkF3UURa
NmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVD
CkJBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lH
U0tKR0lRZ1FJRUNBQUFFQ0JBaHMKQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlF
Q0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYQpoU0JBZ0FBQkFnUUlFQ0N3
SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCUGVXSlEwQUFBajFT
VVJCClZEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJz
dEdUS3drUUlFQ0FBQUVDQkFna0JBeVEKUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVD
QkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQQpnQUFCQWdRSUVDQ1FF
REJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVD
QkFnQUFCCkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJ
RU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0kKR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVF
b0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1YwpTWUFBQVFJRUNC
QWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VT
TlFoQWdRSUFBCkFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNC
QWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWcKa0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThB
QTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYgpQYm1TQUFF
Q0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJ
Q0JnZ2lScUZJRUNBCkFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFF
Q0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1EKSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JB
Z01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBdwpRRFo2
Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNC
QWdRSUpBUU1FQVNOUXBCCmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdT
S0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUkKRUNCQWdFQkN3QUJKMUNnRUFRSUVD
QkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDdwpJ
V0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdB
QUJBZ1FJRUNCQUlDRmdnQ1JxCkZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JB
Z2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUUKQ0JBZ1FJQUFnWVNBQVpLb1VR
Z0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JB
ZwpRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJz
OXVaSUFBUUlFQ0JBZ1FJQkFRc0FBClNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FB
QkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0MKQkFnUUlFQ0FBQUVDQ1FF
REpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVD
QkFnUQpJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZ
RURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFCmdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRr
UUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakoKbFFRSUVDQkFnQUFC
QWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVL
QVFCQWdRSQpFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNC
QWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCCkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1r
STJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kKMFpNckNSQWdR
SUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJ
QUJrcWhSQ0FJRQpDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdB
QUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBCkFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JB
aHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEIKQTJTakox
Y1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlB
QUFRSUpBUU1rVWFNUQpCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NS
cUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBCkFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FB
QkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUMKR3dJ
R3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdR
SUVDQUFBRUNCQklDQmtpaQpSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJB
UXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBCmdBQUJBZ1FJRUVnSUdDQ0pHb1Vn
UUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUIK
QWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJr
eXNKRUNCQWdBQUJBZ1FJSkFRTQprRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJ
RUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrClFJQUFBUUlFQ0JBZ2tCQXdR
QkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJ
QUEKQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRR
RURaS01uVnhJZ1FJQUFBUUlFQ0JCSQpDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0Fn
UUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlClhFbUFBQUVDQkFnUUlF
QWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJ
UUlFQ0EKQUFFQ0JBZ1EyQkQ0QkdNRkZhMzl5ZFhIQUFBQUFFbEZUa1N1UW1DQwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69890</attachid>
            <date>2010-10-05 22:53:49 -0700</date>
            <delta_ts>2010-10-06 01:55:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31370-20101006075345.patch</filename>
            <type>text/plain</type>
            <size>130753</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTEzNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTM2IEBACisyMDEwLTEwLTA1ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU1ZH
cyB3aXRoIGZpbHRlcnMgbG9vayBncmFpbnkgd2hlbiBzY2FsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MjYKKworICAgICAgICBTVkcgZmlsdGVy
IGVmZmVjdHMgbmVlZCBzbWFydGVyIHNpemUgY2FsY3VsYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMzcwCisKKyAgICAgICAgU1ZHIGVsZW1l
bnRzIHVzZSBGaWx0ZXJzIGJlZm9yZSBvd24gdHJhbnNmb3JtYXRpb25zCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjQ4NgorCisgICAgICAgIENhbGN1
bGF0ZSBhbGwgZmlsdGVyIHJlc3VsdHMgaW4gZGV2aWNlIHNwYWNlIGluc3RlYWQgb2YgdGhlIGZp
bHRlcmVkIG9iamVjdHMgdXNlciBzcGFjZS4gVGhpcyBjaGFuZ2UgaXMgc2ltaWxhciB0bworICAg
ICAgICB0aGUgcGF0Y2hlcyBmb3IgU1ZHIFBhdHRlcm4gYW5kIFNWRyBNYXNrZXIgYmVmb3JlLiBJ
dCBhdm9pZHMgcGl4ZWxhdGlvbiBhbmQgZ3VhcmFudGVlcyBzbW9vdGggZmlsdGVyIHJlc3VsdHMg
Zm9yCisgICAgICAgIGV2ZXJ5IHNjYWxlIGxldmVsIGFuZCBpcyBpbmRlcGVuZGVudCBvZiBhbnkg
dHJhbnNmb3JtYXRpb24gdG8gdGhlIHRhcmdldCBlbGVtZW50IG9yIGFueSBhbmNlc3RlciBvZiB0
aGUgdGFyZ2V0LgorICAgICAgICBUaGUgc2Vjb25kIHBhcnQgb2YgdGhpcyBwYXRjaCByZWR1Y2Vz
IHRoZSBzaXplIG9mIGV2ZXJ5IGVmZmVjdCB0byB0aGUgc21hbGxlc3QgYWZmZWN0ZWQgcmVnaW9u
IGluc3RlYWQgb2YgdGhlIGNvbXBsZXRlCisgICAgICAgIGZpbHRlciBwcmltaXRpdmUgc3VicmVn
aW9uIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0ZpbHRlclByaW1pdGl2
ZVN1YlJlZ2lvbikuIFdlIGp1c3QgdXNlIHRoZSBzdWJyZWdpb24KKyAgICAgICAgYXMgY2xpcHBp
bmcgcmVnaW9uLCBsaWtlIG1lbnRpb25lZCBpbiB0aGUgU1ZHIHNwZWNpZmljYXRpb24sIHRvIG1h
a2UgdGhlIGFmZmVjdGVkIHJlZ2lvbiBldmVuIHNtYWxsZXIgbm93LgorCisgICAgICAgIFRoaXMg
aXMgYSBodWdlIHNwZWVkIHVwLiBUaGUgRUNNQSBjbG91ZCAoaHR0cDovL2Vqb2huLm9yZy9maWxl
cy9lY21hLWNsb3VkLnN2ZykgaXMgbW9yZSB0aGFuIDEwMCB0aW1lcyBmYXN0ZXIgb24gR3RrIGFu
ZAorICAgICAgICByZW5kZXJzIGluIGxlc3MgdGhhbiBhIHNlY29uZC4KKyAgICAgICAgU29tZSBl
eGFtcGxlcyBvbiBzdmctd293Lm9yZyBjYW4gYmUgdmlld2VkIHRoZSBmaXJzdCB0aW1lIG5vdywg
c2luY2UgdGhlIHN1YnJlZ2lvbnMgd2VyZSBtdWNoIGJpZ2dlciB0aGFuIHRoZSBhZmZlY3RlZAor
ICAgICAgICByZWdpb24uCisgICAgICAgIFRoZXJlJ3Mgc3RpbGwgbW9yZSBwb3RlbnRpYWwgdG8g
c3BlZWQgdXAgZmlsdGVycywgYnkgZnVydGhlciByZWR1Y2luZyB0aGUgSW1hZ2VCdWZmZXIgc2l6
ZXMuCisgICAgICAgIFJlbmFtZWQgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMgdG8gYWJz
b2x1dGVQYWludFJlY3QsIHNpbmNlIGFsbCBjb29yZGluYXRlcyBhcmUgaW4gZGV2aWNlIHNwYWNl
IGluc3RlYWQgb2YgdGhlCisgICAgICAgIHVzZXIgc3BhY2Ugbm93LgorICAgICAgICBUaGUgYWJz
b2x1dGUgcGFpbnQgcmVjdCBpcyBjYWxjdWxhdGVkIGJ5IGRldGVybWluZUFic29sdXRlUGFpbnRS
ZWN0KCkgYW5kIGdldHMgY2FsbGVkIGJ5IEZpbHRlckVmZmVjdDo6ZWZmZWN0Q29udGV4dCgpIG9u
CisgICAgICAgIGFwcGx5aW5nIHRoZSBlZmZlY3QuCisgICAgICAgIFBhcnRseSByZXdyb3RlIGZp
bHRlciByZXNvbHV0aW9uIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0Zp
bHRlckVsZW1lbnRGaWx0ZXJSZXNBdHRyaWJ1dGUpIHRvIHdvcmsgd2l0aCB0aGUKKyAgICAgICAg
bmV3IGNvbmNlcHQuIFRoaXMgYWxzbyBjb3JyZWN0cyB0aGUgb2xkIGJlaGF2aW9yIHRvIG1hdGNo
IHRoZSBTVkcgc3BlY2lmaWNhdGlvbi4KKworICAgICAgICBUZXN0czogc3ZnL2ZpbHRlcnMvZmls
dGVyUmVzMS5zdmcKKyAgICAgICAgICAgICAgIHN2Zy9maWx0ZXJzL2ZpbHRlclJlczIuc3ZnCisg
ICAgICAgICAgICAgICBzdmcvZmlsdGVycy9maWx0ZXJSZXMzLnN2ZworCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOiBDYWxsIHNldEFi
c29sdXRlUGFpbnRSZWN0IGluc3RlYWQgb2Ygc2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0
ZXMuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNyZWF0ZVNoYWRvd01hc2sp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVCbGVuZC5jcHA6IFJlbmFt
ZWQgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMgdG8gYWJzb2x1dGVQYWludFJlY3QuCisg
ICAgICAgIChXZWJDb3JlOjpGRUJsZW5kOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRUNvbG9yTWF0cml4LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpGRUNvbG9yTWF0cml4OjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpG
RUNvbXBvbmVudFRyYW5zZmVyOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDb21w
b3NpdGU6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZF
Q29tcG9zaXRlOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUNvbXBvc2l0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252
b2x2ZU1hdHJpeC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDb252b2x2ZU1hdHJp
eDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2
ZU1hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZTo6RkVDb252b2x2ZU1hdHJpeDo6ZGV0ZXJtaW5l
QWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVEaXNwbGFjZW1lbnRNYXAuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFRGlzcGxh
Y2VtZW50TWFwOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RURpc3BsYWNlbWVudE1hcC5oOgorICAgICAgICAoV2ViQ29yZTo6RkVEaXNwbGFjZW1lbnRNYXA6
OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFRmxvb2QuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFRmxvb2Q6
OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRmxvb2QuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkZFRmxvb2Q6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcDog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVLZXJuZWxTaXplKToKKyAgICAgICAg
KFdlYkNvcmU6OkZFR2F1c3NpYW5CbHVyOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGRUdhdXNzaWFuQmx1cjo6YXBwbHkpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkZFTGlnaHRpbmc6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFTWVyZ2UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFTWVyZ2U6OmFwcGx5
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVNb3JwaG9sb2d5OjpkZXRlcm1pbmVBYnNvbHV0
ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGRU1vcnBob2xvZ3k6OmFwcGx5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OkZFT2Zmc2V0OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpGRU9mZnNldDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVPZmZzZXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFVGlsZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVUaWxlOjpkZXRlcm1p
bmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6RkVUaWxlOjph
cHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZFVGlsZTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxlbmNlLmNwcDogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpGRVR1cmJ1bGVuY2U6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVHVyYnVsZW5jZS5oOgorICAgICAgICAoV2ViQ29yZTo6
RkVUdXJidWxlbmNlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRl
cjo6YXBwbHlIb3Jpem9udGFsU2NhbGUpOiBNYXAgaG9yaXpvbnRhbCBlZmZlY3QgdmFsdWVzIHRv
IGFic29sdXRlIGNvb3JkaW5hdGVzLgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyOjphcHBseVZl
cnRpY2FsU2NhbGUpOiBNYXAgdmVydGljYWwgZWZmZWN0IHZhbHVlcyB0byBhYnNvbHV0ZSBjb29y
ZGluYXRlcy4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlcjo6bWFwQWJzb2x1dGVQb2ludFRvTG9j
YWxQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXI6OmZpbHRlclJlZ2lvbkluVXNlclNw
YWNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpkZXRlcm1pbmVGaWx0
ZXJQcmltaXRpdmVTdWJyZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0Ojpk
ZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZl
Y3Q6OnJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6
RmlsdGVyRWZmZWN0OjpkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkZpbHRlckVmZmVjdDo6ZWZmZWN0Q29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVm
ZmVjdDo6YWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0
OjpzZXRBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6
Om1heEVmZmVjdFJlY3QpOiBUaGUgc3VicmVnaW9uIGluIGFic29sdXRlIGNvb3JkaW5hdGVzIGZv
ciBTVkcuCisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6OnNldE1heEVmZmVjdFJlY3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUFscGhhOjpkZXRlcm1pbmVBYnNvbHV0ZVBh
aW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VBbHBoYTo6YXBwbHkpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUdyYXBoaWM6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUdyYXBoaWM6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRl
ckRhdGE6OkZpbHRlckRhdGEpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZF
SW1hZ2UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFSW1hZ2U6OmFwcGx5KToKKyAg
ICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmg6CisgICAgICAgIChXZWJD
b3JlOjpGRUltYWdlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgICogc3Zn
L2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Zp
bHRlcjo6U1ZHRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6ZGV0ZXJtaW5l
RmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6
YXBwbHlIb3Jpem9udGFsU2NhbGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjphcHBs
eVZlcnRpY2FsU2NhbGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjpjcmVhdGUpOgor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRmlsdGVyOjplZmZlY3RCb3VuZGluZ0JveE1vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRmlsdGVyOjpmaWx0ZXJSZWdpb25JblVzZXJTcGFjZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdGaWx0ZXI6OmZpbHRlclJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXI6
Om1hcEFic29sdXRlUG9pbnRUb0xvY2FsUG9pbnQpOiBNYXAgYWJzb2x1dGUgcG9pbnQgdG8gbG9j
YWwgcG9pbnQgaW4gdXNlcnNwYWNlLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjpzb3Vy
Y2VJbWFnZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjptYXhJbWFnZVNpemUp
OgorCiAyMDEwLTEwLTA1ICBLaW1tbyBLaW5udW5lbiAgPGtpbW1vLnQua2lubnVuZW5Abm9raWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWly
by5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFw
aGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTk0NCwxMiArOTQ0LDEyIEBAIFBsYXRmb3JtUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gR3Jh
cGhpY3MKICAgICBSZWZQdHI8RmlsdGVyPiBmaWx0ZXIgPSBJbWFnZUJ1ZmZlckZpbHRlcjo6Y3Jl
YXRlKCk7CiAgICAgZmlsdGVyLT5zZXRTb3VyY2VJbWFnZShidWZmZXIpOwogICAgIFJlZlB0cjxG
aWx0ZXJFZmZlY3Q+IHNvdXJjZSA9IFNvdXJjZUdyYXBoaWM6OmNyZWF0ZSgpOwotICAgIHNvdXJj
ZS0+c2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoRmxvYXRSZWN0KEZsb2F0UG9pbnQo
KSwgc2hhZG93UmVjdC5zaXplKCkpKTsKKyAgICBzb3VyY2UtPnNldEFic29sdXRlUGFpbnRSZWN0
KEludFJlY3QoSW50UG9pbnQoKSwgcm91bmRlZEludFNpemUoc2hhZG93UmVjdC5zaXplKCkpKSk7
CiAgICAgc291cmNlLT5zZXRJc0FscGhhSW1hZ2UodHJ1ZSk7CiAgICAgUmVmUHRyPEZpbHRlckVm
ZmVjdD4gYmx1ciA9IEZFR2F1c3NpYW5CbHVyOjpjcmVhdGUoc3RkRGV2aWF0aW9uLCBzdGREZXZp
YXRpb24pOwogICAgIEZpbHRlckVmZmVjdFZlY3RvciYgaW5wdXRFZmZlY3RzID0gYmx1ci0+aW5w
dXRFZmZlY3RzKCk7CiAgICAgaW5wdXRFZmZlY3RzLmFwcGVuZChzb3VyY2UuZ2V0KCkpOwotICAg
IGJsdXItPnNldFJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKEZsb2F0UmVjdChGbG9hdFBv
aW50KCksIHNoYWRvd1JlY3Quc2l6ZSgpKSk7CisgICAgYmx1ci0+c2V0QWJzb2x1dGVQYWludFJl
Y3QoSW50UmVjdChJbnRQb2ludCgpLCByb3VuZGVkSW50U2l6ZShzaGFkb3dSZWN0LnNpemUoKSkp
KTsKICAgICBibHVyLT5hcHBseShmaWx0ZXIuZ2V0KCkpOwogICAgIHJldHVybiBibHVyLT5yZXN1
bHRJbWFnZSgpLT5tX2RhdGEubV9zdXJmYWNlOwogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVCbGVuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQmxlbmQuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUJsZW5kLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTgsMTMgKzk4LDEzIEBAIHZvaWQgRkVCbGVuZDo6YXBwbHkoRmlsdGVyKiBmaWx0
ZXIpCiAgICAgaWYgKG1fbW9kZSA9PSBGRUJMRU5EX01PREVfVU5LTk9XTikKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaWYgKCFlZmZlY3RDb250ZXh0KCkpCisgICAgaWYgKCFlZmZlY3RDb250ZXh0
KGZpbHRlcikpCiAgICAgICAgIHJldHVybjsKIAotICAgIEludFJlY3QgZWZmZWN0QURyYXdpbmdS
ZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+cmVwYWludFJlY3RJbkxv
Y2FsQ29vcmRpbmF0ZXMoKSk7CisgICAgSW50UmVjdCBlZmZlY3RBRHJhd2luZ1JlY3QgPSByZXF1
ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAg
ICBSZWZQdHI8Q2FudmFzUGl4ZWxBcnJheT4gc3JjUGl4ZWxBcnJheUEoaW4tPnJlc3VsdEltYWdl
KCktPmdldFByZW11bHRpcGxpZWRJbWFnZURhdGEoZWZmZWN0QURyYXdpbmdSZWN0KS0+ZGF0YSgp
KTsKIAotICAgIEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJ
bnB1dEltYWdlRGF0YShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAg
IEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdl
RGF0YShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpOwogICAgIFJlZlB0cjxDYW52YXNQaXhlbEFy
cmF5PiBzcmNQaXhlbEFycmF5QihpbjItPnJlc3VsdEltYWdlKCktPmdldFByZW11bHRpcGxpZWRJ
bWFnZURhdGEoZWZmZWN0QkRyYXdpbmdSZWN0KS0+ZGF0YSgpKTsKIAogICAgIEludFJlY3QgaW1h
Z2VSZWN0KEludFBvaW50KCksIHJlc3VsdEltYWdlKCktPnNpemUoKSk7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xvck1hdHJpeC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29sb3JNYXRyaXguY3BwCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNv
bG9yTWF0cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYwLDExICsxNjAsMTEgQEAgdm9pZCBG
RUNvbG9yTWF0cml4OjphcHBseShGaWx0ZXIqIGZpbHRlcgogICAgIGlmICghaW4tPnJlc3VsdElt
YWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29u
dGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRl
eHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAg
ICAgICByZXR1cm47CiAKLSAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJl
c3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2Uo
aW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKKyAgICBmaWx0ZXJDb250ZXh0
LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRy
YXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKIAogICAg
IEludFJlY3QgaW1hZ2VSZWN0KEludFBvaW50KCksIHJlc3VsdEltYWdlKCktPnNpemUoKSk7CiAg
ICAgUGFzc1JlZlB0cjxJbWFnZURhdGE+IGltYWdlRGF0YShyZXN1bHRJbWFnZSgpLT5nZXRVbm11
bHRpcGxpZWRJbWFnZURhdGEoaW1hZ2VSZWN0KSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNmZXIuY3BwCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNv
bXBvbmVudFRyYW5zZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU0LDcgKzE1NCw3IEBAIHZv
aWQgRkVDb21wb25lbnRUcmFuc2Zlcjo6YXBwbHkoRmlsdGVyKiAKICAgICBpZiAoIWluLT5yZXN1
bHRJbWFnZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIWVmZmVjdENvbnRleHQoKSkK
KyAgICBpZiAoIWVmZmVjdENvbnRleHQoZmlsdGVyKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
dW5zaWduZWQgY2hhciByVmFsdWVzWzI1Nl0sIGdWYWx1ZXNbMjU2XSwgYlZhbHVlc1syNTZdLCBh
VmFsdWVzWzI1Nl07CkBAIC0xNjcsNyArMTY3LDcgQEAgdm9pZCBGRUNvbXBvbmVudFRyYW5zZmVy
OjphcHBseShGaWx0ZXIqIAogICAgIGZvciAodW5zaWduZWQgY2hhbm5lbCA9IDA7IGNoYW5uZWwg
PCA0OyBjaGFubmVsKyspCiAgICAgICAgICgqY2FsbEVmZmVjdFt0cmFuc2ZlckZ1bmN0aW9uW2No
YW5uZWxdLnR5cGVdKSh0YWJsZXNbY2hhbm5lbF0sIHRyYW5zZmVyRnVuY3Rpb25bY2hhbm5lbF0p
OwogCi0gICAgSW50UmVjdCBkcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFn
ZURhdGEoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgIEludFJlY3Qg
ZHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5hYnNvbHV0
ZVBhaW50UmVjdCgpKTsKICAgICBSZWZQdHI8SW1hZ2VEYXRhPiBpbWFnZURhdGEoaW4tPnJlc3Vs
dEltYWdlKCktPmdldFVubXVsdGlwbGllZEltYWdlRGF0YShkcmF3aW5nUmVjdCkpOwogICAgIENh
bnZhc1BpeGVsQXJyYXkqIHNyY1BpeGVsQXJyYXkoaW1hZ2VEYXRhLT5kYXRhKCkpOwogCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5j
cHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFQ29tcG9zaXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDYgKzExMiwyNyBAQCBpbmxp
bmUgdm9pZCBhcml0aG1ldGljKGNvbnN0IFJlZlB0cjxDYW52CiAgICAgICAgIH0KICAgICB9CiB9
CisgICAgCit2b2lkIEZFQ29tcG9zaXRlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0
ZXIqIGZpbHRlcikKK3sKKyAgICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2UgRkVDT01QT1NJ
VEVfT1BFUkFUT1JfSU46CisgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9BVE9QOgorICAg
ICAgICAvLyBGb3IgSW4gYW5kIEF0b3AgdGhlIGZpcnN0IGVmZmVjdCBqdXN0IGluZmx1ZW5jZXMg
dGhlIHJlc3VsdCBvZgorICAgICAgICAvLyB0aGUgc2Vjb25kIGVmZmVjdC4gU28ganVzdCB1c2Ug
dGhlIGFic29sdXRlIHBhaW50IHJlY3Qgb2YgdGhlIHNlY29uZCBlZmZlY3QgaGVyZS4KKyAgICAg
ICAgc2V0QWJzb2x1dGVQYWludFJlY3QoaW5wdXRFZmZlY3QoMSktPmFic29sdXRlUGFpbnRSZWN0
KCkpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9BUklU
SE1FVElDOgorICAgICAgICAvLyBBcml0aG1ldGljIG1heSBpbmZsdW5jZSB0aGUgY29tcGxlIGZp
bHRlciBwcmltaXRpdmUgcmVnaW9uLiBTbyB3ZSBjYW4ndAorICAgICAgICAvLyBvcHRpbWl6ZSB0
aGUgcGFpbnQgcmVnaW9uIGhlcmUuCisgICAgICAgIHNldEFic29sdXRlUGFpbnRSZWN0KG1heEVm
ZmVjdFJlY3QoKSk7CisgICAgICAgIHJldHVybjsKKyAgICBkZWZhdWx0OgorICAgICAgICAvLyBU
YWtlIHRoZSB1bmlvbiBvZiBib3RoIGlucHV0IGVmZmVjdHMuCisgICAgICAgIEZpbHRlckVmZmVj
dDo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoZmlsdGVyKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KK30KIAogdm9pZCBGRUNvbXBvc2l0ZTo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7CkBA
IC0xMjIsMzkgKzE0MywzOSBAQCB2b2lkIEZFQ29tcG9zaXRlOjphcHBseShGaWx0ZXIqIGZpbHRl
cikKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpIHx8ICFpbjItPnJlc3VsdEltYWdlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVm
ZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZl
Y3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAgICAgICByZXR1
cm47CiAKICAgICBGbG9hdFJlY3Qgc3JjUmVjdCA9IEZsb2F0UmVjdCgwLCAwLCAtMSwgLTEpOwog
ICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9PVkVS
OgotICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4yLT5yZXN1bHRJbWFn
ZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+cmVw
YWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSkpOwotICAgICAgICBmaWx0ZXJDb250ZXh0LT5k
cmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdp
bmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkp
KTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1h
Z2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPmFi
c29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVm
ZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJ
bnB1dEltYWdlKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfSU46CiAgICAgICAgIGZpbHRlckNvbnRleHQtPnNh
dmUoKTsKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+Y2xpcFRvSW1hZ2VCdWZmZXIoaW4yLT5yZXN1
bHRJbWFnZSgpLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+cmVwYWludFJlY3RJbkxv
Y2FsQ29vcmRpbmF0ZXMoKSkpOwotICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZm
ZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklu
cHV0SW1hZ2UoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKKyAgICAgICAg
ZmlsdGVyQ29udGV4dC0+Y2xpcFRvSW1hZ2VCdWZmZXIoaW4yLT5yZXN1bHRJbWFnZSgpLCBkcmF3
aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSkpOworICAgICAg
ICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmlj
ZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRS
ZWN0KCkpKTsKICAgICAgICAgZmlsdGVyQ29udGV4dC0+cmVzdG9yZSgpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX09VVDoKLSAgICAgICAgZmlsdGVyQ29u
dGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNl
LCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGlu
YXRlcygpKSk7Ci0gICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbjItPnJl
c3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2Uo
aW4yLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSwgc3JjUmVjdCwgQ29tcG9zaXRl
RGVzdGluYXRpb25PdXQpOworICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIo
aW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0
SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+
ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJh
d2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpLCBzcmNSZWN0
LCBDb21wb3NpdGVEZXN0aW5hdGlvbk91dCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRkVD
T01QT1NJVEVfT1BFUkFUT1JfQVRPUDoKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdl
QnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lv
bk9mSW5wdXRJbWFnZShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKLSAg
ICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBE
ZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVj
dEluTG9jYWxDb29yZGluYXRlcygpKSwgc3JjUmVjdCwgQ29tcG9zaXRlU291cmNlQXRvcCk7Cisg
ICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbjItPnJlc3VsdEltYWdlKCks
IERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4yLT5hYnNvbHV0
ZVBhaW50UmVjdCgpKSk7CisgICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihp
bi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJ
bWFnZShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSksIHNyY1JlY3QsIENvbXBvc2l0ZVNvdXJjZUF0
b3ApOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX1hPUjoK
LSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1hZ2Uo
KSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPnJlcGFp
bnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJh
d0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5n
UmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSwg
c3JjUmVjdCwgQ29tcG9zaXRlWE9SKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdl
QnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lv
bk9mSW5wdXRJbWFnZShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVy
Q29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNw
YWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKSwg
c3JjUmVjdCwgQ29tcG9zaXRlWE9SKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGRUNPTVBP
U0lURV9PUEVSQVRPUl9BUklUSE1FVElDOiB7Ci0gICAgICAgIEludFJlY3QgZWZmZWN0QURyYXdp
bmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+cmVwYWludFJlY3RJ
bkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisgICAgICAgIEludFJlY3QgZWZmZWN0QURyYXdpbmdSZWN0
ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3Qo
KSk7CiAgICAgICAgIFJlZlB0cjxDYW52YXNQaXhlbEFycmF5PiBzcmNQaXhlbEFycmF5QShpbi0+
cmVzdWx0SW1hZ2UoKS0+Z2V0UHJlbXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RBRHJhd2luZ1Jl
Y3QpLT5kYXRhKCkpOwogCi0gICAgICAgIEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVx
dWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzKCkpOworICAgICAgICBJbnRSZWN0IGVmZmVjdEJEcmF3aW5nUmVjdCA9IHJlcXVlc3Rl
ZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4yLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAgICAg
ICAgUmVmUHRyPEltYWdlRGF0YT4gaW1hZ2VEYXRhKGluMi0+cmVzdWx0SW1hZ2UoKS0+Z2V0UHJl
bXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RCRHJhd2luZ1JlY3QpKTsKICAgICAgICAgQ2FudmFz
UGl4ZWxBcnJheSogc3JjUGl4ZWxBcnJheUIoaW1hZ2VEYXRhLT5kYXRhKCkpOwogCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaAkocmV2
aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21w
b3NpdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsOCBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKKyAg
ICAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKik7
CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0
cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2ZU1hdHJpeC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29udm9sdmVNYXRyaXguY3BwCShyZXZpc2lv
biA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbnZvbHZl
TWF0cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc3LDExICszNzcsMTEgQEAgdm9pZCBGRUNv
bnZvbHZlTWF0cml4OjphcHBseShGaWx0ZXIqIGZpbAogICAgIGlmICghaW4tPnJlc3VsdEltYWdl
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4dCgpKQorICAgIGlm
ICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAKICAgICBJbnRSZWN0
IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkpOwotICAgIEludFJl
Y3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGlu
LT5maWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKSk7CisgICAgSW50UmVjdCBlZmZlY3REcmF3aW5n
UmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPmFic29sdXRlUGFpbnRS
ZWN0KCkpOwogCiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJyYXk+IHNyY1BpeGVsQXJyYXk7CiAg
ICAgaWYgKG1fcHJlc2VydmVBbHBoYSkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUNvbnZvbHZlTWF0cml4LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29udm9sdmVNYXRyaXguaAkocmV2aXNpb24gNjkxMjApCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2ZU1hdHJpeC5oCSh3
b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
YXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwg
dm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKSB7IHNldEFic29sdXRlUGFp
bnRSZWN0KG1heEVmZmVjdFJlY3QoKSk7IH0KKwogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0
ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAK
IHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVEaXNw
bGFjZW1lbnRNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRURpc3BsYWNlbWVudE1hcC5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODgsMTMgKzg4LDEzIEBAIHZvaWQgRkVEaXNwbGFjZW1lbnRNYXA6OmFwcGx5
KEZpbHRlciogZmkKICAgICBpZiAobV94Q2hhbm5lbFNlbGVjdG9yID09IENIQU5ORUxfVU5LTk9X
TiB8fCBtX3lDaGFubmVsU2VsZWN0b3IgPT0gQ0hBTk5FTF9VTktOT1dOKQogICAgICAgICByZXR1
cm47CiAKLSAgICBpZiAoIWVmZmVjdENvbnRleHQoKSkKKyAgICBpZiAoIWVmZmVjdENvbnRleHQo
ZmlsdGVyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UmVjdCBlZmZlY3RBRHJhd2luZ1Jl
Y3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9j
YWxDb29yZGluYXRlcygpKTsKKyAgICBJbnRSZWN0IGVmZmVjdEFEcmF3aW5nUmVjdCA9IHJlcXVl
c3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpOwogICAg
IFJlZlB0cjxDYW52YXNQaXhlbEFycmF5PiBzcmNQaXhlbEFycmF5QShpbi0+cmVzdWx0SW1hZ2Uo
KS0+Z2V0UHJlbXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RBRHJhd2luZ1JlY3QpLT5kYXRhKCkp
OwogCi0gICAgSW50UmVjdCBlZmZlY3RCRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklu
cHV0SW1hZ2VEYXRhKGluMi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisgICAg
SW50UmVjdCBlZmZlY3RCRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VE
YXRhKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJy
YXk+IHNyY1BpeGVsQXJyYXlCKGluMi0+cmVzdWx0SW1hZ2UoKS0+Z2V0VW5tdWx0aXBsaWVkSW1h
Z2VEYXRhKGVmZmVjdEJEcmF3aW5nUmVjdCktPmRhdGEoKSk7CiAKICAgICBJbnRSZWN0IGltYWdl
UmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkpOwpAQCAtMTAyLDEwICsxMDIs
MTAgQEAgdm9pZCBGRURpc3BsYWNlbWVudE1hcDo6YXBwbHkoRmlsdGVyKiBmaQogCiAgICAgQVNT
RVJUKHNyY1BpeGVsQXJyYXlBLT5sZW5ndGgoKSA9PSBzcmNQaXhlbEFycmF5Qi0+bGVuZ3RoKCkp
OwogCi0gICAgZmxvYXQgc2NhbGVYID0gbV9zY2FsZSAvIDI1NS5mICogZmlsdGVyLT5maWx0ZXJS
ZXNvbHV0aW9uKCkud2lkdGgoKTsKLSAgICBmbG9hdCBzY2FsZVkgPSBtX3NjYWxlIC8gMjU1LmYg
KiBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKTsKLSAgICBmbG9hdCBzY2FsZUFk
anVzdG1lbnRYID0gKDAuNWYgLSAwLjVmICogbV9zY2FsZSkgKiBmaWx0ZXItPmZpbHRlclJlc29s
dXRpb24oKS53aWR0aCgpOwotICAgIGZsb2F0IHNjYWxlQWRqdXN0bWVudFkgPSAoMC41ZiAtIDAu
NWYgKiBtX3NjYWxlKSAqIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpOworICAg
IGZsb2F0IHNjYWxlWCA9IGZpbHRlci0+YXBwbHlIb3Jpem9udGFsU2NhbGUobV9zY2FsZSAvIDI1
NSk7CisgICAgZmxvYXQgc2NhbGVZID0gZmlsdGVyLT5hcHBseVZlcnRpY2FsU2NhbGUobV9zY2Fs
ZSAvIDI1NSk7CisgICAgZmxvYXQgc2NhbGVBZGp1c3RtZW50WCA9IGZpbHRlci0+YXBwbHlIb3Jp
em9udGFsU2NhbGUoMC41ZiAtIDAuNWYgKiBtX3NjYWxlKTsKKyAgICBmbG9hdCBzY2FsZUFkanVz
dG1lbnRZID0gZmlsdGVyLT5hcHBseVZlcnRpY2FsU2NhbGUoMC41ZiAtIDAuNWYgKiBtX3NjYWxl
KTsKICAgICBpbnQgc3RyaWRlID0gaW1hZ2VSZWN0LndpZHRoKCkgKiA0OwogICAgIGZvciAoaW50
IHkgPSAwOyB5IDwgaW1hZ2VSZWN0LmhlaWdodCgpOyArK3kpIHsKICAgICAgICAgaW50IGxpbmUg
PSB5ICogc3RyaWRlOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZF
RGlzcGxhY2VtZW50TWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUzLDYgKzUzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhcHBseShG
aWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOwogCisgICAgdmlydHVhbCB2b2lkIGRl
dGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopIHsgc2V0QWJzb2x1dGVQYWludFJlY3Qo
bWF4RWZmZWN0UmVjdCgpKTsgfQorCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJl
cHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25zdDsKIAogcHJpdmF0
ZToKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZsb29kLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9vZC5j
cHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFRmxvb2QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MiwxNCArNjIsMTQgQEAgdm9pZCBGRUZs
b29kOjpzZXRGbG9vZE9wYWNpdHkoZmxvYXQgZmxvbwogICAgIG1fZmxvb2RPcGFjaXR5ID0gZmxv
b2RPcGFjaXR5OwogfQogCi12b2lkIEZFRmxvb2Q6OmFwcGx5KEZpbHRlciopCit2b2lkIEZFRmxv
b2Q6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogewotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVy
Q29udGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNv
bnRleHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQog
ICAgICAgICByZXR1cm47CiAKICAgICBDb2xvciBjb2xvciA9IGNvbG9yV2l0aE92ZXJyaWRlQWxw
aGEoZmxvb2RDb2xvcigpLnJnYigpLCBmbG9vZE9wYWNpdHkoKSk7Ci0gICAgZmlsdGVyQ29udGV4
dC0+ZmlsbFJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgcmVwYWludFJlY3RJbkxvY2FsQ29v
cmRpbmF0ZXMoKS5zaXplKCkpLCBjb2xvciwgRGV2aWNlQ29sb3JTcGFjZSk7CisgICAgZmlsdGVy
Q29udGV4dC0+ZmlsbFJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgYWJzb2x1dGVQYWludFJl
Y3QoKS5zaXplKCkpLCBjb2xvciwgRGV2aWNlQ29sb3JTcGFjZSk7CiB9CiAKIHZvaWQgRkVGbG9v
ZDo6ZHVtcCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9v
ZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZs
b29kLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFRmxvb2QuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7
CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKikg
eyBzZXRBYnNvbHV0ZVBhaW50UmVjdChtYXhFZmZlY3RSZWN0KCkpOyB9CisKICAgICB2aXJ0dWFs
IFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRl
bnRpb24pIGNvbnN0OwogCiBwcml2YXRlOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwCShyZXZpc2lvbiA2OTEyMCkK
KysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyNSw2ICsxMjUsNDEgQEAgdm9pZCBGRUdhdXNzaWFuQmx1cjo6
a2VybmVsUG9zaXRpb24oaW50IAogICAgIH0KIH0KIAoraW5saW5lIHZvaWQgY2FsY3VsYXRlS2Vy
bmVsU2l6ZSh1bnNpZ25lZCYga2VybmVsU2l6ZVgsIHVuc2lnbmVkJiBrZXJuZWxTaXplWSwgZmxv
YXQgc3RkWCwgZmxvYXQgc3RkWSwgRmlsdGVyKiBmaWx0ZXIpCit7CisgICAgc3RkWCA9IGZpbHRl
ci0+YXBwbHlIb3Jpem9udGFsU2NhbGUoc3RkWCk7CisgICAgc3RkWSA9IGZpbHRlci0+YXBwbHlW
ZXJ0aWNhbFNjYWxlKHN0ZFkpOworICAgIAorICAgIGtlcm5lbFNpemVYID0gMDsKKyAgICBpZiAo
c3RkWCkKKyAgICAgICAga2VybmVsU2l6ZVggPSBtYXg8dW5zaWduZWQ+KDIsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihmbG9vcmYoc3RkWCAqIGdHYXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7
CisgICAga2VybmVsU2l6ZVkgPSAwOworICAgIGlmIChzdGRZKQorICAgICAgICBrZXJuZWxTaXpl
WSA9IG1heDx1bnNpZ25lZD4oMiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGZsb29yZihzdGRZICog
Z0dhdXNzaWFuS2VybmVsRmFjdG9yICsgMC41ZikpKTsKKyAgICAKKyAgICAvLyBMaW1pdCB0aGUg
a2VybmVsIHNpemUgdG8gMTAwMC4gQSBiaWdnZXIgcmFkaXVzIHdvbid0IG1ha2UgYSBiaWcgZGlm
ZmVyZW5jZSBmb3IgdGhlIHJlc3VsdCBpbWFnZSBidXQKKyAgICAvLyBpbmZsYXRlcyB0aGUgYWJz
b2x1dGUgcGFpbnQgcmVjdCB0byBtdWNoLgorICAgIGlmIChrZXJuZWxTaXplWCA+IDEwMDApCisg
ICAgICAgIGtlcm5lbFNpemVYID0gMTAwMDsKKyAgICBpZiAoa2VybmVsU2l6ZVkgPiAxMDAwKQor
ICAgICAgICBrZXJuZWxTaXplWSA9IDEwMDA7Cit9CisKK3ZvaWQgRkVHYXVzc2lhbkJsdXI6OmRl
dGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciogZmlsdGVyKQoreworICAgIEludFJlY3Qg
YWJzb2x1dGVQYWludFJlY3QgPSBpbnB1dEVmZmVjdCgwKS0+YWJzb2x1dGVQYWludFJlY3QoKTsK
KyAgICBhYnNvbHV0ZVBhaW50UmVjdC5pbnRlcnNlY3QobWF4RWZmZWN0UmVjdCgpKTsKKworICAg
IHVuc2lnbmVkIGtlcm5lbFNpemVYID0gMDsKKyAgICB1bnNpZ25lZCBrZXJuZWxTaXplWSA9IDA7
CisgICAgY2FsY3VsYXRlS2VybmVsU2l6ZShrZXJuZWxTaXplWCwga2VybmVsU2l6ZVksIG1fc3Rk
WCwgbV9zdGRZLCBmaWx0ZXIpOworCisgICAgLy8gV2UgdGFrZSB0aGUgaGFsZiBrZXJuZWwgc2l6
ZSBhbmQgbXVsdGlwbHkgaXQgd2l0aCB0aHJlZSwgYmVjYXVzZSB3ZSBydW4gYm94IGJsdXIgdGhy
ZWUgdGltZXMuCisgICAgYWJzb2x1dGVQYWludFJlY3QuaW5mbGF0ZVgoMyAqIChrZXJuZWxTaXpl
WCAqIDAuNWYpKTsKKyAgICBhYnNvbHV0ZVBhaW50UmVjdC5pbmZsYXRlWSgzICogKGtlcm5lbFNp
emVZICogMC41ZikpOworICAgIHNldEFic29sdXRlUGFpbnRSZWN0KGFic29sdXRlUGFpbnRSZWN0
KTsKK30KKwogdm9pZCBGRUdhdXNzaWFuQmx1cjo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiB7CiAg
ICAgRmlsdGVyRWZmZWN0KiBpbiA9IGlucHV0RWZmZWN0KDApOwpAQCAtMTMyLDEyICsxNjcsMTIg
QEAgdm9pZCBGRUdhdXNzaWFuQmx1cjo6YXBwbHkoRmlsdGVyKiBmaWx0ZQogICAgIGlmICghaW4t
PnJlc3VsdEltYWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4
dCgpKQorICAgIGlmICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBzZXRJc0FscGhhSW1hZ2UoaW4tPmlzQWxwaGFJbWFnZSgpKTsKIAotICAgIEludFJlY3Qg
ZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5y
ZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKyAgICBJbnRSZWN0IGVmZmVjdERyYXdp
bmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWlu
dFJlY3QoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gc3JjSW1hZ2VEYXRhKGluLT5yZXN1bHRJ
bWFnZSgpLT5nZXRQcmVtdWx0aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdERyYXdpbmdSZWN0KSk7CiAg
ICAgSW50UmVjdCBpbWFnZVJlY3QoSW50UG9pbnQoKSwgcmVzdWx0SW1hZ2UoKS0+c2l6ZSgpKTsK
IApAQCAtMTQ3LDEyICsxODIsOCBAQCB2b2lkIEZFR2F1c3NpYW5CbHVyOjphcHBseShGaWx0ZXIq
IGZpbHRlCiAgICAgfQogCiAgICAgdW5zaWduZWQga2VybmVsU2l6ZVggPSAwOwotICAgIGlmICht
X3N0ZFgpCi0gICAgICAgIGtlcm5lbFNpemVYID0gbWF4KDJVLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oZmxvb3IobV9zdGRYICogZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgoKSAqIGdH
YXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7Ci0KICAgICB1bnNpZ25lZCBrZXJuZWxTaXpl
WSA9IDA7Ci0gICAgaWYgKG1fc3RkWSkKLSAgICAgICAga2VybmVsU2l6ZVkgPSBtYXgoMlUsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihmbG9vcihtX3N0ZFkgKiBmaWx0ZXItPmZpbHRlclJlc29sdXRp
b24oKS5oZWlnaHQoKSAqIGdHYXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7CisgICAgY2Fs
Y3VsYXRlS2VybmVsU2l6ZShrZXJuZWxTaXplWCwga2VybmVsU2l6ZVksIG1fc3RkWCwgbV9zdGRZ
LCBmaWx0ZXIpOwogCiAgICAgQ2FudmFzUGl4ZWxBcnJheSogc3JjUGl4ZWxBcnJheShzcmNJbWFn
ZURhdGEtPmRhdGEoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gdG1wSW1hZ2VEYXRhID0gSW1h
Z2VEYXRhOjpjcmVhdGUoaW1hZ2VSZWN0LndpZHRoKCksIGltYWdlUmVjdC5oZWlnaHQoKSk7Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lh
bkJsdXIuaAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVHYXVzc2lhbkJsdXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2
b2lkIGR1bXAoKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWlu
dFJlY3QoRmlsdGVyKik7CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVz
ZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3BwCShyZXZp
c2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUxpZ2h0
aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDEyICsyNDcsMTIgQEAgdm9pZCBGRUxpZ2h0
aW5nOjphcHBseShGaWx0ZXIqIGZpbHRlcikKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIWVmZmVjdENvbnRleHQoKSkKKyAgICBpZiAoIWVm
ZmVjdENvbnRleHQoZmlsdGVyKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc2V0SXNBbHBoYUlt
YWdlKGZhbHNlKTsKIAotICAgIEludFJlY3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRS
ZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
KTsKKyAgICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1
dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPEltYWdlRGF0
YT4gc3JjSW1hZ2VEYXRhKGluLT5yZXN1bHRJbWFnZSgpLT5nZXRVbm11bHRpcGxpZWRJbWFnZURh
dGEoZWZmZWN0RHJhd2luZ1JlY3QpKTsKICAgICBDYW52YXNQaXhlbEFycmF5KiBzcmNQaXhlbEFy
cmF5KHNyY0ltYWdlRGF0YS0+ZGF0YSgpKTsKIApAQCAtMjYxLDggKzI2MSw5IEBAIHZvaWQgRkVM
aWdodGluZzo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAgLy8gb3V0cHV0IGZvciB2YXJpb3Vz
IGtlcm5lbFVuaXRMZW5ndGhzLCBhbmQgSSBhbSBub3Qgc3VyZSB0aGV5IGFyZSByZWxpYWJsZS4K
ICAgICAvLyBBbnl3YXksIGZlQ29udm9sdmVNYXRyaXggc2hvdWxkIGFsc28gdXNlIHRoZSBpbXBs
ZW1lbnRhdGlvbgogCi0gICAgaWYgKGRyYXdMaWdodGluZyhzcmNQaXhlbEFycmF5LCBlZmZlY3RE
cmF3aW5nUmVjdC53aWR0aCgpLCBlZmZlY3REcmF3aW5nUmVjdC5oZWlnaHQoKSkpCi0gICAgICAg
IHJlc3VsdEltYWdlKCktPnB1dFVubXVsdGlwbGllZEltYWdlRGF0YShzcmNJbWFnZURhdGEuZ2V0
KCksIEludFJlY3QoSW50UG9pbnQoKSwgcmVzdWx0SW1hZ2UoKS0+c2l6ZSgpKSwgSW50UG9pbnQo
KSk7CisgICAgSW50U2l6ZSBhYnNvbHV0ZVBhaW50U2l6ZSA9IGFic29sdXRlUGFpbnRSZWN0KCku
c2l6ZSgpOworICAgIGlmIChkcmF3TGlnaHRpbmcoc3JjUGl4ZWxBcnJheSwgYWJzb2x1dGVQYWlu
dFNpemUud2lkdGgoKSwgYWJzb2x1dGVQYWludFNpemUuaGVpZ2h0KCkpKQorICAgICAgICByZXN1
bHRJbWFnZSgpLT5wdXRVbm11bHRpcGxpZWRJbWFnZURhdGEoc3JjSW1hZ2VEYXRhLmdldCgpLCBJ
bnRSZWN0KEludFBvaW50KCksIGFic29sdXRlUGFpbnRTaXplKSwgSW50UG9pbnQoKSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUxpZ2h0aW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuaAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NCw2ICs0NCw4IEBAIGNsYXNzIEZFTGlnaHRpbmcgOiBwdWJsaWMgRmlsdGVyRWZmZWN0IHsKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAKKyAgICB2aXJ0dWFsIHZv
aWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKikgeyBzZXRBYnNvbHV0ZVBhaW50
UmVjdChtYXhFZmZlY3RSZWN0KCkpOyB9CisKIHByb3RlY3RlZDoKICAgICBlbnVtIExpZ2h0aW5n
VHlwZSB7CiAgICAgICAgIERpZmZ1c2VMaWdodGluZywKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRU1lcmdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVNZXJnZS5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTWVyZ2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01MCwxMyArNTAsMTMgQEAgdm9pZCBGRU1lcmdlOjphcHBseShGaWx0ZXIqIGZpbHRlcikK
ICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRl
ckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJD
b250ZXh0ID0gZWZmZWN0Q29udGV4dChmaWx0ZXIpOwogICAgIGlmICghZmlsdGVyQ29udGV4dCkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsr
aSkgewogICAgICAgICBGaWx0ZXJFZmZlY3QqIGluID0gaW5wdXRFZmZlY3QoaSk7Ci0gICAgICAg
IGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNl
Q29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbi0+cmVwYWludFJlY3RJbkxv
Y2FsQ29vcmRpbmF0ZXMoKSkpOworICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZm
ZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklu
cHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKICAgICB9CiB9CiAKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU1vcnBob2xvZ3kuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU1vcnBob2xvZ3kuY3Bw
CShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RU1vcnBob2xvZ3kuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NCw2ICs3NCwxNCBAQCBmbG9hdCBG
RU1vcnBob2xvZ3k6OnJhZGl1c1koKSBjb25zdAogICAgIHJldHVybiBtX3JhZGl1c1k7CiB9CiAK
K3ZvaWQgRkVNb3JwaG9sb2d5OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqIGZp
bHRlcikKK3sKKyAgICBJbnRSZWN0IHBhaW50UmVjdCA9IGlucHV0RWZmZWN0KDApLT5hYnNvbHV0
ZVBhaW50UmVjdCgpOworICAgIHBhaW50UmVjdC5pbmZsYXRlWChmbG9vcmYoZmlsdGVyLT5hcHBs
eUhvcml6b250YWxTY2FsZShtX3JhZGl1c1gpKSk7CisgICAgcGFpbnRSZWN0LmluZmxhdGVZKGZs
b29yZihmaWx0ZXItPmFwcGx5VmVydGljYWxTY2FsZShtX3JhZGl1c1kpKSk7CisgICAgc2V0QWJz
b2x1dGVQYWludFJlY3QocGFpbnRSZWN0KTsKK30KKwogdm9pZCBGRU1vcnBob2xvZ3k6OnNldFJh
ZGl1c1koZmxvYXQgcmFkaXVzWSkKIHsKICAgICBtX3JhZGl1c1kgPSByYWRpdXNZOwpAQCAtODYs
MTggKzk0LDE4IEBAIHZvaWQgRkVNb3JwaG9sb2d5OjphcHBseShGaWx0ZXIqIGZpbHRlcikKICAg
ICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIWVm
ZmVjdENvbnRleHQoKSkKKyAgICBpZiAoIWVmZmVjdENvbnRleHQoZmlsdGVyKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgc2V0SXNBbHBoYUltYWdlKGluLT5pc0FscGhhSW1hZ2UoKSk7Ci0KLSAg
ICBpbnQgcmFkaXVzWCA9IHN0YXRpY19jYXN0PGludD4obV9yYWRpdXNYICogZmlsdGVyLT5maWx0
ZXJSZXNvbHV0aW9uKCkud2lkdGgoKSk7Ci0gICAgaW50IHJhZGl1c1kgPSBzdGF0aWNfY2FzdDxp
bnQ+KG1fcmFkaXVzWSAqIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpKTsKLSAg
ICBpZiAocmFkaXVzWCA8PSAwIHx8IHJhZGl1c1kgPD0gMCkKKyAgICBpZiAobV9yYWRpdXNYIDw9
IDAgfHwgbV9yYWRpdXNZIDw9IDApCiAgICAgICAgIHJldHVybjsKIAorICAgIGludCByYWRpdXNY
ID0gZmxvb3JmKGZpbHRlci0+YXBwbHlIb3Jpem9udGFsU2NhbGUobV9yYWRpdXNYKSk7CisgICAg
aW50IHJhZGl1c1kgPSBmbG9vcmYoZmlsdGVyLT5hcHBseVZlcnRpY2FsU2NhbGUobV9yYWRpdXNZ
KSk7CisKICAgICBJbnRSZWN0IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5z
aXplKCkpOwotICAgIEludFJlY3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25P
ZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKKyAg
ICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdl
RGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJy
YXk+IHNyY1BpeGVsQXJyYXkoaW4tPnJlc3VsdEltYWdlKCktPmdldFByZW11bHRpcGxpZWRJbWFn
ZURhdGEoZWZmZWN0RHJhd2luZ1JlY3QpLT5kYXRhKCkpOwogICAgIFJlZlB0cjxJbWFnZURhdGE+
IGltYWdlRGF0YSA9IEltYWdlRGF0YTo6Y3JlYXRlKGltYWdlUmVjdC53aWR0aCgpLCBpbWFnZVJl
Y3QuaGVpZ2h0KCkpOwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVNb3JwaG9sb2d5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFTW9ycGhvbG9neS5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRU1vcnBob2xvZ3kuaAkod29ya2luZyBjb3B5KQpAQCAtNDks
NiArNDksOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAg
IHZpcnR1YWwgdm9pZCBkdW1wKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1
dGVQYWludFJlY3QoRmlsdGVyKik7CisKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFs
UmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCiBwcml2
YXRlOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFT2Zmc2V0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZz
ZXQuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRU9mZnNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDE0IEBAIHZvaWQg
RkVPZmZzZXQ6OnNldER5KGZsb2F0IGR5KQogICAgIG1fZHkgPSBkeTsKIH0KIAordm9pZCBGRU9m
ZnNldDo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKiBmaWx0ZXIpCit7CisgICAg
RmxvYXRSZWN0IHBhaW50UmVjdCA9IGlucHV0RWZmZWN0KDApLT5hYnNvbHV0ZVBhaW50UmVjdCgp
OworICAgIHBhaW50UmVjdC5tb3ZlKGZpbHRlci0+YXBwbHlIb3Jpem9udGFsU2NhbGUobV9keCks
IGZpbHRlci0+YXBwbHlWZXJ0aWNhbFNjYWxlKG1fZHkpKTsKKyAgICBwYWludFJlY3QuaW50ZXJz
ZWN0KG1heEVmZmVjdFJlY3QoKSk7CisgICAgc2V0QWJzb2x1dGVQYWludFJlY3QoZW5jbG9zaW5n
SW50UmVjdChwYWludFJlY3QpKTsKK30KKwogdm9pZCBGRU9mZnNldDo6YXBwbHkoRmlsdGVyKiBm
aWx0ZXIpCiB7CiAgICAgRmlsdGVyRWZmZWN0KiBpbiA9IGlucHV0RWZmZWN0KDApOwpAQCAtNjks
MjggKzc3LDE1IEBAIHZvaWQgRkVPZmZzZXQ6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogICAgIGlm
ICghaW4tPnJlc3VsdEltYWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29u
dGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRl
eHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0
ZXJDb250ZXh0KQogICAgICAgICByZXR1cm47CiAKICAgICBzZXRJc0FscGhhSW1hZ2UoaW4tPmlz
QWxwaGFJbWFnZSgpKTsKIAotICAgIEZsb2F0UmVjdCBzb3VyY2VJbWFnZVJlY3QgPSBmaWx0ZXIt
PnNvdXJjZUltYWdlUmVjdCgpOwotICAgIHNvdXJjZUltYWdlUmVjdC5zY2FsZShmaWx0ZXItPmZp
bHRlclJlc29sdXRpb24oKS53aWR0aCgpLCBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWln
aHQoKSk7Ci0KLSAgICBpZiAoZmlsdGVyLT5lZmZlY3RCb3VuZGluZ0JveE1vZGUoKSkgewotICAg
ICAgICBtX2R4ICo9IHNvdXJjZUltYWdlUmVjdC53aWR0aCgpOwotICAgICAgICBtX2R5ICo9IHNv
dXJjZUltYWdlUmVjdC5oZWlnaHQoKTsKLSAgICB9Ci0gICAgbV9keCAqPSBmaWx0ZXItPmZpbHRl
clJlc29sdXRpb24oKS53aWR0aCgpOwotICAgIG1fZHkgKj0gZmlsdGVyLT5maWx0ZXJSZXNvbHV0
aW9uKCkuaGVpZ2h0KCk7Ci0KLSAgICBGbG9hdFJlY3QgZHN0UmVjdCA9IEZsb2F0UmVjdChtX2R4
ICsgaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkueCgpIC0gcmVwYWludFJlY3RJ
bkxvY2FsQ29vcmRpbmF0ZXMoKS54KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbV9keSArIGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLnkoKSAtIHJlcGFp
bnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkueSgpLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLndpZHRoKCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENv
b3JkaW5hdGVzKCkuaGVpZ2h0KCkpOwotCi0gICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVm
ZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkc3RSZWN0KTsKKyAgICBG
bG9hdFJlY3QgZHJhd2luZ1JlZ2lvbiA9IGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFi
c29sdXRlUGFpbnRSZWN0KCkpOworICAgIGRyYXdpbmdSZWdpb24ubW92ZShmaWx0ZXItPmFwcGx5
SG9yaXpvbnRhbFNjYWxlKG1fZHgpLCBmaWx0ZXItPmFwcGx5VmVydGljYWxTY2FsZShtX2R5KSk7
CisgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBE
ZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uKTsKIH0KIAogdm9pZCBGRU9mZnNldDo6ZHVt
cCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQu
aAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVPZmZzZXQuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsK
KyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVy
Kik7CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4
dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRkVUaWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUaWxlLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUaWxlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkZpbHRlci5oIgogI2luY2x1ZGUgIkdyYXBoaWNz
Q29udGV4dC5oIgogI2luY2x1ZGUgIlBhdHRlcm4uaCIKKyNpbmNsdWRlICJTVkdJbWFnZUJ1ZmZl
clRvb2xzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDQsNyArNDUsNyBAQCBGbG9h
dFJlY3QgRkVUaWxlOjpkZXRlcm1pbmVGaWx0ZXJQcmltaXRpCiB7CiAgICAgaW5wdXRFZmZlY3Qo
MCktPmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihmaWx0ZXIpOwogCi0gICAgZmls
dGVyLT5kZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24odGhpcywgZmlsdGVyLT5maWx0
ZXJSZWdpb24oKSk7CisgICAgZmlsdGVyLT5kZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdp
b24odGhpcywgZmlsdGVyLT5maWx0ZXJSZWdpb25JblVzZXJTcGFjZSgpKTsKICAgICByZXR1cm4g
ZmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKCk7CiB9CiAKQEAgLTU1LDM0ICs1NiwzNSBAQCB2b2lk
IEZFVGlsZTo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAgaWYgKCFpbi0+cmVzdWx0SW1hZ2Uo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0
ID0gZWZmZWN0Q29udGV4dCgpOworICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9
IGVmZmVjdENvbnRleHQoZmlsdGVyKTsKICAgICBpZiAoIWZpbHRlckNvbnRleHQpCiAgICAgICAg
IHJldHVybjsKIAogICAgIHNldElzQWxwaGFJbWFnZShpbi0+aXNBbHBoYUltYWdlKCkpOwogCi0g
ICAgSW50UmVjdCB0aWxlUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QoaW4tPnJlcGFpbnRSZWN0SW5M
b2NhbENvb3JkaW5hdGVzKCkpOwotCiAgICAgLy8gU291cmNlIGlucHV0IG5lZWRzIG1vcmUgYXR0
ZW50aW9uLiBJdCBoYXMgdGhlIHNpemUgb2YgdGhlIGZpbHRlclJlZ2lvbiBidXQgZ2l2ZXMgdGhl
CiAgICAgLy8gc2l6ZSBvZiB0aGUgY3V0dGVkIHNvdXJjZUltYWdlIGJhY2suIFRoaXMgaXMgcGFy
dCBvZiB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgb3B0aW1pemF0aW9uLgorICAgIEZsb2F0UmVjdCB0
aWxlUmVjdCA9IGluLT5tYXhFZmZlY3RSZWN0KCk7CiAgICAgaWYgKGluLT5pc1NvdXJjZUlucHV0
KCkpIHsKLSAgICAgICAgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbiA9IGZpbHRlci0+ZmlsdGVyUmVn
aW9uKCk7Ci0gICAgICAgIGZpbHRlclJlZ2lvbi5zY2FsZShmaWx0ZXItPmZpbHRlclJlc29sdXRp
b24oKS53aWR0aCgpLCBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7Ci0gICAg
ICAgIHRpbGVSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChmaWx0ZXJSZWdpb24pOworICAgICAgICB0
aWxlUmVjdCA9IGZpbHRlci0+ZmlsdGVyUmVnaW9uKCk7CisgICAgICAgIHRpbGVSZWN0LnNjYWxl
KGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLndpZHRoKCksIGZpbHRlci0+ZmlsdGVyUmVzb2x1
dGlvbigpLmhlaWdodCgpKTsKICAgICB9CiAKLSAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHRpbGVJ
bWFnZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUodGlsZVJlY3Quc2l6ZSgpKTsKKyAgICBPd25QdHI8
SW1hZ2VCdWZmZXI+IHRpbGVJbWFnZTsKKyAgICBpZiAoIVNWR0ltYWdlQnVmZmVyVG9vbHM6OmNy
ZWF0ZUltYWdlQnVmZmVyKHRpbGVSZWN0LCB0aWxlUmVjdCwgdGlsZUltYWdlLCBEZXZpY2VSR0Ip
KQorICAgICAgICByZXR1cm47CisKICAgICBHcmFwaGljc0NvbnRleHQqIHRpbGVJbWFnZUNvbnRl
eHQgPSB0aWxlSW1hZ2UtPmNvbnRleHQoKTsKLSAgICB0aWxlSW1hZ2VDb250ZXh0LT5kcmF3SW1h
Z2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIEludFBvaW50KCkp
OwotICAgIFJlZlB0cjxQYXR0ZXJuPiBwYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRlKHRpbGVJbWFn
ZS0+Y29weUltYWdlKCksIHRydWUsIHRydWUpOworICAgIHRpbGVJbWFnZUNvbnRleHQtPnRyYW5z
bGF0ZSgtaW4tPm1heEVmZmVjdFJlY3QoKS54KCksIC1pbi0+bWF4RWZmZWN0UmVjdCgpLnkoKSk7
CisgICAgdGlsZUltYWdlQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgp
LCBEZXZpY2VDb2xvclNwYWNlLCBpbi0+YWJzb2x1dGVQYWludFJlY3QoKS5sb2NhdGlvbigpKTsK
IAotICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7Ci0gICAgbWF0cml4LnRyYW5zbGF0ZShpbi0+
cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS54KCkgLSByZXBhaW50UmVjdEluTG9jYWxD
b29yZGluYXRlcygpLngoKSwKLSAgICAgICAgICAgICAgICAgICAgIGluLT5yZXBhaW50UmVjdElu
TG9jYWxDb29yZGluYXRlcygpLnkoKSAtIHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCku
eSgpKTsKLSAgICBwYXR0ZXJuLmdldCgpLT5zZXRQYXR0ZXJuU3BhY2VUcmFuc2Zvcm0obWF0cml4
KTsKKyAgICBSZWZQdHI8UGF0dGVybj4gcGF0dGVybiA9IFBhdHRlcm46OmNyZWF0ZSh0aWxlSW1h
Z2UtPmNvcHlJbWFnZSgpLCB0cnVlLCB0cnVlKTsKIAorICAgIEFmZmluZVRyYW5zZm9ybSBwYXR0
ZXJuVHJhbnNmb3JtOworICAgIHBhdHRlcm5UcmFuc2Zvcm0udHJhbnNsYXRlKGluLT5tYXhFZmZl
Y3RSZWN0KCkueCgpIC0gbWF4RWZmZWN0UmVjdCgpLngoKSwgaW4tPm1heEVmZmVjdFJlY3QoKS55
KCkgLSBtYXhFZmZlY3RSZWN0KCkueSgpKTsKKyAgICBwYXR0ZXJuLT5zZXRQYXR0ZXJuU3BhY2VU
cmFuc2Zvcm0ocGF0dGVyblRyYW5zZm9ybSk7CiAgICAgZmlsdGVyQ29udGV4dC0+c2V0RmlsbFBh
dHRlcm4ocGF0dGVybik7Ci0gICAgZmlsdGVyQ29udGV4dC0+ZmlsbFJlY3QoRmxvYXRSZWN0KEZs
b2F0UG9pbnQoKSwgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS5zaXplKCkpKTsKKyAg
ICBmaWx0ZXJDb250ZXh0LT5maWxsUmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBhYnNvbHV0
ZVBhaW50UmVjdCgpLnNpemUoKSkpOwogfQogCiB2b2lkIEZFVGlsZTo6ZHVtcCgpCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUaWxlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVGlsZS5oCShyZXZpc2lvbiA2OTEy
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzUsNiArMzUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFwcGx5
KEZpbHRlciopOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQg
ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKikgeyBzZXRBYnNvbHV0ZVBhaW50UmVj
dChtYXhFZmZlY3RSZWN0KCkpOyB9CisKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFs
UmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCiAgICAg
dmlydHVhbCBGbG9hdFJlY3QgZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRl
ciopOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVHVyYnVsZW5j
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZF
VHVyYnVsZW5jZS5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFVHVyYnVsZW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyMSw3ICsz
MjEsNyBAQCB1bnNpZ25lZCBjaGFyIEZFVHVyYnVsZW5jZTo6Y2FsY3VsYXRlVHVyCiAKIHZvaWQg
RkVUdXJidWxlbmNlOjphcHBseShGaWx0ZXIqIGZpbHRlcikKIHsKLSAgICBpZiAoIWVmZmVjdENv
bnRleHQoKSkKKyAgICBpZiAoIWVmZmVjdENvbnRleHQoZmlsdGVyKSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgSW50UmVjdCBpbWFnZVJlY3QoSW50UG9pbnQoKSwgcmVzdWx0SW1hZ2UoKS0+c2l6
ZSgpKTsKQEAgLTMyOSwxMCArMzI5LDEwIEBAIHZvaWQgRkVUdXJidWxlbmNlOjphcHBseShGaWx0
ZXIqIGZpbHRlcikKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmUHRyPEltYWdlRGF0YT4gaW1h
Z2VEYXRhID0gSW1hZ2VEYXRhOjpjcmVhdGUoaW1hZ2VSZWN0LndpZHRoKCksIGltYWdlUmVjdC5o
ZWlnaHQoKSk7Ci0gICAgUGFpbnRpbmdEYXRhIHBhaW50aW5nRGF0YShtX3NlZWQsIGltYWdlUmVj
dC5zaXplKCkpOworICAgIFBhaW50aW5nRGF0YSBwYWludGluZ0RhdGEobV9zZWVkLCByb3VuZGVk
SW50U2l6ZShmaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKS5zaXplKCkpKTsKICAgICBpbml0UGFp
bnQocGFpbnRpbmdEYXRhKTsKIAotICAgIEZsb2F0UmVjdCBmaWx0ZXJSZWdpb24gPSBmaWx0ZXIt
PmZpbHRlclJlZ2lvbigpOworICAgIEZsb2F0UmVjdCBmaWx0ZXJSZWdpb24gPSBhYnNvbHV0ZVBh
aW50UmVjdCgpOwogICAgIEZsb2F0UG9pbnQgcG9pbnQ7CiAgICAgcG9pbnQuc2V0WShmaWx0ZXJS
ZWdpb24ueSgpKTsKICAgICBpbnQgaW5kZXhPZlBpeGVsQ2hhbm5lbCA9IDA7CkBAIC0zNDIsNyAr
MzQyLDcgQEAgdm9pZCBGRVR1cmJ1bGVuY2U6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogICAgICAg
ICBmb3IgKGludCB4ID0gMDsgeCA8IGltYWdlUmVjdC53aWR0aCgpOyArK3gpIHsKICAgICAgICAg
ICAgIHBvaW50LnNldFgocG9pbnQueCgpICsgMSk7CiAgICAgICAgICAgICBmb3IgKHBhaW50aW5n
RGF0YS5jaGFubmVsID0gMDsgcGFpbnRpbmdEYXRhLmNoYW5uZWwgPCA0OyArK3BhaW50aW5nRGF0
YS5jaGFubmVsLCArK2luZGV4T2ZQaXhlbENoYW5uZWwpCi0gICAgICAgICAgICAgICAgaW1hZ2VE
YXRhLT5kYXRhKCktPnNldChpbmRleE9mUGl4ZWxDaGFubmVsLCBjYWxjdWxhdGVUdXJidWxlbmNl
VmFsdWVGb3JQb2ludChwYWludGluZ0RhdGEsIHBvaW50KSk7CisgICAgICAgICAgICAgICAgaW1h
Z2VEYXRhLT5kYXRhKCktPnNldChpbmRleE9mUGl4ZWxDaGFubmVsLCBjYWxjdWxhdGVUdXJidWxl
bmNlVmFsdWVGb3JQb2ludChwYWludGluZ0RhdGEsIGZpbHRlci0+bWFwQWJzb2x1dGVQb2ludFRv
TG9jYWxQb2ludChwb2ludCkpKTsKICAgICAgICAgfQogICAgIH0KICAgICByZXN1bHRJbWFnZSgp
LT5wdXRVbm11bHRpcGxpZWRJbWFnZURhdGEoaW1hZ2VEYXRhLmdldCgpLCBpbWFnZVJlY3QsIElu
dFBvaW50KCkpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVHVy
YnVsZW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRVR1cmJ1bGVuY2UuaAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxlbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYw
LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAgIHZp
cnR1YWwgdm9pZCBkdW1wKCk7CisgICAgCisgICAgdmlydHVhbCB2b2lkIGRldGVybWluZUFic29s
dXRlUGFpbnRSZWN0KEZpbHRlciopIHsgc2V0QWJzb2x1dGVQYWludFJlY3QobWF4RWZmZWN0UmVj
dCgpKTsgfQogCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9u
KFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25zdDsKIApJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ0LDExICs0NCwxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZsb2F0U2l6ZSBm
aWx0ZXJSZXNvbHV0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9maWx0ZXJSZXNvbHV0aW9uOyB9CiAg
ICAgICAgIHZvaWQgc2V0RmlsdGVyUmVzb2x1dGlvbihjb25zdCBGbG9hdFNpemUmIGZpbHRlclJl
c29sdXRpb24pIHsgbV9maWx0ZXJSZXNvbHV0aW9uID0gZmlsdGVyUmVzb2x1dGlvbjsgfQogCisg
ICAgICAgIHZpcnR1YWwgZmxvYXQgYXBwbHlIb3Jpem9udGFsU2NhbGUoZmxvYXQgdmFsdWUpIGNv
bnN0IHsgcmV0dXJuIHZhbHVlICogbV9maWx0ZXJSZXNvbHV0aW9uLndpZHRoKCk7IH0KKyAgICAg
ICAgdmlydHVhbCBmbG9hdCBhcHBseVZlcnRpY2FsU2NhbGUoZmxvYXQgdmFsdWUpIGNvbnN0IHsg
cmV0dXJuIHZhbHVlICogbV9maWx0ZXJSZXNvbHV0aW9uLmhlaWdodCgpOyB9CisgICAgICAgIAog
ICAgICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzb3VyY2VJbWFnZVJlY3QoKSBjb25zdCA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbigpIGNvbnN0ID0gMDsKKyAgICAg
ICAgCisgICAgICAgIHZpcnR1YWwgRmxvYXRQb2ludCBtYXBBYnNvbHV0ZVBvaW50VG9Mb2NhbFBv
aW50KGNvbnN0IEZsb2F0UG9pbnQmKSBjb25zdCB7IHJldHVybiBGbG9hdFBvaW50KCk7IH0KIAog
ICAgICAgICAvLyBTVkcgc3BlY2lmaWMKICAgICAgICAgdmlydHVhbCB2b2lkIGRldGVybWluZUZp
bHRlclByaW1pdGl2ZVN1YnJlZ2lvbihGaWx0ZXJFZmZlY3QqLCBjb25zdCBGbG9hdFJlY3QmKSB7
IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbkluVXNl
clNwYWNlKCkgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KIAogICAgICAgICB2aXJ0dWFs
IEZsb2F0U2l6ZSBtYXhJbWFnZVNpemUoKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBlZmZlY3RCb3VuZGluZ0JveE1vZGUoKSBjb25zdCA9IDA7CkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcAkocmV2aXNpb24g
NjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBGbG9hdFJlY3QgRmlsdGVyRWZm
ZWN0OjpkZXRlcm1pbmVGaWx0ZXJQCiAKICAgICAvLyBGRVR1cmJ1bGVuY2UsIEZFSW1hZ2UgYW5k
IEZFRmxvb2QgZG9uJ3QgaGF2ZSBpbnB1dCBlZmZlY3RzLCB0YWtlIHRoZSBmaWx0ZXIgcmVnaW9u
IGFzIHVuaXRlIHJlY3QuCiAgICAgaWYgKCFzaXplKQotICAgICAgICB1bml0ZVJlY3QgPSBmaWx0
ZXItPmZpbHRlclJlZ2lvbigpOworICAgICAgICB1bml0ZVJlY3QgPSBmaWx0ZXItPmZpbHRlclJl
Z2lvbkluVXNlclNwYWNlKCk7CiAgICAgZWxzZSB7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBzaXplOyArK2kpCiAgICAgICAgICAgICB1bml0ZVJlY3QudW5pdGUobV9pbnB1dEVm
ZmVjdHMuYXQoaSktPmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihmaWx0ZXIpKTsK
QEAgLTU2LDE4ICs1NiwyOSBAQCBGbG9hdFJlY3QgRmlsdGVyRWZmZWN0OjpkZXRlcm1pbmVGaWx0
ZXJQCiAgICAgcmV0dXJuIG1fZmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uOwogfQogCi1JbnRSZWN0
IEZpbHRlckVmZmVjdDo6cmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShjb25zdCBGbG9h
dFJlY3QmIGVmZmVjdFJlY3QpIGNvbnN0Cit2b2lkIEZpbHRlckVmZmVjdDo6ZGV0ZXJtaW5lQWJz
b2x1dGVQYWludFJlY3QoRmlsdGVyKikKK3sKKyAgICBtX2Fic29sdXRlUGFpbnRSZWN0ID0gSW50
UmVjdCgpOworICAgIHVuc2lnbmVkIHNpemUgPSBtX2lucHV0RWZmZWN0cy5zaXplKCk7CisgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkKKyAgICAgICAgbV9hYnNvbHV0ZVBh
aW50UmVjdC51bml0ZShtX2lucHV0RWZmZWN0cy5hdChpKS0+YWJzb2x1dGVQYWludFJlY3QoKSk7
CisgICAgCisgICAgLy8gU1ZHIHNwZWNpZmljYXRpb24gd2FudHMgdXMgdG8gY2xpcCB0byBwcmlt
aXRpdmUgc3VicmVnaW9uLgorICAgIG1fYWJzb2x1dGVQYWludFJlY3QuaW50ZXJzZWN0KG1fbWF4
RWZmZWN0UmVjdCk7Cit9CisKK0ludFJlY3QgRmlsdGVyRWZmZWN0OjpyZXF1ZXN0ZWRSZWdpb25P
ZklucHV0SW1hZ2VEYXRhKGNvbnN0IEludFJlY3QmIGVmZmVjdFJlY3QpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKG1fZWZmZWN0QnVmZmVyKTsKLSAgICBGbG9hdFBvaW50IGxvY2F0aW9uID0gbV9yZXBh
aW50UmVjdEluTG9jYWxDb29yZGluYXRlcy5sb2NhdGlvbigpOworICAgIEludFBvaW50IGxvY2F0
aW9uID0gbV9hYnNvbHV0ZVBhaW50UmVjdC5sb2NhdGlvbigpOwogICAgIGxvY2F0aW9uLm1vdmUo
LWVmZmVjdFJlY3QueCgpLCAtZWZmZWN0UmVjdC55KCkpOwotICAgIHJldHVybiBJbnRSZWN0KHJv
dW5kZWRJbnRQb2ludChsb2NhdGlvbiksIG1fZWZmZWN0QnVmZmVyLT5zaXplKCkpOworICAgIHJl
dHVybiBJbnRSZWN0KGxvY2F0aW9uLCBtX2VmZmVjdEJ1ZmZlci0+c2l6ZSgpKTsKIH0KIAotRmxv
YXRSZWN0IEZpbHRlckVmZmVjdDo6ZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShjb25zdCBGbG9h
dFJlY3QmIHNyY1JlY3QpIGNvbnN0CitJbnRSZWN0IEZpbHRlckVmZmVjdDo6ZHJhd2luZ1JlZ2lv
bk9mSW5wdXRJbWFnZShjb25zdCBJbnRSZWN0JiBzcmNSZWN0KSBjb25zdAogewotICAgIHJldHVy
biBGbG9hdFJlY3QoRmxvYXRQb2ludChzcmNSZWN0LngoKSAtIG1fcmVwYWludFJlY3RJbkxvY2Fs
Q29vcmRpbmF0ZXMueCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNSZWN0
LnkoKSAtIG1fcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMueSgpKSwgc3JjUmVjdC5zaXpl
KCkpOworICAgIHJldHVybiBJbnRSZWN0KEludFBvaW50KHNyY1JlY3QueCgpIC0gbV9hYnNvbHV0
ZVBhaW50UmVjdC54KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjUmVjdC55KCkg
LSBtX2Fic29sdXRlUGFpbnRSZWN0LnkoKSksIHNyY1JlY3Quc2l6ZSgpKTsKIH0KIAogRmlsdGVy
RWZmZWN0KiBGaWx0ZXJFZmZlY3Q6OmlucHV0RWZmZWN0KHVuc2lnbmVkIG51bWJlcikgY29uc3QK
QEAgLTc2LDEwICs4NywxMiBAQCBGaWx0ZXJFZmZlY3QqIEZpbHRlckVmZmVjdDo6aW5wdXRFZmZl
Y3QoCiAgICAgcmV0dXJuIG1faW5wdXRFZmZlY3RzLmF0KG51bWJlcikuZ2V0KCk7CiB9CiAKLUdy
YXBoaWNzQ29udGV4dCogRmlsdGVyRWZmZWN0OjplZmZlY3RDb250ZXh0KCkKK0dyYXBoaWNzQ29u
dGV4dCogRmlsdGVyRWZmZWN0OjplZmZlY3RDb250ZXh0KEZpbHRlciogZmlsdGVyKQogewotICAg
IEludFJlY3QgYnVmZmVyUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QobV9yZXBhaW50UmVjdEluTG9j
YWxDb29yZGluYXRlcyk7Ci0gICAgbV9lZmZlY3RCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRl
KGJ1ZmZlclJlY3Quc2l6ZSgpLCBMaW5lYXJSR0IpOworICAgIGRldGVybWluZUFic29sdXRlUGFp
bnRSZWN0KGZpbHRlcik7CisgICAgaWYgKG1fYWJzb2x1dGVQYWludFJlY3QuaXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm4gMDsKKyAgICBtX2VmZmVjdEJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVh
dGUobV9hYnNvbHV0ZVBhaW50UmVjdC5zaXplKCksIExpbmVhclJHQik7CiAgICAgaWYgKCFtX2Vm
ZmVjdEJ1ZmZlcikKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIG1fZWZmZWN0QnVmZmVy
LT5jb250ZXh0KCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmls
dGVyRWZmZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZpbHRlckVmZmVjdC5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDksMjUg
KzQ5LDMwIEBAIHB1YmxpYzoKIAogICAgIC8vIENyZWF0ZXMgdGhlIEltYWdlQnVmZmVyIGZvciB0
aGUgY3VycmVudCBmaWx0ZXIgcHJpbWl0aXZlIHJlc3VsdCBpbiB0aGUgc2l6ZSBvZiB0aGUKICAg
ICAvLyByZXBhaW50UmVjdC4gR2l2ZXMgYmFjayB0aGUgR3JhcGhpY3NDb250ZXh0IG9mIHRoZSBv
d24gSW1hZ2VCdWZmZXIuCi0gICAgR3JhcGhpY3NDb250ZXh0KiBlZmZlY3RDb250ZXh0KCk7Cisg
ICAgR3JhcGhpY3NDb250ZXh0KiBlZmZlY3RDb250ZXh0KEZpbHRlciopOwogCiAgICAgRmlsdGVy
RWZmZWN0VmVjdG9yJiBpbnB1dEVmZmVjdHMoKSB7IHJldHVybiBtX2lucHV0RWZmZWN0czsgfQog
ICAgIEZpbHRlckVmZmVjdCogaW5wdXRFZmZlY3QodW5zaWduZWQpIGNvbnN0OwogICAgIHVuc2ln
bmVkIG51bWJlck9mRWZmZWN0SW5wdXRzKCkgY29uc3QgeyByZXR1cm4gbV9pbnB1dEVmZmVjdHMu
c2l6ZSgpOyB9CiAKLSAgICBGbG9hdFJlY3QgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShjb25z
dCBGbG9hdFJlY3QmKSBjb25zdDsKLSAgICBJbnRSZWN0IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJ
bWFnZURhdGEoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CisgICAgSW50UmVjdCBkcmF3aW5nUmVn
aW9uT2ZJbnB1dEltYWdlKGNvbnN0IEludFJlY3QmKSBjb25zdDsKKyAgICBJbnRSZWN0IHJlcXVl
c3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoY29uc3QgSW50UmVjdCYpIGNvbnN0OwogCiAgICAg
Ly8gU29saWQgYmxhY2sgaW1hZ2Ugd2l0aCBkaWZmZXJlbnQgYWxwaGEgdmFsdWVzLgogICAgIGJv
b2wgaXNBbHBoYUltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9hbHBoYUltYWdlOyB9CiAgICAgdm9p
ZCBzZXRJc0FscGhhSW1hZ2UoYm9vbCBhbHBoYUltYWdlKSB7IG1fYWxwaGFJbWFnZSA9IGFscGhh
SW1hZ2U7IH0KIAotICAgIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
IGNvbnN0IHsgcmV0dXJuIG1fcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXM7IH0KLSAgICB2
b2lkIHNldFJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKGNvbnN0IEZsb2F0UmVjdCYgcmVw
YWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMpIHsgbV9yZXBhaW50UmVjdEluTG9jYWxDb29yZGlu
YXRlcyA9IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzOyB9CisgICAgSW50UmVjdCBhYnNv
bHV0ZVBhaW50UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fYWJzb2x1dGVQYWludFJlY3Q7IH0KKyAg
ICB2b2lkIHNldEFic29sdXRlUGFpbnRSZWN0KGNvbnN0IEludFJlY3QmIGFic29sdXRlUGFpbnRS
ZWN0KSB7IG1fYWJzb2x1dGVQYWludFJlY3QgPSBhYnNvbHV0ZVBhaW50UmVjdDsgfQorICAgIAor
ICAgIEludFJlY3QgbWF4RWZmZWN0UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4RWZmZWN0UmVj
dDsgfQorICAgIHZvaWQgc2V0TWF4RWZmZWN0UmVjdChjb25zdCBJbnRSZWN0JiBtYXhFZmZlY3RS
ZWN0KSB7IG1fbWF4RWZmZWN0UmVjdCA9IG1heEVmZmVjdFJlY3Q7IH0gCiAKICAgICB2aXJ0dWFs
IHZvaWQgYXBwbHkoRmlsdGVyKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCkgPSAwOwog
CisgICAgdmlydHVhbCB2b2lkIGRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopOwor
ICAgIAogICAgIHZpcnR1YWwgYm9vbCBpc1NvdXJjZUlucHV0KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KIAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihU
ZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbiA9IDApIGNvbnN0OwpAQCAtODcsNyArOTIsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBoYXNIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hhc0hlaWdodDsg
fQogICAgIHZvaWQgc2V0SGFzSGVpZ2h0KGJvb2wgdmFsdWUpIHsgbV9oYXNIZWlnaHQgPSB2YWx1
ZTsgfQogCi0gICAgLy8gRklYTUU6IFBzZXVkbyBwcmltaXRpdmVzIGxpa2UgU291cmNlR3JhcGhp
YyBhbmQgU291cmNlQWxwaGEgYXMgd2VsbCBhcyBGRVRpbGUgc3RpbGwgbmVlZCBzcGVjaWFsIGhh
bmRsaW5nLgorICAgIC8vIEZJWE1FOiBGRVRpbGUgc3RpbGwgbmVlZHMgc3BlY2lhbCBoYW5kbGlu
Zy4KICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBkZXRlcm1pbmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdp
b24oRmlsdGVyKik7CiAKICAgICBGbG9hdFJlY3QgZmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKCkg
Y29uc3QgeyByZXR1cm4gbV9maWx0ZXJQcmltaXRpdmVTdWJyZWdpb247IH0KQEAgLTEwNSw4ICsx
MTAsMTEgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9hbHBoYUltYWdlOwogCi0gICAgLy8gRklY
TUU6IFNob3VsZCBiZSB0aGUgcGFpbnQgcmVnaW9uIG9mIHRoZSBmaWx0ZXIgcHJpbWl0aXZlLCBp
bnN0ZWFkIG9mIHRoZSBzY2FsZWQgc3VicmVnaW9uIG9uIHVzZSBvZiBmaWx0ZXJSZXMuCi0gICAg
RmxvYXRSZWN0IG1fcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXM7CisgICAgSW50UmVjdCBt
X2Fic29sdXRlUGFpbnRSZWN0OworICAgIAorICAgIC8vIFRoZSBtYXhpbXVtIHNpemUgb2YgYSBm
aWx0ZXIgcHJpbWl0aXZlLiBJbiBTVkcgdGhpcyBpcyB0aGUgcHJpbWl0aXZlIHN1YnJlZ2lvbiBp
biBhYnNvbHV0ZSBjb29yZGluYXRlIHNwYWNlLgorICAgIC8vIFRoZSBhYnNvbHV0ZSBwYWludCBy
ZWN0IHNob3VsZCBuZXZlciBiZSBiaWdnZXIgdGhhbiBtX21heEVmZmVjdFJlY3QuCisgICAgSW50
UmVjdCBtX21heEVmZmVjdFJlY3Q7CiAKIHByaXZhdGU6CiAgICAgLy8gVGhlIGZvbGxvd2luZyBt
ZW1iZXIgdmFyaWFibGVzIGFyZSBTVkcgc3BlY2lmaWMgYW5kIHdpbGwgbW92ZSB0byBSZW5kZXJT
VkdSZXNvdXJjZUZpbHRlclByaW1pdGl2ZS4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MiwyOCArNDIsMjIgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBTb3VyY2VBbHBo
YTo6ZWZmZWN0TgogICAgIHJldHVybiBzX2VmZmVjdE5hbWU7CiB9CiAKLUZsb2F0UmVjdCBTb3Vy
Y2VBbHBoYTo6ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlciogZmlsdGVy
KQordm9pZCBTb3VyY2VBbHBoYTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKiBm
aWx0ZXIpCiB7CiAgICAgRmxvYXRSZWN0IGNsaXBwZWRTb3VyY2VSZWN0ID0gZmlsdGVyLT5zb3Vy
Y2VJbWFnZVJlY3QoKTsKLSAgICBpZiAoZmlsdGVyLT5zb3VyY2VJbWFnZVJlY3QoKS54KCkgPCBm
aWx0ZXItPmZpbHRlclJlZ2lvbigpLngoKSkKLSAgICAgICAgY2xpcHBlZFNvdXJjZVJlY3Quc2V0
WChmaWx0ZXItPmZpbHRlclJlZ2lvbigpLngoKSk7Ci0gICAgaWYgKGZpbHRlci0+c291cmNlSW1h
Z2VSZWN0KCkueSgpIDwgZmlsdGVyLT5maWx0ZXJSZWdpb24oKS55KCkpCi0gICAgICAgIGNsaXBw
ZWRTb3VyY2VSZWN0LnNldFkoZmlsdGVyLT5maWx0ZXJSZWdpb24oKS55KCkpOwotICAgIHNldEZp
bHRlclByaW1pdGl2ZVN1YnJlZ2lvbihjbGlwcGVkU291cmNlUmVjdCk7CiAgICAgY2xpcHBlZFNv
dXJjZVJlY3Quc2NhbGUoZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgoKSwgZmlsdGVy
LT5maWx0ZXJSZXNvbHV0aW9uKCkuaGVpZ2h0KCkpOwotICAgIHNldFJlcGFpbnRSZWN0SW5Mb2Nh
bENvb3JkaW5hdGVzKGNsaXBwZWRTb3VyY2VSZWN0KTsKLSAgICByZXR1cm4gZmlsdGVyLT5maWx0
ZXJSZWdpb24oKTsKKyAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChlbmNsb3NpbmdJbnRSZWN0KGNs
aXBwZWRTb3VyY2VSZWN0KSk7CiB9CiAKIHZvaWQgU291cmNlQWxwaGE6OmFwcGx5KEZpbHRlciog
ZmlsdGVyKQogewotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENv
bnRleHQoKTsKLSAgICBpZiAoIWZpbHRlckNvbnRleHQpCisgICAgR3JhcGhpY3NDb250ZXh0KiBm
aWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dChmaWx0ZXIpOworICAgIGlmICghZmlsdGVyQ29u
dGV4dCB8fCAhZmlsdGVyLT5zb3VyY2VJbWFnZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBz
ZXRJc0FscGhhSW1hZ2UodHJ1ZSk7CiAKLSAgICBGbG9hdFJlY3QgaW1hZ2VSZWN0KEZsb2F0UG9p
bnQoKSwgZmlsdGVyLT5zb3VyY2VJbWFnZSgpLT5zaXplKCkpOworICAgIEZsb2F0UmVjdCBpbWFn
ZVJlY3QoRmxvYXRQb2ludCgpLCBhYnNvbHV0ZVBhaW50UmVjdCgpLnNpemUoKSk7CiAgICAgZmls
dGVyQ29udGV4dC0+c2F2ZSgpOwogICAgIGZpbHRlckNvbnRleHQtPmNsaXBUb0ltYWdlQnVmZmVy
KGZpbHRlci0+c291cmNlSW1hZ2UoKSwgaW1hZ2VSZWN0KTsKICAgICBmaWx0ZXJDb250ZXh0LT5m
aWxsUmVjdChpbWFnZVJlY3QsIENvbG9yOjpibGFjaywgRGV2aWNlQ29sb3JTcGFjZSk7CkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuaAko
cmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291
cmNlQWxwaGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsMTEgKzM0LDExIEBAIHB1YmxpYzogICAg
ICAgIAogCiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgZWZmZWN0TmFtZSgpOwogCi0g
ICAgdmlydHVhbCBGbG9hdFJlY3QgZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZp
bHRlciopOwotCiAgICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAgIHZpcnR1YWwg
dm9pZCBkdW1wKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJl
Y3QoRmlsdGVyKik7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNTb3VyY2VJbnB1dCgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KIAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNl
bnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3Vy
Y2VHcmFwaGljLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMjMgKzQxLDE3IEBAIGNvbnN0IEF0
b21pY1N0cmluZyYgU291cmNlR3JhcGhpYzo6ZWZmZWMKICAgICByZXR1cm4gc19lZmZlY3ROYW1l
OwogfQogCi1GbG9hdFJlY3QgU291cmNlR3JhcGhpYzo6ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZl
U3VicmVnaW9uKEZpbHRlciogZmlsdGVyKQordm9pZCBTb3VyY2VHcmFwaGljOjpkZXRlcm1pbmVB
YnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqIGZpbHRlcikKIHsKICAgICBGbG9hdFJlY3QgY2xpcHBl
ZFNvdXJjZVJlY3QgPSBmaWx0ZXItPnNvdXJjZUltYWdlUmVjdCgpOwotICAgIGlmIChmaWx0ZXIt
PnNvdXJjZUltYWdlUmVjdCgpLngoKSA8IGZpbHRlci0+ZmlsdGVyUmVnaW9uKCkueCgpKQotICAg
ICAgICBjbGlwcGVkU291cmNlUmVjdC5zZXRYKGZpbHRlci0+ZmlsdGVyUmVnaW9uKCkueCgpKTsK
LSAgICBpZiAoZmlsdGVyLT5zb3VyY2VJbWFnZVJlY3QoKS55KCkgPCBmaWx0ZXItPmZpbHRlclJl
Z2lvbigpLnkoKSkKLSAgICAgICAgY2xpcHBlZFNvdXJjZVJlY3Quc2V0WShmaWx0ZXItPmZpbHRl
clJlZ2lvbigpLnkoKSk7Ci0gICAgc2V0RmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKGNsaXBwZWRT
b3VyY2VSZWN0KTsKICAgICBjbGlwcGVkU291cmNlUmVjdC5zY2FsZShmaWx0ZXItPmZpbHRlclJl
c29sdXRpb24oKS53aWR0aCgpLCBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7
Ci0gICAgc2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoY2xpcHBlZFNvdXJjZVJlY3Qp
OwotICAgIHJldHVybiBmaWx0ZXItPmZpbHRlclJlZ2lvbigpOworICAgIHNldEFic29sdXRlUGFp
bnRSZWN0KGVuY2xvc2luZ0ludFJlY3QoY2xpcHBlZFNvdXJjZVJlY3QpKTsKIH0KIAogdm9pZCBT
b3VyY2VHcmFwaGljOjphcHBseShGaWx0ZXIqIGZpbHRlcikKIHsKLSAgICBHcmFwaGljc0NvbnRl
eHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KCk7Ci0gICAgaWYgKCFmaWx0ZXJDb250
ZXh0KQorICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQo
ZmlsdGVyKTsKKyAgICBpZiAoIWZpbHRlckNvbnRleHQgfHwgIWZpbHRlci0+c291cmNlSW1hZ2Uo
KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVy
KGZpbHRlci0+c291cmNlSW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgSW50UG9pbnQoKSk7Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3JhcGhpYy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFw
aGljLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL1NvdXJjZUdyYXBoaWMuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTEgKzM1LDExIEBAIHB1
YmxpYzogICAgICAgIAogCiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgZWZmZWN0TmFt
ZSgpOwogCi0gICAgdmlydHVhbCBGbG9hdFJlY3QgZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3Vi
cmVnaW9uKEZpbHRlciopOwotCiAgICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAg
IHZpcnR1YWwgdm9pZCBkdW1wKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1
dGVQYWludFJlY3QoRmlsdGVyKik7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNTb3VyY2VJbnB1dCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJu
YWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCShyZXZp
c2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlRmlsdGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIlNWR0ZpbHRl
ci5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlICJTVkdJbWFnZUJ1ZmZlclRv
b2xzLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1VuaXRU
eXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTE1MCw3MCArMTUxLDkzIEBAIGJv
b2wgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3UKICAgICB9CiAKICAgICBPd25Q
dHI8RmlsdGVyRGF0YT4gZmlsdGVyRGF0YShuZXcgRmlsdGVyRGF0YSk7CisgICAgRmxvYXRSZWN0
IHRhcmdldEJvdW5kaW5nQm94ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpOworCisgICAg
U1ZHRmlsdGVyRWxlbWVudCogZmlsdGVyRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0ZpbHRlckVs
ZW1lbnQqPihub2RlKCkpOworICAgIGZpbHRlckRhdGEtPmJvdW5kYXJpZXMgPSBmaWx0ZXJFbGVt
ZW50LT5maWx0ZXJCb3VuZGluZ0JveCh0YXJnZXRCb3VuZGluZ0JveCk7CisgICAgaWYgKGZpbHRl
ckRhdGEtPmJvdW5kYXJpZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAvLyBEZXRlcm1pbmUgYWJzb2x1dGUgdHJhbnNmb3JtYXRpb24gbWF0cml4IGZvciBmaWx0ZXIu
IAorICAgIEFmZmluZVRyYW5zZm9ybSBhYnNvbHV0ZVRyYW5zZm9ybTsKKyAgICBTVkdJbWFnZUJ1
ZmZlclRvb2xzOjpjYWxjdWxhdGVUcmFuc2Zvcm1hdGlvblRvT3V0ZXJtb3N0U1ZHQ29vcmRpbmF0
ZVN5c3RlbShvYmplY3QsIGFic29sdXRlVHJhbnNmb3JtKTsKKyAgICBpZiAoIWFic29sdXRlVHJh
bnNmb3JtLmlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBF
bGltaW5hdGUgc2hlYXIgb2YgdGhlIGFic29sdXRlIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCB0byBp
bmNyZWFzZSB0aGUgcXVhbGl0eSBvZiByZXN1bHRzIGluIGZlVGlsZS4gCisgICAgZmlsdGVyRGF0
YS0+c2hlYXJGcmVlQWJzb2x1dGVUcmFuc2Zvcm0gPSBBZmZpbmVUcmFuc2Zvcm0oYWJzb2x1dGVU
cmFuc2Zvcm0ueFNjYWxlKCksIDAsIDAsIGFic29sdXRlVHJhbnNmb3JtLnlTY2FsZSgpLCBhYnNv
bHV0ZVRyYW5zZm9ybS5lKCksIGFic29sdXRlVHJhbnNmb3JtLmYoKSk7CisKKyAgICAvLyBEZXRl
cm1pbmUgYWJzb2x1dGUgYm91bmRhcmllcyBvZiB0aGUgZmlsdGVyIGFuZCB0aGUgZHJhd2luZyBy
ZWdpb24uCisgICAgRmxvYXRSZWN0IGFic29sdXRlRmlsdGVyQm91bmRhcmllcyA9IGZpbHRlckRh
dGEtPnNoZWFyRnJlZUFic29sdXRlVHJhbnNmb3JtLm1hcFJlY3QoZmlsdGVyRGF0YS0+Ym91bmRh
cmllcyk7CisgICAgRmxvYXRSZWN0IGRyYXdpbmdSZWdpb24gPSBvYmplY3QtPnN0cm9rZUJvdW5k
aW5nQm94KCk7CisgICAgZHJhd2luZ1JlZ2lvbi5pbnRlcnNlY3QoZmlsdGVyRGF0YS0+Ym91bmRh
cmllcyk7CisgICAgRmxvYXRSZWN0IGFic29sdXRlRHJhd2luZ1JlZ2lvbiA9IGZpbHRlckRhdGEt
PnNoZWFyRnJlZUFic29sdXRlVHJhbnNmb3JtLm1hcFJlY3QoZHJhd2luZ1JlZ2lvbik7CisKKyAg
ICAvLyBDcmVhdGUgdGhlIFNWR0ZpbHRlciBvYmplY3QuCisgICAgYm9vbCBwcmltaXRpdmVCb3Vu
ZGluZ0JveE1vZGUgPSBmaWx0ZXJFbGVtZW50LT5wcmltaXRpdmVVbml0cygpID09IFNWR1VuaXRU
eXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWDsKKyAgICBmaWx0ZXJEYXRhLT5m
aWx0ZXIgPSBTVkdGaWx0ZXI6OmNyZWF0ZShmaWx0ZXJEYXRhLT5zaGVhckZyZWVBYnNvbHV0ZVRy
YW5zZm9ybSwgYWJzb2x1dGVEcmF3aW5nUmVnaW9uLCB0YXJnZXRCb3VuZGluZ0JveCwgZmlsdGVy
RGF0YS0+Ym91bmRhcmllcywgcHJpbWl0aXZlQm91bmRpbmdCb3hNb2RlKTsKKworICAgIC8vIENy
ZWF0ZSBhbGwgcmVsZXZhbnQgZmlsdGVyIHByaW1pdGl2ZXMuCiAgICAgZmlsdGVyRGF0YS0+YnVp
bGRlciA9IGJ1aWxkUHJpbWl0aXZlcygpOwogICAgIGlmICghZmlsdGVyRGF0YS0+YnVpbGRlcikK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgRmxvYXRSZWN0IHBhaW50UmVjdCA9IG9iamVj
dC0+c3Ryb2tlQm91bmRpbmdCb3goKTsKLQogICAgIC8vIENhbGN1bGF0ZSB0aGUgc2NhbGUgZmFj
dG9yIGZvciB0aGUgdXNlIG9mIGZpbHRlclJlcy4KICAgICAvLyBBbHNvIHNlZSBodHRwOi8vd3d3
LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0ZpbHRlckVmZmVjdHNSZWdpb24KLSAgICBTVkdG
aWx0ZXJFbGVtZW50KiBmaWx0ZXJFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRmlsdGVyRWxlbWVu
dCo+KG5vZGUoKSk7Ci0gICAgZmlsdGVyRGF0YS0+Ym91bmRhcmllcyA9IGZpbHRlckVsZW1lbnQt
PmZpbHRlckJvdW5kaW5nQm94KG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKSk7Ci0gICAgaWYg
KGZpbHRlckRhdGEtPmJvdW5kYXJpZXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBGbG9hdFNpemUgc2NhbGUoMS4wZiwgMS4wZik7CisgICAgRmxvYXRTaXplIHNjYWxl
KDEsIDEpOwogICAgIGlmIChmaWx0ZXJFbGVtZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OmZp
bHRlclJlc0F0dHIpKSB7Ci0gICAgICAgIHNjYWxlLnNldFdpZHRoKGZpbHRlckVsZW1lbnQtPmZp
bHRlclJlc1goKSAvIGZpbHRlckRhdGEtPmJvdW5kYXJpZXMud2lkdGgoKSk7Ci0gICAgICAgIHNj
YWxlLnNldEhlaWdodChmaWx0ZXJFbGVtZW50LT5maWx0ZXJSZXNZKCkgLyBmaWx0ZXJEYXRhLT5i
b3VuZGFyaWVzLmhlaWdodCgpKTsKKyAgICAgICAgc2NhbGUuc2V0V2lkdGgoZmlsdGVyRWxlbWVu
dC0+ZmlsdGVyUmVzWCgpIC8gYWJzb2x1dGVGaWx0ZXJCb3VuZGFyaWVzLndpZHRoKCkpOworICAg
ICAgICBzY2FsZS5zZXRIZWlnaHQoZmlsdGVyRWxlbWVudC0+ZmlsdGVyUmVzWSgpIC8gYWJzb2x1
dGVGaWx0ZXJCb3VuZGFyaWVzLmhlaWdodCgpKTsKICAgICB9CiAKICAgICBpZiAoc2NhbGUuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBjbGlwIHNvdXJjZUltYWdl
IHRvIGZpbHRlclJlZ2lvbgotICAgIEZsb2F0UmVjdCBjbGlwcGVkU291cmNlUmVjdCA9IHBhaW50
UmVjdDsKLSAgICBjbGlwcGVkU291cmNlUmVjdC5pbnRlcnNlY3QoZmlsdGVyRGF0YS0+Ym91bmRh
cmllcyk7Ci0KLSAgICAvLyBzY2FsZSBmaWx0ZXIgc2l6ZSB0byBmaWx0ZXJSZXMKLSAgICBGbG9h
dFJlY3QgdGVtcFNvdXJjZVJlY3QgPSBjbGlwcGVkU291cmNlUmVjdDsKLQotICAgIC8vIHNjYWxl
IHRvIGJpZyBzb3VyY2VJbWFnZSBzaXplIHRvIGtNYXhGaWx0ZXJTaXplCisgICAgLy8gRGV0ZXJt
aW5lIHNjYWxlIGZhY3RvciBmb3IgZmlsdGVyLiBUaGUgc2l6ZSBvZiBpbnRlcm1lZGlhdGUgSW1h
Z2VCdWZmZXJzIHNob3VsZG4ndCBiZSBiaWdnZXIgdGhhbiBrTWF4RmlsdGVyU2l6ZS4KKyAgICBG
bG9hdFJlY3QgdGVtcFNvdXJjZVJlY3QgPSBhYnNvbHV0ZURyYXdpbmdSZWdpb247CiAgICAgdGVt
cFNvdXJjZVJlY3Quc2NhbGUoc2NhbGUud2lkdGgoKSwgc2NhbGUuaGVpZ2h0KCkpOwogICAgIGZp
dHNJbk1heGltdW1JbWFnZVNpemUodGVtcFNvdXJjZVJlY3Quc2l6ZSgpLCBzY2FsZSk7CiAKLSAg
ICAvLyBwcmVwYXJlIEZpbHRlcnMKLSAgICBib29sIHByaW1pdGl2ZUJvdW5kaW5nQm94TW9kZSA9
IGZpbHRlckVsZW1lbnQtPnByaW1pdGl2ZVVuaXRzKCkgPT0gU1ZHVW5pdFR5cGVzOjpTVkdfVU5J
VF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YOwotICAgIGZpbHRlckRhdGEtPmZpbHRlciA9IFNWR0Zp
bHRlcjo6Y3JlYXRlKHBhaW50UmVjdCwgZmlsdGVyRGF0YS0+Ym91bmRhcmllcywgcHJpbWl0aXZl
Qm91bmRpbmdCb3hNb2RlKTsKKyAgICAvLyBTZXQgdGhlIHNjYWxlIGxldmVsIGluIFNWR0ZpbHRl
ci4KICAgICBmaWx0ZXJEYXRhLT5maWx0ZXItPnNldEZpbHRlclJlc29sdXRpb24oc2NhbGUpOwog
CiAgICAgRmlsdGVyRWZmZWN0KiBsYXN0RWZmZWN0ID0gZmlsdGVyRGF0YS0+YnVpbGRlci0+bGFz
dEVmZmVjdCgpOwogICAgIGlmICghbGFzdEVmZmVjdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIAorCisgICAgLy8gRGV0ZXJtaW5lIHRoZSBmaWx0ZXIgcHJpbWl0aXZlIHN1YnJlZ2lvbnMg
b2YgZXZlcnkgZWZmZWN0LgogICAgIGxhc3RFZmZlY3QtPmRldGVybWluZUZpbHRlclByaW1pdGl2
ZVN1YnJlZ2lvbihmaWx0ZXJEYXRhLT5maWx0ZXIuZ2V0KCkpOwotICAgIC8vIEF0IGxlYXN0IG9u
ZSBGaWx0ZXJFZmZlY3QgaGFzIGEgdG9vIGJpZyBpbWFnZSBzaXplLAotICAgIC8vIHJlY2FsY3Vs
YXRlIHRoZSBlZmZlY3Qgc2l6ZXMgd2l0aCBuZXcgc2NhbGUgZmFjdG9ycy4KICAgICBpZiAoIWZp
dHNJbk1heGltdW1JbWFnZVNpemUoZmlsdGVyRGF0YS0+ZmlsdGVyLT5tYXhJbWFnZVNpemUoKSwg
c2NhbGUpKSB7CisgICAgICAgIC8vIEF0IGxlYXN0IG9uZSBGaWx0ZXJFZmZlY3QgaGFzIGEgdG9v
IGJpZyBpbWFnZSBzaXplLAorICAgICAgICAvLyByZWNhbGN1bGF0ZSB0aGUgZWZmZWN0IHNpemVz
IHdpdGggbmV3IHNjYWxlIGZhY3Rvci4KICAgICAgICAgZmlsdGVyRGF0YS0+ZmlsdGVyLT5zZXRG
aWx0ZXJSZXNvbHV0aW9uKHNjYWxlKTsKICAgICAgICAgbGFzdEVmZmVjdC0+ZGV0ZXJtaW5lRmls
dGVyUHJpbWl0aXZlU3VicmVnaW9uKGZpbHRlckRhdGEtPmZpbHRlci5nZXQoKSk7CiAgICAgfQog
Ci0gICAgY2xpcHBlZFNvdXJjZVJlY3Quc2NhbGUoc2NhbGUud2lkdGgoKSwgc2NhbGUuaGVpZ2h0
KCkpOwotCi0gICAgLy8gRHJhdyB0aGUgY29udGVudCBvZiB0aGUgY3VycmVudCBlbGVtZW50IGFu
ZCBpdCdzIGNoaWxkcyB0byBhIGltYWdlQnVmZmVyIHRvIGdldCB0aGUgU291cmNlR3JhcGhpYy4K
LSAgICAvLyBUaGUgc2l6ZSBvZiB0aGUgU291cmNlR3JhcGhpYyBpcyBjbGlwcGVkIHRvIHRoZSBz
aXplIG9mIHRoZSBmaWx0ZXJSZWdpb24uCi0gICAgSW50UmVjdCBidWZmZXJSZWN0ID0gZW5jbG9z
aW5nSW50UmVjdChjbGlwcGVkU291cmNlUmVjdCk7Ci0gICAgT3duUHRyPEltYWdlQnVmZmVyPiBz
b3VyY2VHcmFwaGljKEltYWdlQnVmZmVyOjpjcmVhdGUoYnVmZmVyUmVjdC5zaXplKCksIExpbmVh
clJHQikpOwotICAgIAotICAgIGlmICghc291cmNlR3JhcGhpYy5nZXQoKSkKKyAgICAvLyBJZiB0
aGUgZHJhd2luZ1JlZ2lvbiBpcyBlbXB0eSwgd2UgaGF2ZSBzb21ldGhpbmcgbGlrZSA8ZyBmaWx0
ZXI9Ii4uIi8+LgorICAgIC8vIEV2ZW4gaWYgdGhlIHRhcmdldCBvYmplY3RCb3VuZGluZ0JveCgp
IGlzIGVtcHR5LCB3ZSBzdGlsbCBoYXZlIHRvIGRyYXcgc29tZXRoaW5nLgorICAgIGlmIChkcmF3
aW5nUmVnaW9uLmlzRW1wdHkoKSkgeworICAgICAgICBBU1NFUlQoIW1fZmlsdGVyLmNvbnRhaW5z
KG9iamVjdCkpOworICAgICAgICBmaWx0ZXJEYXRhLT5zYXZlZENvbnRleHQgPSBjb250ZXh0Owor
ICAgICAgICBtX2ZpbHRlci5zZXQob2JqZWN0LCBmaWx0ZXJEYXRhLmxlYWtQdHIoKSk7CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKKyAgICBhYnNvbHV0ZURyYXdpbmdSZWdpb24uc2Nh
bGUoc2NhbGUud2lkdGgoKSwgc2NhbGUuaGVpZ2h0KCkpOworCisgICAgT3duUHRyPEltYWdlQnVm
ZmVyPiBzb3VyY2VHcmFwaGljOworICAgIGlmICghU1ZHSW1hZ2VCdWZmZXJUb29sczo6Y3JlYXRl
SW1hZ2VCdWZmZXIoYWJzb2x1dGVEcmF3aW5nUmVnaW9uLCBhYnNvbHV0ZURyYXdpbmdSZWdpb24s
IHNvdXJjZUdyYXBoaWMsIExpbmVhclJHQikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAK
ICAgICBHcmFwaGljc0NvbnRleHQqIHNvdXJjZUdyYXBoaWNDb250ZXh0ID0gc291cmNlR3JhcGhp
Yy0+Y29udGV4dCgpOwotICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT50cmFuc2xhdGUoLWNsaXBw
ZWRTb3VyY2VSZWN0LngoKSwgLWNsaXBwZWRTb3VyY2VSZWN0LnkoKSk7Ci0gICAgc291cmNlR3Jh
cGhpY0NvbnRleHQtPnNjYWxlKHNjYWxlKTsKLSAgICBzb3VyY2VHcmFwaGljQ29udGV4dC0+Y2xl
YXJSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIHBhaW50UmVjdC5zaXplKCkpKTsKKyAgICBB
U1NFUlQoc291cmNlR3JhcGhpY0NvbnRleHQpOworICAKKyAgICBzb3VyY2VHcmFwaGljQ29udGV4
dC0+dHJhbnNsYXRlKC1hYnNvbHV0ZURyYXdpbmdSZWdpb24ueCgpLCAtYWJzb2x1dGVEcmF3aW5n
UmVnaW9uLnkoKSk7CisgICAgaWYgKHNjYWxlLndpZHRoKCkgIT0gMSB8fCBzY2FsZS5oZWlnaHQo
KSAhPSAxKQorICAgICAgICBzb3VyY2VHcmFwaGljQ29udGV4dC0+c2NhbGUoc2NhbGUpOworCisg
ICAgc291cmNlR3JhcGhpY0NvbnRleHQtPmNvbmNhdENUTShmaWx0ZXJEYXRhLT5zaGVhckZyZWVB
YnNvbHV0ZVRyYW5zZm9ybSk7CisgICAgc291cmNlR3JhcGhpY0NvbnRleHQtPmNsZWFyUmVjdChG
bG9hdFJlY3QoRmxvYXRQb2ludCgpLCBhYnNvbHV0ZURyYXdpbmdSZWdpb24uc2l6ZSgpKSk7CiAg
ICAgZmlsdGVyRGF0YS0+c291cmNlR3JhcGhpY0J1ZmZlciA9IHNvdXJjZUdyYXBoaWMucmVsZWFz
ZSgpOwogICAgIGZpbHRlckRhdGEtPnNhdmVkQ29udGV4dCA9IGNvbnRleHQ7CiAKQEAgLTI3MCwx
MCArMjk0LDE3IEBAIHZvaWQgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVIKICAg
ICAgICAgfQogCiAgICAgICAgIEltYWdlQnVmZmVyKiByZXN1bHRJbWFnZSA9IGxhc3RFZmZlY3Qt
PnJlc3VsdEltYWdlKCk7Ci0gICAgICAgIGlmIChyZXN1bHRJbWFnZSkKLSAgICAgICAgICAgIGNv
bnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihyZXN1bHRJbWFnZSwgb2JqZWN0LT5zdHlsZSgpLT5jb2xv
clNwYWNlKCksIGxhc3RFZmZlY3QtPmZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbigpKTsKLSAgICB9
CisgICAgICAgIGlmIChyZXN1bHRJbWFnZSkgeworICAgICAgICAgICAgY29udGV4dC0+Y29uY2F0
Q1RNKGZpbHRlckRhdGEtPnNoZWFyRnJlZUFic29sdXRlVHJhbnNmb3JtLmludmVyc2UoKSk7CisK
KyAgICAgICAgICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZSgxIC8gZmlsdGVyRGF0YS0+Zmls
dGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgoKSwgMSAvIGZpbHRlckRhdGEtPmZpbHRlci0+
ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpKSk7CisgICAgICAgICAgICBjb250ZXh0LT5jbGlw
KGxhc3RFZmZlY3QtPm1heEVmZmVjdFJlY3QoKSk7CisgICAgICAgICAgICBjb250ZXh0LT5kcmF3
SW1hZ2VCdWZmZXIocmVzdWx0SW1hZ2UsIG9iamVjdC0+c3R5bGUoKS0+Y29sb3JTcGFjZSgpLCBs
YXN0RWZmZWN0LT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKKyAgICAgICAgICAgIGNvbnRleHQtPnNj
YWxlKGZpbHRlckRhdGEtPmZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpKTsKIAorICAgICAgICAg
ICAgY29udGV4dC0+Y29uY2F0Q1RNKGZpbHRlckRhdGEtPnNoZWFyRnJlZUFic29sdXRlVHJhbnNm
b3JtKTsKKyAgICAgICAgfQorICAgIH0KICAgICBmaWx0ZXJEYXRhLT5zb3VyY2VHcmFwaGljQnVm
ZmVyLmNsZWFyKCk7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlRmlsdGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXIuaAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEZpbHRlckRhdGEgewogICAgIEZpbHRlckRhdGEo
KQotICAgICAgICA6IGJ1aWxkZWQoZmFsc2UpCisgICAgICAgIDogc2F2ZWRDb250ZXh0KDApCisg
ICAgICAgICwgYnVpbGRlZChmYWxzZSkKICAgICB7CiAgICAgfQogCkBAIC01MCw2ICs1MSw3IEBA
IHN0cnVjdCBGaWx0ZXJEYXRhIHsKICAgICBSZWZQdHI8U1ZHRmlsdGVyQnVpbGRlcj4gYnVpbGRl
cjsKICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IHNvdXJjZUdyYXBoaWNCdWZmZXI7CiAgICAgR3Jh
cGhpY3NDb250ZXh0KiBzYXZlZENvbnRleHQ7CisgICAgQWZmaW5lVHJhbnNmb3JtIHNoZWFyRnJl
ZUFic29sdXRlVHJhbnNmb3JtOwogICAgIEZsb2F0UmVjdCBib3VuZGFyaWVzOwogICAgIEZsb2F0
U2l6ZSBzY2FsZTsKICAgICBib29sIGJ1aWxkZWQ7CkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGlj
cy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBo
aWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQs
MTcgKzQ0LDE3IEBAIFBhc3NSZWZQdHI8RkVJbWFnZT4gRkVJbWFnZTo6Y3JlYXRlKFJlZlAKICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEZFSW1hZ2UoaW1hZ2UsIHByZXNlcnZlQXNwZWN0UmF0aW8p
KTsKIH0KIAotdm9pZCBGRUltYWdlOjphcHBseShGaWx0ZXIqKQordm9pZCBGRUltYWdlOjphcHBs
eShGaWx0ZXIqIGZpbHRlcikKIHsKICAgICBpZiAoIW1faW1hZ2UuZ2V0KCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRl
eHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0
KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAgICAgICByZXR1cm47CiAKICAg
ICBGbG9hdFJlY3Qgc3JjUmVjdChGbG9hdFBvaW50KCksIG1faW1hZ2UtPnNpemUoKSk7Ci0gICAg
RmxvYXRSZWN0IGRlc3RSZWN0KEZsb2F0UG9pbnQoKSwgZmlsdGVyUHJpbWl0aXZlU3VicmVnaW9u
KCkuc2l6ZSgpKTsKKyAgICBGbG9hdFJlY3QgZGVzdFJlY3QoRmxvYXRQb2ludCgpLCBhYnNvbHV0
ZVBhaW50UmVjdCgpLnNpemUoKSk7CiAKICAgICBtX3ByZXNlcnZlQXNwZWN0UmF0aW8udHJhbnNm
b3JtUmVjdChkZXN0UmVjdCwgc3JjUmVjdCk7CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHRkVJbWFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHRkVJbWFnZS5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvc3ZnL2dy
YXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVh
bCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50
UmVjdChGaWx0ZXIqKSB7IHNldEFic29sdXRlUGFpbnRSZWN0KG1heEVmZmVjdFJlY3QoKSk7IH0K
KwogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3Ry
ZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAgICAgCiBwcml2YXRlOgpJbmRleDogV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcAkocmV2aXNpb24gNjkxMjApCisr
KyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI0LDEyICsyNCwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR0ZpbHRl
cjo6U1ZHRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0Qm91bmRpbmdCb3gsIGNvbnN0IEZs
b2F0UmVjdCYgZmlsdGVyUmVjdCwgYm9vbCBlZmZlY3RCQm94TW9kZSkKK1NWR0ZpbHRlcjo6U1ZH
RmlsdGVyKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWJzb2x1dGVUcmFuc2Zvcm0sIGNvbnN0IEZs
b2F0UmVjdCYgYWJzb2x1dGVTb3VyY2VEcmF3aW5nUmVnaW9uLCBjb25zdCBGbG9hdFJlY3QmIHRh
cmdldEJvdW5kaW5nQm94LCBjb25zdCBGbG9hdFJlY3QmIGZpbHRlclJlZ2lvbiwgYm9vbCBlZmZl
Y3RCQm94TW9kZSkKICAgICA6IEZpbHRlcigpCisgICAgLCBtX2Fic29sdXRlVHJhbnNmb3JtKGFi
c29sdXRlVHJhbnNmb3JtKQorICAgICwgbV9hYnNvbHV0ZVNvdXJjZURyYXdpbmdSZWdpb24oYWJz
b2x1dGVTb3VyY2VEcmF3aW5nUmVnaW9uKQogICAgICwgbV90YXJnZXRCb3VuZGluZ0JveCh0YXJn
ZXRCb3VuZGluZ0JveCkKLSAgICAsIG1fZmlsdGVyUmVjdChmaWx0ZXJSZWN0KQorICAgICwgbV9m
aWx0ZXJSZWdpb24oZmlsdGVyUmVnaW9uKQogICAgICwgbV9lZmZlY3RCQm94TW9kZShlZmZlY3RC
Qm94TW9kZSkKIHsKKyAgICBtX2Fic29sdXRlRmlsdGVyUmVnaW9uID0gYWJzb2x1dGVUcmFuc2Zv
cm0ubWFwUmVjdChmaWx0ZXJSZWdpb24pOwogfQogCiB2b2lkIFNWR0ZpbHRlcjo6ZGV0ZXJtaW5l
RmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlckVmZmVjdCogZWZmZWN0LCBjb25zdCBGbG9h
dFJlY3QmIHVuaW9uT2ZQcmV2aW91c1ByaW1pdGl2ZVN1YnJlZ2lvbnMpCkBAIC02NiwyMiArNjks
MzcgQEAgdm9pZCBTVkdGaWx0ZXI6OmRldGVybWluZUZpbHRlclByaW1pdGl2ZQogICAgIH0KIAog
ICAgIC8vIGNsaXAgZXZlcnkgZmlsdGVyIGVmZmVjdCB0byB0aGUgZmlsdGVyIHJlZ2lvbgotICAg
IG5ld1N1YlJlZ2lvbi5pbnRlcnNlY3QobV9maWx0ZXJSZWN0KTsKKyAgICBuZXdTdWJSZWdpb24u
aW50ZXJzZWN0KG1fZmlsdGVyUmVnaW9uKTsKIAogICAgIGVmZmVjdC0+c2V0RmlsdGVyUHJpbWl0
aXZlU3VicmVnaW9uKG5ld1N1YlJlZ2lvbik7Ci0gICAgCiAgICAgLy8gVE9ETzogRXZlcnl0aGlu
ZyBhYm92ZSBzaG91bGQgYmUgbW92ZWQgdG8gYSBmaXJzdCBwaGFzZSBvZiBsYXlvdXQgaW4gUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXJQcmltaXRpdmUuCiAgICAgLy8gVGhlIHNjYWxpbmcgb2YgdGhl
IHN1YnJlZ2lvbiB0byB0aGUgcmVwYWludCByZWN0IHNob3VsZCBiZSBtZXJnZWQgd2l0aCBhIG1v
cmUgaW50ZWxsaWdlbnQgcmVwYWludCBsb2dpYwogICAgIC8vIGFuZCBtb3ZlZCB0byB0aGUgc2Vj
b25kIHBoYXNlIG9mIGxheW91dCBpbiBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlclByaW1pdGl2ZS4K
ICAgICAvLyBTZWUgYnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NTYxNC4KKyAgICBuZXdTdWJSZWdpb24gPSBtX2Fic29sdXRlVHJhbnNmb3JtLm1hcFJlY3QobmV3
U3ViUmVnaW9uKTsKICAgICBuZXdTdWJSZWdpb24uc2NhbGUoZmlsdGVyUmVzb2x1dGlvbigpLndp
ZHRoKCksIGZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7Ci0gICAgZWZmZWN0LT5zZXRSZXBh
aW50UmVjdEluTG9jYWxDb29yZGluYXRlcyhuZXdTdWJSZWdpb24pOwotICAgIG1fbWF4SW1hZ2VT
aXplID0gbV9tYXhJbWFnZVNpemUuZXhwYW5kZWRUbyhuZXdTdWJSZWdpb24uc2l6ZSgpKTsgCisg
ICAgZWZmZWN0LT5zZXRNYXhFZmZlY3RSZWN0KGVuY2xvc2luZ0ludFJlY3QobmV3U3ViUmVnaW9u
KSk7CisgICAgaWYgKCFlZmZlY3QtPmlzU291cmNlSW5wdXQoKSkKKyAgICAgICAgbV9tYXhJbWFn
ZVNpemUgPSBtX21heEltYWdlU2l6ZS5leHBhbmRlZFRvKG5ld1N1YlJlZ2lvbi5zaXplKCkpOyAK
IH0KIAotUGFzc1JlZlB0cjxTVkdGaWx0ZXI+IFNWR0ZpbHRlcjo6Y3JlYXRlKGNvbnN0IEZsb2F0
UmVjdCYgdGFyZ2V0Qm91bmRpbmdCb3gsIGNvbnN0IEZsb2F0UmVjdCYgZmlsdGVyUmVjdCwgYm9v
bCBlZmZlY3RCQm94TW9kZSkKK2Zsb2F0IFNWR0ZpbHRlcjo6YXBwbHlIb3Jpem9udGFsU2NhbGUo
ZmxvYXQgdmFsdWUpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdGaWx0ZXIo
dGFyZ2V0Qm91bmRpbmdCb3gsIGZpbHRlclJlY3QsIGVmZmVjdEJCb3hNb2RlKSk7CisgICAgaWYg
KG1fZWZmZWN0QkJveE1vZGUpCisgICAgICAgIHZhbHVlICo9IG1fdGFyZ2V0Qm91bmRpbmdCb3gu
d2lkdGgoKTsKKyAgICByZXR1cm4gRmlsdGVyOjphcHBseUhvcml6b250YWxTY2FsZSh2YWx1ZSkg
KiBtX2Fic29sdXRlRmlsdGVyUmVnaW9uLndpZHRoKCkgLyBtX2ZpbHRlclJlZ2lvbi53aWR0aCgp
OworfQorCitmbG9hdCBTVkdGaWx0ZXI6OmFwcGx5VmVydGljYWxTY2FsZShmbG9hdCB2YWx1ZSkg
Y29uc3QKK3sKKyAgICBpZiAobV9lZmZlY3RCQm94TW9kZSkKKyAgICAgICAgdmFsdWUgKj0gbV90
YXJnZXRCb3VuZGluZ0JveC5oZWlnaHQoKTsKKyAgICByZXR1cm4gRmlsdGVyOjphcHBseVZlcnRp
Y2FsU2NhbGUodmFsdWUpICogbV9hYnNvbHV0ZUZpbHRlclJlZ2lvbi5oZWlnaHQoKSAvIG1fZmls
dGVyUmVnaW9uLmhlaWdodCgpOworfQorCitQYXNzUmVmUHRyPFNWR0ZpbHRlcj4gU1ZHRmlsdGVy
OjpjcmVhdGUoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhYnNvbHV0ZVRyYW5zZm9ybSwgY29uc3Qg
RmxvYXRSZWN0JiBhYnNvbHV0ZVNvdXJjZURyYXdpbmdSZWdpb24sIGNvbnN0IEZsb2F0UmVjdCYg
dGFyZ2V0Qm91bmRpbmdCb3gsIGNvbnN0IEZsb2F0UmVjdCYgZmlsdGVyUmVnaW9uLCBib29sIGVm
ZmVjdEJCb3hNb2RlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHRmlsdGVyKGFic29s
dXRlVHJhbnNmb3JtLCBhYnNvbHV0ZVNvdXJjZURyYXdpbmdSZWdpb24sIHRhcmdldEJvdW5kaW5n
Qm94LCBmaWx0ZXJSZWdpb24sIGVmZmVjdEJCb3hNb2RlKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaAko
cmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw2ICsyMSw3IEBACiAjZGVmaW5lIFNWR0ZpbHRlcl9o
CiAKICNpZiBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoRklMVEVSUykKKyNpbmNsdWRlICJBZmZpbmVU
cmFuc2Zvcm0uaCIKICNpbmNsdWRlICJGaWx0ZXIuaCIKICNpbmNsdWRlICJGaWx0ZXJFZmZlY3Qu
aCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKQEAgLTMyLDI3ICszMywzNiBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTVkdGaWx0ZXIgOiBwdWJsaWMgRmlsdGVyIHsKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR0ZpbHRlcj4gY3JlYXRlKGNv
bnN0IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wpOwotCi0gICAgICAgIHZpcnR1
YWwgYm9vbCBlZmZlY3RCb3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2VmZmVjdEJC
b3hNb2RlOyB9Ci0KLSAgICAgICAgdmlydHVhbCBGbG9hdFJlY3QgZmlsdGVyUmVnaW9uKCkgY29u
c3QgeyByZXR1cm4gbV9maWx0ZXJSZWN0OyB9Ci0gICAgICAgIAotICAgICAgICB2aXJ0dWFsIEZs
b2F0UmVjdCBzb3VyY2VJbWFnZVJlY3QoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldEJvdW5kaW5n
Qm94OyB9Ci0KLSAgICAgICAgdmlydHVhbCBGbG9hdFNpemUgbWF4SW1hZ2VTaXplKCkgY29uc3Qg
eyByZXR1cm4gbV9tYXhJbWFnZVNpemU7IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIGRldGVybWlu
ZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihGaWx0ZXJFZmZlY3QqLCBjb25zdCBGbG9hdFJlY3Qm
KTsKLQotICAgIHByaXZhdGU6Ci0gICAgICAgIFNWR0ZpbHRlcihjb25zdCBGbG9hdFJlY3QmIHRh
cmdldEJvdW5kaW5nQm94LCBjb25zdCBGbG9hdFJlY3QmIGZpbHRlclJlY3QsIGJvb2wgZWZmZWN0
QkJveE1vZGUpOwotCi0gICAgICAgIEZsb2F0U2l6ZSBtX21heEltYWdlU2l6ZTsKLSAgICAgICAg
RmxvYXRSZWN0IG1fdGFyZ2V0Qm91bmRpbmdCb3g7Ci0gICAgICAgIEZsb2F0UmVjdCBtX2ZpbHRl
clJlY3Q7Ci0gICAgICAgIGJvb2wgbV9lZmZlY3RCQm94TW9kZTsKLSAgICB9OworY2xhc3MgU1ZH
RmlsdGVyIDogcHVibGljIEZpbHRlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
U1ZHRmlsdGVyPiBjcmVhdGUoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiwgY29uc3QgRmxvYXRSZWN0
JiwgY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCk7CisKKyAgICB2aXJ0
dWFsIGJvb2wgZWZmZWN0Qm91bmRpbmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9lZmZlY3RC
Qm94TW9kZTsgfQorCisgICAgdmlydHVhbCBGbG9hdFJlY3QgZmlsdGVyUmVnaW9uSW5Vc2VyU3Bh
Y2UoKSBjb25zdCB7IHJldHVybiBtX2ZpbHRlclJlZ2lvbjsgfQorICAgIHZpcnR1YWwgRmxvYXRS
ZWN0IGZpbHRlclJlZ2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fYWJzb2x1dGVGaWx0ZXJSZWdpb247
IH0KKworICAgIHZpcnR1YWwgRmxvYXRQb2ludCBtYXBBYnNvbHV0ZVBvaW50VG9Mb2NhbFBvaW50
KGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KSBjb25zdCB7IHJldHVybiBtX2Fic29sdXRlVHJhbnNm
b3JtLmludmVyc2UoKS5tYXBQb2ludChwb2ludCk7IH0KKworICAgIHZpcnR1YWwgZmxvYXQgYXBw
bHlIb3Jpem9udGFsU2NhbGUoZmxvYXQgdmFsdWUpIGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQg
YXBwbHlWZXJ0aWNhbFNjYWxlKGZsb2F0IHZhbHVlKSBjb25zdDsKKworICAgIHZpcnR1YWwgRmxv
YXRSZWN0IHNvdXJjZUltYWdlUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fYWJzb2x1dGVTb3VyY2VE
cmF3aW5nUmVnaW9uOyB9CisgICAgCisgICAgdmlydHVhbCBGbG9hdFNpemUgbWF4SW1hZ2VTaXpl
KCkgY29uc3QgeyByZXR1cm4gbV9tYXhJbWFnZVNpemU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGV0
ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlckVmZmVjdCosIGNvbnN0IEZsb2F0
UmVjdCYpOworCitwcml2YXRlOgorICAgIFNWR0ZpbHRlcihjb25zdCBBZmZpbmVUcmFuc2Zvcm0m
IGFic29sdXRlVHJhbnNmb3JtLCBjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlU291cmNlRHJhd2lu
Z1JlZ2lvbiwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRCb3VuZGluZ0JveCwgY29uc3QgRmxvYXRS
ZWN0JiBmaWx0ZXJSZWdpb24sIGJvb2wgZWZmZWN0QkJveE1vZGUpOworCisgICAgQWZmaW5lVHJh
bnNmb3JtIG1fYWJzb2x1dGVUcmFuc2Zvcm07CisgICAgRmxvYXRSZWN0IG1fYWJzb2x1dGVTb3Vy
Y2VEcmF3aW5nUmVnaW9uOworICAgIEZsb2F0UmVjdCBtX3RhcmdldEJvdW5kaW5nQm94OworICAg
IEZsb2F0UmVjdCBtX2Fic29sdXRlRmlsdGVyUmVnaW9uOworICAgIEZsb2F0UmVjdCBtX2ZpbHRl
clJlZ2lvbjsKKyAgICBib29sIG1fZWZmZWN0QkJveE1vZGU7CisgICAgRmxvYXRTaXplIG1fbWF4
SW1hZ2VTaXplOworfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA2OTEzNSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDMyIEBACisyMDEwLTEwLTA1ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU1ZHcyB3
aXRoIGZpbHRlcnMgbG9vayBncmFpbnkgd2hlbiBzY2FsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MjYKKworICAgICAgICBBZGRlZCB0aHJlZSBu
ZXcgdGVzdHMgZm9yIFNWR3MgZmlsdGVyUmVzLgorICAgICAgICBTaGFkb3cgdGVzdHMgZm9yIFNW
RyBGaWx0ZXIgbmVlZGVkIGFuIHVwZGF0ZS4gQ3VycmVudCB0ZXN0cyBkaWRuJ3QgcmVzcGVjdAor
ICAgICAgICBwcmltaXRpdmVVbml0cyAib2JqZWN0Qm91bmRpbmdCb3giIGZvciBzdGREZXZpYXRp
b24gb24gZmVHYXVzc2lhbkJsdSBjb3JyZWN0bHkuCisgICAgICAgIAorCisgICAgICAgICogcGxh
dGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVjdGVk
LnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJl
czEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRl
cnMvZmlsdGVyUmVzMi1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczItZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMzLWV4cGVj
dGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMv
ZmlsdGVyUmVzMy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9z
dmcvZmlsdGVycy9maWx0ZXJSZXMzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1maWx0ZXItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zaGFkb3ctb24tcmVjdC13aXRoLWZpbHRl
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS5zdmc6IEFk
ZGVkLgorICAgICAgICAqIHN2Zy9maWx0ZXJzL2ZpbHRlclJlczIuc3ZnOiBBZGRlZC4KKyAgICAg
ICAgKiBzdmcvZmlsdGVycy9maWx0ZXJSZXMzLnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2Zp
bHRlcnMvc2hhZG93LW9uLWZpbHRlci5zdmc6CisgICAgICAgICogc3ZnL2ZpbHRlcnMvc2hhZG93
LW9uLXJlY3Qtd2l0aC1maWx0ZXIuc3ZnOgorCiAyMDEwLTEwLTA1ICBSb2JlcnQgSG9nYW4gIDxy
b2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEtZXhw
ZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9maWx0ZXJzL2ZpbHRlclJlczEtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC5j
aGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorNTE2MDk3ZTQ1NDlhNGY3MTk3Y2Ew
ZmE1NDEwMGEwZWUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9maWx0ZXJzL2ZpbHRlclJlczEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJTVkdS
b290IHtzdmd9IGF0ICgxMCwxMCkgc2l6ZSA0MDB4MTIwCisgICAgUmVuZGVyU1ZHSGlkZGVuQ29u
dGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXIge2ZpbHRlcn0gW2lkPSJmMSJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0g
W3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAgICBbZmVGbG9vZCBmbG9vZC1j
b2xvcj0iIzAwODAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJdCisgICAgICBSZW5kZXJTVkdSZXNv
dXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImYyIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5n
Qm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFtmZUZsb29kIGZs
b29kLWNvbG9yPSIjMDA4MDAwIiBmbG9vZC1vcGFjaXR5PSIxLjAwIl0KKyAgICAgIFJlbmRlclNW
R1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjMiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91
bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlRmxv
b2QgZmxvb2QtY29sb3I9IiMwMDgwMDAiIGZsb29kLW9wYWNpdHk9IjEuMDAiXQorICAgIFJlbmRl
clBhdGgge3JlY3R9IGF0ICgxMCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0yMC4wMCwyMC4wMCBMMTIwLjAwLDIwLjAwIEwxMjAu
MDAsMTIwLjAwIEwyMC4wMCwxMjAuMDAgWiJdCisgICAgICBbZmlsdGVyPSJmMSJdIFJlbmRlclNW
R1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgxMCwxMCkgc2l6ZSAxMjB4MTIwCisgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDE1MCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xNjAuMDAsMjAuMDAgTDI2MC4wMCwyMC4wMCBM
MjYwLjAwLDEyMC4wMCBMMTYwLjAwLDEyMC4wMCBaIl0KKyAgICAgIFtmaWx0ZXI9ImYyIl0gUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDE1MCwxMCkgc2l6ZSAxMjB4MTIwCisg
ICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5MCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0zMDAuMDAsMjAuMDAgTDQwMC4wMCwy
MC4wMCBMNDAwLjAwLDEyMC4wMCBMMzAwLjAwLDEyMC4wMCBaIl0KKyAgICAgIFtmaWx0ZXI9ImYz
Il0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDI5MCwxMCkgc2l6ZSAxMjB4
MTIwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVz
Mi1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMyLWV4cGVj
dGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis2NWJmY2ZjOWRkNGI1Yzdk
YTYzM2UzYmI0NmMxMTZmOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMyLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVy
UmVzMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMjAgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
clNWR1Jvb3Qge3N2Z30gYXQgKDEwLDEwKSBzaXplIDQwMHgxMjAKKyAgICBSZW5kZXJTVkdIaWRk
ZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdSZXNv
dXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImYxIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5n
Qm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFtmZU9mZnNldCBk
eD0iMC4wMCIgZHk9IjAuMDAiXQorICAgICAgICAgIFtTb3VyY2VHcmFwaGljXQorICAgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmMiJdIFtmaWx0ZXJVbml0cz1vYmpl
Y3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAgICBb
ZmVPZmZzZXQgZHg9IjAuMDAiIGR5PSIwLjAwIl0KKyAgICAgICAgICBbU291cmNlR3JhcGhpY10K
KyAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjMiXSBbZmlsdGVy
VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0K
KyAgICAgICAgW2ZlT2Zmc2V0IGR4PSIwLjAwIiBkeT0iMC4wMCJdCisgICAgICAgICAgW1NvdXJj
ZUdyYXBoaWNdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDEwLDEwKSBzaXplIDEyMHgxMjAg
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTIwLjAwLDIwLjAw
IEwxMjAuMDAsMjAuMDAgTDEyMC4wMCwxMjAuMDAgTDIwLjAwLDEyMC4wMCBaIl0KKyAgICAgIFtm
aWx0ZXI9ImYxIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDEwLDEwKSBz
aXplIDEyMHgxMjAKKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTUwLDEwKSBzaXplIDEyMHgx
MjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTE2MC4wMCwy
MC4wMCBMMjYwLjAwLDIwLjAwIEwyNjAuMDAsMTIwLjAwIEwxNjAuMDAsMTIwLjAwIFoiXQorICAg
ICAgW2ZpbHRlcj0iZjIiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMTUw
LDEwKSBzaXplIDEyMHgxMjAKKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjkwLDEwKSBzaXpl
IDEyMHgxMjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTMw
MC4wMCwyMC4wMCBMNDAwLjAwLDIwLjAwIEw0MDAuMDAsMTIwLjAwIEwzMDAuMDAsMTIwLjAwIFoi
XQorICAgICAgW2ZpbHRlcj0iZjMiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBh
dCAoMjkwLDEwKSBzaXplIDEyMHgxMjAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvZmlsdGVycy9maWx0ZXJSZXMzLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMzLWV4cGVjdGVkLmNo
ZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0
ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEg
QEAKKzUxNjA5N2U0NTQ5YTRmNzE5N2NhMGZhNTQxMDBhMGVlClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRl
clJlczMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvZmlsdGVycy9maWx0ZXJSZXMzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMzLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMTAsMTApIHNpemUgNDAweDEy
MAorICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjEiXSBbZmlsdGVy
VW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0K
KyAgICAgICAgW2ZlRmxvb2QgZmxvb2QtY29sb3I9IiMwMDgwMDAiIGZsb29kLW9wYWNpdHk9IjEu
MDAiXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmMiJdIFtm
aWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9u
VXNlXQorICAgICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwODAwMCIgZmxvb2Qtb3BhY2l0
eT0iMS4wMCJdCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImYz
Il0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNw
YWNlT25Vc2VdCisgICAgICAgIFtmZUZsb29kIGZsb29kLWNvbG9yPSIjMDA4MDAwIiBmbG9vZC1v
cGFjaXR5PSIxLjAwIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUgMTIw
eDEyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMjAuMDAs
MjAuMDAgTDEyMC4wMCwyMC4wMCBMMTIwLjAwLDEyMC4wMCBMMjAuMDAsMTIwLjAwIFoiXQorICAg
ICAgW2ZpbHRlcj0iZjEiXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMTAs
MTApIHNpemUgMTIweDEyMAorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNTAsMTApIHNpemUg
MTIweDEyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTYw
LjAwLDIwLjAwIEwyNjAuMDAsMjAuMDAgTDI2MC4wMCwxMjAuMDAgTDE2MC4wMCwxMjAuMDAgWiJd
CisgICAgICBbZmlsdGVyPSJmMiJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0
ICgxNTAsMTApIHNpemUgMTIweDEyMAorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyOTAsMTAp
IHNpemUgMTIweDEyMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRh
PSJNMzAwLjAwLDIwLjAwIEw0MDAuMDAsMjAuMDAgTDQwMC4wMCwxMjAuMDAgTDMwMC4wMCwxMjAu
MDAgWiJdCisgICAgICBbZmlsdGVyPSJmMyJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0
ZXJ9IGF0ICgyOTAsMTApIHNpemUgMTIweDEyMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1maWx0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zaGFkb3ctb24tZmlsdGVy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjkxMjApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLWZpbHRlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTQsNyArNCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJT
VkdSb290IHtzdmd9IGF0ICg1MCw1MCkgc2l6ZSA0ODB4NDgwCiAgICAgUmVuZGVyU1ZHSGlkZGVu
Q29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgUmVuZGVyU1ZHUmVzb3Vy
Y2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmaWx0ZXIiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRp
bmdCb3hdIFtwcmltaXRpdmVVbml0cz1vYmplY3RCb3VuZGluZ0JveF0KLSAgICAgICAgW2ZlR2F1
c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iNC4wMCwgNC4wMCJdCisgICAgICAgIFtmZUdhdXNzaWFu
Qmx1ciBzdGREZXZpYXRpb249IjAuMDEsIDAuMDEiXQogICAgICAgICAgIFtmZUNvbXBvc2l0ZSBv
cGVyYXRpb249Ik9WRVIiXQogICAgICAgICAgICAgW2ZlRmxvb2QgZmxvb2QtY29sb3I9IiNGRjAw
MDAiIGZsb29kLW9wYWNpdHk9IjEuMDAiXQogICAgICAgICAgICAgW2ZlRmxvb2QgZmxvb2QtY29s
b3I9IiMwMDgwMDAiIGZsb29kLW9wYWNpdHk9IjEuMDAiXQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgtZmlsdGVyLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMv
c2hhZG93LW9uLXJlY3Qtd2l0aC1maWx0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2OTEyMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zaGFkb3ctb24tcmVjdC13
aXRoLWZpbHRlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNyArNCw3IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgzNywz
Nykgc2l6ZSA0OTN4NDkzCiAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAo
MCwwKSBzaXplIDB4MAogICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lk
PSJmaWx0ZXIiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0
cz1vYmplY3RCb3VuZGluZ0JveF0KLSAgICAgICAgW2ZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlv
bj0iNC4wMCwgNC4wMCJdCisgICAgICAgIFtmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjAu
MDEsIDAuMDEiXQogICAgICAgICAgIFtmZUNvbXBvc2l0ZSBvcGVyYXRpb249Ik9WRVIiXQogICAg
ICAgICAgICAgW2ZlRmxvb2QgZmxvb2QtY29sb3I9IiNGRjAwMDAiIGZsb29kLW9wYWNpdHk9IjEu
MDAiXQogICAgICAgICAgICAgW2ZlRmxvb2QgZmxvb2QtY29sb3I9IiMwMDgwMDAiIGZsb29kLW9w
YWNpdHk9IjEuMDAiXQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS5z
dmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS5zdmcJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLnN2Zwko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4K
KzxkZWZzPgorPGZpbHRlciBpZD0iZjEiIGZpbHRlclJlcz0iNjAiPgorICAgIDxmZUZsb29kIGZs
b29kLWNvbG9yPSJncmVlbiIvPgorPC9maWx0ZXI+Cis8ZmlsdGVyIGlkPSJmMiIgZmlsdGVyUmVz
PSIxMjAiPgorICAgIDxmZUZsb29kIGZsb29kLWNvbG9yPSJncmVlbiIvPgorPC9maWx0ZXI+Cis8
ZmlsdGVyIGlkPSJmMyI+CisgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9ImdyZWVuIi8+Cis8L2Zp
bHRlcj4KKzwvZGVmcz4KKzxyZWN0IHg9IjIwIiB5PSIyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIx
MDAiIGZpbHRlcj0idXJsKCNmMSkiLz4KKzxyZWN0IHg9IjE2MCIgeT0iMjAiIHdpZHRoPSIxMDAi
IGhlaWdodD0iMTAwIiBmaWx0ZXI9InVybCgjZjIpIi8+Cis8cmVjdCB4PSIzMDAiIHk9IjIwIiB3
aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsdGVyPSJ1cmwoI2YzKSIvPgorPC9zdmc+CisKSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczIuc3ZnCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczIuc3ZnCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi5zdmcJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTcgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxu
czp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+Cis8ZGVmcz4KKzxmaWx0ZXIg
aWQ9ImYxIiBmaWx0ZXJSZXM9IjYwIj4KKyAgICA8ZmVPZmZzZXQvPgorPC9maWx0ZXI+Cis8Zmls
dGVyIGlkPSJmMiIgZmlsdGVyUmVzPSIxMjAiPgorICAgIDxmZU9mZnNldC8+Cis8L2ZpbHRlcj4K
KzxmaWx0ZXIgaWQ9ImYzIj4KKyAgICA8ZmVPZmZzZXQvPgorPC9maWx0ZXI+Cis8L2RlZnM+Cis8
cmVjdCB4PSIyMCIgeT0iMjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIg
ZmlsdGVyPSJ1cmwoI2YxKSIvPgorPHJlY3QgeD0iMTYwIiB5PSIyMCIgd2lkdGg9IjEwMCIgaGVp
Z2h0PSIxMDAiIGZpbGw9ImdyZWVuIiBmaWx0ZXI9InVybCgjZjIpIi8+Cis8cmVjdCB4PSIzMDAi
IHk9IjIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iZ3JlZW4iIGZpbHRlcj0idXJs
KCNmMykiLz4KKzwvc3ZnPgorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJS
ZXMzLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJSZXMz
LnN2ZwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMu
c3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxp
bmsiPgorPGRlZnM+Cis8ZmlsdGVyIGlkPSJmMSIgZmlsdGVyUmVzPSI2MCI+CisgICAgPGZlRmxv
b2QgZmxvb2QtY29sb3I9ImdyZWVuIi8+CisgICAgPGZlT2ZmZnNldC8+Cis8L2ZpbHRlcj4KKzxm
aWx0ZXIgaWQ9ImYyIiBmaWx0ZXJSZXM9IjEyMCI+CisgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9
ImdyZWVuIi8+CisgICAgPGZlT2ZmZnNldC8+Cis8L2ZpbHRlcj4KKzxmaWx0ZXIgaWQ9ImYzIj4K
KyAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iZ3JlZW4iLz4KKyAgICA8ZmVPZmZmc2V0Lz4KKzwv
ZmlsdGVyPgorPC9kZWZzPgorPHJlY3QgeD0iMjAiIHk9IjIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjEwMCIgZmlsdGVyPSJ1cmwoI2YxKSIvPgorPHJlY3QgeD0iMTYwIiB5PSIyMCIgd2lkdGg9IjEw
MCIgaGVpZ2h0PSIxMDAiIGZpbHRlcj0idXJsKCNmMikiLz4KKzxyZWN0IHg9IjMwMCIgeT0iMjAi
IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWx0ZXI9InVybCgjZjMpIi8+Cis8L3N2Zz4KKwpJ
bmRleDogTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLWZpbHRlci5zdmcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLWZpbHRlci5zdmcJKHJl
dmlzaW9uIDY5MTIwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLWZpbHRl
ci5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTQsNyArNCw3IEBACiA8ZmVGbG9vZCB4PSItNDAlIiB5
PSItNDAlIiB3aWR0aD0iNTAlIiBoZWlnaHQ9IjUwJSIgZmxvb2QtY29sb3I9InJlZCIgc3R5bGU9
Ii13ZWJraXQtc3ZnLXNoYWRvdzotNHB4IC00cHggMHB4IGJsdWU7IiByZXN1bHQ9ImZsb29kMSIv
PgogPGZlRmxvb2QgeD0iLTIwJSIgeT0iLTIwJSIgd2lkdGg9IjUwJSIgaGVpZ2h0PSI1MCUiIGZs
b29kLWNvbG9yPSJncmVlbiIgcmVzdWx0PSJmbG9vZDIiLz4KIDxmZUNvbXBvc2l0ZSBpbj0iZmxv
b2QxIiBpbjI9ImZsb29kMiIgd2lkdGg9IjEyMCUiIGhlaWdodD0iMTIwJSIgcmVzdWx0PSJjb21w
MSIgc3R5bGU9Ii13ZWJraXQtc3ZnLXNoYWRvdzo0cHggLTFweCAzcHggZ3JlZW47Ii8+Ci08ZmVH
YXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0IDQiIHN0eWxlPSItd2Via2l0LXN2Zy1zaGFkb3c6
IDZweCA0cHggOHB4IHllbGxvdzsiLz4KKzxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjAu
MDEzMyIgc3R5bGU9Ii13ZWJraXQtc3ZnLXNoYWRvdzogNnB4IDRweCA4cHggeWVsbG93OyIvPgog
PC9maWx0ZXI+CiA8L2RlZnM+CiA8cmVjdCB4PSIyMDAiIHk9IjIwMCIgd2lkdGg9IjMwMCIgaGVp
Z2h0PSIzMDAiIGZpbGw9ImdyZWVuIiBzdHlsZT0iZmlsdGVyOnVybCgjZmlsdGVyKTsiLz4KSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgtZmlsdGVyLnN2
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9zaGFkb3ctb24tcmVjdC13
aXRoLWZpbHRlci5zdmcJKHJldmlzaW9uIDY5MTIwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2ZpbHRl
cnMvc2hhZG93LW9uLXJlY3Qtd2l0aC1maWx0ZXIuc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC00LDcg
KzQsNyBAQAogPGZlRmxvb2QgeD0iLTQwJSIgeT0iLTQwJSIgd2lkdGg9IjUwJSIgaGVpZ2h0PSI1
MCUiIGZsb29kLWNvbG9yPSJyZWQiIHJlc3VsdD0iZmxvb2QxIi8+CiA8ZmVGbG9vZCB4PSItMjAl
IiB5PSItMjAlIiB3aWR0aD0iNTAlIiBoZWlnaHQ9IjUwJSIgZmxvb2QtY29sb3I9ImdyZWVuIiBy
ZXN1bHQ9ImZsb29kMiIvPgogPGZlQ29tcG9zaXRlIGluPSJmbG9vZDEiIGluMj0iZmxvb2QyIiB3
aWR0aD0iMTIwJSIgaGVpZ2h0PSIxMjAlIiByZXN1bHQ9ImNvbXAxIiAvPgotPGZlR2F1c3NpYW5C
bHVyIHN0ZERldmlhdGlvbj0iNCA0IiAvPgorPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0i
MC4wMTMzIiAvPgogPC9maWx0ZXI+CiA8L2RlZnM+CiA8cmVjdCB4PSIyMDAiIHk9IjIwMCIgd2lk
dGg9IjMwMCIgaGVpZ2h0PSIzMDAiIGZpbGw9ImdyZWVuIiBzdHlsZT0iZmlsdGVyOnVybCgjZmls
dGVyKTstd2Via2l0LXN2Zy1zaGFkb3c6LTEwcHggLTEwcHggM3B4IG9yYW5nZTsiLz4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVjdGVk
LnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0
eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVz
MS1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZ
QUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRB
aUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3Jl
UmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhB
RFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9Q
Z1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZ
OHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RC
Mmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFq
TlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2Sktn
bkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdE
aDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050
dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVa
bTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1
WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsr
NnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGlu
U2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhm
OEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5
ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJW
TEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2
YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFlM2RRV3BiQVJCRXdTamszaUVudDAwdTRJMzRURCtY
dGpMNjA5WGFOTWI0OWZIMSt1VkZnQUFCQWdRSUVDQkFnQUNCCkJ3UitQL0FNanlCQWdBQUJBZ1FJ
RUNCQWdNQi9BUVBFRjRFQUFRSUVDQkFnUUlBQWdjY0VESkRIcUQySUFBRUNCQWdRSUVDQUFBRUQK
eEhlQUFBRUNCQWdRSUVDQUFJSEhCQXlReDZnOWlBQUJBZ1FJRUNCQWdBQUJBOFIzZ0FBQkFnUUlF
Q0JBZ0FDQnh3UU1rTWVvUFlnQQpBUUlFQ0JBZ1FJQUFnVC9mRWJ6K3ZiNzdFZThIQkQ3KytuY3dn
UnBGSUVDQUFBRUNCQWljRi9oMmdKeFA0TUJ6QWticnVVcmVmcERCCituWlNIMGlBQUFFQ0JINk1n
QUh5WTZvV2xNQmRBYVAxYmpmdnVNeGdmWWVpenlCQWdFQkh3TitBZExxVWhBQUJBZ1FJRUNCQWdN
QjUKQVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENnQUFCQWdRSUVDQkE0THlBQVhLK0ln
Y1NJRUNBQUFFQ0JBZ1E2QWdZSUowdQpKU0ZBZ0FBQkFnUUlFQ0J3WHNBQU9WK1JBd2tRSUVDQUFB
RUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRCklFQ0FBQUVDQkRvQ0Jr
aW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNC
QWdBQUIKQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJRUNBQUlHT2dBSFM2VklTQWdRSUVDQkFnQUFCQXVj
RkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQQpBT2wwS1FrQkFnUUlFQ0JBZ0FDQjh3SUd5UG1LSEVp
QUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPCkpFQ0FBQUVDQkFn
UUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1
SlNGQWdBQUIKQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBQUFFQ0JBaDBCQXlRVHBlU0VDQkFnQUFC
QWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQwpCRG9DQmtpblMwa0lFQ0JBZ0FBQkFnUUluQmN3
UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdnCjV5dHlJQUVD
QkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUJBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FR
RWZBQU9sMEtRa0IKQWdRSUVDQkFnQUNCOHdJR3lQbUtIRWlBQUFFQ0JBZ1FJRUNnSTJDQWRMcVVo
QUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQwpCQWdRSU5BUk1FQTZYVXBDZ0FBQkFnUUlF
Q0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlFQ0J3ClhzQUFP
VitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUUlF
Q0FBQUVDQkRvQ0JraW4KUzBrSUVDQkFnQUFCQWdRSW5CY3dRTTVYNUVBQ0JBZ1FJRUNBQUFFQ0hR
RURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQwpCQWdRSUVDQUFJR09nQUhTNlZJU0Fn
UUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQkFnUUlFQ0JBCmdB
Q0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVV
T0pFQ0FBQUVDQkFnUUlOQVIKTUVBNlhVcENnQUFCQWdRSUVDQkE0THlBQVhLK0lnY1NJRUNBQUFF
Q0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUgpBd2tRSUVDQUFBRUNCQWgwQkF5
UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFBRUNCRG9DQmtpblMwa0lFQ0JB
CmdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNCQWdBQUJBZ1RP
Q3hnZzV5dHlJQUVDQkFnUUlFQ0EKQUlHT2dBSFM2VklTQWdRSUVDQkFnQUFCQXVjRkRKRHpGVG1R
QUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJRwp5UG1LSEVpQUFBRUNCQWdR
SUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVDQUFBRUNCQWdRSU5BUk1FQTZY
VXBDCmdBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUJB
Z1FJRUNCd1hzQUFPVitSQXdrUUlFQ0EKQUFFQ0JBaDBCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZ
SUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkFnQUFCQWdRSQpuQmN3UU01WDVFQUNC
QWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdnNXl0eUlBRUNCQWdRSUVDQUFJ
R09nQUhTCjZWSVNBZ1FJRUNCQWdBQUJBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FRRWZBQU9sMEtR
a0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUEKQUFFQ0JBZ1FJRUNnSTJDQWRMcVVoQUFCQWdRSUVD
QkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENnQUFCQWdRSQpFQ0JBNEx5QUFY
SytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlFQ0J3WHNBQU9WK1JBd2tRSUVD
QUFBRUNCQWgwCkJBeVFUcGVTRUNCQWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDQkRv
Q0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVgKNUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFR
SUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJRUNBQUlHT2dBSFM2VklTQWdRSQpFQ0JBZ0FB
QkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQkFnUUlFQ0JBZ0FDQjh3SUd5UG1L
SEVpQUFBRUNCQWdRCklFQ2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVD
QkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUEKQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZ
SUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBQUFFQ0JBaDBCQXlRVHBlUwpFQ0JB
Z0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFBRUNCRG9DQmtpblMwa0lFQ0JBZ0FBQkFnUUlu
QmN3UU01WDVFQUNCQWdRCklFQ0FBQUVDSFFFRHBOT2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZzV5dHlJ
QUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUIKQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJ
RUNBUUVmQUFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJR3lQbUtIRWlBQUFFQ0JBZ1FJRUNnSTJDQQpk
THFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVDQUFBRUNCQWdRSU5BUk1FQTZYVXBDZ0FBQkFn
UUlFQ0JBNEx5QUFYSytJZ2NTCklFQ0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCd1hz
QUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUIKQWdRSUVEZ3Y4UHI0ZXAyLzBv
RUVDQkFnUUlBQUFRSUVDQ1FFL0FZa1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdR
SQpFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5
UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRCk1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFn
UUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUsKUVlBQUFRSUVDQkFnUUdC
RHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklB
QVFJRQpDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJ
RUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnCnNDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdq
RUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWsKYWhTQ0FBRUNCQWdR
SUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFO
bnB5SlFFQwpCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFB
UUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRCklFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNB
Z1pJb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEEKQUVuVUtBUUJB
Z1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlM
QWhZSUJzOU9SSwpBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhF
bUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJCkVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFR
SUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0IKaElBQmtx
aFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdR
SUVDQkFZRVBBQU5ubwp5WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0Jn
Z0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFCkNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVD
QUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUEKQVFJ
SkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlB
QVFJRUNCQWdRSURBaG9BQgpzdEdUS3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJ
RU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDCkJBZ1FJRUNBQUFFQ0d3SUd5RVpQ
cmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0EK
QUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFT
ZFFvQkFFQ0JBZ1FJRUNBQUlFTgpBUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFB
UUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqCkVBUUlFQ0JBZ0FBQkFnUTJC
QXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVD
QkEKZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJ
R0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQgpBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNr
R0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJCm9rWWhDQkFnUUlBQUFR
SUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktN
blZ4SWcKUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNC
QWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQQpBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdD
QUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFCkRKQkVqVUlRSUVD
QUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUli
QWdiSVJrK3UKSkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVF
Q0JBZ1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQQpBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JB
Z0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRClNBZ1lJSWth
aFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FB
QUVDQkRZRURKQ04Kbmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJz
dEdUS3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQQpnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVD
QkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJCkVDQ1FF
REJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVD
QkFnQUFCQWdRSWJBZ1kKSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJ
RU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZwpRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVF
b0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFCkNC
QWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VT
TlFoQWdRSUFBQVFJRUNCRFkKRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNC
QWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMQpDa0dBQUFFQ0JBZ1FJRUJnUThB
QTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVD
CkJBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJ
Q0JnZ2lScUZJRUNBQUFFQ0JBZ1EKSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFF
Q0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQQpKR29VZ2dBQkFnUUlFQ0JB
Z01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZj
aVVCCkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNC
QWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUkKRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdT
S0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQwp3QUJKMUNnRUFRSUVD
QkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lX
Q0FiUFRrClNnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdB
QUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUUKQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JB
Z2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQQpnWVNBQVpLb1VR
Z0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JB
Z1FHQkR3QURaCjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJz
OXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUMKQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FB
QkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQQpBQUVDQ1FF
REpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVD
QkFnUUlFQ0F3SWFBCkFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZ
RURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUkKQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRr
UUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQQpnQUFC
QWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVL
QVFCQWdRSUVDQkFnQUNCCkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNC
QWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlIKb3hBRUNCQWdRSUFBQVFJRU5nUU1r
STJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZwpR
SUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJ
QUJrcWhSQ0FJRUNCQWdRSUFBCkFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdB
QUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUcKU0tKR0lRZ1FJRUNBQUFFQ0JB
aHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFj
UwpJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlB
QUFRSUpBUU1rVWFNUUJBZ1FJRUNBCkFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NS
cUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2sKQkF5UVJJMUNFQ0JBZ0FB
QkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lH
eUVaUApyaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdR
SUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBCmdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJB
UXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUkKRUVnSUdDQ0pHb1Vn
UUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJB
Z1EyQkF5UQpqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJr
eXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnClFJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJ
RUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUUKQ0JBZ2tCQXdR
QkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJ
QUFBUUlFQ0d3SQpHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRR
RURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGCklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0Fn
UUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUMKQkFnUUlF
QWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJ
UUlFQ0FBQUVDQkFnUQoyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlB
QUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTCk5RcEJnQUFCQWdRSUVDQkFZRVBBQU5u
b3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUIKQWdR
SUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZ
SUlrYWhTQkFnQUFCQWdRSQpFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdR
SUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnCmdDUnFGSUlBQVFJRUNCQWdRSURB
aG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWwK
QVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlF
Q0NRRURCQUVqVUtRWUFBQVFJRQpDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlS
aUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBClFzQUFTZFFvQkFFQ0JBZ1FJ
RUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dH
ejAKNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFR
SUVDQkFnUUNBaFlJQWthaFNDQUFFQwpCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpB
UU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBCkFJR0VnQUdTcUZFSUFn
UUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVC
Z1E4QUEKMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJt
U0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQgpBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJ
RUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBCmdBQUJBZ2tCQXlS
Um94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJ
RUNCQWdNQ0cKZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3
UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUgpDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNB
QUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnClFJQUFBUUlF
RWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VB
UUlFQ0JBZ1FJQUEKZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlF
Q0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNawpVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05u
bHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRCklFQ0FB
QUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFa
S29VUWdDQkFnUUlFQ0EKQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFR
SUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQwpCa2lpUmlFSUVDQkFnQUFCQWdRSWJB
Z1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYCkVp
QkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFF
Q0NRRURKRkdqRUFRSUVDQkEKZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhT
Q0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSQpKQVFNa0VTTlFoQWdRSUFBQVFJ
RUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hH
ClQ2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JB
Z0FBQkFnUVNBZ1pJb2tZaENCQWcKUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxB
QUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRQpDQkJJQ0JnZ2lScUZJRUNB
QUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVO
Z1FNCmtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJD
UkFnUUlBQUFRSUVDQ1FFREpCRWpVSVEKSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFn
QUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQwpCQWdRSUpBUU1FQVNO
UXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFB
RUNCQWhzCkNCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEy
U2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2EKaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNC
QWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVDQlBlV0pRMEFBQWoxU1VSQgpWRFlFREpDTm5s
eEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFF
Q0JBZ2tCQXlRClJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpL
b1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkEKZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJ
RUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQgpBZ1FJYkFn
WUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJB
Z0FBQkFnUUlFRWdJCkdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVD
Q1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWMKU1lBQUFRSUVDQkFnUUNBaFlJQWthaFND
QUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQQpBUUlF
Q0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdU
NjRrUUlBQUFRSUVDQkFnCmtCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFn
QUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWIKUGJtU0FBRUNCQWdRSUVDQVFFTEFB
RW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQQpB
QUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5n
UU1rSTJlWEVtQUFBRUNCQWdRCklFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNS
QWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXcKUURaNmNpVUJBZ1FJRUNCQWdB
Q0JoSUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFw
QgpnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFF
Q0JBaHNDQmdnR3oyNWtnQUJBZ1FJCkVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJT
akoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3cKSVdDQWJQVGtTZ0lFQ0JB
Z1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0Zn
Z0NScQpGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JB
Z0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFCkNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVD
R3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWcKUUdCRHdBRFo2TW1W
QkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdR
SUJBUXNBQQpTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pH
b1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DCkJBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFn
QUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1EKSUVDQXdJYUFB
YkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JB
Z1FJRUNBQUlHRQpnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tC
QXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKCmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENC
QWdRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUkKRUNCQWdB
Q0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9S
S0FnUUlFQ0JBZ0FBQgpBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFn
UUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5CjBaTXJDUkFnUUlBQUFRSUVDQ1FFREpC
RWpVSVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUUKQ0JB
Z1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBB
QU5ub3laVUVDQkFnUUlBQQpBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FC
QWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCCkEyU2pKMWNTSUVDQUFBRUNCQWdR
U0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVEK
QkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdR
SURBaG9BQnN0R1RLd2tRSUVDQQpBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJl
bklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDCkd3SUd5RVpQcmlSQWdBQUJB
Z1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0Jr
aWkKUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JB
Z1FJRUNBQUlFTkFRTmtveWRYRWlCQQpnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3ND
RmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCCkFnUTJCQXlRalo1Y1NZ
QUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdR
SUpBUU0Ka0VTTlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZF
SUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0awpRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFn
UUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBCkFRSUVDR3dJR0NB
YlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFB
QVFJRUNCQkkKQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tC
QXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZQpYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FC
QWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBCkFBRUNCQWdR
MkJENEJHTUZGYTM5eWRYSEFBQUFBRWxGVGtTdVFtQ0MKCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi1leHBlY3RlZC5wbmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpD
YW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlw
ZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczItZXhwZWN0ZWQucG5nCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJl
YW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxE
UTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRv
UmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlL
aFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lF
V2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0
cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4
RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6
TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dE
WDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEw
eHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVla
aXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxF
TzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpY
VWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRS
MVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dm
TnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5
ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJ
bWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2
SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1
SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcK
QUVsRVFWUjRBZTNidlE2ZDFSVkZVVHVoVFZJaklmRnNlUktVUi9PVE9UODlxd2lUSzUrdFFaTmlp
K1h2anVObUt1THI5Ly84ODhVLwpCQWdRSUVDQUFBRUNCQWdRK0lEQVh6N3daL2dqQ0JBZ1FJQUFB
UUlFQ0JBZzhEOEJBZUl2QWdFQ0JBZ1FJRUNBQUFFQ0h4TVFJQitqCjlnY1JJRUNBQUFFQ0JBZ1FJ
Q0JBL0IwZ1FJQUFBUUlFQ0JBZ1FPQmpBZ0xrWTlUK0lBSUVDQkFnUUlBQUFRSUVCSWkvQXdRSUVD
QkEKZ0FBQkFnUUlmRXhBZ0h5TTJoOUVnQUFCQWdRSUVDQkFnSUFBOFhlQUFBRUNCQWdRSUVDQUFJ
R1BDUWlRajFIN2d3Z1FJRUNBQUFFQwpCQWdRRUNEK0RoQWdRSUFBQVFJRUNCQWc4REVCQWZJeGFu
OFFBUUlFQ0JBZ1FJQUFBUUlDeE44QkFnUUlFQ0JBZ0FBQkFnUStKaUJBClBrYnREeUpBZ0FBQkFn
UUlFQ0JBUUlENE8wQ0FBQUVDQkFnUUlFQ0F3TWNFQk1qSHFQMUJCQWdRSUVDQUFBRUNCQWdJRUg4
SENCQWcKUUlBQUFRSUVDQkQ0bUlBQStSaTFQNGdBQVFJRUNCQWdRSUFBZ1o4cWdxLy8rbHBOMmZt
REFyLys0OWN2My83NTdjdC8vOWMvQkFnUQpJRUNBQUFFQ0JINGtnU3hBZnFRZjVWdmVFQkN0UDlZ
N2ZmL3QrNC8xUWI2R0FBRUNCQWdRT0NrZ1FFNCtxeDlGNEthQWFQMngzbFcwCi9sanY0V3NJRUNE
d2lvRC9CdVNWbC9LZEJBZ1FJRUNBQUFFQ0JBNElDSkFEaitnbkVDQkFnQUFCQWdRSUVIaEZRSUM4
OGxLK2t3QUIKQWdRSUVDQkFnTUFCQVFGeTRCSDlCQUlFQ0JBZ1FJQUFBUUt2Q0FpUVYxN0tkeEln
UUlBQUFRSUVDQkE0SUNCQURqeWluMENBQUFFQwpCQWdRSUVEZ0ZRRUI4c3BMK1U0Q0JBZ1FJRUNB
QUFFQ0J3UUV5SUZIOUJNSUVDQkFnQUFCQWdRSXZDSWdRRjU1S2Q5SmdBQUJBZ1FJCkVDQkE0SUNB
QURud2lINENBUUlFQ0JBZ1FJQUFnVmNFQk1nckwrVTdDUkFnUUlBQUFRSUVDQndRRUNBSEh0RlBJ
RUNBQUFFQ0JBZ1EKSVBDS2dBQjU1YVY4SndFQ0JBZ1FJRUNBQUlFREFnTGt3Q1A2Q1FRSUVDQkFn
QUFCQWdSZUVSQWdyN3lVN3lSQWdBQUJBZ1FJRUNCdwpRRUNBSEhoRVA0RUFBUUlFQ0JBZ1FJREFL
d0lDNUpXWDhwMEVDQkFnUUlBQUFRSUVEZ2dJa0FPUDZDY1FJRUNBQUFFQ0JBZ1FlRVZBCmdMenlV
cjZUQUFFQ0JBZ1FJRUNBd0FFQkFYTGdFZjBFQWdRSUVDQkFnQUFCQXE4SUNKQlhYc3AzRWlCQWdB
QUJBZ1FJRURnZ0lFQU8KUEtLZlFJQUFBUUlFQ0JBZ1FPQVZBUUh5eWt2NVRnSUVDQkFnUUlBQUFR
SUhCQVRJZ1VmMEV3Z1FJRUNBQUFFQ0JBaThJaUJBWG5rcAozMG1BQUFFQ0JBZ1FJRURnZ0lBQU9m
Q0lmZ0lCQWdRSUVDQkFnQUNCVndRRXlDc3Y1VHNKRUNCQWdBQUJBZ1FJSEJBUUlBY2UwVThnClFJ
QUFBUUlFQ0JBZzhJcUFBSG5scFh3bkFRSUVDQkFnUUlBQWdRTUNBdVRBSS9vSkJBZ1FJRUNBQUFF
Q0JGNFJFQ0N2dkpUdkpFQ0EKQUFFQ0JBZ1FJSEJBUUlBY2VFUS9nUUFCQWdRSUVDQkFnTUFyQWdM
a2xaZnluUVFJRUNCQWdBQUJBZ1FPQ0FpUUE0L29KeEFnUUlBQQpBUUlFQ0JCNFJVQ0F2UEpTdnBN
QUFRSUVDQkFnUUlEQUFRRUJjdUFSL1FRQ0JBZ1FJRUNBQUFFQ3J3Z0lrRmRleW5jU0lFQ0FBQUVD
CkJBZ1FPQ0FnUUE0OG9wOUFnQUFCQWdRSUVDQkE0QlVCQWZMS1MvbE9BZ1FJRUNCQWdBQUJBZ2NF
Qk1pQlIvUVRDQkFnUUlBQUFRSUUKQ0x3aUlFQmVlU25mU1lBQUFRSUVDQkFnUU9DQWdBQTU4SWgr
QWdFQ0JBZ1FJRUNBQUlGWEJBVElLeS9sT3drUUlFQ0FBQUVDQkFnYwpFQkFnQng3UlR5QkFnQUFC
QWdRSUVDRHdpb0FBZWVXbGZDY0JBZ1FJRUNCQWdBQ0JBd0lDNU1Baitna0VDQkFnUUlBQUFRSUVY
aEVRCklLKzhsTzhrUUlBQUFRSUVDQkFnY0VCQWdCeDRSRCtCQUFFQ0JBZ1FJRUNBd0NzQ0F1U1Zs
L0tkQkFnUUlFQ0FBQUVDQkE0SUNKQUQKaitnbkVDQkFnQUFCQWdRSUVIaEZRSUM4OGxLK2t3QUJB
Z1FJRUNCQWdNQUJBUUZ5NEJIOUJBSUVDQkFnUUlBQUFRS3ZDQWlRVjE3SwpkeElnUUlBQUFRSUVD
QkE0SUNCQURqeWluMENBQUFFQ0JBZ1FJRURnRlFFQjhzcEwrVTRDQkFnUUlFQ0FBQUVDQndRRXlJ
Rkg5Qk1JCkVDQkFnQUFCQWdRSXZDSWdRRjU1S2Q5SmdBQUJBZ1FJRUNCQTRJQ0FBRG53aUg0Q0FR
SUVDQkFnUUlBQWdWY0VCTWdyTCtVN0NSQWcKUUlBQUFRSUVDQndRRUNBSEh0RlBJRUNBQUFFQ0JB
Z1FJUENLZ0FCNTVhVjhKd0VDQkFnUUlFQ0FBSUVEQWdMa3dDUDZDUVFJRUNCQQpnQUFCQWdSZUVS
QWdyN3lVN3lSQWdBQUJBZ1FJRUNCd1FFQ0FISGhFUDRFQUFRSUVDQkFnUUlEQUt3SUM1SldYOHAw
RUNCQWdRSUFBCkFRSUVEZ2dJa0FPUDZDY1FJRUNBQUFFQ0JBZ1FlRVZBZ0x6eVVyNlRBQUVDQkFn
UUlFQ0F3QUVCQVhMZ0VmMEVBZ1FJRUNCQWdBQUIKQXE4SUNKQlhYc3AzRWlCQWdBQUJBZ1FJRURn
Z0lFQU9QS0tmUUlBQUFRSUVDQkFnUU9BVkFRSHl5a3Y1VGdJRUNCQWdRSUFBQVFJSApCQVRJZ1Vm
MEV3Z1FJRUNBQUFFQ0JBaThJaUJBWG5rcDMwbUFBQUVDQkFnUUlFRGdnSUFBT2ZDSWZnSUJBZ1FJ
RUNCQWdBQ0JWd1FFCnlDc3Y1VHNKRUNCQWdBQUJBZ1FJSEJBUUlBY2UwVThnUUlBQUFRSUVDQkFn
OElxQUFIbmxwWHduQVFJRUNCQWdRSUFBZ1FNQ0F1VEEKSS9vSkJBZ1FJRUNBQUFFQ0JGNFJFQ0N2
dkpUdkpFQ0FBQUVDQkFnUUlIQkFRSUFjZUVRL2dRQUJBZ1FJRUNCQWdNQXJBZ0xrbFpmeQpuUVFJ
RUNCQWdBQUJBZ1FPQ0FpUUE0L29KeEFnUUlBQUFRSUVDQkI0UlVDQXZQSlN2cE1BQVFJRUNCQWdR
SURBQVFFQmN1QVIvUVFDCkJBZ1FJRUNBQUFFQ3J3Z0lrRmRleW5jU0lFQ0FBQUVDQkFnUU9DQWdR
QTQ4b3A5QWdBQUJBZ1FJRUNCQTRCVUJBZkxLUy9sT0FnUUkKRUNCQWdBQUJBZ2NFQk1pQlIvUVRD
QkFnUUlBQUFRSUVDTHdpSUVCZWVTbmZTWUFBQVFJRUNCQWdRT0NBZ0FBNThJaCtBZ0VDQkFnUQpJ
RUNBQUlGWEJBVElLeS9sT3drUUlFQ0FBQUVDQkFnY0VCQWdCeDdSVHlCQWdBQUJBZ1FJRUNEd2lv
QUFlZVdsZkNjQkFnUUlFQ0JBCmdBQ0JBd0lDNU1Baitna0VDQkFnUUlBQUFRSUVYaEVRSUsrOGxP
OGtRSUFBQVFJRUNCQWdjRUJBZ0J4NFJEK0JBQUVDQkFnUUlFQ0EKd0NzQ1AxVWYrdXMvZnEybTdQ
eEJnVi8rL3N1WHYzNzk2eDljOGE4VElFQ0FBQUVDQkFnUTZBV3lBUG4yejIvOTExbjh2d1QrR3g4
LwovKzNuLyt2ZjlTOFJJRUNBQUFFQ0JBZ1ErRE1Gc2dEeC80RDhtYzkwYy92N2I5OXYvakMvaWdB
QkFnUUlFQ0JBNEhjRnZuNy96eisvCmUzVWdRSUFBQVFJRUNCQWdRSUJBS09BL1FnOHhUUkVnUUlB
QUFRSUVDQkFnc0FVRXlQWnhKVUNBQUFFQ0JBZ1FJRUFnRkJBZ0lhWXAKQWdRSUVDQkFnQUFCQWdT
MmdBRFpQcTRFQ0JBZ1FJQUFBUUlFQ0lRQ0FpVEVORVdBQUFFQ0JBZ1FJRUNBd0JZUUlOdkhsUUFC
QWdRSQpFQ0JBZ0FDQlVFQ0FoSmltQ0JBZ1FJQUFBUUlFQ0JEWUFnSmsrN2dTSUVDQUFBRUNCQWdR
SUJBS0NKQVEweFFCQWdRSUVDQkFnQUFCCkFsdEFnR3dmVndJRUNCQWdRSUFBQVFJRVFnRUJFbUth
SWtDQUFBRUNCQWdRSUVCZ0N3aVE3ZU5LZ0FBQkFnUUlFQ0JBZ0VBb0lFQkMKVEZNRUNCQWdRSUFB
QVFJRUNHd0JBYko5WEFrUUlFQ0FBQUVDQkFnUUNBVUVTSWhwaWdBQkFnUUlFQ0JBZ0FDQkxTQkF0
bzhyQVFJRQpDQkFnUUlBQUFRS2hnQUFKTVUwUklFQ0FBQUVDQkFnUUlMQUZCTWoyY1NWQWdBQUJB
Z1FJRUNCQUlCUVFJQ0dtS1FJRUNCQWdRSUFBCkFRSUV0b0FBMlQ2dUJBZ1FJRUNBQUFFQ0JBaUVB
Z0lreERSRmdBQUJBZ1FJRUNCQWdNQVdFQ0RieDVVQUFRSUVDQkFnUUlBQWdWQkEKZ0lTWXBnZ1FJ
RUNBQUFFQ0JBZ1EyQUlDWlB1NEVpQkFnQUFCQWdRSUVDQVFDZ2lRRU5NVUFRSUVDQkFnUUlBQUFR
SmJRSUJzSDFjQwpCQWdRSUVDQUFBRUNCRUlCQVJKaW1pSkFnQUFCQWdRSUVDQkFZQXNJa08zalNv
QUFBUUlFQ0JBZ1FJQkFLQ0JBUWt4VEJBZ1FJRUNBCkFBRUNCQWhzQVFHeWZWd0pFQ0JBZ0FBQkFn
UUlFQWdGQkVpSWFZb0FBUUlFQ0JBZ1FJQUFnUzBnUUxhUEt3RUNCQWdRSUVDQUFBRUMKb1lBQUNU
Rk5FU0JBZ0FBQkFnUUlFQ0N3QlFUSTluRWxRSUFBQVFJRUNCQWdRQ0FVRUNBaHBpa0NCQWdRSUVD
QUFBRUNCTGFBQU5rKwpyZ1FJRUNCQWdBQUJBZ1FJaEFJQ0pNUTBSWUFBQVFJRUNCQWdRSURBRmhB
ZzI4ZVZBQUVDQkFnUUlFQ0FBSUZRUUlDRW1LWUlFQ0JBCmdBQUJBZ1FJRU5nQ0FtVDd1QklnUUlB
QUFRSUVDQkFnRUFvSWtCRFRGQUVDQkFnUUlFQ0FBQUVDVzBDQWJCOVhBZ1FJRUNCQWdBQUIKQWdS
Q0FRRVNZcG9pUUlBQUFRSUVDQkFnUUdBTENKRHQ0MHFBQUFFQ0JBZ1FJRUNBUUNnZ1FFSk1Vd1FJ
RUNCQWdBQUJBZ1FJYkFFQgpzbjFjQ1JBZ1FJQUFBUUlFQ0JBSUJRUklpR21LQUFFQ0JBZ1FJRUNB
QUlFdElFQzJqeXNCQWdRSUVDQkFnQUFCQXFHQUFBa3hUUkVnClFJQUFBUUlFQ0JBZ3NBVUV5UFp4
SlVDQUFBRUNCQWdRSUVBZ0ZCQWdJYVlwQWdRSUVDQkFnQUFCQWdTMmdBRFpQcTRFQ0JBZ1FJQUEK
QVFJRUNJUUNBaVRFTkVXQUFBRUNCQWdRSUVDQXdCWVFJTnZIbFFBQkFnUUlFQ0JBZ0FDQlVFQ0Fo
SmltQ0JBZ1FJQUFBUUlFQ0JEWQpBZ0prKzdnU0lFQ0FBQUVDQkFnUUlCQUtDSkFRMHhRQkFnUUlF
Q0JBZ0FBQkFsdEFnR3dmVndJRUNCQWdRSUFBQVFJRVFnRUJFbUthCklrQ0FBQUVDQkFnUUlFQmdD
d2lRN2VOS2dBQUJBZ1FJRUNCQWdFQW9JRUJDVEZNRUNCQWdRSUFBQVFJRUNHd0JBYko5WEFrUUlF
Q0EKQUFFQ0JBZ1FDQVVFU0locGlnQUJBZ1FJRUNCQWdBQ0JMU0JBdG84ckFRSUVDQkFnUUlBQUFR
S2hnQUFKTVUwUklFQ0FBQUVDQkFnUQpJTEFGQk1qMmNTVkFnQUFCQWdRSUVDQkFJQlFRSUNHbUtR
SUVDQkFnUUlBQUFRSUV0b0FBMlQ2dUJBZ1FJRUNBQUFFQ0JBaUVBZ0lrCnhEUkZnQUFCQWdRSUVD
QkFnTUFXRUNEYng1VUFBUUlFQ0JBZ1FJQUFnVkJBZ0lTWXBnZ1FJRUNBQUFFQ0JBZ1EyQUlDWlB1
NEVpQkEKZ0FBQkFnUUlFQ0FRQ2dpUUVOTVVBUUlFQ0JBZ1FJQUFBUUpiUUlCc0gxY0NCQWdRSUVD
QUFBRUNCRUlCQVJKaW1pSkFnQUFCQWdRSQpFQ0JBWUFzSWtPM2pTb0FBQVFJRUNCQWdRSUJBS0NC
QVFreFRCQWdRSUVDQUFBRUNCQWhzQVFHeWZWd0pFQ0JBZ0FBQkFnUUlFQWdGCkJFaUlhWW9BQVFJ
RUNCQWdRSUFBZ1MwZ1FMYVBLd0VDQkFnUUlFQ0FBQUVDb1lBQUNURk5FU0JBZ0FBQkFnUUlFQ0N3
QlFUSTluRWwKUUlBQUFRSUVDQkFnUUNBVUVDQWhwaWtDQkFnUUlFQ0FBQUVDQkxhQUFOaytyZ1FJ
RUNCQWdBQUJBZ1FJaEFJQ0pNUTBSWUFBQVFJRQpDQkFnUUlEQUZoQWcyOGVWQUFFQ0JBZ1FJRUNB
QUlGUVFJQ0VtS1lJRUNCQWdBQUJBZ1FJRU5nQ0FtVDd1QklnUUlBQUFRSUVDQkFnCkVBb0lrQkRU
RkFFQ0JBZ1FJRUNBQUFFQ1cwQ0FiQjlYQWdRSUVDQkFnQUFCQWdSQ0FRRVNZcG9pUUlBQUFRSUVD
QkFnUUdBTENKRHQKNDBxQUFBRUNCQWdRSUVDQVFDZ2dRRUpNVXdRSUVDQkFnQUFCQWdRSWJBRUJz
bjFjQ1JBZ1FJQUFBUUlFQ0JBSUJRUklpR21LQUFFQwpCQWdRSUVDQUFJRXRJRUMyanlzQkFnUUlF
Q0JBZ0FBQkFxR0FBQWt4VFJFZ1FJQUFBUUlFQ0JBZ3NBVUV5UFp4SlVDQUFBRUNCQWdRCklFQWdG
QkFnSWFZcEFnUUlFQ0JBZ0FBQkFnUzJnQURaUHE0RUNCQWdRSUFBQVFJRUNJUUNBaVRFTkVXQUFB
RUNCQWdRSUVDQXdCWVEKSU52SGxRQUJBZ1FJRUNCQWdBQ0JVRUNBaEppbUNCQWdRSUFBQVFJRUNC
RFlBZ0prKzdnU0lFQ0FBQUVDQkFnUUlCQUtDSkFRMHhRQgpBZ1FJRUNCQWdBQUJBbHRBZ0d3ZlZ3
SUVDQkFnUUlBQUFRSUVRZ0VCRW1LYUlrQ0FBQUVDQkFnUUlFQmdDd2lRN2VOS2dBQUJBZ1FJCkVD
QkFnRUFvSUVCQ1RGTUVDQkFnUUlBQUFRSUVDR3dCQWJKOVhBa1FJRUNBQUFFQ0JBZ1FDQVVFU0lo
cGlnQUJBZ1FJRUNCQWdBQ0IKTFNCQXRvOHJBUUlFQ0JBZ1FJQUFBUUtoZ0FBSk1VMFJJRUNBQUFF
Q0JBZ1FJTEFGQk1qMmNTVkFnQUFCQWdRSUVDQkFJQlFRSUNHbQpLUUlFQ0JBZ1FJQUFBUUlFdG9B
QTJUNnVCQWdRSUVDQUFBRUNCQWlFQWdJa3hEUkZnQUFCQWdRSUVDQkFnTUFXRUNEYng1VUFBUUlF
CkNCQWdRSUFBZ1ZCQWdJU1lwZ2dRSUVDQUFBRUNCQWdRMkFJQ1pQdTRFaUJBZ0FBQkFnUUlFQ0FR
Q2dpUUVOTVVBUUlFQ0JBZ1FJQUEKQVFKYlFJQnNIMWNDQkFnUUlFQ0FBQUVDQkVJQkFSSmltaUpB
Z0FBQkFnUUlFQ0JBWUFzSWtPM2pTb0FBQVFJRUNCQWdRSUJBS0NCQQpRa3hUQkFnUUlFQ0FBQUVD
QkFoc0FRR3lmVndKRUNCQWdBQUJBZ1FJRUFnRkJFaUlhWW9BQVFJRUNCQWdRSUFBZ1MwZ1FMYVBL
d0VDCkJBZ1FJRUNBQUFFQ29ZQUFDVEZORVNCQWdBQUJBZ1FJRUNDd0JRVEk5bkVsUUlBQUFRSUVD
QkFnUUNBVUVDQWhwaWtDQkFnUUlFQ0EKQUFFQ0JMYUFBTmsrcmdRSUVDQkFnQUFCQWdRSWhBSUNK
TVEwUllBQUFRSUVDQkFnUUlEQUZoQWcyOGVWQUFFQ0JBZ1FJRUNBQUlGUQpRSUNFbUtZSUVDQkFn
QUFCQWdRSUVOZ0NBbVQ3dUJJZ1FJQUFBUUlFQ0JBZ0VBb0lrQkRURkFFQ0JBZ1FJRUNBQUFFQ1cw
Q0FiQjlYCkFnUUlFQ0JBZ0FBQkFnUkNBUUVTWXBvaVFJQUFBUUlFQ0JBZ1FHQUxDSkR0NDBxQUFB
RUNCQWdRSUVDQVFDZ2dRRUpNVXdRSUVDQkEKZ0FBQkFnUUliQUVCc24xY0NSQWdRSUFBQVFJRUNC
QUlCUVJJaUdtS0FBRUNCQWdRSUVDQUFJRXRJRUMyanlzQkFnUUlFQ0JBZ0FBQgpBcUdBQUFreFRS
RWdRSUFBQVFJRUNCQWdzQVVFeVBaeEpVQ0FBQUVDQkFnUUlFQWdGQkFnSWFZcEFnUUlFQ0JBZ0FB
QkFnUzJnQURaClBxNEVDQkFnUUlBQUFRSUVDSVFDQWlURU5FV0FBQUVDQkFnUUlFQ0F3QllRSU52
SGxRQUJBZ1FJRUNCQWdBQ0JVRUNBaEppbUNCQWcKUUlBQUFRSUVDQkRZQWdKays3Z1NJRUNBQUFF
Q0JBZ1FJQkFLQ0pBUTB4UUJBZ1FJRUNCQWdBQUJBbHRBZ0d3ZlZ3SUVDQkFnUUlBQQpBUUlFUWdF
QkVtS2FJa0NBQUFFQ0JBZ1FJRUJnQ3dpUTdlTktnQUFCQWdRSUVDQkFnRUFvSUVCQ1RGTUVDQkFn
UUlBQUFRSUVDR3dCCkFiSjlYQWtRSUVDQUFBRUNCQWdRQ0FVRVNJaHBpZ0FCQWdRSUVDQkFnQUNC
TFNCQXRvOHJBUUlFQ0JBZ1FJQUFBUUtoZ0FBSk1VMFIKSUVDQUFBRUNCQWdRSUxBRkJNajJjU1ZB
Z0FBQkFnUUlFQ0JBSUJRUUlDR21LUUlFQ0JBZ1FJQUFBUUlFdG9BQTJUNnVCQWdRSUVDQQpBQUVD
QkFpRUFnSWt4RFJGZ0FBQkFnUUlFQ0JBZ01BV0VDRGJ4NVVBQVFJRUNCQWdRSUFBZ1ZCQWdJU1lw
Z2dRSUVDQUFBRUNCQWdRCjJBSUNaUHU0RWlCQWdBQUJBZ1FJRUNBUUNnaVFFTk1VQVFJRUNCQWdR
SUFBQVFKYlFJQnNIMWNDQkFnUUlFQ0FBQUVDQkVJQkFSSmkKbWlKQWdBQUJBZ1FJRUNCQVlBc0lr
TzNqU29BQUFRSUVDQkFnUUlCQUtDQkFRa3hUQkFnUUlFQ0FBQUVDQkFoc0FRR3lmVndKRUNCQQpn
QUFCQWdRSUVBZ0ZCRWlJYVlvQUFRSUVDQkFnUUlBQWdTMGdRTGFQS3dFQ0JBZ1FJRUNBQUFFQ29Z
QUFDVEZORVNCQWdBQUJBZ1FJCkVDQ3dCUVRJOW5FbFFJQUFBUUlFQ0JBZ1FDQVVFQ0FocGlrQ0JB
Z1FJRUNBQUFFQ0JMYUFBTmsrcmdRSUVDQkFnQUFCQWdRSWhBSUMKSk1RMFJZQUFBUUlFQ0JBZ1FJ
REFGaEFnMjhlVkFBRUNCQWdRSUVDQUFJRlFRSUNFbUtZSUVDQkFnQUFCQWdRSUVOZ0NBbVQ3dUJJ
ZwpRSUFBQVFJRUNCQWdFQW9Ja0JEVEZBRUNCQWdRSUVDQUFBRUNXMENBYkI5WEFnUUlFQ0JBZ0FB
QkFnUkNBUUVTWXBvaVFJQUFBUUlFCkNCQWdRR0FMQ0pEdDQwcUFBQUVDQkFnUUlFQ0FRQ2dnUUVK
TVV3UUlFQ0JBZ0FBQkFnUUliQUVCc24xY0NSQWdRSUFBQVFJRUNCQUkKQlFSSWlHbUtBQUVDQkFn
UUlFQ0FBSUV0SUVDMmp5c0JBZ1FJRUNCQWdBQUJBcUdBQUFreFRSRWdRSUFBQVFJRUNCQWdzQVVF
eVBaeApKVUNBQUFFQ0JBZ1FJRUFnRkJBZ0lhWXBBZ1FJRUNCQWdBQUJBZ1MyZ0FEWlBxNEVDQkFn
UUlBQUFRSUVDSVFDQWlURU5FV0FBQUVDCkJBZ1FJRUNBd0JZUUlOdkhsUUFCQWdRSUVDQkFnQUNC
VUVDQWhKaW1DQkFnUUlBQUFRSUVDQkRZQWdKays3Z1NJRUNBQUFFQ0JBZ1EKSUJBS0NKQVEweFFC
QWdRSUVDQkFnQUFCQWx0QWdHd2ZWd0lFQ0JBZ1FJQUFBUUlFUWdFQkVtS2FJa0NBQUFFQ0JBZ1FJ
RUJnQ3dpUQo3ZU5LZ0FBQkFnUUlFQ0JBZ0VBb0lFQkNURk1FQ0JBZ1FJQUFBUUlFQ0d3QkFiSjlY
QWtRSUVDQUFBRUNCQWdRQ0FVRVNJaHBpZ0FCCkFnUUlFQ0JBZ0FDQkxTQkF0bzhyQVFJRUNCQWdR
SUFBQVFLaGdBQUpNVTBSSUVDQUFBRUNCQWdRSUxBRkJNajJjU1ZBZ0FBQkFnUUkKRUNCQUlCUVFJ
Q0dtS1FJRUNCQWdRSUFBQVFJRXRvQUEyVDZ1QkFnUUlFQ0FBQUVDQkFpRUFnSWt4RFJGZ0FBQkFn
UUlFQ0JBZ01BVwpFQ0RieDVVQUFRSUVDQkFnUUlBQWdWQkFnSVNZcGdnUUlFQ0FBQUVDQkFnUTJB
SUNaUHU0RWlCQWdBQUJBZ1FJRUNBUUNnaVFFTk1VCkFRSUVDQkFnUUlBQUFRSmJRSUJzSDFjQ0JB
Z1FJRUNBQUFFQ0JFSUJBUkppbWlKQWdBQUJBZ1FJRUNCQVlBc0lrTzNqU29BQUFRSUUKQ0JBZ1FJ
QkFLQ0JBUWt4VEJBZ1FJRUNBQUFFQ0JBaHNBUUd5ZlZ3SkVDQkFnQUFCQWdRSUVBZ0ZCRWlJYVlv
QUFRSUVDQkFnUUlBQQpnUzBnUUxhUEt3RUNCQWdRSUVDQUFBRUNvWUFBQ1RGTkVTQkFnQUFCQWdR
SUVDQ3dCUVRJOW5FbFFJQUFBUUlFQ0JBZ1FDQVVFQ0FoCnBpa0NCQWdRSUVDQUFBRUNCTGFBQU5r
K3JnUUlFQ0JBZ0FBQkFnUUloQUlDSk1RMFJZQUFBUUlFQ0JBZ1FJREFGaEFnMjhlVkFBRUMKQkFn
UUlFQ0FBSUZRUUlDRW1LWUlFQ0JBZ0FBQkFnUUlFTmdDQW1UN3VCSWdRSUFBQVFJRUNCQWdFQW9J
a0JEVEZBRUNCQWdRSUVDQQpBQUVDVzBDQWJCOVhBZ1FJRUNCQWdBQUJBZ1JDQVFFU1lwb2lRSUFB
QVFJRUNCQWdRR0FMQ0pEdDQwcUFBQUVDQkFnUUlFQ0FRQ2dnClFFSk1Vd1FJRUNCQWdBQUJBZ1FJ
YkFFQnNuMWNDUkFnUUlBQUFRSUVDQkFJQlFSSWlHbUtBQUVDQkFnUUlFQ0FBSUV0SUVDMmp5c0IK
QWdRSUVDQkFnQUFCQXFHQUFBa3hUUkVnUUlBQUFRSUVDQkFnc0FVRXlQWnhKVUNBQUFFQ0JBZ1FJ
RUFnRkJBZ0lhWXBBZ1FJRUNCQQpnQUFCQWdTMmdBRFpQcTRFQ0JBZ1FJQUFBUUlFQ0lRQ0FpVEVO
RVdBQUFFQ0JBZ1FJRUNBd0JZUUlOdkhsUUFCQWdRSUVDQkFnQUNCClVFQ0FoSmltQ0JBZ1FJQUFB
UUlFQ0JEWUFnSmsrN2dTSUVDQUFBRUNCQWdRSUJBS0NKQVEweFFCQWdRSUVDQkFnQUFCQWx0QWdH
d2YKVndJRUNCQWdRSUFBQVFJRVFnRUJFbUthSWtDQUFBRUNCQWdRSUVCZ0N3aVE3ZU5LZ0FBQkFn
UUlFQ0JBZ0VBb0lFQkNURk1FQ0JBZwpRSUFBQVFJRUNHd0JBYko5WEFrUUlFQ0FBQUVDQkFnUUNB
VUVTSWhwaWdBQkFnUUlFQ0JBZ0FDQkxTQkF0bzhyQVFJRUNCQWdRSUFBCkFRS2hnQUFKTVUwUklF
Q0FBQUVDQkFnUUlMQUZCTWoyY1NWQWdBQUJBZ1FJRUNCQUlCUVFJQ0dtS1FJRUNCQWdRSUFBQVFJ
RXRvQUEKMlQ2dUJBZ1FJRUNBQUFFQ0JBaUVBZ0lreERSRmdBQUJBZ1FJRUNCQWdNQVdFQ0RieDVV
QUFRSUVDQkFnUUlBQWdWQkFnSVNZcGdnUQpJRUNBQUFFQ0JBZ1EyQUlDWlB1NEVpQkFnQUFCQWdR
SUVDQVFDZ2lRRU5NVUFRSUVDQkFnUUlBQUFRSmJRSUJzSDFjQ0JBZ1FJRUNBCkFBRUNCRUlCQVJK
aW1pSkFnQUFCQWdRSUVDQkFZQXNJa08zalNvQUFBUUlFQ0JBZ1FJQkFLQ0JBUWt4VEJBZ1FJRUNB
QUFFQ0JBaHMKQVFHeWZWd0pFQ0JBZ0FBQkFnUUlFQWdGQkVpSWFZb0FBUUlFQ0JBZ1FJQUFnUzBn
UUxhUEt3RUNCQWdRSUVDQUFBRUNvWUFBQ1RGTgpFU0JBZ0FBQkFnUUlFQ0N3QlFUSTluRWxRSUFB
QVFJRUNCQWdRQ0FVRUNBaHBpa0NCQWdRSUVDQUFBRUNCTGFBQU5rK3JnUUlFQ0JBCmdBQUJBZ1FJ
aEFJQ0pNUTBSWUFBQVFJRUNCQWdRSURBRmhBZzI4ZVZBQUVDQkFnUUlFQ0FBSUZRUUlDRW1LWUlF
Q0JBZ0FBQkFnUUkKRU5nQ0FtVDd1QklnUUlBQUFRSUVDQkFnRUFvSWtCRFRGQUVDQkFnUUlFQ0FB
QUVDVzBDQWJCOVhBZ1FJRUNCQWdBQUJBZ1JDQVFFUwpZcG9pUUlBQUFRSUVDQkFnUUdBTENKRHQ0
MHFBQUFFQ0JBZ1FJRUNBUUNnZ1FFSk1Vd1FJRUNCQWdBQUJBZ1FJYkFFQnNuMWNDUkFnClFJQUFB
UUlFQ0JBSUJRUklpR21LQUFFQ0JBZ1FJRUNBQUlFdElFQzJqeXNCQWdRSUVDQkFnQUFCQXFHQUFB
a3hUUkVnUUlBQUFRSUUKQ0JBZ3NBVUV5UFp4SlVDQUFBRUNCQWdRSUVBZ0ZCQWdJYVlwQWdRSUVD
QkFnQUFCQWdTMmdBRFpQcTRFQ0JBZ1FJQUFBUUlFQ0lRQwpBaVRFTkVXQUFBRUNCQWdRSUVDQXdC
WVFJTnZIbFFBQkFnUUlFQ0JBZ0FDQlVFQ0FoSmltQ0JBZ1FJQUFBUUlFQ0JEWUFnSmsrN2dTCklF
Q0FBQUVDQkFnUUlCQUtDSkFRMHhRQkFnUUlFQ0JBZ0FBQkFsdEFnR3dmVndJRUNCQWdRSUFBQVFJ
RVFnRUJFbUthSWtDQUFBRUMKQkFnUUlFQmdDd2lRN2VOS2dBQUJBZ1FJRUNCQWdFQW9JRUJDVEZN
RUNCQWdRSUFBQVFJRUNHd0JBYko5WEFrUUlFQ0FBQUVDQkFnUQpDQVVFU0locGlnQUJBZ1FJRUNC
QWdBQ0JMU0JBdG84ckFRSUVDQkFnUUlBQUFRS2hnQUFKTVUwUklFQ0FBQUVDQkFnUUlMQUZCTWoy
CmNTVkFnQUFCQWdRSUVDQkFJQlFRSUNHbUtRSUVDQkFnUUlBQUFRSUV0b0FBMlQ2dUJBZ1FJRUNB
QUFFQ0JBaUVBZ0lreERSRmdBQUIKQWdRSUVDQkFnTUFXRUNEYng1VUFBUUlFQ0JBZ1FJQUFnVkJB
Z0lTWXBnZ1FJRUNBQUFFQ0JBZ1EyQUlDWlB1NEVpQkFnQUFCQWdRSQpFQ0FRQ2dpUUVOTVVBUUlF
Q0JBZ1FJQUFBUUpiUUlCc0gxY0NCQWdRSUVDQUFBRUNCRUlCQVJKaW1pSkFnQUFCQWdRSUVDQkFZ
QXNJCmtPM2pTb0FBQVFJRUNCQWdRSUJBS0NCQVFreFRCQWdRSUVDQUFBRUNCQWhzQVFHeWZWd0pF
Q0JBZ0FBQkFnUUlFQWdGQkVpSWFZb0EKQVFJRUNCQWdRSUFBZ1MwZ1FMYVBLd0VDQkFnUUlFQ0FB
QUVDb1lBQUNURk5FU0JBZ0FBQkFnUUlFQ0N3QlFUSTluRWxRSUFBQVFJRQpDQkFnUUNBVUVDQWhw
aWtDQkFnUUlFQ0FBQUVDQkxhQUFOaytyZ1FJRUNCQWdBQUJBZ1FJaEFJQ0pNUTBSWUFBQVFJRUNC
QWdRSURBCkZoQWcyOGVWQUFFQ0JBZ1FJRUNBQUlGUVFJQ0VtS1lJRUNCQWdBQUJBZ1FJRU5nQ0Ft
VDd1QklnUUlBQUFRSUVDQkFnRUFvSWtCRFQKRkFFQ0JBZ1FJRUNBQUFFQ1cwQ0FiQjlYQWdRSUVD
QkFnQUFCQWdSQ0FRRVNZcG9pUUlBQUFRSUVDQkFnUUdBTENKRHQ0MHFBQUFFQwpCQWdRSUVDQVFD
Z2dRRUpNVXdRSUVDQkFnQUFCQWdRSWJBRUJzbjFjQ1JBZ1FJQUFBUUlFQ0JBSUJRUklpR21LQUFF
Q0JBZ1FJRUNBCkFJRXRJRUMyanlzQkFnUUlFQ0JBZ0FBQkFxR0FBQWt4VFJFZ1FJQUFBUUlFQ0JB
Z3NBVUV5UFp4SlVDQUFJdzV5eDBBQUFtWVNVUkIKVkFFQ0JBZ1FJRUFnRkJBZ0lhWXBBZ1FJRUNC
QWdBQUJBZ1MyZ0FEWlBxNEVDQkFnUUlBQUFRSUVDSVFDQWlURU5FV0FBQUVDQkFnUQpJRUNBd0JZ
UUlOdkhsUUFCQWdRSUVDQkFnQUNCVUVDQWhKaW1DQkFnUUlBQUFRSUVDQkRZQWdKays3Z1NJRUNB
QUFFQ0JBZ1FJQkFLCkNKQVEweFFCQWdRSUVDQkFnQUFCQWx0QWdHd2ZWd0lFQ0JBZ1FJQUFBUUlF
UWdFQkVtS2FJa0NBQUFFQ0JBZ1FJRUJnQ3dpUTdlTksKZ0FBQkFnUUlFQ0JBZ0VBb0lFQkNURk1F
Q0JBZ1FJQUFBUUlFQ0d3QkFiSjlYQWtRSUVDQUFBRUNCQWdRQ0FVRVNJaHBpZ0FCQWdRSQpFQ0JB
Z0FDQkxTQkF0bzhyQVFJRUNCQWdRSUFBQVFLaGdBQUpNVTBSSUVDQUFBRUNCQWdRSUxBRkJNajJj
U1ZBZ0FBQkFnUUlFQ0JBCklCUVFJQ0dtS1FJRUNCQWdRSUFBQVFJRXRvQUEyVDZ1QkFnUUlFQ0FB
QUVDQkFpRUFnSWt4RFJGZ0FBQkFnUUlFQ0JBZ01BV0VDRGIKeDVVQUFRSUVDQkFnUUlBQWdWQkFn
SVNZcGdnUUlFQ0FBQUVDQkFnUTJBSUNaUHU0RWlCQWdBQUJBZ1FJRUNBUUNnaVFFTk1VQVFJRQpD
QkFnUUlBQUFRSmJRSUJzSDFjQ0JBZ1FJRUNBQUFFQ0JFSUJBUkppbWlKQWdBQUJBZ1FJRUNCQVlB
c0lrTzNqU29BQUFRSUVDQkFnClFJQkFLQ0JBUWt4VEJBZ1FJRUNBQUFFQ0JBaHNBUUd5ZlZ3SkVD
QkFnQUFCQWdRSUVBZ0ZCRWlJYVlvQUFRSUVDQkFnUUlBQWdTMGcKUUxhUEt3RUNCQWdRSUVDQUFB
RUNvWUFBQ1RGTkVTQkFnQUFCQWdRSUVDQ3dCUVRJOW5FbFFJQUFBUUlFQ0JBZ1FDQVVFQ0FocGlr
QwpCQWdRSUVDQUFBRUNCTGFBQU5rK3JnUUlFQ0JBZ0FBQkFnUUloQUlDSk1RMFJZQUFBUUlFQ0JB
Z1FJREFGaEFnMjhlVkFBRUNCQWdRCklFQ0FBSUZRUUlDRW1LWUlFQ0JBZ0FBQkFnUUlFTmdDQW1U
N3VCSWdRSUFBQVFJRUNCQWdFQW9Ja0JEVEZBRUNCQWdRSUVDQUFBRUMKVzBDQWJCOVhBZ1FJRUNC
QWdBQUJBZ1JDQVFFU1lwb2lRSUFBQVFJRUNCQWdRR0FMQ0pEdDQwcUFBQUVDQkFnUUlFQ0FRQ2dn
UUVKTQpVd1FJRUNCQWdBQUJBZ1FJYkFFQnNuMWNDUkFnUUlBQUFRSUVDQkFJQlFSSWlHbUtBQUVD
QkFnUUlFQ0FBSUV0SUVDMmp5c0JBZ1FJCkVDQkFnQUFCQXFHQUFBa3hUUkVnUUlBQUFRSUVDQkFn
c0FVRXlQWnhKVUNBQUFFQ0JBZ1FJRUFnRkJBZ0lhWXBBZ1FJRUNCQWdBQUIKQWdTMmdBRFpQcTRF
Q0JBZ1FJQUFBUUlFQ0lRQ0FpVEVORVdBQUFFQ0JBZ1FJRUNBd0JZUUlOdkhsUUFCQWdRSUVDQkFn
QUNCVUVDQQpoSmltQ0JBZ1FJQUFBUUlFQ0JEWUFnSmsrN2dTSUVDQUFBRUNCQWdRSUJBS0NKQVEw
eFFCQWdRSUVDQkFnQUFCQWx0QWdHd2ZWd0lFCkNCQWdRSUFBQVFJRVFnRUJFbUthSWtDQUFBRUNC
QWdRSUVCZ0N3aVE3ZU5LZ0FBQkFnUUlFQ0JBZ0VBb0lFQkNURk1FQ0JBZ1FJQUEKQVFJRUNHd0JB
Yko5WEFrUUlFQ0FBQUVDQkFnUUNBVUVTSWhwaWdBQkFnUUlFQ0JBZ0FDQkxTQkF0bzhyQVFJRUNC
QWdRSUFBQVFLaApnQUFKTVUwUklFQ0FBQUVDQkFnUUlMQUZCTWoyY1NWQWdBQUJBZ1FJRUNCQUlC
UVFJQ0dtS1FJRUNCQWdRSUFBQVFJRXRvQUEyVDZ1CkJBZ1FJRUNBQUFFQ0JBaUVBZ0lreERSRmdB
QUJBZ1FJRUNCQWdNQVdFQ0RieDVVQUFRSUVDQkFnUUlBQWdWQkFnSVNZcGdnUUlFQ0EKQUFFQ0JB
Z1EyQUlDWlB1NEVpQkFnQUFCQWdRSUVDQVFDZ2lRRU5NVUFRSUVDQkFnUUlBQUFRSmJRSUJzSDFj
Q0JBZ1FJRUNBQUFFQwpCRUlCQVJKaW1pSkFnQUFCQWdRSUVDQkFZQXNJa08zalNvQUFBUUlFQ0JB
Z1FJQkFLQ0JBUWt4VEJBZ1FJRUNBQUFFQ0JBaHNBUUd5CmZWd0pFQ0JBZ0FBQkFnUUlFQWdGQkVp
SWFZb0FBUUlFQ0JBZ1FJQUFnUzBnUUxhUEt3RUNCQWdRSUVDQUFBRUNvWUFBQ1RGTkVTQkEKZ0FB
QkFnUUlFQ0N3QlFUSTluRWxRSUFBQVFJRUNCQWdRQ0FVRUNBaHBpa0NCQWdRSUVDQUFBRUNCTGFB
QU5rK3JnUUlFQ0JBZ0FBQgpBZ1FJaEFJQ0pNUTBSWUFBQVFJRUNCQWdRSURBRmhBZzI4ZVZBQUVD
QkFnUUlFQ0FBSUZRUUlDRW1LWUlFQ0JBZ0FBQkFnUUlFTmdDCkFtVDd1QklnUUlBQUFRSUVDQkFn
RUFvSWtCRFRGQUVDQkFnUUlFQ0FBQUVDVzBDQWJCOVhBZ1FJRUNCQWdBQUJBZ1JDQVFFU1lwb2kK
UUlBQUFRSUVDQkFnUUdBTENKRHQ0MHFBQUFFQ0JBZ1FJRUNBUUNnZ1FFSk1Vd1FJRUNCQWdBQUJB
Z1FJYkFFQnNuMWNDUkFnUUlBQQpBUUlFQ0JBSUJRUklpR21LQUFFQ0JBZ1FJRUNBQUlFdElFQzJq
eXNCQWdRSUVDQkFnQUFCQXFHQUFBa3hUUkVnUUlBQUFRSUVDQkFnCnNBVUV5UFp4SlVDQUFBRUNC
QWdRSUVBZ0ZCQWdJYVlwQWdRSUVDQkFnQUFCQWdTMmdBRFpQcTRFQ0JBZ1FJQUFBUUlFQ0lRQ0Fp
VEUKTkVXQUFBRUNCQWdRSUVDQXdCWVFJTnZIbFFBQkFnUUlFQ0JBZ0FDQlVFQ0FoSmltQ0JBZ1FJ
QUFBUUlFQ0JEWUFnSmsrN2dTSUVDQQpBQUVDQkFnUUlCQUtDSkFRMHhRQkFnUUlFQ0JBZ0FBQkFs
dEFnR3dmVndJRUNCQWdRSUFBQVFJRVFnRUJFbUthSWtDQUFBRUNCQWdRCklFQmdDd2lRN2VOS2dB
QUJBZ1FJRUNCQWdFQW9JRUJDVEZNRUNCQWdRSUFBQVFJRUNHd0JBYko5WEFrUUlFQ0FBQUVDQkFn
UUNBVUUKU0locGlnQUJBZ1FJRUNCQWdBQ0JMU0JBdG84ckFRSUVDQkFnUUlBQUFRS2hnQUFKTVUw
UklFQ0FBQUVDQkFnUUlMQUZCTWoyY1NWQQpnQUFCQWdRSUVDQkFJQlFRSUNHbUtRSUVDQkFnUUlB
QUFRSUV0b0FBMlQ2dUJBZ1FJRUNBQUFFQ0JBaUVBZ0lreERSRmdBQUJBZ1FJCkVDQkFnTUFXRUNE
Yng1VUFBUUlFQ0JBZ1FJQUFnVkJBZ0lTWXBnZ1FJRUNBQUFFQ0JBZ1EyQUlDWlB1NEVpQkFnQUFC
QWdRSUVDQVEKQ2dpUUVOTVVBUUlFQ0JBZ1FJQUFBUUpiUUlCc0gxY0NCQWdRSUVDQUFBRUNCRUlC
QVJKaW1pSkFnQUFCQWdRSUVDQkFZQXNJa08zagpTb0FBQVFJRUNCQWdRSUJBS0NCQVFreFRCQWdR
SUVDQUFBRUNCQWhzQVFHeWZWd0pFQ0JBZ0FBQkFnUUlFQWdGQkVpSWFZb0FBUUlFCkNCQWdRSUFB
Z1MwZ1FMYVBLd0VDQkFnUUlFQ0FBQUVDb1lBQUNURk5FU0JBZ0FBQkFnUUlFQ0N3QlFUSTluRWxR
SUFBQVFJRUNCQWcKUUNBVUVDQWhwaWtDQkFnUUlFQ0FBQUVDQkxhQUFOaytyZ1FJRUNCQWdBQUJB
Z1FJaEFJQ0pNUTBSWUFBQVFJRUNCQWdRSURBRmhBZwoyOGVWQUFFQ0JBZ1FJRUNBQUlGUVFJQ0Vt
S1lJRUNCQWdBQUJBZ1FJRU5nQ0FtVDd1QklnUUlBQUFRSUVDQkFnRUFvSWtCRFRGQUVDCkJBZ1FJ
RUNBQUFFQ1cwQ0FiQjlYQWdRSUVDQkFnQUFCQWdSQ0FRRVNZcG9pUUlBQUFRSUVDQkFnUUdBTENK
RHQ0MHFBQUFFQ0JBZ1EKSUVDQVFDZ2dRRUpNVXdRSUVDQkFnQUFCQWdRSWJBRUJzbjFjQ1JBZ1FJ
QUFBUUlFQ0JBSUJRUklpR21LQUFFQ0JBZ1FJRUNBQUlFdAo4Rzg3alJ0QWQxRWhXZ0FBQUFCSlJV
NUVya0pnZ2c9PQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9m
aWx0ZXJSZXMzLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1h
cmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQt
c3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2ZpbHRlcnMvZmlsdGVyUmVzMy1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1p
bWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5T
VWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVB
R0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNk
WnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRx
WHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZk
dnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xr
U0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlO
SU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0
K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNl
aVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1
anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVU
ZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3
MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hY
bHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdj
NjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hr
dGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5
My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2
OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZj
cGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9i
QlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFlM2RRV3BiQVJCRXdT
amszaUVudDAwdTRJMzRURCtYdGpMNjA5WGFOTWI0OWZIMSt1VkZnQUFCQWdRSUVDQkFnQUNCCkJ3
UitQL0FNanlCQWdBQUJBZ1FJRUNCQWdNQi9BUVBFRjRFQUFRSUVDQkFnUUlBQWdjY0VESkRIcUQy
SUFBRUNCQWdRSUVDQUFBRUQKeEhlQUFBRUNCQWdRSUVDQUFJSEhCQXlReDZnOWlBQUJBZ1FJRUNC
QWdBQUJBOFIzZ0FBQkFnUUlFQ0JBZ0FDQnh3UU1rTWVvUFlnQQpBUUlFQ0JBZ1FJQUFnVC9mRWJ6
K3ZiNzdFZThIQkQ3KytuY3dnUnBGSUVDQUFBRUNCQWljRi9oMmdKeFA0TUJ6QWticnVVcmVmcERC
CituWlNIMGlBQUFFQ0JINk1nQUh5WTZvV2xNQmRBYVAxYmpmdnVNeGdmWWVpenlCQWdFQkh3TitB
ZExxVWhBQUJBZ1FJRUNCQWdNQjUKQVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENnQUFC
QWdRSUVDQkE0THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdQpKU0ZBZ0FBQkFnUUlFQ0J3
WHNBQU9WK1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJC
QWdRCklFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUUlFQ0FB
QUVDSFFFRHBOT2xKQVFJRUNCQWdBQUIKQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJRUNBQUlHT2dBSFM2
VklTQWdRSUVDQkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQQpBT2wwS1FrQkFnUUlF
Q0JBZ0FDQjh3SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFR
UGtmRVVPCkpFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lF
Q0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUIKQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBQUFFQ0JB
aDBCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQwpCRG9DQmtpblMw
a0lFQ0JBZ0FBQkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FB
QkFnVE9DeGdnCjV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUJBdWNGREpE
ekZUbVFBQUVDQkFnUUlFQ0FRRWZBQU9sMEtRa0IKQWdRSUVDQkFnQUNCOHdJR3lQbUtIRWlBQUFF
Q0JBZ1FJRUNnSTJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQwpCQWdRSU5B
Uk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZB
Z0FBQkFnUUlFQ0J3ClhzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJ
RURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW4KUzBrSUVDQkFnQUFCQWdRSW5CY3dRTTVY
NUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQwpCQWdR
SUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFB
T2wwS1FrQkFnUUlFQ0JBCmdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJB
Z1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVIKTUVBNlhVcENnQUFCQWdRSUVDQkE0
THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUgpB
d2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFB
RUNCRG9DQmtpblMwa0lFQ0JBCmdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUUlFQ0FBQUVDSFFFRHBO
T2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0EKQUlHT2dBSFM2VklTQWdRSUVD
QkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJ
Rwp5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVD
QUFBRUNCQWdRSU5BUk1FQTZYVXBDCmdBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFn
UTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0EKQUFFQ0JBaDBCQXlRVHBl
U0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkFnQUFC
QWdRSQpuQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdn
NXl0eUlBRUNCQWdRSUVDQUFJR09nQUhTCjZWSVNBZ1FJRUNCQWdBQUJBdWNGREpEekZUbVFBQUVD
QkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUEKQUFFQ0JBZ1FJRUNn
STJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENn
QUFCQWdRSQpFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlF
Q0J3WHNBQU9WK1JBd2tRSUVDQUFBRUNCQWgwCkJBeVFUcGVTRUNCQWdBQUJBZ1FJRURndllJQ2Ny
OGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVgKNUVBQ0JBZ1FJ
RUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJRUNBQUlHT2dB
SFM2VklTQWdRSQpFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQkFn
UUlFQ0JBZ0FDQjh3SUd5UG1LSEVpQUFBRUNCQWdRCklFQ2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdN
QjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUEKQVhLK0ln
Y1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBQUFF
Q0JBaDBCQXlRVHBlUwpFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFBRUNCRG9DQmtp
blMwa0lFQ0JBZ0FBQkFnUUluQmN3UU01WDVFQUNCQWdRCklFQ0FBQUVDSFFFRHBOT2xKQVFJRUNC
QWdBQUJBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUIKQXVj
RkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJR3lQbUtIRWlB
QUFFQ0JBZ1FJRUNnSTJDQQpkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVDQUFBRUNCQWdR
SU5BUk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTCklFQ0FBQUVDQkFnUTZBZ1lJSjB1
SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUIK
QWdRSUVEZ3Y4UHI0ZXAyLzBvRUVDQkFnUUlBQUFRSUVDQ1FFL0FZa1VhTVFCQWdRSUVDQUFBRUNC
RFlFREpDTm5seEpnQUFCQWdRSQpFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RL
d2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRCk1FQTJlbklsQVFJRUNCQWdR
SUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVq
VUsKUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQWdB
QUJBZ1FJYkFnWUlCczl1WklBQVFJRQpDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFR
TmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnCnNDRmdnR3owNUVvQ0JB
Z1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNB
aFlJQWsKYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhB
Z1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQwpCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FB
QkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRCklFQmdROEFBMmVq
SmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdR
SUVDQVFFTEEKQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdn
aVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SSwpBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFn
UUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJCkVDQkFnTUNH
Z0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJB
Z1FJRUNCQWdBQ0IKaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJ
SkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5ubwp5WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJ
UWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFCkNCQWdR
SUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQ
VGtTZ0lFQ0JBZ1FJQUEKQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFn
UUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQgpzdEdUS3drUUlFQ0FBQUVDQkFna0JB
eVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDCkJB
Z1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdC
RHdBRFo2TW1WQkFnUUlFQ0EKQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJ
QUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTgpBUU5rb3lkWEVpQkFnQUFCQWdR
SUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdq
CkVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdR
SUVDQXdJYUFBYkxSa3lzSkVDQkEKZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJB
Tm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQgpBaHNDQnNoR1Q2NGtRSUFB
QVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNB
Z1pJCm9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJB
Z1FJRUNCQWdBQ0JEUUVEWktNblZ4SWcKUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJ
TEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQQpBUUlFTmdRTWtJMmVY
RW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFR
SUVDQ1FFCkRKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtx
aFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3UKSkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFn
UUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQQpBQUVDQkFoc0NC
Z2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVD
QUFBRUNCQWdRClNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJ
SkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ04Kbmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJ
QUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQQpnQUFCQWdR
SUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQ
cmlSQWdBQUJBZ1FJCkVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNB
QUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1kKSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FB
U2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZwpRSUFB
QVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJC
QXlRalo1Y1NZQUFBUUlFCkNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pF
Q0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFkKRURCQU5ucHlKUUVDQkFnUUlFQ0FB
SUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMQpD
a0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFR
SUVDR3dJR0NBYlBibVNBQUVDCkJBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpL
TW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1EKSUxBaFlJQnM5T1JLQWdRSUVD
QkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdD
QQpKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVD
QUFBRUNCQWdRMkJBd1FEWjZjaVVCCkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJ
YkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUkKRUNCQVlFUEFBTm5veVpV
RUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JB
Z0VCQwp3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWth
aFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrClNnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNB
QUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUUKQ0JBZ1FJREFob0FC
c3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVD
QkFnUUlBQQpnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FF
REJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaCjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlF
Q0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUMKQkFnUUlFQ0FB
SUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVF
b0NCQWdRSUVDQQpBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNC
QWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBCkFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtF
U05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUkKQWdRSUVD
QkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThB
QTJlakpsUVFJRUNCQQpnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFF
Q0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCCkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JC
SUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlIKb3hB
RUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JB
Z01DR2dBR3kwWk1yQ1JBZwpRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2
Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBCkFRSWJBZ2JJUmsrdUpFQ0FBQUVD
QkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUcK
U0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVD
QkFnUUlBQWdRMEJBMlNqSjFjUwpJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJ
V0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNBCkFBRUNCRFlFREpDTm5seEpn
QUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JB
Z2sKQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VR
Z0NCQWdRSUVDQUFBRUNHd0lHeUVaUApyaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNC
QWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBCmdBQUJBZ1FJYkFnWUlC
czl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FB
QkFnUUkKRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FF
REpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UQpqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFF
Q0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnClFJQUFBUUlFQ0JE
WUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRr
UUlBQUFRSUUKQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFC
QWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SQpHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5V
S0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGCklFQ0FBQUVD
QkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1r
STJlWEVtQUFBRUMKQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdR
SUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUQoyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0Jo
SUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTCk5RcEJn
QUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JB
aHNDQmdnR3oyNWtnQUIKQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakox
Y1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSQpFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJ
QUFBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnCmdD
UnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FB
QkFnUUlFTmdRTUVBMmVuSWwKQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJ
R3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRQpDQkFnUUdCRHdBRFo2TW1WQkFn
UUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJB
ClFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1Vn
UUlBQUFRSUVDQkFnc0NGZ2dHejAKNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFC
QWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQwpCQWdRSUVDQXdJYUFBYkxS
a3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJ
RUNBCkFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdR
QkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEKMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdR
SUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQgpBZ1FJRUNCQWdBQ0JE
UUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0Fn
UUlFQ0JBCmdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlF
QWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0cKZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpV
SVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUgpDQUlFQ0JBZ1FJ
QUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5u
b3laVUVDQkFnClFJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdR
SUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUEKZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0Fn
WUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNawpVYU1RQkFn
UUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURB
aG9BQnN0R1RLd2tRCklFQ0FBQUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbkls
QVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0EKQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJ
RUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQwpCa2lp
UmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJ
RUNBQUlFTkFRTmtveWRYCkVpQkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdn
R3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkEKZ0FBQkFnUTJCQXlRalo1Y1NZQUFB
UUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSQpK
QVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFn
UUlFQ0JBZ0FBQkFoc0NCc2hHClQ2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlF
QmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWcKUUlBQUFRSUVDR3dJR0NBYlBi
bVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJ
RQpDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlS
Um94QUVDQkFnUUlBQUFRSUVOZ1FNCmtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdR
SUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVEKSUVDQUFBRUNCQWdRMkJB
d1FEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNB
QUFFQwpCQWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlF
RWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzCkNCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dF
QVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2EKaFNCQWdBQUJBZ1FJ
RUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVDQlBlV0pRMEFB
QWoxU1VSQgpWRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFo
b0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRClJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxB
UUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkEKZ0FBQkFnUUlF
Q0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJp
RUlFQ0JBZ0FBQgpBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlF
Q0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJCkdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dH
ejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWMKU1lBQUFR
SUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFR
TWtFU05RaEFnUUlBQQpBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdR
SUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFnCmtCQXdRQkkxQ2tHQUFBRUNCQWdRSUVC
Z1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWIKUGJt
U0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlF
Q0JCSUNCZ2dpUnFGSUVDQQpBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJS
b3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRCklFQWdJV0NBSkdvVWdnQUJBZ1FJ
RUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXcK
UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FB
QUVDQkFnUUlKQVFNRUFTTlFwQgpnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVF
Z0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJCkVDQkFnRUJDd0FCSjFDZ0VB
UUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVD
Q3cKSVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5s
eEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScQpGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFB
RUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFCkNCQWdRSUFBZ1lTQUFa
S29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJ
RUNCQWcKUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFn
WUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQQpTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlC
QWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DCkJBZ1FJRUNBQUFF
Q0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFND
QUFFQ0JBZ1EKSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlF
Q0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRQpnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hH
VDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKCmxRUUlFQ0JB
Z0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFB
RW5VS0FRQkFnUUkKRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FB
QUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQgpBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVO
Z1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5CjBaTXJD
UkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdB
Q0JoSUFCa3FoUkNBSUUKQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05R
cEJnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQQpBUUlFRWdJR1NLSkdJUWdRSUVDQUFB
RUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCCkEy
U2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JB
Z1FJQUFBUUlKQVFNa1VhTVEKQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNG
Z2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQQpBQUVDQkFna0JBeVFSSTFDRUNC
QWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVD
Ckd3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1W
QkFnUUlFQ0FBQUVDQkJJQ0JraWkKUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFn
UUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlCQQpnQUFCQWdRSUVFZ0lHQ0NK
R29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFn
QUFCCkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFB
YkxSa3lzSkVDQkFnQUFCQWdRSUpBUU0Ka0VTTlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNC
QWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hHVDY0awpRSUFBQVFJRUNCQWdr
QkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENC
QWdRSUFBCkFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdB
Q0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQkkKQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlP
UktBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZQpYRW1BQUFFQ0JB
Z1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpC
RWpVSVFJRUNBCkFBRUNCQWdRMkJENEJHTUZGYTM5eWRYSEFBQUFBRWxGVGtTdVFtQ0MKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69902</attachid>
            <date>2010-10-06 01:56:02 -0700</date>
            <delta_ts>2010-10-06 08:27:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31370-20101006105559.patch</filename>
            <type>text/plain</type>
            <size>134217</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTEzNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTM2IEBACisyMDEwLTEwLTA1ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU1ZH
cyB3aXRoIGZpbHRlcnMgbG9vayBncmFpbnkgd2hlbiBzY2FsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MjYKKworICAgICAgICBTVkcgZmlsdGVy
IGVmZmVjdHMgbmVlZCBzbWFydGVyIHNpemUgY2FsY3VsYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMzcwCisKKyAgICAgICAgU1ZHIGVsZW1l
bnRzIHVzZSBGaWx0ZXJzIGJlZm9yZSBvd24gdHJhbnNmb3JtYXRpb25zCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjQ4NgorCisgICAgICAgIENhbGN1
bGF0ZSBhbGwgZmlsdGVyIHJlc3VsdHMgaW4gZGV2aWNlIHNwYWNlIGluc3RlYWQgb2YgdGhlIGZp
bHRlcmVkIG9iamVjdHMgdXNlciBzcGFjZS4gVGhpcyBjaGFuZ2UgaXMgc2ltaWxhciB0bworICAg
ICAgICB0aGUgcGF0Y2hlcyBmb3IgU1ZHIFBhdHRlcm4gYW5kIFNWRyBNYXNrZXIgYmVmb3JlLiBJ
dCBhdm9pZHMgcGl4ZWxhdGlvbiBhbmQgZ3VhcmFudGVlcyBzbW9vdGggZmlsdGVyIHJlc3VsdHMg
Zm9yCisgICAgICAgIGV2ZXJ5IHNjYWxlIGxldmVsIGFuZCBpcyBpbmRlcGVuZGVudCBvZiBhbnkg
dHJhbnNmb3JtYXRpb24gdG8gdGhlIHRhcmdldCBlbGVtZW50IG9yIGFueSBhbmNlc3RlciBvZiB0
aGUgdGFyZ2V0LgorICAgICAgICBUaGUgc2Vjb25kIHBhcnQgb2YgdGhpcyBwYXRjaCByZWR1Y2Vz
IHRoZSBzaXplIG9mIGV2ZXJ5IGVmZmVjdCB0byB0aGUgc21hbGxlc3QgYWZmZWN0ZWQgcmVnaW9u
IGluc3RlYWQgb2YgdGhlIGNvbXBsZXRlCisgICAgICAgIGZpbHRlciBwcmltaXRpdmUgc3VicmVn
aW9uIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0ZpbHRlclByaW1pdGl2
ZVN1YlJlZ2lvbikuIFdlIGp1c3QgdXNlIHRoZSBzdWJyZWdpb24KKyAgICAgICAgYXMgY2xpcHBp
bmcgcmVnaW9uLCBsaWtlIG1lbnRpb25lZCBpbiB0aGUgU1ZHIHNwZWNpZmljYXRpb24sIHRvIG1h
a2UgdGhlIGFmZmVjdGVkIHJlZ2lvbiBldmVuIHNtYWxsZXIgbm93LgorCisgICAgICAgIFRoaXMg
aXMgYSBodWdlIHNwZWVkIHVwLiBUaGUgRUNNQSBjbG91ZCAoaHR0cDovL2Vqb2huLm9yZy9maWxl
cy9lY21hLWNsb3VkLnN2ZykgaXMgbW9yZSB0aGFuIDEwMCB0aW1lcyBmYXN0ZXIgb24gR3RrIGFu
ZAorICAgICAgICByZW5kZXJzIGluIGxlc3MgdGhhbiBhIHNlY29uZC4KKyAgICAgICAgU29tZSBl
eGFtcGxlcyBvbiBzdmctd293Lm9yZyBjYW4gYmUgdmlld2VkIHRoZSBmaXJzdCB0aW1lIG5vdywg
c2luY2UgdGhlIHN1YnJlZ2lvbnMgd2VyZSBtdWNoIGJpZ2dlciB0aGFuIHRoZSBhZmZlY3RlZAor
ICAgICAgICByZWdpb24uCisgICAgICAgIFRoZXJlJ3Mgc3RpbGwgbW9yZSBwb3RlbnRpYWwgdG8g
c3BlZWQgdXAgZmlsdGVycywgYnkgZnVydGhlciByZWR1Y2luZyB0aGUgSW1hZ2VCdWZmZXIgc2l6
ZXMuCisgICAgICAgIFJlbmFtZWQgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMgdG8gYWJz
b2x1dGVQYWludFJlY3QsIHNpbmNlIGFsbCBjb29yZGluYXRlcyBhcmUgaW4gZGV2aWNlIHNwYWNl
IGluc3RlYWQgb2YgdGhlCisgICAgICAgIHVzZXIgc3BhY2Ugbm93LgorICAgICAgICBUaGUgYWJz
b2x1dGUgcGFpbnQgcmVjdCBpcyBjYWxjdWxhdGVkIGJ5IGRldGVybWluZUFic29sdXRlUGFpbnRS
ZWN0KCkgYW5kIGdldHMgY2FsbGVkIGJ5IEZpbHRlckVmZmVjdDo6ZWZmZWN0Q29udGV4dCgpIG9u
CisgICAgICAgIGFwcGx5aW5nIHRoZSBlZmZlY3QuCisgICAgICAgIFBhcnRseSByZXdyb3RlIGZp
bHRlciByZXNvbHV0aW9uIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0Zp
bHRlckVsZW1lbnRGaWx0ZXJSZXNBdHRyaWJ1dGUpIHRvIHdvcmsgd2l0aCB0aGUKKyAgICAgICAg
bmV3IGNvbmNlcHQuIFRoaXMgYWxzbyBjb3JyZWN0cyB0aGUgb2xkIGJlaGF2aW9yIHRvIG1hdGNo
IHRoZSBTVkcgc3BlY2lmaWNhdGlvbi4KKworICAgICAgICBUZXN0czogc3ZnL2ZpbHRlcnMvZmls
dGVyUmVzMS5zdmcKKyAgICAgICAgICAgICAgIHN2Zy9maWx0ZXJzL2ZpbHRlclJlczIuc3ZnCisg
ICAgICAgICAgICAgICBzdmcvZmlsdGVycy9maWx0ZXJSZXMzLnN2ZworCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOiBDYWxsIHNldEFi
c29sdXRlUGFpbnRSZWN0IGluc3RlYWQgb2Ygc2V0UmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0
ZXMuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNyZWF0ZVNoYWRvd01hc2sp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVCbGVuZC5jcHA6IFJlbmFt
ZWQgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMgdG8gYWJzb2x1dGVQYWludFJlY3QuCisg
ICAgICAgIChXZWJDb3JlOjpGRUJsZW5kOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRUNvbG9yTWF0cml4LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpGRUNvbG9yTWF0cml4OjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUNvbXBvbmVudFRyYW5zZmVyLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpG
RUNvbXBvbmVudFRyYW5zZmVyOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDb21w
b3NpdGU6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZF
Q29tcG9zaXRlOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUNvbXBvc2l0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252
b2x2ZU1hdHJpeC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVDb252b2x2ZU1hdHJp
eDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2
ZU1hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZTo6RkVDb252b2x2ZU1hdHJpeDo6ZGV0ZXJtaW5l
QWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVEaXNwbGFjZW1lbnRNYXAuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFRGlzcGxh
Y2VtZW50TWFwOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RURpc3BsYWNlbWVudE1hcC5oOgorICAgICAgICAoV2ViQ29yZTo6RkVEaXNwbGFjZW1lbnRNYXA6
OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFRmxvb2QuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFRmxvb2Q6
OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRmxvb2QuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkZFRmxvb2Q6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcDog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVLZXJuZWxTaXplKToKKyAgICAgICAg
KFdlYkNvcmU6OkZFR2F1c3NpYW5CbHVyOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGRUdhdXNzaWFuQmx1cjo6YXBwbHkpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkZFTGlnaHRpbmc6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFTWVyZ2UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFTWVyZ2U6OmFwcGx5
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVNb3JwaG9sb2d5OjpkZXRlcm1pbmVBYnNvbHV0
ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGRU1vcnBob2xvZ3k6OmFwcGx5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OkZFT2Zmc2V0OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpGRU9mZnNldDo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVPZmZzZXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFVGlsZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RkVUaWxlOjpkZXRlcm1p
bmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6RkVUaWxlOjph
cHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZFVGlsZTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxlbmNlLmNwcDogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpGRVR1cmJ1bGVuY2U6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVHVyYnVsZW5jZS5oOgorICAgICAgICAoV2ViQ29yZTo6
RkVUdXJidWxlbmNlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRl
cjo6YXBwbHlIb3Jpem9udGFsU2NhbGUpOiBNYXAgaG9yaXpvbnRhbCBlZmZlY3QgdmFsdWVzIHRv
IGFic29sdXRlIGNvb3JkaW5hdGVzLgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyOjphcHBseVZl
cnRpY2FsU2NhbGUpOiBNYXAgdmVydGljYWwgZWZmZWN0IHZhbHVlcyB0byBhYnNvbHV0ZSBjb29y
ZGluYXRlcy4KKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlcjo6bWFwQWJzb2x1dGVQb2ludFRvTG9j
YWxQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXI6OmZpbHRlclJlZ2lvbkluVXNlclNw
YWNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpkZXRlcm1pbmVGaWx0
ZXJQcmltaXRpdmVTdWJyZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0Ojpk
ZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZl
Y3Q6OnJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6
RmlsdGVyRWZmZWN0OjpkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkZpbHRlckVmZmVjdDo6ZWZmZWN0Q29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVm
ZmVjdDo6YWJzb2x1dGVQYWludFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0
OjpzZXRBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6
Om1heEVmZmVjdFJlY3QpOiBUaGUgc3VicmVnaW9uIGluIGFic29sdXRlIGNvb3JkaW5hdGVzIGZv
ciBTVkcuCisgICAgICAgIChXZWJDb3JlOjpGaWx0ZXJFZmZlY3Q6OnNldE1heEVmZmVjdFJlY3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuY3BwOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUFscGhhOjpkZXRlcm1pbmVBYnNvbHV0ZVBh
aW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VBbHBoYTo6YXBwbHkpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUdyYXBoaWM6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUdyYXBoaWM6OmFwcGx5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRl
ckRhdGE6OkZpbHRlckRhdGEpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZF
SW1hZ2UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZFSW1hZ2U6OmFwcGx5KToKKyAg
ICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmg6CisgICAgICAgIChXZWJD
b3JlOjpGRUltYWdlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgICogc3Zn
L2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Zp
bHRlcjo6U1ZHRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6ZGV0ZXJtaW5l
RmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6
YXBwbHlIb3Jpem9udGFsU2NhbGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjphcHBs
eVZlcnRpY2FsU2NhbGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjpjcmVhdGUpOgor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRmlsdGVyOjplZmZlY3RCb3VuZGluZ0JveE1vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRmlsdGVyOjpmaWx0ZXJSZWdpb25JblVzZXJTcGFjZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdGaWx0ZXI6OmZpbHRlclJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXI6
Om1hcEFic29sdXRlUG9pbnRUb0xvY2FsUG9pbnQpOiBNYXAgYWJzb2x1dGUgcG9pbnQgdG8gbG9j
YWwgcG9pbnQgaW4gdXNlcnNwYWNlLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjpzb3Vy
Y2VJbWFnZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjptYXhJbWFnZVNpemUp
OgorCiAyMDEwLTEwLTA1ICBLaW1tbyBLaW5udW5lbiAgPGtpbW1vLnQua2lubnVuZW5Abm9raWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJ
bmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDY5MTIwKQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTIxMDIwLDYgKzIxMDIwLDcgQEAKIAkJCWlzYSA9IFBCWFByb2plY3Q7
CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI4NDMwODkwMkIxMTAwOEE5RUZDIC8q
IEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi87CiAJ
CQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAyLjQiOworCQkJZGV2ZWxvcG1lbnRSZWdp
b24gPSBFbmdsaXNoOwogCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9IDE7CiAJCQlrbm93blJl
Z2lvbnMgPSAoCiAJCQkJRW5nbGlzaCwKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCShyZXZpc2lvbiA2
OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0
Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NDQsMTIgKzk0NCwxMiBAQCBQbGF0Zm9ybVJl
ZlB0cjxjYWlyb19zdXJmYWNlX3Q+IEdyYXBoaWNzCiAgICAgUmVmUHRyPEZpbHRlcj4gZmlsdGVy
ID0gSW1hZ2VCdWZmZXJGaWx0ZXI6OmNyZWF0ZSgpOwogICAgIGZpbHRlci0+c2V0U291cmNlSW1h
Z2UoYnVmZmVyKTsKICAgICBSZWZQdHI8RmlsdGVyRWZmZWN0PiBzb3VyY2UgPSBTb3VyY2VHcmFw
aGljOjpjcmVhdGUoKTsKLSAgICBzb3VyY2UtPnNldFJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5h
dGVzKEZsb2F0UmVjdChGbG9hdFBvaW50KCksIHNoYWRvd1JlY3Quc2l6ZSgpKSk7CisgICAgc291
cmNlLT5zZXRBYnNvbHV0ZVBhaW50UmVjdChJbnRSZWN0KEludFBvaW50KCksIHJvdW5kZWRJbnRT
aXplKHNoYWRvd1JlY3Quc2l6ZSgpKSkpOwogICAgIHNvdXJjZS0+c2V0SXNBbHBoYUltYWdlKHRy
dWUpOwogICAgIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IGJsdXIgPSBGRUdhdXNzaWFuQmx1cjo6Y3Jl
YXRlKHN0ZERldmlhdGlvbiwgc3RkRGV2aWF0aW9uKTsKICAgICBGaWx0ZXJFZmZlY3RWZWN0b3Im
IGlucHV0RWZmZWN0cyA9IGJsdXItPmlucHV0RWZmZWN0cygpOwogICAgIGlucHV0RWZmZWN0cy5h
cHBlbmQoc291cmNlLmdldCgpKTsKLSAgICBibHVyLT5zZXRSZXBhaW50UmVjdEluTG9jYWxDb29y
ZGluYXRlcyhGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBzaGFkb3dSZWN0LnNpemUoKSkpOworICAg
IGJsdXItPnNldEFic29sdXRlUGFpbnRSZWN0KEludFJlY3QoSW50UG9pbnQoKSwgcm91bmRlZElu
dFNpemUoc2hhZG93UmVjdC5zaXplKCkpKSk7CiAgICAgYmx1ci0+YXBwbHkoZmlsdGVyLmdldCgp
KTsKICAgICByZXR1cm4gYmx1ci0+cmVzdWx0SW1hZ2UoKS0+bV9kYXRhLm1fc3VyZmFjZTsKICNl
bmRpZgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQmxlbmQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUJsZW5k
LmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRkVCbGVuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4LDEzICs5OCwxMyBAQCB2b2lkIEZF
QmxlbmQ6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogICAgIGlmIChtX21vZGUgPT0gRkVCTEVORF9N
T0RFX1VOS05PV04pCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4dCgp
KQorICAgIGlmICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBJbnRSZWN0IGVmZmVjdEFEcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFn
ZURhdGEoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgIEludFJlY3Qg
ZWZmZWN0QURyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+
YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJyYXk+IHNyY1Bp
eGVsQXJyYXlBKGluLT5yZXN1bHRJbWFnZSgpLT5nZXRQcmVtdWx0aXBsaWVkSW1hZ2VEYXRhKGVm
ZmVjdEFEcmF3aW5nUmVjdCktPmRhdGEoKSk7CiAKLSAgICBJbnRSZWN0IGVmZmVjdEJEcmF3aW5n
UmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4yLT5yZXBhaW50UmVjdElu
TG9jYWxDb29yZGluYXRlcygpKTsKKyAgICBJbnRSZWN0IGVmZmVjdEJEcmF3aW5nUmVjdCA9IHJl
cXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4yLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsK
ICAgICBSZWZQdHI8Q2FudmFzUGl4ZWxBcnJheT4gc3JjUGl4ZWxBcnJheUIoaW4yLT5yZXN1bHRJ
bWFnZSgpLT5nZXRQcmVtdWx0aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdEJEcmF3aW5nUmVjdCktPmRh
dGEoKSk7CiAKICAgICBJbnRSZWN0IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgp
LT5zaXplKCkpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29s
b3JNYXRyaXguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUNvbG9yTWF0cml4LmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb2xvck1hdHJpeC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE2MCwxMSArMTYwLDExIEBAIHZvaWQgRkVDb2xvck1hdHJpeDo6YXBwbHkoRmlsdGVyKiBmaWx0
ZXIKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBH
cmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KCk7CisgICAgR3Jh
cGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dChmaWx0ZXIpOwogICAg
IGlmICghZmlsdGVyQ29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZmlsdGVyQ29udGV4
dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBk
cmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRl
cygpKSk7CisgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFn
ZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5hYnNv
bHV0ZVBhaW50UmVjdCgpKSk7CiAKICAgICBJbnRSZWN0IGltYWdlUmVjdChJbnRQb2ludCgpLCBy
ZXN1bHRJbWFnZSgpLT5zaXplKCkpOwogICAgIFBhc3NSZWZQdHI8SW1hZ2VEYXRhPiBpbWFnZURh
dGEocmVzdWx0SW1hZ2UoKS0+Z2V0VW5tdWx0aXBsaWVkSW1hZ2VEYXRhKGltYWdlUmVjdCkpOwpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29tcG9uZW50VHJhbnNm
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUNvbXBvbmVudFRyYW5zZmVyLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb25lbnRUcmFuc2Zlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIEZFQ29tcG9uZW50VHJhbnNmZXI6OmFwcGx5KEZp
bHRlciogCiAgICAgaWYgKCFpbi0+cmVzdWx0SW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgaWYgKCFlZmZlY3RDb250ZXh0KCkpCisgICAgaWYgKCFlZmZlY3RDb250ZXh0KGZpbHRlcikp
CiAgICAgICAgIHJldHVybjsKIAogICAgIHVuc2lnbmVkIGNoYXIgclZhbHVlc1syNTZdLCBnVmFs
dWVzWzI1Nl0sIGJWYWx1ZXNbMjU2XSwgYVZhbHVlc1syNTZdOwpAQCAtMTY3LDcgKzE2Nyw3IEBA
IHZvaWQgRkVDb21wb25lbnRUcmFuc2Zlcjo6YXBwbHkoRmlsdGVyKiAKICAgICBmb3IgKHVuc2ln
bmVkIGNoYW5uZWwgPSAwOyBjaGFubmVsIDwgNDsgY2hhbm5lbCsrKQogICAgICAgICAoKmNhbGxF
ZmZlY3RbdHJhbnNmZXJGdW5jdGlvbltjaGFubmVsXS50eXBlXSkodGFibGVzW2NoYW5uZWxdLCB0
cmFuc2ZlckZ1bmN0aW9uW2NoYW5uZWxdKTsKIAotICAgIEludFJlY3QgZHJhd2luZ1JlY3QgPSBy
ZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29y
ZGluYXRlcygpKTsKKyAgICBJbnRSZWN0IGRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJ
bnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSk7CiAgICAgUmVmUHRyPEltYWdl
RGF0YT4gaW1hZ2VEYXRhKGluLT5yZXN1bHRJbWFnZSgpLT5nZXRVbm11bHRpcGxpZWRJbWFnZURh
dGEoZHJhd2luZ1JlY3QpKTsKICAgICBDYW52YXNQaXhlbEFycmF5KiBzcmNQaXhlbEFycmF5KGlt
YWdlRGF0YS0+ZGF0YSgpKTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFQ29tcG9zaXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUNvbXBvc2l0ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMsNiArMyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1
aXNAa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNSBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJr
aXQub3JnPgogICogQ29weXJpZ2h0IChDKSAyMDA5IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQu
b3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0xMTIsNiArMTEzLDI3
IEBAIGlubGluZSB2b2lkIGFyaXRobWV0aWMoY29uc3QgUmVmUHRyPENhbnYKICAgICAgICAgfQog
ICAgIH0KIH0KKyAgICAKK3ZvaWQgRkVDb21wb3NpdGU6OmRldGVybWluZUFic29sdXRlUGFpbnRS
ZWN0KEZpbHRlciogZmlsdGVyKQoreworICAgIHN3aXRjaCAobV90eXBlKSB7CisgICAgY2FzZSBG
RUNPTVBPU0lURV9PUEVSQVRPUl9JTjoKKyAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX0FU
T1A6CisgICAgICAgIC8vIEZvciBJbiBhbmQgQXRvcCB0aGUgZmlyc3QgZWZmZWN0IGp1c3QgaW5m
bHVlbmNlcyB0aGUgcmVzdWx0IG9mCisgICAgICAgIC8vIHRoZSBzZWNvbmQgZWZmZWN0LiBTbyBq
dXN0IHVzZSB0aGUgYWJzb2x1dGUgcGFpbnQgcmVjdCBvZiB0aGUgc2Vjb25kIGVmZmVjdCBoZXJl
LgorICAgICAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChpbnB1dEVmZmVjdCgxKS0+YWJzb2x1dGVQ
YWludFJlY3QoKSk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJB
VE9SX0FSSVRITUVUSUM6CisgICAgICAgIC8vIEFyaXRobWV0aWMgbWF5IGluZmx1bmNlIHRoZSBj
b21wZWxlIGZpbHRlciBwcmltaXRpdmUgcmVnaW9uLiBTbyB3ZSBjYW4ndAorICAgICAgICAvLyBv
cHRpbWl6ZSB0aGUgcGFpbnQgcmVnaW9uIGhlcmUuCisgICAgICAgIHNldEFic29sdXRlUGFpbnRS
ZWN0KG1heEVmZmVjdFJlY3QoKSk7CisgICAgICAgIHJldHVybjsKKyAgICBkZWZhdWx0OgorICAg
ICAgICAvLyBUYWtlIHRoZSB1bmlvbiBvZiBib3RoIGlucHV0IGVmZmVjdHMuCisgICAgICAgIEZp
bHRlckVmZmVjdDo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoZmlsdGVyKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KK30KIAogdm9pZCBGRUNvbXBvc2l0ZTo6YXBwbHkoRmlsdGVyKiBmaWx0
ZXIpCiB7CkBAIC0xMjIsMzkgKzE0NCwzOSBAQCB2b2lkIEZFQ29tcG9zaXRlOjphcHBseShGaWx0
ZXIqIGZpbHRlcikKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgpIHx8ICFpbjItPnJlc3VsdElt
YWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29u
dGV4dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRl
eHQgPSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAg
ICAgICByZXR1cm47CiAKICAgICBGbG9hdFJlY3Qgc3JjUmVjdCA9IEZsb2F0UmVjdCgwLCAwLCAt
MSwgLTEpOwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBGRUNPTVBPU0lURV9PUEVS
QVRPUl9PVkVSOgotICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4yLT5y
ZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdl
KGluMi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSkpOwotICAgICAgICBmaWx0ZXJD
b250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3Bh
Y2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3Jk
aW5hdGVzKCkpKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluMi0+
cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFn
ZShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJh
d0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5n
UmVnaW9uT2ZJbnB1dEltYWdlKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfSU46CiAgICAgICAgIGZpbHRlckNv
bnRleHQtPnNhdmUoKTsKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+Y2xpcFRvSW1hZ2VCdWZmZXIo
aW4yLT5yZXN1bHRJbWFnZSgpLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+cmVwYWlu
dFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSkpOwotICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3
SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdS
ZWdpb25PZklucHV0SW1hZ2UoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsK
KyAgICAgICAgZmlsdGVyQ29udGV4dC0+Y2xpcFRvSW1hZ2VCdWZmZXIoaW4yLT5yZXN1bHRJbWFn
ZSgpLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSkp
OworICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdl
KCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4tPmFic29s
dXRlUGFpbnRSZWN0KCkpKTsKICAgICAgICAgZmlsdGVyQ29udGV4dC0+cmVzdG9yZSgpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX09VVDoKLSAgICAgICAg
ZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VD
b2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9j
YWxDb29yZGluYXRlcygpKSk7Ci0gICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZl
cihpbjItPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklu
cHV0SW1hZ2UoaW4yLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSwgc3JjUmVjdCwg
Q29tcG9zaXRlRGVzdGluYXRpb25PdXQpOworICAgICAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1h
Z2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdp
b25PZklucHV0SW1hZ2UoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAgICAgZmlsdGVy
Q29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JT
cGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkp
LCBzcmNSZWN0LCBDb21wb3NpdGVEZXN0aW5hdGlvbk91dCk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfQVRPUDoKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+
ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJh
d2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVz
KCkpKTsKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJ
bWFnZSgpLCBEZXZpY2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5y
ZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpKSwgc3JjUmVjdCwgQ29tcG9zaXRlU291cmNl
QXRvcCk7CisgICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbjItPnJlc3Vs
dEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb25PZklucHV0SW1hZ2UoaW4y
LT5hYnNvbHV0ZVBhaW50UmVjdCgpKSk7CisgICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFn
ZUJ1ZmZlcihpbi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lv
bk9mSW5wdXRJbWFnZShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSksIHNyY1JlY3QsIENvbXBvc2l0
ZVNvdXJjZUF0b3ApOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJB
VE9SX1hPUjoKLSAgICAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVz
dWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShp
bjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpKTsKLSAgICAgICAgZmlsdGVyQ29u
dGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNwYWNl
LCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGlu
YXRlcygpKSwgc3JjUmVjdCwgQ29tcG9zaXRlWE9SKTsKKyAgICAgICAgZmlsdGVyQ29udGV4dC0+
ZHJhd0ltYWdlQnVmZmVyKGluMi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJh
d2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpKTsKKyAgICAg
ICAgZmlsdGVyQ29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZp
Y2VDb2xvclNwYWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5hYnNvbHV0ZVBhaW50
UmVjdCgpKSwgc3JjUmVjdCwgQ29tcG9zaXRlWE9SKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBGRUNPTVBPU0lURV9PUEVSQVRPUl9BUklUSE1FVElDOiB7Ci0gICAgICAgIEludFJlY3QgZWZm
ZWN0QURyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+cmVw
YWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7CisgICAgICAgIEludFJlY3QgZWZmZWN0QURy
YXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+YWJzb2x1dGVQ
YWludFJlY3QoKSk7CiAgICAgICAgIFJlZlB0cjxDYW52YXNQaXhlbEFycmF5PiBzcmNQaXhlbEFy
cmF5QShpbi0+cmVzdWx0SW1hZ2UoKS0+Z2V0UHJlbXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RB
RHJhd2luZ1JlY3QpLT5kYXRhKCkpOwogCi0gICAgICAgIEludFJlY3QgZWZmZWN0QkRyYXdpbmdS
ZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbjItPnJlcGFpbnRSZWN0SW5M
b2NhbENvb3JkaW5hdGVzKCkpOworICAgICAgICBJbnRSZWN0IGVmZmVjdEJEcmF3aW5nUmVjdCA9
IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4yLT5hYnNvbHV0ZVBhaW50UmVjdCgp
KTsKICAgICAgICAgUmVmUHRyPEltYWdlRGF0YT4gaW1hZ2VEYXRhKGluMi0+cmVzdWx0SW1hZ2Uo
KS0+Z2V0UHJlbXVsdGlwbGllZEltYWdlRGF0YShlZmZlY3RCRHJhd2luZ1JlY3QpKTsKICAgICAg
ICAgQ2FudmFzUGl4ZWxBcnJheSogc3JjUGl4ZWxBcnJheUIoaW1hZ2VEYXRhLT5kYXRhKCkpOwog
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3NpdGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb21wb3Np
dGUuaAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRkVDb21wb3NpdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsOCBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1
bXAoKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3Qo
RmlsdGVyKik7CiAKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRp
b24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogCkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2ZU1hdHJpeC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29udm9sdmVNYXRyaXguY3Bw
CShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUNvbnZvbHZlTWF0cml4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc3LDExICszNzcsMTEgQEAg
dm9pZCBGRUNvbnZvbHZlTWF0cml4OjphcHBseShGaWx0ZXIqIGZpbAogICAgIGlmICghaW4tPnJl
c3VsdEltYWdlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4dCgp
KQorICAgIGlmICghZWZmZWN0Q29udGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAKICAg
ICBJbnRSZWN0IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkpOwot
ICAgIEludFJlY3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1h
Z2VEYXRhKGluLT5maWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKSk7CisgICAgSW50UmVjdCBlZmZl
Y3REcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPmFic29s
dXRlUGFpbnRSZWN0KCkpOwogCiAgICAgUmVmUHRyPENhbnZhc1BpeGVsQXJyYXk+IHNyY1BpeGVs
QXJyYXk7CiAgICAgaWYgKG1fcHJlc2VydmVBbHBoYSkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRUNvbnZvbHZlTWF0cml4LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ29udm9sdmVNYXRyaXguaAkocmV2aXNpb24g
NjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDb252b2x2ZU1h
dHJpeC5oCSh3b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKIAorICAg
IHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKSB7IHNldEFi
c29sdXRlUGFpbnRSZWN0KG1heEVmZmVjdFJlY3QoKSk7IH0KKwogICAgIHZpcnR1YWwgVGV4dFN0
cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikg
Y29uc3Q7CiAKIHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRkVEaXNwbGFjZW1lbnRNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRURpc3BsYWNlbWVudE1hcC5jcHAJKHJldmlzaW9uIDY5MTIwKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRGlzcGxhY2VtZW50TWFwLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICogQ29weXJpZ2h0IChDKSAyMDA1IEVyaWMg
U2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgRGlyayBTY2h1
bHplIDxrcml0QHdlYmtpdC5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlv
biBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
QEAgLTg4LDEzICs4OSwxMyBAQCB2b2lkIEZFRGlzcGxhY2VtZW50TWFwOjphcHBseShGaWx0ZXIq
IGZpCiAgICAgaWYgKG1feENoYW5uZWxTZWxlY3RvciA9PSBDSEFOTkVMX1VOS05PV04gfHwgbV95
Q2hhbm5lbFNlbGVjdG9yID09IENIQU5ORUxfVU5LTk9XTikKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgaWYgKCFlZmZlY3RDb250ZXh0KCkpCisgICAgaWYgKCFlZmZlY3RDb250ZXh0KGZpbHRlcikp
CiAgICAgICAgIHJldHVybjsKIAotICAgIEludFJlY3QgZWZmZWN0QURyYXdpbmdSZWN0ID0gcmVx
dWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRp
bmF0ZXMoKSk7CisgICAgSW50UmVjdCBlZmZlY3RBRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdp
b25PZklucHV0SW1hZ2VEYXRhKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAgICBSZWZQdHI8
Q2FudmFzUGl4ZWxBcnJheT4gc3JjUGl4ZWxBcnJheUEoaW4tPnJlc3VsdEltYWdlKCktPmdldFBy
ZW11bHRpcGxpZWRJbWFnZURhdGEoZWZmZWN0QURyYXdpbmdSZWN0KS0+ZGF0YSgpKTsKIAotICAg
IEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdl
RGF0YShpbjItPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgIEludFJlY3Qg
ZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbjIt
PmFic29sdXRlUGFpbnRSZWN0KCkpOwogICAgIFJlZlB0cjxDYW52YXNQaXhlbEFycmF5PiBzcmNQ
aXhlbEFycmF5QihpbjItPnJlc3VsdEltYWdlKCktPmdldFVubXVsdGlwbGllZEltYWdlRGF0YShl
ZmZlY3RCRHJhd2luZ1JlY3QpLT5kYXRhKCkpOwogCiAgICAgSW50UmVjdCBpbWFnZVJlY3QoSW50
UG9pbnQoKSwgcmVzdWx0SW1hZ2UoKS0+c2l6ZSgpKTsKQEAgLTEwMiwxMCArMTAzLDEwIEBAIHZv
aWQgRkVEaXNwbGFjZW1lbnRNYXA6OmFwcGx5KEZpbHRlciogZmkKIAogICAgIEFTU0VSVChzcmNQ
aXhlbEFycmF5QS0+bGVuZ3RoKCkgPT0gc3JjUGl4ZWxBcnJheUItPmxlbmd0aCgpKTsKIAotICAg
IGZsb2F0IHNjYWxlWCA9IG1fc2NhbGUgLyAyNTUuZiAqIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlv
bigpLndpZHRoKCk7Ci0gICAgZmxvYXQgc2NhbGVZID0gbV9zY2FsZSAvIDI1NS5mICogZmlsdGVy
LT5maWx0ZXJSZXNvbHV0aW9uKCkuaGVpZ2h0KCk7Ci0gICAgZmxvYXQgc2NhbGVBZGp1c3RtZW50
WCA9ICgwLjVmIC0gMC41ZiAqIG1fc2NhbGUpICogZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCku
d2lkdGgoKTsKLSAgICBmbG9hdCBzY2FsZUFkanVzdG1lbnRZID0gKDAuNWYgLSAwLjVmICogbV9z
Y2FsZSkgKiBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKTsKKyAgICBmbG9hdCBz
Y2FsZVggPSBmaWx0ZXItPmFwcGx5SG9yaXpvbnRhbFNjYWxlKG1fc2NhbGUgLyAyNTUpOworICAg
IGZsb2F0IHNjYWxlWSA9IGZpbHRlci0+YXBwbHlWZXJ0aWNhbFNjYWxlKG1fc2NhbGUgLyAyNTUp
OworICAgIGZsb2F0IHNjYWxlQWRqdXN0bWVudFggPSBmaWx0ZXItPmFwcGx5SG9yaXpvbnRhbFNj
YWxlKDAuNWYgLSAwLjVmICogbV9zY2FsZSk7CisgICAgZmxvYXQgc2NhbGVBZGp1c3RtZW50WSA9
IGZpbHRlci0+YXBwbHlWZXJ0aWNhbFNjYWxlKDAuNWYgLSAwLjVmICogbV9zY2FsZSk7CiAgICAg
aW50IHN0cmlkZSA9IGltYWdlUmVjdC53aWR0aCgpICogNDsKICAgICBmb3IgKGludCB5ID0gMDsg
eSA8IGltYWdlUmVjdC5oZWlnaHQoKTsgKyt5KSB7CiAgICAgICAgIGludCBsaW5lID0geSAqIHN0
cmlkZTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRURpc3BsYWNl
bWVudE1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRURpc3BsYWNlbWVudE1hcC5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRURpc3BsYWNlbWVudE1hcC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01Myw2ICs1Myw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKik7
CiAgICAgdmlydHVhbCB2b2lkIGR1bXAoKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVB
YnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKSB7IHNldEFic29sdXRlUGFpbnRSZWN0KG1heEVmZmVj
dFJlY3QoKSk7IH0KKwogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRh
dGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKIHByaXZhdGU6CkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9vZC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRmxvb2QuY3BwCShyZXZp
c2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZsb29k
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsMTQgKzYyLDE0IEBAIHZvaWQgRkVGbG9vZDo6c2V0
Rmxvb2RPcGFjaXR5KGZsb2F0IGZsb28KICAgICBtX2Zsb29kT3BhY2l0eSA9IGZsb29kT3BhY2l0
eTsKIH0KIAotdm9pZCBGRUZsb29kOjphcHBseShGaWx0ZXIqKQordm9pZCBGRUZsb29kOjphcHBs
eShGaWx0ZXIqIGZpbHRlcikKIHsKLSAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQg
PSBlZmZlY3RDb250ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0g
ZWZmZWN0Q29udGV4dChmaWx0ZXIpOwogICAgIGlmICghZmlsdGVyQ29udGV4dCkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgQ29sb3IgY29sb3IgPSBjb2xvcldpdGhPdmVycmlkZUFscGhhKGZsb29k
Q29sb3IoKS5yZ2IoKSwgZmxvb2RPcGFjaXR5KCkpOwotICAgIGZpbHRlckNvbnRleHQtPmZpbGxS
ZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVz
KCkuc2l6ZSgpKSwgY29sb3IsIERldmljZUNvbG9yU3BhY2UpOworICAgIGZpbHRlckNvbnRleHQt
PmZpbGxSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIGFic29sdXRlUGFpbnRSZWN0KCkuc2l6
ZSgpKSwgY29sb3IsIERldmljZUNvbG9yU3BhY2UpOwogfQogCiB2b2lkIEZFRmxvb2Q6OmR1bXAo
KQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRmxvb2QuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVGbG9vZC5oCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUZs
b29kLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBhcHBseShGaWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOwogCisgICAg
dmlydHVhbCB2b2lkIGRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopIHsgc2V0QWJz
b2x1dGVQYWludFJlY3QobWF4RWZmZWN0UmVjdCgpKTsgfQorCiAgICAgdmlydHVhbCBUZXh0U3Ry
ZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBj
b25zdDsKIAogcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9GRUdhdXNzaWFuQmx1ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00LDYgKzQsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA1IEVyaWMgU2VpZGVs
IDxlcmljQHdlYmtpdC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgRGlyayBTY2h1bHplIDxr
cml0QHdlYmtpdC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhLCBTLkwuCisgKiBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTM1LDYgKzM2LDcgQEAKIHVzaW5nIHN0
ZDo6bWF4OwogCiBzdGF0aWMgY29uc3QgZmxvYXQgZ0dhdXNzaWFuS2VybmVsRmFjdG9yID0gKDMg
KiBzcXJ0ZigyICogcGlGbG9hdCkgLyA0LmYpOworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGdNYXhL
ZXJuZWxTaXplID0gMTAwMDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMjUsNiArMTI3
LDQxIEBAIHZvaWQgRkVHYXVzc2lhbkJsdXI6Omtlcm5lbFBvc2l0aW9uKGludCAKICAgICB9CiB9
CiAKK2lubGluZSB2b2lkIGNhbGN1bGF0ZUtlcm5lbFNpemUoRmlsdGVyKiBmaWx0ZXIsIHVuc2ln
bmVkJiBrZXJuZWxTaXplWCwgdW5zaWduZWQmIGtlcm5lbFNpemVZLCBmbG9hdCBzdGRYLCBmbG9h
dCBzdGRZKQoreworICAgIHN0ZFggPSBmaWx0ZXItPmFwcGx5SG9yaXpvbnRhbFNjYWxlKHN0ZFgp
OworICAgIHN0ZFkgPSBmaWx0ZXItPmFwcGx5VmVydGljYWxTY2FsZShzdGRZKTsKKyAgICAKKyAg
ICBrZXJuZWxTaXplWCA9IDA7CisgICAgaWYgKHN0ZFgpCisgICAgICAgIGtlcm5lbFNpemVYID0g
bWF4PHVuc2lnbmVkPigyLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZmxvb3JmKHN0ZFggKiBnR2F1
c3NpYW5LZXJuZWxGYWN0b3IgKyAwLjVmKSkpOworICAgIGtlcm5lbFNpemVZID0gMDsKKyAgICBp
ZiAoc3RkWSkKKyAgICAgICAga2VybmVsU2l6ZVkgPSBtYXg8dW5zaWduZWQ+KDIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihmbG9vcmYoc3RkWSAqIGdHYXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYp
KSk7CisgICAgCisgICAgLy8gTGltaXQgdGhlIGtlcm5lbCBzaXplIHRvIDEwMDAuIEEgYmlnZ2Vy
IHJhZGl1cyB3b24ndCBtYWtlIGEgYmlnIGRpZmZlcmVuY2UgZm9yIHRoZSByZXN1bHQgaW1hZ2Ug
YnV0CisgICAgLy8gaW5mbGF0ZXMgdGhlIGFic29sdXRlIHBhaW50IHJlY3QgdG8gbXVjaC4gVGhp
cyBpcyBjb21wYXRpYmxlIHdpdGggRmlyZWZveCcgYmVoYXZpb3IuCisgICAgaWYgKGtlcm5lbFNp
emVYID4gZ01heEtlcm5lbFNpemUpCisgICAgICAgIGtlcm5lbFNpemVYID0gZ01heEtlcm5lbFNp
emU7CisgICAgaWYgKGtlcm5lbFNpemVZID4gZ01heEtlcm5lbFNpemUpCisgICAgICAgIGtlcm5l
bFNpemVZID0gZ01heEtlcm5lbFNpemU7Cit9CisKK3ZvaWQgRkVHYXVzc2lhbkJsdXI6OmRldGVy
bWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciogZmlsdGVyKQoreworICAgIEludFJlY3QgYWJz
b2x1dGVQYWludFJlY3QgPSBpbnB1dEVmZmVjdCgwKS0+YWJzb2x1dGVQYWludFJlY3QoKTsKKyAg
ICBhYnNvbHV0ZVBhaW50UmVjdC5pbnRlcnNlY3QobWF4RWZmZWN0UmVjdCgpKTsKKworICAgIHVu
c2lnbmVkIGtlcm5lbFNpemVYID0gMDsKKyAgICB1bnNpZ25lZCBrZXJuZWxTaXplWSA9IDA7Cisg
ICAgY2FsY3VsYXRlS2VybmVsU2l6ZShmaWx0ZXIsIGtlcm5lbFNpemVYLCBrZXJuZWxTaXplWSwg
bV9zdGRYLCBtX3N0ZFkpOworCisgICAgLy8gV2UgdGFrZSB0aGUgaGFsZiBrZXJuZWwgc2l6ZSBh
bmQgbXVsdGlwbHkgaXQgd2l0aCB0aHJlZSwgYmVjYXVzZSB3ZSBydW4gYm94IGJsdXIgdGhyZWUg
dGltZXMuCisgICAgYWJzb2x1dGVQYWludFJlY3QuaW5mbGF0ZVgoMyAqIGtlcm5lbFNpemVYICog
MC41Zik7CisgICAgYWJzb2x1dGVQYWludFJlY3QuaW5mbGF0ZVkoMyAqIGtlcm5lbFNpemVZICog
MC41Zik7CisgICAgc2V0QWJzb2x1dGVQYWludFJlY3QoYWJzb2x1dGVQYWludFJlY3QpOworfQor
CiB2b2lkIEZFR2F1c3NpYW5CbHVyOjphcHBseShGaWx0ZXIqIGZpbHRlcikKIHsKICAgICBGaWx0
ZXJFZmZlY3QqIGluID0gaW5wdXRFZmZlY3QoMCk7CkBAIC0xMzIsMTIgKzE2OSwxMiBAQCB2b2lk
IEZFR2F1c3NpYW5CbHVyOjphcHBseShGaWx0ZXIqIGZpbHRlCiAgICAgaWYgKCFpbi0+cmVzdWx0
SW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFlZmZlY3RDb250ZXh0KCkpCisg
ICAgaWYgKCFlZmZlY3RDb250ZXh0KGZpbHRlcikpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNl
dElzQWxwaGFJbWFnZShpbi0+aXNBbHBoYUltYWdlKCkpOwogCi0gICAgSW50UmVjdCBlZmZlY3RE
cmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPnJlcGFpbnRS
ZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAgIEludFJlY3QgZWZmZWN0RHJhd2luZ1JlY3Qg
PSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgp
KTsKICAgICBSZWZQdHI8SW1hZ2VEYXRhPiBzcmNJbWFnZURhdGEoaW4tPnJlc3VsdEltYWdlKCkt
PmdldFByZW11bHRpcGxpZWRJbWFnZURhdGEoZWZmZWN0RHJhd2luZ1JlY3QpKTsKICAgICBJbnRS
ZWN0IGltYWdlUmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkpOwogCkBAIC0x
NDcsMTIgKzE4NCw4IEBAIHZvaWQgRkVHYXVzc2lhbkJsdXI6OmFwcGx5KEZpbHRlciogZmlsdGUK
ICAgICB9CiAKICAgICB1bnNpZ25lZCBrZXJuZWxTaXplWCA9IDA7Ci0gICAgaWYgKG1fc3RkWCkK
LSAgICAgICAga2VybmVsU2l6ZVggPSBtYXgoMlUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihmbG9v
cihtX3N0ZFggKiBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS53aWR0aCgpICogZ0dhdXNzaWFu
S2VybmVsRmFjdG9yICsgMC41ZikpKTsKLQogICAgIHVuc2lnbmVkIGtlcm5lbFNpemVZID0gMDsK
LSAgICBpZiAobV9zdGRZKQotICAgICAgICBrZXJuZWxTaXplWSA9IG1heCgyVSwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KGZsb29yKG1fc3RkWSAqIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhl
aWdodCgpICogZ0dhdXNzaWFuS2VybmVsRmFjdG9yICsgMC41ZikpKTsKKyAgICBjYWxjdWxhdGVL
ZXJuZWxTaXplKGZpbHRlciwga2VybmVsU2l6ZVgsIGtlcm5lbFNpemVZLCBtX3N0ZFgsIG1fc3Rk
WSk7CiAKICAgICBDYW52YXNQaXhlbEFycmF5KiBzcmNQaXhlbEFycmF5KHNyY0ltYWdlRGF0YS0+
ZGF0YSgpKTsKICAgICBSZWZQdHI8SW1hZ2VEYXRhPiB0bXBJbWFnZURhdGEgPSBJbWFnZURhdGE6
OmNyZWF0ZShpbWFnZVJlY3Qud2lkdGgoKSwgaW1hZ2VSZWN0LmhlaWdodCgpKTsKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5o
CShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUdhdXNzaWFuQmx1ci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw4IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBhcHBseShGaWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVt
cCgpOworICAgIAorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChG
aWx0ZXIqKTsKIAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlv
bihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUxpZ2h0aW5nLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVMaWdodGluZy5jcHAJKHJldmlzaW9uIDY5
MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTGlnaHRpbmcuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsMTIgKzI0NywxMiBAQCB2b2lkIEZFTGlnaHRpbmc6OmFw
cGx5KEZpbHRlciogZmlsdGVyKQogICAgIGlmICghaW4tPnJlc3VsdEltYWdlKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIGlmICghZWZmZWN0Q29udGV4dCgpKQorICAgIGlmICghZWZmZWN0Q29u
dGV4dChmaWx0ZXIpKQogICAgICAgICByZXR1cm47CiAKICAgICBzZXRJc0FscGhhSW1hZ2UoZmFs
c2UpOwogCi0gICAgSW50UmVjdCBlZmZlY3REcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9m
SW5wdXRJbWFnZURhdGEoaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkpOworICAg
IEludFJlY3QgZWZmZWN0RHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VE
YXRhKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKICAgICBSZWZQdHI8SW1hZ2VEYXRhPiBzcmNJ
bWFnZURhdGEoaW4tPnJlc3VsdEltYWdlKCktPmdldFVubXVsdGlwbGllZEltYWdlRGF0YShlZmZl
Y3REcmF3aW5nUmVjdCkpOwogICAgIENhbnZhc1BpeGVsQXJyYXkqIHNyY1BpeGVsQXJyYXkoc3Jj
SW1hZ2VEYXRhLT5kYXRhKCkpOwogCkBAIC0yNjEsOCArMjYxLDkgQEAgdm9pZCBGRUxpZ2h0aW5n
OjphcHBseShGaWx0ZXIqIGZpbHRlcikKICAgICAvLyBvdXRwdXQgZm9yIHZhcmlvdXMga2VybmVs
VW5pdExlbmd0aHMsIGFuZCBJIGFtIG5vdCBzdXJlIHRoZXkgYXJlIHJlbGlhYmxlLgogICAgIC8v
IEFueXdheSwgZmVDb252b2x2ZU1hdHJpeCBzaG91bGQgYWxzbyB1c2UgdGhlIGltcGxlbWVudGF0
aW9uCiAKLSAgICBpZiAoZHJhd0xpZ2h0aW5nKHNyY1BpeGVsQXJyYXksIGVmZmVjdERyYXdpbmdS
ZWN0LndpZHRoKCksIGVmZmVjdERyYXdpbmdSZWN0LmhlaWdodCgpKSkKLSAgICAgICAgcmVzdWx0
SW1hZ2UoKS0+cHV0VW5tdWx0aXBsaWVkSW1hZ2VEYXRhKHNyY0ltYWdlRGF0YS5nZXQoKSwgSW50
UmVjdChJbnRQb2ludCgpLCByZXN1bHRJbWFnZSgpLT5zaXplKCkpLCBJbnRQb2ludCgpKTsKKyAg
ICBJbnRTaXplIGFic29sdXRlUGFpbnRTaXplID0gYWJzb2x1dGVQYWludFJlY3QoKS5zaXplKCk7
CisgICAgaWYgKGRyYXdMaWdodGluZyhzcmNQaXhlbEFycmF5LCBhYnNvbHV0ZVBhaW50U2l6ZS53
aWR0aCgpLCBhYnNvbHV0ZVBhaW50U2l6ZS5oZWlnaHQoKSkpCisgICAgICAgIHJlc3VsdEltYWdl
KCktPnB1dFVubXVsdGlwbGllZEltYWdlRGF0YShzcmNJbWFnZURhdGEuZ2V0KCksIEludFJlY3Qo
SW50UG9pbnQoKSwgYWJzb2x1dGVQYWludFNpemUpLCBJbnRQb2ludCgpKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFTGlnaHRpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVMaWdodGluZy5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRUxpZ2h0aW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0
LDggQEAgY2xhc3MgRkVMaWdodGluZyA6IHB1YmxpYyBGaWx0ZXJFZmZlY3QgewogcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBhcHBseShGaWx0ZXIqKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkZXRl
cm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqKSB7IHNldEFic29sdXRlUGFpbnRSZWN0KG1h
eEVmZmVjdFJlY3QoKSk7IH0KKwogcHJvdGVjdGVkOgogICAgIGVudW0gTGlnaHRpbmdUeXBlIHsK
ICAgICAgICAgRGlmZnVzZUxpZ2h0aW5nLApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFTWVyZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRU1lcmdlLmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVNZXJnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDEzICs1MCwxMyBAQCB2b2lkIEZFTWVyZ2U6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogICAgICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4
dCA9IGVmZmVjdENvbnRleHQoKTsKKyAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQg
PSBlZmZlY3RDb250ZXh0KGZpbHRlcik7CiAgICAgaWYgKCFmaWx0ZXJDb250ZXh0KQogICAgICAg
ICByZXR1cm47CiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CiAg
ICAgICAgIEZpbHRlckVmZmVjdCogaW4gPSBpbnB1dEVmZmVjdChpKTsKLSAgICAgICAgZmlsdGVy
Q29udGV4dC0+ZHJhd0ltYWdlQnVmZmVyKGluLT5yZXN1bHRJbWFnZSgpLCBEZXZpY2VDb2xvclNw
YWNlLCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29y
ZGluYXRlcygpKSk7CisgICAgICAgIGZpbHRlckNvbnRleHQtPmRyYXdJbWFnZUJ1ZmZlcihpbi0+
cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFn
ZShpbi0+YWJzb2x1dGVQYWludFJlY3QoKSkpOwogICAgIH0KIH0KIApJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5jcHAJKHJldmlz
aW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhv
bG9neS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBACiAgKiBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAw
NSBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogICogQ29weXJpZ2h0IChDKSAyMDA5IERp
cmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJ
biBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC03NCw2ICs3NSwxNCBAQCBmbG9hdCBGRU1vcnBob2xvZ3k6OnJhZGl1c1koKSBj
b25zdAogICAgIHJldHVybiBtX3JhZGl1c1k7CiB9CiAKK3ZvaWQgRkVNb3JwaG9sb2d5OjpkZXRl
cm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqIGZpbHRlcikKK3sKKyAgICBGbG9hdFJlY3Qg
cGFpbnRSZWN0ID0gaW5wdXRFZmZlY3QoMCktPmFic29sdXRlUGFpbnRSZWN0KCk7CisgICAgcGFp
bnRSZWN0LmluZmxhdGVYKGZpbHRlci0+YXBwbHlIb3Jpem9udGFsU2NhbGUobV9yYWRpdXNYKSk7
CisgICAgcGFpbnRSZWN0LmluZmxhdGVZKGZpbHRlci0+YXBwbHlWZXJ0aWNhbFNjYWxlKG1fcmFk
aXVzWSkpOworICAgIHNldEFic29sdXRlUGFpbnRSZWN0KGVuY2xvc2luZ0ludFJlY3QocGFpbnRS
ZWN0KSk7Cit9CisKIHZvaWQgRkVNb3JwaG9sb2d5OjpzZXRSYWRpdXNZKGZsb2F0IHJhZGl1c1kp
CiB7CiAgICAgbV9yYWRpdXNZID0gcmFkaXVzWTsKQEAgLTg2LDE4ICs5NSwxOCBAQCB2b2lkIEZF
TW9ycGhvbG9neTo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAgaWYgKCFpbi0+cmVzdWx0SW1h
Z2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFlZmZlY3RDb250ZXh0KCkpCisgICAg
aWYgKCFlZmZlY3RDb250ZXh0KGZpbHRlcikpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNldElz
QWxwaGFJbWFnZShpbi0+aXNBbHBoYUltYWdlKCkpOwotCi0gICAgaW50IHJhZGl1c1ggPSBzdGF0
aWNfY2FzdDxpbnQ+KG1fcmFkaXVzWCAqIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLndpZHRo
KCkpOwotICAgIGludCByYWRpdXNZID0gc3RhdGljX2Nhc3Q8aW50PihtX3JhZGl1c1kgKiBmaWx0
ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7Ci0gICAgaWYgKHJhZGl1c1ggPD0gMCB8
fCByYWRpdXNZIDw9IDApCisgICAgaWYgKG1fcmFkaXVzWCA8PSAwIHx8IG1fcmFkaXVzWSA8PSAw
KQogICAgICAgICByZXR1cm47CiAKKyAgICBpbnQgcmFkaXVzWCA9IHN0YXRpY19jYXN0PGludD4o
Zmxvb3JmKGZpbHRlci0+YXBwbHlIb3Jpem9udGFsU2NhbGUobV9yYWRpdXNYKSkpOworICAgIGlu
dCByYWRpdXNZID0gc3RhdGljX2Nhc3Q8aW50PihmbG9vcmYoZmlsdGVyLT5hcHBseVZlcnRpY2Fs
U2NhbGUobV9yYWRpdXNZKSkpOworCiAgICAgSW50UmVjdCBpbWFnZVJlY3QoSW50UG9pbnQoKSwg
cmVzdWx0SW1hZ2UoKS0+c2l6ZSgpKTsKLSAgICBJbnRSZWN0IGVmZmVjdERyYXdpbmdSZWN0ID0g
cmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0YShpbi0+cmVwYWludFJlY3RJbkxvY2FsQ29v
cmRpbmF0ZXMoKSk7CisgICAgSW50UmVjdCBlZmZlY3REcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJl
Z2lvbk9mSW5wdXRJbWFnZURhdGEoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpOwogICAgIFJlZlB0
cjxDYW52YXNQaXhlbEFycmF5PiBzcmNQaXhlbEFycmF5KGluLT5yZXN1bHRJbWFnZSgpLT5nZXRQ
cmVtdWx0aXBsaWVkSW1hZ2VEYXRhKGVmZmVjdERyYXdpbmdSZWN0KS0+ZGF0YSgpKTsKICAgICBS
ZWZQdHI8SW1hZ2VEYXRhPiBpbWFnZURhdGEgPSBJbWFnZURhdGE6OmNyZWF0ZShpbWFnZVJlY3Qu
d2lkdGgoKSwgaW1hZ2VSZWN0LmhlaWdodCgpKTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFTW9ycGhvbG9neS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU1vcnBob2xvZ3kuaAkocmV2aXNpb24gNjkxMjApCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVNb3JwaG9sb2d5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ5LDYgKzQ5LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhcHBs
eShGaWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOwogCisgICAgdmlydHVhbCB2b2lk
IGRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopOworCiAgICAgdmlydHVhbCBUZXh0
U3RyZWFtJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9u
KSBjb25zdDsKIAogcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRU9mZnNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFT2Zmc2V0LmNwcAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYg
KzMsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5v
cmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDUgRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4K
ICAqIENvcHlyaWdodCAoQykgMjAwOSBEaXJrIFNjaHVsemUgPGtyaXRAd2Via2l0Lm9yZz4KKyAq
IENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNjIsNiArNjMsMTQgQEAgdm9pZCBG
RU9mZnNldDo6c2V0RHkoZmxvYXQgZHkpCiAgICAgbV9keSA9IGR5OwogfQogCit2b2lkIEZFT2Zm
c2V0OjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIqIGZpbHRlcikKK3sKKyAgICBG
bG9hdFJlY3QgcGFpbnRSZWN0ID0gaW5wdXRFZmZlY3QoMCktPmFic29sdXRlUGFpbnRSZWN0KCk7
CisgICAgcGFpbnRSZWN0Lm1vdmUoZmlsdGVyLT5hcHBseUhvcml6b250YWxTY2FsZShtX2R4KSwg
ZmlsdGVyLT5hcHBseVZlcnRpY2FsU2NhbGUobV9keSkpOworICAgIHBhaW50UmVjdC5pbnRlcnNl
Y3QobWF4RWZmZWN0UmVjdCgpKTsKKyAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChlbmNsb3NpbmdJ
bnRSZWN0KHBhaW50UmVjdCkpOworfQorCiB2b2lkIEZFT2Zmc2V0OjphcHBseShGaWx0ZXIqIGZp
bHRlcikKIHsKICAgICBGaWx0ZXJFZmZlY3QqIGluID0gaW5wdXRFZmZlY3QoMCk7CkBAIC02OSwy
OCArNzgsMTUgQEAgdm9pZCBGRU9mZnNldDo6YXBwbHkoRmlsdGVyKiBmaWx0ZXIpCiAgICAgaWYg
KCFpbi0+cmVzdWx0SW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgR3JhcGhpY3NDb250
ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4dCgpOworICAgIEdyYXBoaWNzQ29udGV4
dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQoZmlsdGVyKTsKICAgICBpZiAoIWZpbHRl
ckNvbnRleHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNldElzQWxwaGFJbWFnZShpbi0+aXNB
bHBoYUltYWdlKCkpOwogCi0gICAgRmxvYXRSZWN0IHNvdXJjZUltYWdlUmVjdCA9IGZpbHRlci0+
c291cmNlSW1hZ2VSZWN0KCk7Ci0gICAgc291cmNlSW1hZ2VSZWN0LnNjYWxlKGZpbHRlci0+Zmls
dGVyUmVzb2x1dGlvbigpLndpZHRoKCksIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdo
dCgpKTsKLQotICAgIGlmIChmaWx0ZXItPmVmZmVjdEJvdW5kaW5nQm94TW9kZSgpKSB7Ci0gICAg
ICAgIG1fZHggKj0gc291cmNlSW1hZ2VSZWN0LndpZHRoKCk7Ci0gICAgICAgIG1fZHkgKj0gc291
cmNlSW1hZ2VSZWN0LmhlaWdodCgpOwotICAgIH0KLSAgICBtX2R4ICo9IGZpbHRlci0+ZmlsdGVy
UmVzb2x1dGlvbigpLndpZHRoKCk7Ci0gICAgbV9keSAqPSBmaWx0ZXItPmZpbHRlclJlc29sdXRp
b24oKS5oZWlnaHQoKTsKLQotICAgIEZsb2F0UmVjdCBkc3RSZWN0ID0gRmxvYXRSZWN0KG1fZHgg
KyBpbi0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS54KCkgLSByZXBhaW50UmVjdElu
TG9jYWxDb29yZGluYXRlcygpLngoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtX2R5ICsgaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkueSgpIC0gcmVwYWlu
dFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS55KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4tPnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkud2lkdGgoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbi0+cmVwYWludFJlY3RJbkxvY2FsQ29v
cmRpbmF0ZXMoKS5oZWlnaHQoKSk7Ci0KLSAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZm
ZXIoaW4tPnJlc3VsdEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGRzdFJlY3QpOworICAgIEZs
b2F0UmVjdCBkcmF3aW5nUmVnaW9uID0gZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShpbi0+YWJz
b2x1dGVQYWludFJlY3QoKSk7CisgICAgZHJhd2luZ1JlZ2lvbi5tb3ZlKGZpbHRlci0+YXBwbHlI
b3Jpem9udGFsU2NhbGUobV9keCksIGZpbHRlci0+YXBwbHlWZXJ0aWNhbFNjYWxlKG1fZHkpKTsK
KyAgICBmaWx0ZXJDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3VsdEltYWdlKCksIERl
dmljZUNvbG9yU3BhY2UsIGRyYXdpbmdSZWdpb24pOwogfQogCiB2b2lkIEZFT2Zmc2V0OjpkdW1w
KCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5o
CShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RU9mZnNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw4IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgdm9pZCBhcHBseShGaWx0ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZHVtcCgpOwor
ICAgIAorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChGaWx0ZXIq
KTsKIAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0
U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29uc3Q7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRmlsdGVyLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3ND
b250ZXh0LmgiCiAjaW5jbHVkZSAiUGF0dGVybi5oIgorI2luY2x1ZGUgIlNWR0ltYWdlQnVmZmVy
VG9vbHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCw3ICs0NSw3IEBAIEZsb2F0
UmVjdCBGRVRpbGU6OmRldGVybWluZUZpbHRlclByaW1pdGkKIHsKICAgICBpbnB1dEVmZmVjdCgw
KS0+ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKGZpbHRlcik7CiAKLSAgICBmaWx0
ZXItPmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbih0aGlzLCBmaWx0ZXItPmZpbHRl
clJlZ2lvbigpKTsKKyAgICBmaWx0ZXItPmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lv
bih0aGlzLCBmaWx0ZXItPmZpbHRlclJlZ2lvbkluVXNlclNwYWNlKCkpOwogICAgIHJldHVybiBm
aWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKTsKIH0KIApAQCAtNTUsMzQgKzU2LDM3IEBAIHZvaWQg
RkVUaWxlOjphcHBseShGaWx0ZXIqIGZpbHRlcikKICAgICBpZiAoIWluLT5yZXN1bHRJbWFnZSgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQg
PSBlZmZlY3RDb250ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0g
ZWZmZWN0Q29udGV4dChmaWx0ZXIpOwogICAgIGlmICghZmlsdGVyQ29udGV4dCkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgc2V0SXNBbHBoYUltYWdlKGluLT5pc0FscGhhSW1hZ2UoKSk7CiAKLSAg
ICBJbnRSZWN0IHRpbGVSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChpbi0+cmVwYWludFJlY3RJbkxv
Y2FsQ29vcmRpbmF0ZXMoKSk7Ci0KICAgICAvLyBTb3VyY2UgaW5wdXQgbmVlZHMgbW9yZSBhdHRl
bnRpb24uIEl0IGhhcyB0aGUgc2l6ZSBvZiB0aGUgZmlsdGVyUmVnaW9uIGJ1dCBnaXZlcyB0aGUK
ICAgICAvLyBzaXplIG9mIHRoZSBjdXR0ZWQgc291cmNlSW1hZ2UgYmFjay4gVGhpcyBpcyBwYXJ0
IG9mIHRoZSBzcGVjaWZpY2F0aW9uIGFuZCBvcHRpbWl6YXRpb24uCisgICAgRmxvYXRSZWN0IHRp
bGVSZWN0ID0gaW4tPm1heEVmZmVjdFJlY3QoKTsKKyAgICBGbG9hdFBvaW50IGluTWF4RWZmZWN0
TG9jYXRpb24gPSB0aWxlUmVjdC5sb2NhdGlvbigpOworICAgIEZsb2F0UG9pbnQgbWF4RWZmZWN0
TG9jYXRpb24gPSBtYXhFZmZlY3RSZWN0KCkubG9jYXRpb24oKTsKICAgICBpZiAoaW4tPmlzU291
cmNlSW5wdXQoKSkgewotICAgICAgICBGbG9hdFJlY3QgZmlsdGVyUmVnaW9uID0gZmlsdGVyLT5m
aWx0ZXJSZWdpb24oKTsKLSAgICAgICAgZmlsdGVyUmVnaW9uLnNjYWxlKGZpbHRlci0+ZmlsdGVy
UmVzb2x1dGlvbigpLndpZHRoKCksIGZpbHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgp
KTsKLSAgICAgICAgdGlsZVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGZpbHRlclJlZ2lvbik7Cisg
ICAgICAgIHRpbGVSZWN0ID0gZmlsdGVyLT5maWx0ZXJSZWdpb24oKTsKKyAgICAgICAgdGlsZVJl
Y3Quc2NhbGUoZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgoKSwgZmlsdGVyLT5maWx0
ZXJSZXNvbHV0aW9uKCkuaGVpZ2h0KCkpOwogICAgIH0KIAotICAgIE93blB0cjxJbWFnZUJ1ZmZl
cj4gdGlsZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZSh0aWxlUmVjdC5zaXplKCkpOworICAg
IE93blB0cjxJbWFnZUJ1ZmZlcj4gdGlsZUltYWdlOworICAgIGlmICghU1ZHSW1hZ2VCdWZmZXJU
b29sczo6Y3JlYXRlSW1hZ2VCdWZmZXIodGlsZVJlY3QsIHRpbGVSZWN0LCB0aWxlSW1hZ2UsIERl
dmljZVJHQikpCisgICAgICAgIHJldHVybjsKKwogICAgIEdyYXBoaWNzQ29udGV4dCogdGlsZUlt
YWdlQ29udGV4dCA9IHRpbGVJbWFnZS0+Y29udGV4dCgpOwotICAgIHRpbGVJbWFnZUNvbnRleHQt
PmRyYXdJbWFnZUJ1ZmZlcihpbi0+cmVzdWx0SW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgSW50
UG9pbnQoKSk7Ci0gICAgUmVmUHRyPFBhdHRlcm4+IHBhdHRlcm4gPSBQYXR0ZXJuOjpjcmVhdGUo
dGlsZUltYWdlLT5jb3B5SW1hZ2UoKSwgdHJ1ZSwgdHJ1ZSk7CisgICAgdGlsZUltYWdlQ29udGV4
dC0+dHJhbnNsYXRlKC1pbk1heEVmZmVjdExvY2F0aW9uLngoKSwgLWluTWF4RWZmZWN0TG9jYXRp
b24ueSgpKTsKKyAgICB0aWxlSW1hZ2VDb250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIoaW4tPnJlc3Vs
dEltYWdlKCksIERldmljZUNvbG9yU3BhY2UsIGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpLmxvY2F0
aW9uKCkpOwogCi0gICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKLSAgICBtYXRyaXgudHJhbnNs
YXRlKGluLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpLngoKSAtIHJlcGFpbnRSZWN0
SW5Mb2NhbENvb3JkaW5hdGVzKCkueCgpLAotICAgICAgICAgICAgICAgICAgICAgaW4tPnJlcGFp
bnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkueSgpIC0gcmVwYWludFJlY3RJbkxvY2FsQ29vcmRp
bmF0ZXMoKS55KCkpOwotICAgIHBhdHRlcm4uZ2V0KCktPnNldFBhdHRlcm5TcGFjZVRyYW5zZm9y
bShtYXRyaXgpOworICAgIFJlZlB0cjxQYXR0ZXJuPiBwYXR0ZXJuID0gUGF0dGVybjo6Y3JlYXRl
KHRpbGVJbWFnZS0+Y29weUltYWdlKCksIHRydWUsIHRydWUpOwogCisgICAgQWZmaW5lVHJhbnNm
b3JtIHBhdHRlcm5UcmFuc2Zvcm07CisgICAgcGF0dGVyblRyYW5zZm9ybS50cmFuc2xhdGUoaW5N
YXhFZmZlY3RMb2NhdGlvbi54KCkgLSBtYXhFZmZlY3RMb2NhdGlvbi54KCksIGluTWF4RWZmZWN0
TG9jYXRpb24ueSgpIC0gbWF4RWZmZWN0TG9jYXRpb24ueSgpKTsKKyAgICBwYXR0ZXJuLT5zZXRQ
YXR0ZXJuU3BhY2VUcmFuc2Zvcm0ocGF0dGVyblRyYW5zZm9ybSk7CiAgICAgZmlsdGVyQ29udGV4
dC0+c2V0RmlsbFBhdHRlcm4ocGF0dGVybik7Ci0gICAgZmlsdGVyQ29udGV4dC0+ZmlsbFJlY3Qo
RmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKS5z
aXplKCkpKTsKKyAgICBmaWx0ZXJDb250ZXh0LT5maWxsUmVjdChGbG9hdFJlY3QoRmxvYXRQb2lu
dCgpLCBhYnNvbHV0ZVBhaW50UmVjdCgpLnNpemUoKSkpOwogfQogCiB2b2lkIEZFVGlsZTo6ZHVt
cCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUaWxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVGlsZS5oCShy
ZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRVRp
bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7CiAKKyAgICB2
aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKikgeyBzZXRBYnNv
bHV0ZVBhaW50UmVjdChtYXhFZmZlY3RSZWN0KCkpOyB9CisKICAgICB2aXJ0dWFsIFRleHRTdHJl
YW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYsIGludCBpbmRlbnRpb24pIGNv
bnN0OwogCiAgICAgdmlydHVhbCBGbG9hdFJlY3QgZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3Vi
cmVnaW9uKEZpbHRlciopOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFVHVyYnVsZW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFVHVyYnVsZW5jZS5jcHAJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFVHVyYnVsZW5jZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMyMSw3ICszMjEsNyBAQCB1bnNpZ25lZCBjaGFyIEZFVHVyYnVsZW5jZTo6Y2FsY3VsYXRl
VHVyCiAKIHZvaWQgRkVUdXJidWxlbmNlOjphcHBseShGaWx0ZXIqIGZpbHRlcikKIHsKLSAgICBp
ZiAoIWVmZmVjdENvbnRleHQoKSkKKyAgICBpZiAoIWVmZmVjdENvbnRleHQoZmlsdGVyKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgSW50UmVjdCBpbWFnZVJlY3QoSW50UG9pbnQoKSwgcmVzdWx0
SW1hZ2UoKS0+c2l6ZSgpKTsKQEAgLTMyOSwxMCArMzI5LDEwIEBAIHZvaWQgRkVUdXJidWxlbmNl
OjphcHBseShGaWx0ZXIqIGZpbHRlcikKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmUHRyPElt
YWdlRGF0YT4gaW1hZ2VEYXRhID0gSW1hZ2VEYXRhOjpjcmVhdGUoaW1hZ2VSZWN0LndpZHRoKCks
IGltYWdlUmVjdC5oZWlnaHQoKSk7Ci0gICAgUGFpbnRpbmdEYXRhIHBhaW50aW5nRGF0YShtX3Nl
ZWQsIGltYWdlUmVjdC5zaXplKCkpOworICAgIFBhaW50aW5nRGF0YSBwYWludGluZ0RhdGEobV9z
ZWVkLCByb3VuZGVkSW50U2l6ZShmaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKS5zaXplKCkpKTsK
ICAgICBpbml0UGFpbnQocGFpbnRpbmdEYXRhKTsKIAotICAgIEZsb2F0UmVjdCBmaWx0ZXJSZWdp
b24gPSBmaWx0ZXItPmZpbHRlclJlZ2lvbigpOworICAgIEZsb2F0UmVjdCBmaWx0ZXJSZWdpb24g
PSBhYnNvbHV0ZVBhaW50UmVjdCgpOwogICAgIEZsb2F0UG9pbnQgcG9pbnQ7CiAgICAgcG9pbnQu
c2V0WShmaWx0ZXJSZWdpb24ueSgpKTsKICAgICBpbnQgaW5kZXhPZlBpeGVsQ2hhbm5lbCA9IDA7
CkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBGRVR1cmJ1bGVuY2U6OmFwcGx5KEZpbHRlciogZmls
dGVyKQogICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IGltYWdlUmVjdC53aWR0aCgpOyArK3gp
IHsKICAgICAgICAgICAgIHBvaW50LnNldFgocG9pbnQueCgpICsgMSk7CiAgICAgICAgICAgICBm
b3IgKHBhaW50aW5nRGF0YS5jaGFubmVsID0gMDsgcGFpbnRpbmdEYXRhLmNoYW5uZWwgPCA0OyAr
K3BhaW50aW5nRGF0YS5jaGFubmVsLCArK2luZGV4T2ZQaXhlbENoYW5uZWwpCi0gICAgICAgICAg
ICAgICAgaW1hZ2VEYXRhLT5kYXRhKCktPnNldChpbmRleE9mUGl4ZWxDaGFubmVsLCBjYWxjdWxh
dGVUdXJidWxlbmNlVmFsdWVGb3JQb2ludChwYWludGluZ0RhdGEsIHBvaW50KSk7CisgICAgICAg
ICAgICAgICAgaW1hZ2VEYXRhLT5kYXRhKCktPnNldChpbmRleE9mUGl4ZWxDaGFubmVsLCBjYWxj
dWxhdGVUdXJidWxlbmNlVmFsdWVGb3JQb2ludChwYWludGluZ0RhdGEsIGZpbHRlci0+bWFwQWJz
b2x1dGVQb2ludFRvTG9jYWxQb2ludChwb2ludCkpKTsKICAgICAgICAgfQogICAgIH0KICAgICBy
ZXN1bHRJbWFnZSgpLT5wdXRVbm11bHRpcGxpZWRJbWFnZURhdGEoaW1hZ2VEYXRhLmdldCgpLCBp
bWFnZVJlY3QsIEludFBvaW50KCkpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFVHVyYnVsZW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9GRVR1cmJ1bGVuY2UuaAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVUdXJidWxlbmNlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTYwLDYgKzYwLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRl
ciopOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7CisgICAgCisgICAgdmlydHVhbCB2b2lkIGRl
dGVybWluZUFic29sdXRlUGFpbnRSZWN0KEZpbHRlciopIHsgc2V0QWJzb2x1dGVQYWludFJlY3Qo
bWF4RWZmZWN0UmVjdCgpKTsgfQogCiAgICAgdmlydHVhbCBUZXh0U3RyZWFtJiBleHRlcm5hbFJl
cHJlc2VudGF0aW9uKFRleHRTdHJlYW0mLCBpbnQgaW5kZW50aW9uKSBjb25zdDsKIApJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaAkocmV2aXNpb24gNjkx
MjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ0LDExICs0NCwxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IEZsb2F0U2l6ZSBmaWx0ZXJSZXNvbHV0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9maWx0ZXJSZXNv
bHV0aW9uOyB9CiAgICAgICAgIHZvaWQgc2V0RmlsdGVyUmVzb2x1dGlvbihjb25zdCBGbG9hdFNp
emUmIGZpbHRlclJlc29sdXRpb24pIHsgbV9maWx0ZXJSZXNvbHV0aW9uID0gZmlsdGVyUmVzb2x1
dGlvbjsgfQogCisgICAgICAgIHZpcnR1YWwgZmxvYXQgYXBwbHlIb3Jpem9udGFsU2NhbGUoZmxv
YXQgdmFsdWUpIGNvbnN0IHsgcmV0dXJuIHZhbHVlICogbV9maWx0ZXJSZXNvbHV0aW9uLndpZHRo
KCk7IH0KKyAgICAgICAgdmlydHVhbCBmbG9hdCBhcHBseVZlcnRpY2FsU2NhbGUoZmxvYXQgdmFs
dWUpIGNvbnN0IHsgcmV0dXJuIHZhbHVlICogbV9maWx0ZXJSZXNvbHV0aW9uLmhlaWdodCgpOyB9
CisgICAgICAgIAogICAgICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzb3VyY2VJbWFnZVJlY3QoKSBj
b25zdCA9IDA7CiAgICAgICAgIHZpcnR1YWwgRmxvYXRSZWN0IGZpbHRlclJlZ2lvbigpIGNvbnN0
ID0gMDsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgRmxvYXRQb2ludCBtYXBBYnNvbHV0ZVBv
aW50VG9Mb2NhbFBvaW50KGNvbnN0IEZsb2F0UG9pbnQmKSBjb25zdCB7IHJldHVybiBGbG9hdFBv
aW50KCk7IH0KIAogICAgICAgICAvLyBTVkcgc3BlY2lmaWMKICAgICAgICAgdmlydHVhbCB2b2lk
IGRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihGaWx0ZXJFZmZlY3QqLCBjb25zdCBG
bG9hdFJlY3QmKSB7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgRmxvYXRSZWN0IGZpbHRl
clJlZ2lvbkluVXNlclNwYWNlKCkgY29uc3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KIAogICAg
ICAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBtYXhJbWFnZVNpemUoKSBjb25zdCA9IDA7CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBlZmZlY3RCb3VuZGluZ0JveE1vZGUoKSBjb25zdCA9IDA7CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmNw
cAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RmlsdGVyRWZmZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBGbG9hdFJl
Y3QgRmlsdGVyRWZmZWN0OjpkZXRlcm1pbmVGaWx0ZXJQCiAKICAgICAvLyBGRVR1cmJ1bGVuY2Us
IEZFSW1hZ2UgYW5kIEZFRmxvb2QgZG9uJ3QgaGF2ZSBpbnB1dCBlZmZlY3RzLCB0YWtlIHRoZSBm
aWx0ZXIgcmVnaW9uIGFzIHVuaXRlIHJlY3QuCiAgICAgaWYgKCFzaXplKQotICAgICAgICB1bml0
ZVJlY3QgPSBmaWx0ZXItPmZpbHRlclJlZ2lvbigpOworICAgICAgICB1bml0ZVJlY3QgPSBmaWx0
ZXItPmZpbHRlclJlZ2lvbkluVXNlclNwYWNlKCk7CiAgICAgZWxzZSB7CiAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpCiAgICAgICAgICAgICB1bml0ZVJlY3QudW5p
dGUobV9pbnB1dEVmZmVjdHMuYXQoaSktPmRldGVybWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lv
bihmaWx0ZXIpKTsKQEAgLTU2LDE4ICs1NiwyOSBAQCBGbG9hdFJlY3QgRmlsdGVyRWZmZWN0Ojpk
ZXRlcm1pbmVGaWx0ZXJQCiAgICAgcmV0dXJuIG1fZmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uOwog
fQogCi1JbnRSZWN0IEZpbHRlckVmZmVjdDo6cmVxdWVzdGVkUmVnaW9uT2ZJbnB1dEltYWdlRGF0
YShjb25zdCBGbG9hdFJlY3QmIGVmZmVjdFJlY3QpIGNvbnN0Cit2b2lkIEZpbHRlckVmZmVjdDo6
ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKikKK3sKKyAgICBtX2Fic29sdXRlUGFp
bnRSZWN0ID0gSW50UmVjdCgpOworICAgIHVuc2lnbmVkIHNpemUgPSBtX2lucHV0RWZmZWN0cy5z
aXplKCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkKKyAgICAgICAg
bV9hYnNvbHV0ZVBhaW50UmVjdC51bml0ZShtX2lucHV0RWZmZWN0cy5hdChpKS0+YWJzb2x1dGVQ
YWludFJlY3QoKSk7CisgICAgCisgICAgLy8gU1ZHIHNwZWNpZmljYXRpb24gd2FudHMgdXMgdG8g
Y2xpcCB0byBwcmltaXRpdmUgc3VicmVnaW9uLgorICAgIG1fYWJzb2x1dGVQYWludFJlY3QuaW50
ZXJzZWN0KG1fbWF4RWZmZWN0UmVjdCk7Cit9CisKK0ludFJlY3QgRmlsdGVyRWZmZWN0OjpyZXF1
ZXN0ZWRSZWdpb25PZklucHV0SW1hZ2VEYXRhKGNvbnN0IEludFJlY3QmIGVmZmVjdFJlY3QpIGNv
bnN0CiB7CiAgICAgQVNTRVJUKG1fZWZmZWN0QnVmZmVyKTsKLSAgICBGbG9hdFBvaW50IGxvY2F0
aW9uID0gbV9yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcy5sb2NhdGlvbigpOworICAgIElu
dFBvaW50IGxvY2F0aW9uID0gbV9hYnNvbHV0ZVBhaW50UmVjdC5sb2NhdGlvbigpOwogICAgIGxv
Y2F0aW9uLm1vdmUoLWVmZmVjdFJlY3QueCgpLCAtZWZmZWN0UmVjdC55KCkpOwotICAgIHJldHVy
biBJbnRSZWN0KHJvdW5kZWRJbnRQb2ludChsb2NhdGlvbiksIG1fZWZmZWN0QnVmZmVyLT5zaXpl
KCkpOworICAgIHJldHVybiBJbnRSZWN0KGxvY2F0aW9uLCBtX2VmZmVjdEJ1ZmZlci0+c2l6ZSgp
KTsKIH0KIAotRmxvYXRSZWN0IEZpbHRlckVmZmVjdDo6ZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFn
ZShjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QpIGNvbnN0CitJbnRSZWN0IEZpbHRlckVmZmVjdDo6
ZHJhd2luZ1JlZ2lvbk9mSW5wdXRJbWFnZShjb25zdCBJbnRSZWN0JiBzcmNSZWN0KSBjb25zdAog
ewotICAgIHJldHVybiBGbG9hdFJlY3QoRmxvYXRQb2ludChzcmNSZWN0LngoKSAtIG1fcmVwYWlu
dFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMueCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzcmNSZWN0LnkoKSAtIG1fcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMueSgpKSwg
c3JjUmVjdC5zaXplKCkpOworICAgIHJldHVybiBJbnRSZWN0KEludFBvaW50KHNyY1JlY3QueCgp
IC0gbV9hYnNvbHV0ZVBhaW50UmVjdC54KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3JjUmVjdC55KCkgLSBtX2Fic29sdXRlUGFpbnRSZWN0LnkoKSksIHNyY1JlY3Quc2l6ZSgpKTsK
IH0KIAogRmlsdGVyRWZmZWN0KiBGaWx0ZXJFZmZlY3Q6OmlucHV0RWZmZWN0KHVuc2lnbmVkIG51
bWJlcikgY29uc3QKQEAgLTc2LDEwICs4NywxMiBAQCBGaWx0ZXJFZmZlY3QqIEZpbHRlckVmZmVj
dDo6aW5wdXRFZmZlY3QoCiAgICAgcmV0dXJuIG1faW5wdXRFZmZlY3RzLmF0KG51bWJlcikuZ2V0
KCk7CiB9CiAKLUdyYXBoaWNzQ29udGV4dCogRmlsdGVyRWZmZWN0OjplZmZlY3RDb250ZXh0KCkK
K0dyYXBoaWNzQ29udGV4dCogRmlsdGVyRWZmZWN0OjplZmZlY3RDb250ZXh0KEZpbHRlciogZmls
dGVyKQogewotICAgIEludFJlY3QgYnVmZmVyUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QobV9yZXBh
aW50UmVjdEluTG9jYWxDb29yZGluYXRlcyk7Ci0gICAgbV9lZmZlY3RCdWZmZXIgPSBJbWFnZUJ1
ZmZlcjo6Y3JlYXRlKGJ1ZmZlclJlY3Quc2l6ZSgpLCBMaW5lYXJSR0IpOworICAgIGRldGVybWlu
ZUFic29sdXRlUGFpbnRSZWN0KGZpbHRlcik7CisgICAgaWYgKG1fYWJzb2x1dGVQYWludFJlY3Qu
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBtX2VmZmVjdEJ1ZmZlciA9IEltYWdl
QnVmZmVyOjpjcmVhdGUobV9hYnNvbHV0ZVBhaW50UmVjdC5zaXplKCksIExpbmVhclJHQik7CiAg
ICAgaWYgKCFtX2VmZmVjdEJ1ZmZlcikKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIG1f
ZWZmZWN0QnVmZmVyLT5jb250ZXh0KCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5oCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuaAkod29ya2luZyBjb3B5
KQpAQCAtNDksMjUgKzQ5LDMwIEBAIHB1YmxpYzoKIAogICAgIC8vIENyZWF0ZXMgdGhlIEltYWdl
QnVmZmVyIGZvciB0aGUgY3VycmVudCBmaWx0ZXIgcHJpbWl0aXZlIHJlc3VsdCBpbiB0aGUgc2l6
ZSBvZiB0aGUKICAgICAvLyByZXBhaW50UmVjdC4gR2l2ZXMgYmFjayB0aGUgR3JhcGhpY3NDb250
ZXh0IG9mIHRoZSBvd24gSW1hZ2VCdWZmZXIuCi0gICAgR3JhcGhpY3NDb250ZXh0KiBlZmZlY3RD
b250ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0KiBlZmZlY3RDb250ZXh0KEZpbHRlciopOwog
CiAgICAgRmlsdGVyRWZmZWN0VmVjdG9yJiBpbnB1dEVmZmVjdHMoKSB7IHJldHVybiBtX2lucHV0
RWZmZWN0czsgfQogICAgIEZpbHRlckVmZmVjdCogaW5wdXRFZmZlY3QodW5zaWduZWQpIGNvbnN0
OwogICAgIHVuc2lnbmVkIG51bWJlck9mRWZmZWN0SW5wdXRzKCkgY29uc3QgeyByZXR1cm4gbV9p
bnB1dEVmZmVjdHMuc2l6ZSgpOyB9CiAKLSAgICBGbG9hdFJlY3QgZHJhd2luZ1JlZ2lvbk9mSW5w
dXRJbWFnZShjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKLSAgICBJbnRSZWN0IHJlcXVlc3RlZFJl
Z2lvbk9mSW5wdXRJbWFnZURhdGEoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CisgICAgSW50UmVj
dCBkcmF3aW5nUmVnaW9uT2ZJbnB1dEltYWdlKGNvbnN0IEludFJlY3QmKSBjb25zdDsKKyAgICBJ
bnRSZWN0IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRJbWFnZURhdGEoY29uc3QgSW50UmVjdCYpIGNv
bnN0OwogCiAgICAgLy8gU29saWQgYmxhY2sgaW1hZ2Ugd2l0aCBkaWZmZXJlbnQgYWxwaGEgdmFs
dWVzLgogICAgIGJvb2wgaXNBbHBoYUltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9hbHBoYUltYWdl
OyB9CiAgICAgdm9pZCBzZXRJc0FscGhhSW1hZ2UoYm9vbCBhbHBoYUltYWdlKSB7IG1fYWxwaGFJ
bWFnZSA9IGFscGhhSW1hZ2U7IH0KIAotICAgIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxD
b29yZGluYXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0
ZXM7IH0KLSAgICB2b2lkIHNldFJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKGNvbnN0IEZs
b2F0UmVjdCYgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMpIHsgbV9yZXBhaW50UmVjdElu
TG9jYWxDb29yZGluYXRlcyA9IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzOyB9CisgICAg
SW50UmVjdCBhYnNvbHV0ZVBhaW50UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fYWJzb2x1dGVQYWlu
dFJlY3Q7IH0KKyAgICB2b2lkIHNldEFic29sdXRlUGFpbnRSZWN0KGNvbnN0IEludFJlY3QmIGFi
c29sdXRlUGFpbnRSZWN0KSB7IG1fYWJzb2x1dGVQYWludFJlY3QgPSBhYnNvbHV0ZVBhaW50UmVj
dDsgfQorICAgIAorICAgIEludFJlY3QgbWF4RWZmZWN0UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1f
bWF4RWZmZWN0UmVjdDsgfQorICAgIHZvaWQgc2V0TWF4RWZmZWN0UmVjdChjb25zdCBJbnRSZWN0
JiBtYXhFZmZlY3RSZWN0KSB7IG1fbWF4RWZmZWN0UmVjdCA9IG1heEVmZmVjdFJlY3Q7IH0gCiAK
ICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoRmlsdGVyKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
dW1wKCkgPSAwOwogCisgICAgdmlydHVhbCB2b2lkIGRldGVybWluZUFic29sdXRlUGFpbnRSZWN0
KEZpbHRlciopOworICAgIAogICAgIHZpcnR1YWwgYm9vbCBpc1NvdXJjZUlucHV0KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbiA9IDApIGNvbnN0OwpAQCAtODcs
NyArOTIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNIZWlnaHQoKSBjb25zdCB7IHJldHVybiBt
X2hhc0hlaWdodDsgfQogICAgIHZvaWQgc2V0SGFzSGVpZ2h0KGJvb2wgdmFsdWUpIHsgbV9oYXNI
ZWlnaHQgPSB2YWx1ZTsgfQogCi0gICAgLy8gRklYTUU6IFBzZXVkbyBwcmltaXRpdmVzIGxpa2Ug
U291cmNlR3JhcGhpYyBhbmQgU291cmNlQWxwaGEgYXMgd2VsbCBhcyBGRVRpbGUgc3RpbGwgbmVl
ZCBzcGVjaWFsIGhhbmRsaW5nLgorICAgIC8vIEZJWE1FOiBGRVRpbGUgc3RpbGwgbmVlZHMgc3Bl
Y2lhbCBoYW5kbGluZy4KICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBkZXRlcm1pbmVGaWx0ZXJQcmlt
aXRpdmVTdWJyZWdpb24oRmlsdGVyKik7CiAKICAgICBGbG9hdFJlY3QgZmlsdGVyUHJpbWl0aXZl
U3VicmVnaW9uKCkgY29uc3QgeyByZXR1cm4gbV9maWx0ZXJQcmltaXRpdmVTdWJyZWdpb247IH0K
QEAgLTEwNSw4ICsxMTAsMTEgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9hbHBoYUltYWdlOwog
Ci0gICAgLy8gRklYTUU6IFNob3VsZCBiZSB0aGUgcGFpbnQgcmVnaW9uIG9mIHRoZSBmaWx0ZXIg
cHJpbWl0aXZlLCBpbnN0ZWFkIG9mIHRoZSBzY2FsZWQgc3VicmVnaW9uIG9uIHVzZSBvZiBmaWx0
ZXJSZXMuCi0gICAgRmxvYXRSZWN0IG1fcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXM7Cisg
ICAgSW50UmVjdCBtX2Fic29sdXRlUGFpbnRSZWN0OworICAgIAorICAgIC8vIFRoZSBtYXhpbXVt
IHNpemUgb2YgYSBmaWx0ZXIgcHJpbWl0aXZlLiBJbiBTVkcgdGhpcyBpcyB0aGUgcHJpbWl0aXZl
IHN1YnJlZ2lvbiBpbiBhYnNvbHV0ZSBjb29yZGluYXRlIHNwYWNlLgorICAgIC8vIFRoZSBhYnNv
bHV0ZSBwYWludCByZWN0IHNob3VsZCBuZXZlciBiZSBiaWdnZXIgdGhhbiBtX21heEVmZmVjdFJl
Y3QuCisgICAgSW50UmVjdCBtX21heEVmZmVjdFJlY3Q7CiAKIHByaXZhdGU6CiAgICAgLy8gVGhl
IGZvbGxvd2luZyBtZW1iZXIgdmFyaWFibGVzIGFyZSBTVkcgc3BlY2lmaWMgYW5kIHdpbGwgbW92
ZSB0byBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlclByaW1pdGl2ZS4KSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VBbHBoYS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUFscGhhLmNwcAkocmV2aXNpb24g
NjkxMjApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwyOCArNDIsMjIgQEAgY29uc3QgQXRvbWljU3RyaW5n
JiBTb3VyY2VBbHBoYTo6ZWZmZWN0TgogICAgIHJldHVybiBzX2VmZmVjdE5hbWU7CiB9CiAKLUZs
b2F0UmVjdCBTb3VyY2VBbHBoYTo6ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZp
bHRlciogZmlsdGVyKQordm9pZCBTb3VyY2VBbHBoYTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJl
Y3QoRmlsdGVyKiBmaWx0ZXIpCiB7Ci0gICAgRmxvYXRSZWN0IGNsaXBwZWRTb3VyY2VSZWN0ID0g
ZmlsdGVyLT5zb3VyY2VJbWFnZVJlY3QoKTsKLSAgICBpZiAoZmlsdGVyLT5zb3VyY2VJbWFnZVJl
Y3QoKS54KCkgPCBmaWx0ZXItPmZpbHRlclJlZ2lvbigpLngoKSkKLSAgICAgICAgY2xpcHBlZFNv
dXJjZVJlY3Quc2V0WChmaWx0ZXItPmZpbHRlclJlZ2lvbigpLngoKSk7Ci0gICAgaWYgKGZpbHRl
ci0+c291cmNlSW1hZ2VSZWN0KCkueSgpIDwgZmlsdGVyLT5maWx0ZXJSZWdpb24oKS55KCkpCi0g
ICAgICAgIGNsaXBwZWRTb3VyY2VSZWN0LnNldFkoZmlsdGVyLT5maWx0ZXJSZWdpb24oKS55KCkp
OwotICAgIHNldEZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihjbGlwcGVkU291cmNlUmVjdCk7Ci0g
ICAgY2xpcHBlZFNvdXJjZVJlY3Quc2NhbGUoZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkud2lk
dGgoKSwgZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkuaGVpZ2h0KCkpOwotICAgIHNldFJlcGFp
bnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKGNsaXBwZWRTb3VyY2VSZWN0KTsKLSAgICByZXR1cm4g
ZmlsdGVyLT5maWx0ZXJSZWdpb24oKTsKKyAgICBGbG9hdFJlY3QgcGFpbnRSZWN0ID0gZmlsdGVy
LT5zb3VyY2VJbWFnZVJlY3QoKTsKKyAgICBwYWludFJlY3Quc2NhbGUoZmlsdGVyLT5maWx0ZXJS
ZXNvbHV0aW9uKCkud2lkdGgoKSwgZmlsdGVyLT5maWx0ZXJSZXNvbHV0aW9uKCkuaGVpZ2h0KCkp
OworICAgIHNldEFic29sdXRlUGFpbnRSZWN0KGVuY2xvc2luZ0ludFJlY3QocGFpbnRSZWN0KSk7
CiB9CiAKIHZvaWQgU291cmNlQWxwaGE6OmFwcGx5KEZpbHRlciogZmlsdGVyKQogewotICAgIEdy
YXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVjdENvbnRleHQoKTsKLSAgICBpZiAo
IWZpbHRlckNvbnRleHQpCisgICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZm
ZWN0Q29udGV4dChmaWx0ZXIpOworICAgIGlmICghZmlsdGVyQ29udGV4dCB8fCAhZmlsdGVyLT5z
b3VyY2VJbWFnZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBzZXRJc0FscGhhSW1hZ2UodHJ1
ZSk7CiAKLSAgICBGbG9hdFJlY3QgaW1hZ2VSZWN0KEZsb2F0UG9pbnQoKSwgZmlsdGVyLT5zb3Vy
Y2VJbWFnZSgpLT5zaXplKCkpOworICAgIEZsb2F0UmVjdCBpbWFnZVJlY3QoRmxvYXRQb2ludCgp
LCBhYnNvbHV0ZVBhaW50UmVjdCgpLnNpemUoKSk7CiAgICAgZmlsdGVyQ29udGV4dC0+c2F2ZSgp
OwogICAgIGZpbHRlckNvbnRleHQtPmNsaXBUb0ltYWdlQnVmZmVyKGZpbHRlci0+c291cmNlSW1h
Z2UoKSwgaW1hZ2VSZWN0KTsKICAgICBmaWx0ZXJDb250ZXh0LT5maWxsUmVjdChpbWFnZVJlY3Qs
IENvbG9yOjpibGFjaywgRGV2aWNlQ29sb3JTcGFjZSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuaAkocmV2aXNpb24gNjkxMjApCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlQWxwaGEuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzQsMTEgKzM0LDExIEBAIHB1YmxpYzogICAgICAgIAogCiAgICAgc3RhdGlj
IGNvbnN0IEF0b21pY1N0cmluZyYgZWZmZWN0TmFtZSgpOwogCi0gICAgdmlydHVhbCBGbG9hdFJl
Y3QgZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlciopOwotCiAgICAgdmly
dHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7CiAKKyAg
ICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKik7CisKICAg
ICB2aXJ0dWFsIGJvb2wgaXNTb3VyY2VJbnB1dCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAog
ICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFt
JiwgaW50IGluZGVudGlvbikgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvU291cmNlR3JhcGhpYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9Tb3VyY2VHcmFwaGljLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDEsMjMgKzQxLDE3IEBAIGNvbnN0IEF0b21pY1N0cmluZyYgU291cmNl
R3JhcGhpYzo6ZWZmZWMKICAgICByZXR1cm4gc19lZmZlY3ROYW1lOwogfQogCi1GbG9hdFJlY3Qg
U291cmNlR3JhcGhpYzo6ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlciog
ZmlsdGVyKQordm9pZCBTb3VyY2VHcmFwaGljOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdChG
aWx0ZXIqIGZpbHRlcikKIHsKLSAgICBGbG9hdFJlY3QgY2xpcHBlZFNvdXJjZVJlY3QgPSBmaWx0
ZXItPnNvdXJjZUltYWdlUmVjdCgpOwotICAgIGlmIChmaWx0ZXItPnNvdXJjZUltYWdlUmVjdCgp
LngoKSA8IGZpbHRlci0+ZmlsdGVyUmVnaW9uKCkueCgpKQotICAgICAgICBjbGlwcGVkU291cmNl
UmVjdC5zZXRYKGZpbHRlci0+ZmlsdGVyUmVnaW9uKCkueCgpKTsKLSAgICBpZiAoZmlsdGVyLT5z
b3VyY2VJbWFnZVJlY3QoKS55KCkgPCBmaWx0ZXItPmZpbHRlclJlZ2lvbigpLnkoKSkKLSAgICAg
ICAgY2xpcHBlZFNvdXJjZVJlY3Quc2V0WShmaWx0ZXItPmZpbHRlclJlZ2lvbigpLnkoKSk7Ci0g
ICAgc2V0RmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKGNsaXBwZWRTb3VyY2VSZWN0KTsKLSAgICBj
bGlwcGVkU291cmNlUmVjdC5zY2FsZShmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS53aWR0aCgp
LCBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7Ci0gICAgc2V0UmVwYWludFJl
Y3RJbkxvY2FsQ29vcmRpbmF0ZXMoY2xpcHBlZFNvdXJjZVJlY3QpOwotICAgIHJldHVybiBmaWx0
ZXItPmZpbHRlclJlZ2lvbigpOworICAgIEZsb2F0UmVjdCBwYWludFJlY3QgPSBmaWx0ZXItPnNv
dXJjZUltYWdlUmVjdCgpOworICAgIHBhaW50UmVjdC5zY2FsZShmaWx0ZXItPmZpbHRlclJlc29s
dXRpb24oKS53aWR0aCgpLCBmaWx0ZXItPmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSk7Cisg
ICAgc2V0QWJzb2x1dGVQYWludFJlY3QoZW5jbG9zaW5nSW50UmVjdChwYWludFJlY3QpKTsKIH0K
IAogdm9pZCBTb3VyY2VHcmFwaGljOjphcHBseShGaWx0ZXIqIGZpbHRlcikKIHsKLSAgICBHcmFw
aGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250ZXh0KCk7Ci0gICAgaWYgKCFm
aWx0ZXJDb250ZXh0KQorICAgIEdyYXBoaWNzQ29udGV4dCogZmlsdGVyQ29udGV4dCA9IGVmZmVj
dENvbnRleHQoZmlsdGVyKTsKKyAgICBpZiAoIWZpbHRlckNvbnRleHQgfHwgIWZpbHRlci0+c291
cmNlSW1hZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZmlsdGVyQ29udGV4dC0+ZHJhd0lt
YWdlQnVmZmVyKGZpbHRlci0+c291cmNlSW1hZ2UoKSwgRGV2aWNlQ29sb3JTcGFjZSwgSW50UG9p
bnQoKSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvU291cmNlR3Jh
cGhpYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9T
b3VyY2VHcmFwaGljLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTEgKzM1
LDExIEBAIHB1YmxpYzogICAgICAgIAogCiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYg
ZWZmZWN0TmFtZSgpOwogCi0gICAgdmlydHVhbCBGbG9hdFJlY3QgZGV0ZXJtaW5lRmlsdGVyUHJp
bWl0aXZlU3VicmVnaW9uKEZpbHRlciopOwotCiAgICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRl
ciopOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJt
aW5lQWJzb2x1dGVQYWludFJlY3QoRmlsdGVyKik7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNTb3Vy
Y2VJbnB1dCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZpcnR1YWwgVGV4dFN0cmVh
bSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiwgaW50IGluZGVudGlvbikgY29u
c3Q7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIu
Y3BwCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlRmlsdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUg
IlNWR0ZpbHRlci5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJT
VkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlICJTVkdJbWFn
ZUJ1ZmZlclRvb2xzLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUg
IlNWR1VuaXRUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTE1MCw3MCArMTUx
LDkzIEBAIGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXI6OmFwcGx5UmVzb3UKICAgICB9CiAK
ICAgICBPd25QdHI8RmlsdGVyRGF0YT4gZmlsdGVyRGF0YShuZXcgRmlsdGVyRGF0YSk7CisgICAg
RmxvYXRSZWN0IHRhcmdldEJvdW5kaW5nQm94ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgp
OworCisgICAgU1ZHRmlsdGVyRWxlbWVudCogZmlsdGVyRWxlbWVudCA9IHN0YXRpY19jYXN0PFNW
R0ZpbHRlckVsZW1lbnQqPihub2RlKCkpOworICAgIGZpbHRlckRhdGEtPmJvdW5kYXJpZXMgPSBm
aWx0ZXJFbGVtZW50LT5maWx0ZXJCb3VuZGluZ0JveCh0YXJnZXRCb3VuZGluZ0JveCk7CisgICAg
aWYgKGZpbHRlckRhdGEtPmJvdW5kYXJpZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAvLyBEZXRlcm1pbmUgYWJzb2x1dGUgdHJhbnNmb3JtYXRpb24gbWF0cml4IGZv
ciBmaWx0ZXIuIAorICAgIEFmZmluZVRyYW5zZm9ybSBhYnNvbHV0ZVRyYW5zZm9ybTsKKyAgICBT
VkdJbWFnZUJ1ZmZlclRvb2xzOjpjYWxjdWxhdGVUcmFuc2Zvcm1hdGlvblRvT3V0ZXJtb3N0U1ZH
Q29vcmRpbmF0ZVN5c3RlbShvYmplY3QsIGFic29sdXRlVHJhbnNmb3JtKTsKKyAgICBpZiAoIWFi
c29sdXRlVHJhbnNmb3JtLmlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAvLyBFbGltaW5hdGUgc2hlYXIgb2YgdGhlIGFic29sdXRlIHRyYW5zZm9ybWF0aW9uIG1h
dHJpeCwgdG8gYmUgYWJsZSB0byBwcm9kdWNlIHVuc2hlYXJlZCB0aWxlIGltYWdlcyBpbiBmZVRp
bGUuCisgICAgZmlsdGVyRGF0YS0+c2hlYXJGcmVlQWJzb2x1dGVUcmFuc2Zvcm0gPSBBZmZpbmVU
cmFuc2Zvcm0oYWJzb2x1dGVUcmFuc2Zvcm0ueFNjYWxlKCksIDAsIDAsIGFic29sdXRlVHJhbnNm
b3JtLnlTY2FsZSgpLCBhYnNvbHV0ZVRyYW5zZm9ybS5lKCksIGFic29sdXRlVHJhbnNmb3JtLmYo
KSk7CisKKyAgICAvLyBEZXRlcm1pbmUgYWJzb2x1dGUgYm91bmRhcmllcyBvZiB0aGUgZmlsdGVy
IGFuZCB0aGUgZHJhd2luZyByZWdpb24uCisgICAgRmxvYXRSZWN0IGFic29sdXRlRmlsdGVyQm91
bmRhcmllcyA9IGZpbHRlckRhdGEtPnNoZWFyRnJlZUFic29sdXRlVHJhbnNmb3JtLm1hcFJlY3Qo
ZmlsdGVyRGF0YS0+Ym91bmRhcmllcyk7CisgICAgRmxvYXRSZWN0IGRyYXdpbmdSZWdpb24gPSBv
YmplY3QtPnN0cm9rZUJvdW5kaW5nQm94KCk7CisgICAgZHJhd2luZ1JlZ2lvbi5pbnRlcnNlY3Qo
ZmlsdGVyRGF0YS0+Ym91bmRhcmllcyk7CisgICAgRmxvYXRSZWN0IGFic29sdXRlRHJhd2luZ1Jl
Z2lvbiA9IGZpbHRlckRhdGEtPnNoZWFyRnJlZUFic29sdXRlVHJhbnNmb3JtLm1hcFJlY3QoZHJh
d2luZ1JlZ2lvbik7CisKKyAgICAvLyBDcmVhdGUgdGhlIFNWR0ZpbHRlciBvYmplY3QuCisgICAg
Ym9vbCBwcmltaXRpdmVCb3VuZGluZ0JveE1vZGUgPSBmaWx0ZXJFbGVtZW50LT5wcmltaXRpdmVV
bml0cygpID09IFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWDsK
KyAgICBmaWx0ZXJEYXRhLT5maWx0ZXIgPSBTVkdGaWx0ZXI6OmNyZWF0ZShmaWx0ZXJEYXRhLT5z
aGVhckZyZWVBYnNvbHV0ZVRyYW5zZm9ybSwgYWJzb2x1dGVEcmF3aW5nUmVnaW9uLCB0YXJnZXRC
b3VuZGluZ0JveCwgZmlsdGVyRGF0YS0+Ym91bmRhcmllcywgcHJpbWl0aXZlQm91bmRpbmdCb3hN
b2RlKTsKKworICAgIC8vIENyZWF0ZSBhbGwgcmVsZXZhbnQgZmlsdGVyIHByaW1pdGl2ZXMuCiAg
ICAgZmlsdGVyRGF0YS0+YnVpbGRlciA9IGJ1aWxkUHJpbWl0aXZlcygpOwogICAgIGlmICghZmls
dGVyRGF0YS0+YnVpbGRlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgRmxvYXRSZWN0
IHBhaW50UmVjdCA9IG9iamVjdC0+c3Ryb2tlQm91bmRpbmdCb3goKTsKLQogICAgIC8vIENhbGN1
bGF0ZSB0aGUgc2NhbGUgZmFjdG9yIGZvciB0aGUgdXNlIG9mIGZpbHRlclJlcy4KICAgICAvLyBB
bHNvIHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0ZpbHRlckVmZmVj
dHNSZWdpb24KLSAgICBTVkdGaWx0ZXJFbGVtZW50KiBmaWx0ZXJFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8U1ZHRmlsdGVyRWxlbWVudCo+KG5vZGUoKSk7Ci0gICAgZmlsdGVyRGF0YS0+Ym91bmRhcmll
cyA9IGZpbHRlckVsZW1lbnQtPmZpbHRlckJvdW5kaW5nQm94KG9iamVjdC0+b2JqZWN0Qm91bmRp
bmdCb3goKSk7Ci0gICAgaWYgKGZpbHRlckRhdGEtPmJvdW5kYXJpZXMuaXNFbXB0eSgpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBGbG9hdFNpemUgc2NhbGUoMS4wZiwgMS4wZik7Cisg
ICAgRmxvYXRTaXplIHNjYWxlKDEsIDEpOwogICAgIGlmIChmaWx0ZXJFbGVtZW50LT5oYXNBdHRy
aWJ1dGUoU1ZHTmFtZXM6OmZpbHRlclJlc0F0dHIpKSB7Ci0gICAgICAgIHNjYWxlLnNldFdpZHRo
KGZpbHRlckVsZW1lbnQtPmZpbHRlclJlc1goKSAvIGZpbHRlckRhdGEtPmJvdW5kYXJpZXMud2lk
dGgoKSk7Ci0gICAgICAgIHNjYWxlLnNldEhlaWdodChmaWx0ZXJFbGVtZW50LT5maWx0ZXJSZXNZ
KCkgLyBmaWx0ZXJEYXRhLT5ib3VuZGFyaWVzLmhlaWdodCgpKTsKKyAgICAgICAgc2NhbGUuc2V0
V2lkdGgoZmlsdGVyRWxlbWVudC0+ZmlsdGVyUmVzWCgpIC8gYWJzb2x1dGVGaWx0ZXJCb3VuZGFy
aWVzLndpZHRoKCkpOworICAgICAgICBzY2FsZS5zZXRIZWlnaHQoZmlsdGVyRWxlbWVudC0+Zmls
dGVyUmVzWSgpIC8gYWJzb2x1dGVGaWx0ZXJCb3VuZGFyaWVzLmhlaWdodCgpKTsKICAgICB9CiAK
ICAgICBpZiAoc2NhbGUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAv
LyBjbGlwIHNvdXJjZUltYWdlIHRvIGZpbHRlclJlZ2lvbgotICAgIEZsb2F0UmVjdCBjbGlwcGVk
U291cmNlUmVjdCA9IHBhaW50UmVjdDsKLSAgICBjbGlwcGVkU291cmNlUmVjdC5pbnRlcnNlY3Qo
ZmlsdGVyRGF0YS0+Ym91bmRhcmllcyk7Ci0KLSAgICAvLyBzY2FsZSBmaWx0ZXIgc2l6ZSB0byBm
aWx0ZXJSZXMKLSAgICBGbG9hdFJlY3QgdGVtcFNvdXJjZVJlY3QgPSBjbGlwcGVkU291cmNlUmVj
dDsKLQotICAgIC8vIHNjYWxlIHRvIGJpZyBzb3VyY2VJbWFnZSBzaXplIHRvIGtNYXhGaWx0ZXJT
aXplCisgICAgLy8gRGV0ZXJtaW5lIHNjYWxlIGZhY3RvciBmb3IgZmlsdGVyLiBUaGUgc2l6ZSBv
ZiBpbnRlcm1lZGlhdGUgSW1hZ2VCdWZmZXJzIHNob3VsZG4ndCBiZSBiaWdnZXIgdGhhbiBrTWF4
RmlsdGVyU2l6ZS4KKyAgICBGbG9hdFJlY3QgdGVtcFNvdXJjZVJlY3QgPSBhYnNvbHV0ZURyYXdp
bmdSZWdpb247CiAgICAgdGVtcFNvdXJjZVJlY3Quc2NhbGUoc2NhbGUud2lkdGgoKSwgc2NhbGUu
aGVpZ2h0KCkpOwogICAgIGZpdHNJbk1heGltdW1JbWFnZVNpemUodGVtcFNvdXJjZVJlY3Quc2l6
ZSgpLCBzY2FsZSk7CiAKLSAgICAvLyBwcmVwYXJlIEZpbHRlcnMKLSAgICBib29sIHByaW1pdGl2
ZUJvdW5kaW5nQm94TW9kZSA9IGZpbHRlckVsZW1lbnQtPnByaW1pdGl2ZVVuaXRzKCkgPT0gU1ZH
VW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YOwotICAgIGZpbHRlckRh
dGEtPmZpbHRlciA9IFNWR0ZpbHRlcjo6Y3JlYXRlKHBhaW50UmVjdCwgZmlsdGVyRGF0YS0+Ym91
bmRhcmllcywgcHJpbWl0aXZlQm91bmRpbmdCb3hNb2RlKTsKKyAgICAvLyBTZXQgdGhlIHNjYWxl
IGxldmVsIGluIFNWR0ZpbHRlci4KICAgICBmaWx0ZXJEYXRhLT5maWx0ZXItPnNldEZpbHRlclJl
c29sdXRpb24oc2NhbGUpOwogCiAgICAgRmlsdGVyRWZmZWN0KiBsYXN0RWZmZWN0ID0gZmlsdGVy
RGF0YS0+YnVpbGRlci0+bGFzdEVmZmVjdCgpOwogICAgIGlmICghbGFzdEVmZmVjdCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIAorCisgICAgLy8gRGV0ZXJtaW5lIHRoZSBmaWx0ZXIgcHJp
bWl0aXZlIHN1YnJlZ2lvbnMgb2YgZXZlcnkgZWZmZWN0LgogICAgIGxhc3RFZmZlY3QtPmRldGVy
bWluZUZpbHRlclByaW1pdGl2ZVN1YnJlZ2lvbihmaWx0ZXJEYXRhLT5maWx0ZXIuZ2V0KCkpOwot
ICAgIC8vIEF0IGxlYXN0IG9uZSBGaWx0ZXJFZmZlY3QgaGFzIGEgdG9vIGJpZyBpbWFnZSBzaXpl
LAotICAgIC8vIHJlY2FsY3VsYXRlIHRoZSBlZmZlY3Qgc2l6ZXMgd2l0aCBuZXcgc2NhbGUgZmFj
dG9ycy4KICAgICBpZiAoIWZpdHNJbk1heGltdW1JbWFnZVNpemUoZmlsdGVyRGF0YS0+ZmlsdGVy
LT5tYXhJbWFnZVNpemUoKSwgc2NhbGUpKSB7CisgICAgICAgIC8vIEF0IGxlYXN0IG9uZSBGaWx0
ZXJFZmZlY3QgaGFzIGEgdG9vIGJpZyBpbWFnZSBzaXplLAorICAgICAgICAvLyByZWNhbGN1bGF0
ZSB0aGUgZWZmZWN0IHNpemVzIHdpdGggbmV3IHNjYWxlIGZhY3Rvci4KICAgICAgICAgZmlsdGVy
RGF0YS0+ZmlsdGVyLT5zZXRGaWx0ZXJSZXNvbHV0aW9uKHNjYWxlKTsKICAgICAgICAgbGFzdEVm
ZmVjdC0+ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlU3VicmVnaW9uKGZpbHRlckRhdGEtPmZpbHRl
ci5nZXQoKSk7CiAgICAgfQogCi0gICAgY2xpcHBlZFNvdXJjZVJlY3Quc2NhbGUoc2NhbGUud2lk
dGgoKSwgc2NhbGUuaGVpZ2h0KCkpOwotCi0gICAgLy8gRHJhdyB0aGUgY29udGVudCBvZiB0aGUg
Y3VycmVudCBlbGVtZW50IGFuZCBpdCdzIGNoaWxkcyB0byBhIGltYWdlQnVmZmVyIHRvIGdldCB0
aGUgU291cmNlR3JhcGhpYy4KLSAgICAvLyBUaGUgc2l6ZSBvZiB0aGUgU291cmNlR3JhcGhpYyBp
cyBjbGlwcGVkIHRvIHRoZSBzaXplIG9mIHRoZSBmaWx0ZXJSZWdpb24uCi0gICAgSW50UmVjdCBi
dWZmZXJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChjbGlwcGVkU291cmNlUmVjdCk7Ci0gICAgT3du
UHRyPEltYWdlQnVmZmVyPiBzb3VyY2VHcmFwaGljKEltYWdlQnVmZmVyOjpjcmVhdGUoYnVmZmVy
UmVjdC5zaXplKCksIExpbmVhclJHQikpOwotICAgIAotICAgIGlmICghc291cmNlR3JhcGhpYy5n
ZXQoKSkKKyAgICAvLyBJZiB0aGUgZHJhd2luZ1JlZ2lvbiBpcyBlbXB0eSwgd2UgaGF2ZSBzb21l
dGhpbmcgbGlrZSA8ZyBmaWx0ZXI9Ii4uIi8+LgorICAgIC8vIEV2ZW4gaWYgdGhlIHRhcmdldCBv
YmplY3RCb3VuZGluZ0JveCgpIGlzIGVtcHR5LCB3ZSBzdGlsbCBoYXZlIHRvIGRyYXcgdGhlIGxh
c3QgZWZmZWN0IHJlc3VsdCBpbWFnZSBpbiBwb3N0QXBwbHlSZXNvdXJjZS4KKyAgICBpZiAoZHJh
d2luZ1JlZ2lvbi5pc0VtcHR5KCkpIHsKKyAgICAgICAgQVNTRVJUKCFtX2ZpbHRlci5jb250YWlu
cyhvYmplY3QpKTsKKyAgICAgICAgZmlsdGVyRGF0YS0+c2F2ZWRDb250ZXh0ID0gY29udGV4dDsK
KyAgICAgICAgbV9maWx0ZXIuc2V0KG9iamVjdCwgZmlsdGVyRGF0YS5sZWFrUHRyKCkpOwogICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogCisgICAgYWJzb2x1dGVEcmF3aW5nUmVnaW9uLnNj
YWxlKHNjYWxlLndpZHRoKCksIHNjYWxlLmhlaWdodCgpKTsKKworICAgIE93blB0cjxJbWFnZUJ1
ZmZlcj4gc291cmNlR3JhcGhpYzsKKyAgICBpZiAoIVNWR0ltYWdlQnVmZmVyVG9vbHM6OmNyZWF0
ZUltYWdlQnVmZmVyKGFic29sdXRlRHJhd2luZ1JlZ2lvbiwgYWJzb2x1dGVEcmF3aW5nUmVnaW9u
LCBzb3VyY2VHcmFwaGljLCBMaW5lYXJSR0IpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
CiAgICAgR3JhcGhpY3NDb250ZXh0KiBzb3VyY2VHcmFwaGljQ29udGV4dCA9IHNvdXJjZUdyYXBo
aWMtPmNvbnRleHQoKTsKLSAgICBzb3VyY2VHcmFwaGljQ29udGV4dC0+dHJhbnNsYXRlKC1jbGlw
cGVkU291cmNlUmVjdC54KCksIC1jbGlwcGVkU291cmNlUmVjdC55KCkpOwotICAgIHNvdXJjZUdy
YXBoaWNDb250ZXh0LT5zY2FsZShzY2FsZSk7Ci0gICAgc291cmNlR3JhcGhpY0NvbnRleHQtPmNs
ZWFyUmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBwYWludFJlY3Quc2l6ZSgpKSk7CisgICAg
QVNTRVJUKHNvdXJjZUdyYXBoaWNDb250ZXh0KTsKKyAgCisgICAgc291cmNlR3JhcGhpY0NvbnRl
eHQtPnRyYW5zbGF0ZSgtYWJzb2x1dGVEcmF3aW5nUmVnaW9uLngoKSwgLWFic29sdXRlRHJhd2lu
Z1JlZ2lvbi55KCkpOworICAgIGlmIChzY2FsZS53aWR0aCgpICE9IDEgfHwgc2NhbGUuaGVpZ2h0
KCkgIT0gMSkKKyAgICAgICAgc291cmNlR3JhcGhpY0NvbnRleHQtPnNjYWxlKHNjYWxlKTsKKwor
ICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT5jb25jYXRDVE0oZmlsdGVyRGF0YS0+c2hlYXJGcmVl
QWJzb2x1dGVUcmFuc2Zvcm0pOworICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT5jbGVhclJlY3Qo
RmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgYWJzb2x1dGVEcmF3aW5nUmVnaW9uLnNpemUoKSkpOwog
ICAgIGZpbHRlckRhdGEtPnNvdXJjZUdyYXBoaWNCdWZmZXIgPSBzb3VyY2VHcmFwaGljLnJlbGVh
c2UoKTsKICAgICBmaWx0ZXJEYXRhLT5zYXZlZENvbnRleHQgPSBjb250ZXh0OwogCkBAIC0yNzAs
MTAgKzI5NCwxNyBAQCB2b2lkIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpwb3N0QXBwbHlSCiAg
ICAgICAgIH0KIAogICAgICAgICBJbWFnZUJ1ZmZlciogcmVzdWx0SW1hZ2UgPSBsYXN0RWZmZWN0
LT5yZXN1bHRJbWFnZSgpOwotICAgICAgICBpZiAocmVzdWx0SW1hZ2UpCi0gICAgICAgICAgICBj
b250ZXh0LT5kcmF3SW1hZ2VCdWZmZXIocmVzdWx0SW1hZ2UsIG9iamVjdC0+c3R5bGUoKS0+Y29s
b3JTcGFjZSgpLCBsYXN0RWZmZWN0LT5maWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oKSk7Ci0gICAg
fQorICAgICAgICBpZiAocmVzdWx0SW1hZ2UpIHsKKyAgICAgICAgICAgIGNvbnRleHQtPmNvbmNh
dENUTShmaWx0ZXJEYXRhLT5zaGVhckZyZWVBYnNvbHV0ZVRyYW5zZm9ybS5pbnZlcnNlKCkpOwor
CisgICAgICAgICAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUoMSAvIGZpbHRlckRhdGEtPmZp
bHRlci0+ZmlsdGVyUmVzb2x1dGlvbigpLndpZHRoKCksIDEgLyBmaWx0ZXJEYXRhLT5maWx0ZXIt
PmZpbHRlclJlc29sdXRpb24oKS5oZWlnaHQoKSkpOworICAgICAgICAgICAgY29udGV4dC0+Y2xp
cChsYXN0RWZmZWN0LT5tYXhFZmZlY3RSZWN0KCkpOworICAgICAgICAgICAgY29udGV4dC0+ZHJh
d0ltYWdlQnVmZmVyKHJlc3VsdEltYWdlLCBvYmplY3QtPnN0eWxlKCktPmNvbG9yU3BhY2UoKSwg
bGFzdEVmZmVjdC0+YWJzb2x1dGVQYWludFJlY3QoKSk7CisgICAgICAgICAgICBjb250ZXh0LT5z
Y2FsZShmaWx0ZXJEYXRhLT5maWx0ZXItPmZpbHRlclJlc29sdXRpb24oKSk7CiAKKyAgICAgICAg
ICAgIGNvbnRleHQtPmNvbmNhdENUTShmaWx0ZXJEYXRhLT5zaGVhckZyZWVBYnNvbHV0ZVRyYW5z
Zm9ybSk7CisgICAgICAgIH0KKyAgICB9CiAgICAgZmlsdGVyRGF0YS0+c291cmNlR3JhcGhpY0J1
ZmZlci5jbGVhcigpOwogfQogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZUZpbHRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jl
c291cmNlRmlsdGVyLmgJKHJldmlzaW9uIDY5MTIwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBGaWx0ZXJEYXRhIHsKICAgICBGaWx0ZXJEYXRh
KCkKLSAgICAgICAgOiBidWlsZGVkKGZhbHNlKQorICAgICAgICA6IHNhdmVkQ29udGV4dCgwKQor
ICAgICAgICAsIGJ1aWxkZWQoZmFsc2UpCiAgICAgewogICAgIH0KIApAQCAtNTAsNiArNTEsNyBA
QCBzdHJ1Y3QgRmlsdGVyRGF0YSB7CiAgICAgUmVmUHRyPFNWR0ZpbHRlckJ1aWxkZXI+IGJ1aWxk
ZXI7CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBzb3VyY2VHcmFwaGljQnVmZmVyOwogICAgIEdy
YXBoaWNzQ29udGV4dCogc2F2ZWRDb250ZXh0OworICAgIEFmZmluZVRyYW5zZm9ybSBzaGVhckZy
ZWVBYnNvbHV0ZVRyYW5zZm9ybTsKICAgICBGbG9hdFJlY3QgYm91bmRhcmllczsKICAgICBGbG9h
dFNpemUgc2NhbGU7CiAgICAgYm9vbCBidWlsZGVkOwpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFw
aGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuY3BwCShyZXZpc2lvbiA2OTEyMCkKKysrIFdlYkNvcmUv
c3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0
LDE3ICs0NCwxNyBAQCBQYXNzUmVmUHRyPEZFSW1hZ2U+IEZFSW1hZ2U6OmNyZWF0ZShSZWZQCiAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGRUltYWdlKGltYWdlLCBwcmVzZXJ2ZUFzcGVjdFJhdGlv
KSk7CiB9CiAKLXZvaWQgRkVJbWFnZTo6YXBwbHkoRmlsdGVyKikKK3ZvaWQgRkVJbWFnZTo6YXBw
bHkoRmlsdGVyKiBmaWx0ZXIpCiB7CiAgICAgaWYgKCFtX2ltYWdlLmdldCgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBHcmFwaGljc0NvbnRleHQqIGZpbHRlckNvbnRleHQgPSBlZmZlY3RDb250
ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0KiBmaWx0ZXJDb250ZXh0ID0gZWZmZWN0Q29udGV4
dChmaWx0ZXIpOwogICAgIGlmICghZmlsdGVyQ29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgRmxvYXRSZWN0IHNyY1JlY3QoRmxvYXRQb2ludCgpLCBtX2ltYWdlLT5zaXplKCkpOwotICAg
IEZsb2F0UmVjdCBkZXN0UmVjdChGbG9hdFBvaW50KCksIGZpbHRlclByaW1pdGl2ZVN1YnJlZ2lv
bigpLnNpemUoKSk7CisgICAgRmxvYXRSZWN0IGRlc3RSZWN0KEZsb2F0UG9pbnQoKSwgYWJzb2x1
dGVQYWludFJlY3QoKS5zaXplKCkpOwogCiAgICAgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvLnRyYW5z
Zm9ybVJlY3QoZGVzdFJlY3QsIHNyY1JlY3QpOwogCkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGlj
cy9maWx0ZXJzL1NWR0ZFSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGlj
cy9maWx0ZXJzL1NWR0ZFSW1hZ2UuaAkocmV2aXNpb24gNjkxMjApCisrKyBXZWJDb3JlL3N2Zy9n
cmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFwcGx5KEZpbHRlciopOwogICAgIHZpcnR1
YWwgdm9pZCBkdW1wKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lQWJzb2x1dGVQYWlu
dFJlY3QoRmlsdGVyKikgeyBzZXRBYnNvbHV0ZVBhaW50UmVjdChtYXhFZmZlY3RSZWN0KCkpOyB9
CisKICAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0
cmVhbSYsIGludCBpbmRlbnRpb24pIGNvbnN0OwogICAgIAogcHJpdmF0ZToKSW5kZXg6IFdlYkNv
cmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAJKHJldmlzaW9uIDY5MTIwKQor
KysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBEaXJrIFNjaHVs
emUgPGtyaXRAd2Via2l0Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9u
IExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpA
QCAtMjQsMTIgKzI1LDE1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU1ZHRmlsdGVyOjpT
VkdGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRCb3VuZGluZ0JveCwgY29uc3QgRmxvYXRS
ZWN0JiBmaWx0ZXJSZWN0LCBib29sIGVmZmVjdEJCb3hNb2RlKQorU1ZHRmlsdGVyOjpTVkdGaWx0
ZXIoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhYnNvbHV0ZVRyYW5zZm9ybSwgY29uc3QgRmxvYXRS
ZWN0JiBhYnNvbHV0ZVNvdXJjZURyYXdpbmdSZWdpb24sIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0
Qm91bmRpbmdCb3gsIGNvbnN0IEZsb2F0UmVjdCYgZmlsdGVyUmVnaW9uLCBib29sIGVmZmVjdEJC
b3hNb2RlKQogICAgIDogRmlsdGVyKCkKKyAgICAsIG1fYWJzb2x1dGVUcmFuc2Zvcm0oYWJzb2x1
dGVUcmFuc2Zvcm0pCisgICAgLCBtX2Fic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbihhYnNvbHV0
ZVNvdXJjZURyYXdpbmdSZWdpb24pCiAgICAgLCBtX3RhcmdldEJvdW5kaW5nQm94KHRhcmdldEJv
dW5kaW5nQm94KQotICAgICwgbV9maWx0ZXJSZWN0KGZpbHRlclJlY3QpCisgICAgLCBtX2ZpbHRl
clJlZ2lvbihmaWx0ZXJSZWdpb24pCiAgICAgLCBtX2VmZmVjdEJCb3hNb2RlKGVmZmVjdEJCb3hN
b2RlKQogeworICAgIG1fYWJzb2x1dGVGaWx0ZXJSZWdpb24gPSBhYnNvbHV0ZVRyYW5zZm9ybS5t
YXBSZWN0KGZpbHRlclJlZ2lvbik7CiB9CiAKIHZvaWQgU1ZHRmlsdGVyOjpkZXRlcm1pbmVGaWx0
ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVyRWZmZWN0KiBlZmZlY3QsIGNvbnN0IEZsb2F0UmVj
dCYgdW5pb25PZlByZXZpb3VzUHJpbWl0aXZlU3VicmVnaW9ucykKQEAgLTY2LDIyICs3MCwzNyBA
QCB2b2lkIFNWR0ZpbHRlcjo6ZGV0ZXJtaW5lRmlsdGVyUHJpbWl0aXZlCiAgICAgfQogCiAgICAg
Ly8gY2xpcCBldmVyeSBmaWx0ZXIgZWZmZWN0IHRvIHRoZSBmaWx0ZXIgcmVnaW9uCi0gICAgbmV3
U3ViUmVnaW9uLmludGVyc2VjdChtX2ZpbHRlclJlY3QpOworICAgIG5ld1N1YlJlZ2lvbi5pbnRl
cnNlY3QobV9maWx0ZXJSZWdpb24pOwogCiAgICAgZWZmZWN0LT5zZXRGaWx0ZXJQcmltaXRpdmVT
dWJyZWdpb24obmV3U3ViUmVnaW9uKTsKLSAgICAKICAgICAvLyBUT0RPOiBFdmVyeXRoaW5nIGFi
b3ZlIHNob3VsZCBiZSBtb3ZlZCB0byBhIGZpcnN0IHBoYXNlIG9mIGxheW91dCBpbiBSZW5kZXJT
VkdSZXNvdXJjZUZpbHRlclByaW1pdGl2ZS4KICAgICAvLyBUaGUgc2NhbGluZyBvZiB0aGUgc3Vi
cmVnaW9uIHRvIHRoZSByZXBhaW50IHJlY3Qgc2hvdWxkIGJlIG1lcmdlZCB3aXRoIGEgbW9yZSBp
bnRlbGxpZ2VudCByZXBhaW50IGxvZ2ljCiAgICAgLy8gYW5kIG1vdmVkIHRvIHRoZSBzZWNvbmQg
cGhhc2Ugb2YgbGF5b3V0IGluIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlLgogICAg
IC8vIFNlZSBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NjE0
LgorICAgIG5ld1N1YlJlZ2lvbiA9IG1fYWJzb2x1dGVUcmFuc2Zvcm0ubWFwUmVjdChuZXdTdWJS
ZWdpb24pOwogICAgIG5ld1N1YlJlZ2lvbi5zY2FsZShmaWx0ZXJSZXNvbHV0aW9uKCkud2lkdGgo
KSwgZmlsdGVyUmVzb2x1dGlvbigpLmhlaWdodCgpKTsKLSAgICBlZmZlY3QtPnNldFJlcGFpbnRS
ZWN0SW5Mb2NhbENvb3JkaW5hdGVzKG5ld1N1YlJlZ2lvbik7Ci0gICAgbV9tYXhJbWFnZVNpemUg
PSBtX21heEltYWdlU2l6ZS5leHBhbmRlZFRvKG5ld1N1YlJlZ2lvbi5zaXplKCkpOyAKKyAgICBl
ZmZlY3QtPnNldE1heEVmZmVjdFJlY3QoZW5jbG9zaW5nSW50UmVjdChuZXdTdWJSZWdpb24pKTsK
KyAgICBpZiAoIWVmZmVjdC0+aXNTb3VyY2VJbnB1dCgpKQorICAgICAgICBtX21heEltYWdlU2l6
ZSA9IG1fbWF4SW1hZ2VTaXplLmV4cGFuZGVkVG8obmV3U3ViUmVnaW9uLnNpemUoKSk7IAogfQog
Ci1QYXNzUmVmUHRyPFNWR0ZpbHRlcj4gU1ZHRmlsdGVyOjpjcmVhdGUoY29uc3QgRmxvYXRSZWN0
JiB0YXJnZXRCb3VuZGluZ0JveCwgY29uc3QgRmxvYXRSZWN0JiBmaWx0ZXJSZWN0LCBib29sIGVm
ZmVjdEJCb3hNb2RlKQorZmxvYXQgU1ZHRmlsdGVyOjphcHBseUhvcml6b250YWxTY2FsZShmbG9h
dCB2YWx1ZSkgY29uc3QKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNWR0ZpbHRlcih0YXJn
ZXRCb3VuZGluZ0JveCwgZmlsdGVyUmVjdCwgZWZmZWN0QkJveE1vZGUpKTsKKyAgICBpZiAobV9l
ZmZlY3RCQm94TW9kZSkKKyAgICAgICAgdmFsdWUgKj0gbV90YXJnZXRCb3VuZGluZ0JveC53aWR0
aCgpOworICAgIHJldHVybiBGaWx0ZXI6OmFwcGx5SG9yaXpvbnRhbFNjYWxlKHZhbHVlKSAqIG1f
YWJzb2x1dGVGaWx0ZXJSZWdpb24ud2lkdGgoKSAvIG1fZmlsdGVyUmVnaW9uLndpZHRoKCk7Cit9
CisKK2Zsb2F0IFNWR0ZpbHRlcjo6YXBwbHlWZXJ0aWNhbFNjYWxlKGZsb2F0IHZhbHVlKSBjb25z
dAoreworICAgIGlmIChtX2VmZmVjdEJCb3hNb2RlKQorICAgICAgICB2YWx1ZSAqPSBtX3Rhcmdl
dEJvdW5kaW5nQm94LmhlaWdodCgpOworICAgIHJldHVybiBGaWx0ZXI6OmFwcGx5VmVydGljYWxT
Y2FsZSh2YWx1ZSkgKiBtX2Fic29sdXRlRmlsdGVyUmVnaW9uLmhlaWdodCgpIC8gbV9maWx0ZXJS
ZWdpb24uaGVpZ2h0KCk7Cit9CisKK1Bhc3NSZWZQdHI8U1ZHRmlsdGVyPiBTVkdGaWx0ZXI6OmNy
ZWF0ZShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGFic29sdXRlVHJhbnNmb3JtLCBjb25zdCBGbG9h
dFJlY3QmIGFic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbiwgY29uc3QgRmxvYXRSZWN0JiB0YXJn
ZXRCb3VuZGluZ0JveCwgY29uc3QgRmxvYXRSZWN0JiBmaWx0ZXJSZWdpb24sIGJvb2wgZWZmZWN0
QkJveE1vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdGaWx0ZXIoYWJzb2x1dGVU
cmFuc2Zvcm0sIGFic29sdXRlU291cmNlRHJhd2luZ1JlZ2lvbiwgdGFyZ2V0Qm91bmRpbmdCb3gs
IGZpbHRlclJlZ2lvbiwgZWZmZWN0QkJveE1vZGUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oCShyZXZp
c2lvbiA2OTEyMCkKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIxLDYgKzIxLDcgQEAKICNkZWZpbmUgU1ZHRmlsdGVyX2gKIAog
I2lmIEVOQUJMRShTVkcpICYmIEVOQUJMRShGSUxURVJTKQorI2luY2x1ZGUgIkFmZmluZVRyYW5z
Zm9ybS5oIgogI2luY2x1ZGUgIkZpbHRlci5oIgogI2luY2x1ZGUgIkZpbHRlckVmZmVjdC5oIgog
I2luY2x1ZGUgIkZsb2F0UmVjdC5oIgpAQCAtMzIsMjcgKzMzLDM2IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotICAgIGNsYXNzIFNWR0ZpbHRlciA6IHB1YmxpYyBGaWx0ZXIgewotICAgIHB1
YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHRmlsdGVyPiBjcmVhdGUoY29uc3Qg
RmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCk7Ci0KLSAgICAgICAgdmlydHVhbCBi
b29sIGVmZmVjdEJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fZWZmZWN0QkJveE1v
ZGU7IH0KLQotICAgICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBmaWx0ZXJSZWdpb24oKSBjb25zdCB7
IHJldHVybiBtX2ZpbHRlclJlY3Q7IH0KLSAgICAgICAgCi0gICAgICAgIHZpcnR1YWwgRmxvYXRS
ZWN0IHNvdXJjZUltYWdlUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0Qm91bmRpbmdCb3g7
IH0KLQotICAgICAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBtYXhJbWFnZVNpemUoKSBjb25zdCB7IHJl
dHVybiBtX21heEltYWdlU2l6ZTsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0ZXJtaW5lRmls
dGVyUHJpbWl0aXZlU3VicmVnaW9uKEZpbHRlckVmZmVjdCosIGNvbnN0IEZsb2F0UmVjdCYpOwot
Ci0gICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0
Qm91bmRpbmdCb3gsIGNvbnN0IEZsb2F0UmVjdCYgZmlsdGVyUmVjdCwgYm9vbCBlZmZlY3RCQm94
TW9kZSk7Ci0KLSAgICAgICAgRmxvYXRTaXplIG1fbWF4SW1hZ2VTaXplOwotICAgICAgICBGbG9h
dFJlY3QgbV90YXJnZXRCb3VuZGluZ0JveDsKLSAgICAgICAgRmxvYXRSZWN0IG1fZmlsdGVyUmVj
dDsKLSAgICAgICAgYm9vbCBtX2VmZmVjdEJCb3hNb2RlOwotICAgIH07CitjbGFzcyBTVkdGaWx0
ZXIgOiBwdWJsaWMgRmlsdGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdG
aWx0ZXI+IGNyZWF0ZShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mLCBjb25zdCBGbG9hdFJlY3QmLCBj
b25zdCBGbG9hdFJlY3QmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sKTsKKworICAgIHZpcnR1YWwg
Ym9vbCBlZmZlY3RCb3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2VmZmVjdEJCb3hN
b2RlOyB9CisKKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBmaWx0ZXJSZWdpb25JblVzZXJTcGFjZSgp
IGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyUmVnaW9uOyB9CisgICAgdmlydHVhbCBGbG9hdFJlY3Qg
ZmlsdGVyUmVnaW9uKCkgY29uc3QgeyByZXR1cm4gbV9hYnNvbHV0ZUZpbHRlclJlZ2lvbjsgfQor
CisgICAgdmlydHVhbCBGbG9hdFBvaW50IG1hcEFic29sdXRlUG9pbnRUb0xvY2FsUG9pbnQoY29u
c3QgRmxvYXRQb2ludCYgcG9pbnQpIGNvbnN0IHsgcmV0dXJuIG1fYWJzb2x1dGVUcmFuc2Zvcm0u
aW52ZXJzZSgpLm1hcFBvaW50KHBvaW50KTsgfQorCisgICAgdmlydHVhbCBmbG9hdCBhcHBseUhv
cml6b250YWxTY2FsZShmbG9hdCB2YWx1ZSkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCBhcHBs
eVZlcnRpY2FsU2NhbGUoZmxvYXQgdmFsdWUpIGNvbnN0OworCisgICAgdmlydHVhbCBGbG9hdFJl
Y3Qgc291cmNlSW1hZ2VSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9hYnNvbHV0ZVNvdXJjZURyYXdp
bmdSZWdpb247IH0KKyAgICAKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBtYXhJbWFnZVNpemUoKSBj
b25zdCB7IHJldHVybiBtX21heEltYWdlU2l6ZTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXRlcm1p
bmVGaWx0ZXJQcmltaXRpdmVTdWJyZWdpb24oRmlsdGVyRWZmZWN0KiwgY29uc3QgRmxvYXRSZWN0
Jik7CisKK3ByaXZhdGU6CisgICAgU1ZHRmlsdGVyKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWJz
b2x1dGVUcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVTb3VyY2VEcmF3aW5nUmVn
aW9uLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldEJvdW5kaW5nQm94LCBjb25zdCBGbG9hdFJlY3Qm
IGZpbHRlclJlZ2lvbiwgYm9vbCBlZmZlY3RCQm94TW9kZSk7CisKKyAgICBBZmZpbmVUcmFuc2Zv
cm0gbV9hYnNvbHV0ZVRyYW5zZm9ybTsKKyAgICBGbG9hdFJlY3QgbV9hYnNvbHV0ZVNvdXJjZURy
YXdpbmdSZWdpb247CisgICAgRmxvYXRSZWN0IG1fdGFyZ2V0Qm91bmRpbmdCb3g7CisgICAgRmxv
YXRSZWN0IG1fYWJzb2x1dGVGaWx0ZXJSZWdpb247CisgICAgRmxvYXRSZWN0IG1fZmlsdGVyUmVn
aW9uOworICAgIGJvb2wgbV9lZmZlY3RCQm94TW9kZTsKKyAgICBGbG9hdFNpemUgbV9tYXhJbWFn
ZVNpemU7Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDY5MTM1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzEgQEAKKzIwMTAtMTAtMDUgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkdzIHdpdGgg
ZmlsdGVycyBsb29rIGdyYWlueSB3aGVuIHNjYWxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUyNgorCisgICAgICAgIEFkZGVkIHRocmVlIG5ldyB0
ZXN0cyBmb3IgU1ZHcyBmaWx0ZXJSZXMuCisgICAgICAgIFNoYWRvdyB0ZXN0cyBmb3IgU1ZHIEZp
bHRlciBuZWVkZWQgYW4gdXBkYXRlLiBDdXJyZW50IHRlc3RzIGRpZG4ndCByZXNwZWN0CisgICAg
ICAgIHByaW1pdGl2ZVVuaXRzICJvYmplY3RCb3VuZGluZ0JveCIgZm9yIHN0ZERldmlhdGlvbiBv
biBmZUdhdXNzaWFuQmx1ciBjb3JyZWN0bHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEtZXhwZWN0ZWQucG5nOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMy
LWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2Zp
bHRlcnMvZmlsdGVyUmVzMi1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQuY2hlY2tzdW06
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMzLWV4
cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2Zp
bHRlclJlczMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L2ZpbHRlcnMvc2hhZG93LW9uLWZpbHRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgtZmlsdGVyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9maWx0ZXJSZXMxLnN2ZzogQWRkZWQuCisgICAgICAg
ICogc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9maWx0
ZXJzL2ZpbHRlclJlczMuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZmlsdGVycy9zaGFkb3ct
b24tZmlsdGVyLnN2ZzoKKyAgICAgICAgKiBzdmcvZmlsdGVycy9zaGFkb3ctb24tcmVjdC13aXRo
LWZpbHRlci5zdmc6CisKIDIwMTAtMTAtMDUgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC5jaGVja3N1
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmls
dGVyUmVzMS1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxIEBACis1MTYwOTdlNDU0OWE0ZjcxOTdjYTBmYTU0MTAwYTBlZQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmls
dGVyUmVzMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQg
KDEwLDEwKSBzaXplIDQwMHgxMjAKKyAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9
IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVy
fSBbaWQ9ImYxIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5p
dHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFtmZUZsb29kIGZsb29kLWNvbG9yPSIjMDA4MDAw
IiBmbG9vZC1vcGFjaXR5PSIxLjAwIl0KKyAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtm
aWx0ZXJ9IFtpZD0iZjIiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRp
dmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlRmxvb2QgZmxvb2QtY29sb3I9IiMw
MDgwMDAiIGZsb29kLW9wYWNpdHk9IjEuMDAiXQorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIge2ZpbHRlcn0gW2lkPSJmMyJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3By
aW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAgICBbZmVGbG9vZCBmbG9vZC1jb2xv
cj0iIzAwODAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDEwLDEwKSBzaXplIDEyMHgxMjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbZGF0YT0iTTIwLjAwLDIwLjAwIEwxMjAuMDAsMjAuMDAgTDEyMC4wMCwxMjAuMDAgTDIw
LjAwLDEyMC4wMCBaIl0KKyAgICAgIFtmaWx0ZXI9ImYxIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXIge2ZpbHRlcn0gYXQgKDEwLDEwKSBzaXplIDEyMHgxMjAKKyAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMTUwLDEwKSBzaXplIDEyMHgxMjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF19XSBbZGF0YT0iTTE2MC4wMCwyMC4wMCBMMjYwLjAwLDIwLjAwIEwyNjAuMDAsMTIwLjAw
IEwxNjAuMDAsMTIwLjAwIFoiXQorICAgICAgW2ZpbHRlcj0iZjIiXSBSZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlciB7ZmlsdGVyfSBhdCAoMTUwLDEwKSBzaXplIDEyMHgxMjAKKyAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMjkwLDEwKSBzaXplIDEyMHgxMjAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZGF0YT0iTTMwMC4wMCwyMC4wMCBMNDAwLjAwLDIwLjAwIEw0MDAuMDAs
MTIwLjAwIEwzMDAuMDAsMTIwLjAwIFoiXQorICAgICAgW2ZpbHRlcj0iZjMiXSBSZW5kZXJTVkdS
ZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMjkwLDEwKSBzaXplIDEyMHgxMjAKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMyLWV4cGVjdGVkLmNo
ZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVy
cy9maWx0ZXJSZXMyLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczItZXhwZWN0ZWQuY2hlY2tzdW0J
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzY1YmZjZmM5ZGQ0YjVjN2RhNjMzZTNiYjQ2YzEx
NmY4ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMyLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVy
cy9maWx0ZXJSZXMyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3Zn
fSBhdCAoMTAsMTApIHNpemUgNDAweDEyMAorICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7
ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtm
aWx0ZXJ9IFtpZD0iZjEiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRp
dmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlT2Zmc2V0IGR4PSIwLjAwIiBkeT0i
MC4wMCJdCisgICAgICAgICAgW1NvdXJjZUdyYXBoaWNdCisgICAgICBSZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImYyIl0gW2ZpbHRlclVuaXRzPW9iamVjdEJvdW5kaW5nQm94
XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAgIFtmZU9mZnNldCBkeD0i
MC4wMCIgZHk9IjAuMDAiXQorICAgICAgICAgIFtTb3VyY2VHcmFwaGljXQorICAgICAgUmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmMyJdIFtmaWx0ZXJVbml0cz1vYmplY3RC
b3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAgICBbZmVP
ZmZzZXQgZHg9IjAuMDAiIGR5PSIwLjAwIl0KKyAgICAgICAgICBbU291cmNlR3JhcGhpY10KKyAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTAsMTApIHNpemUgMTIweDEyMCBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMjAuMDAsMjAuMDAgTDEyMC4wMCwyMC4w
MCBMMTIwLjAwLDEyMC4wMCBMMjAuMDAsMTIwLjAwIFoiXQorICAgICAgW2ZpbHRlcj0iZjEiXSBS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMTAsMTApIHNpemUgMTIweDEyMAor
ICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNTAsMTApIHNpemUgMTIweDEyMCBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMTYwLjAwLDIwLjAwIEwyNjAuMDAs
MjAuMDAgTDI2MC4wMCwxMjAuMDAgTDE2MC4wMCwxMjAuMDAgWiJdCisgICAgICBbZmlsdGVyPSJm
MiJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgxNTAsMTApIHNpemUgMTIw
eDEyMAorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgyOTAsMTApIHNpemUgMTIweDEyMCBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMzAwLjAwLDIwLjAwIEw0
MDAuMDAsMjAuMDAgTDQwMC4wMCwxMjAuMDAgTDMwMC4wMCwxMjAuMDAgWiJdCisgICAgICBbZmls
dGVyPSJmMyJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgyOTAsMTApIHNp
emUgMTIweDEyMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2Zp
bHRlclJlczMtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVz
My1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorNTE2MDk3ZTQ1
NDlhNGY3MTk3Y2EwZmE1NDEwMGEwZWUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJz
L2ZpbHRlclJlczMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDE3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgxMCwxMCkgc2l6ZSA0MDB4MTIwCisgICAgUmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVy
U1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gW2lkPSJmMSJdIFtmaWx0ZXJVbml0cz1vYmplY3RC
b3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPXVzZXJTcGFjZU9uVXNlXQorICAgICAgICBbZmVG
bG9vZCBmbG9vZC1jb2xvcj0iIzAwODAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJdCisgICAgICBS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImYyIl0gW2ZpbHRlclVuaXRzPW9i
amVjdEJvdW5kaW5nQm94XSBbcHJpbWl0aXZlVW5pdHM9dXNlclNwYWNlT25Vc2VdCisgICAgICAg
IFtmZUZsb29kIGZsb29kLWNvbG9yPSIjMDA4MDAwIiBmbG9vZC1vcGFjaXR5PSIxLjAwIl0KKyAg
ICAgIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IFtpZD0iZjMiXSBbZmlsdGVyVW5p
dHM9b2JqZWN0Qm91bmRpbmdCb3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAg
ICAgICAgW2ZlRmxvb2QgZmxvb2QtY29sb3I9IiMwMDgwMDAiIGZsb29kLW9wYWNpdHk9IjEuMDAi
XQorICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxMCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0yMC4wMCwyMC4wMCBMMTIwLjAw
LDIwLjAwIEwxMjAuMDAsMTIwLjAwIEwyMC4wMCwxMjAuMDAgWiJdCisgICAgICBbZmlsdGVyPSJm
MSJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgxMCwxMCkgc2l6ZSAxMjB4
MTIwCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDE1MCwxMCkgc2l6ZSAxMjB4MTIwIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xNjAuMDAsMjAuMDAgTDI2
MC4wMCwyMC4wMCBMMjYwLjAwLDEyMC4wMCBMMTYwLjAwLDEyMC4wMCBaIl0KKyAgICAgIFtmaWx0
ZXI9ImYyIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDE1MCwxMCkgc2l6
ZSAxMjB4MTIwCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI5MCwxMCkgc2l6ZSAxMjB4MTIw
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0zMDAuMDAsMjAu
MDAgTDQwMC4wMCwyMC4wMCBMNDAwLjAwLDEyMC4wMCBMMzAwLjAwLDEyMC4wMCBaIl0KKyAgICAg
IFtmaWx0ZXI9ImYzIl0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDI5MCwx
MCkgc2l6ZSAxMjB4MTIwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRl
cnMvc2hhZG93LW9uLWZpbHRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1maWx0ZXItZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA2OTEyMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVy
cy9zaGFkb3ctb24tZmlsdGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw3ICs0
LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30g
YXQgKDUwLDUwKSBzaXplIDQ4MHg0ODAKICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2Rl
ZnN9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7Zmls
dGVyfSBbaWQ9ImZpbHRlciJdIFtmaWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1p
dGl2ZVVuaXRzPW9iamVjdEJvdW5kaW5nQm94XQotICAgICAgICBbZmVHYXVzc2lhbkJsdXIgc3Rk
RGV2aWF0aW9uPSI0LjAwLCA0LjAwIl0KKyAgICAgICAgW2ZlR2F1c3NpYW5CbHVyIHN0ZERldmlh
dGlvbj0iMC4wMSwgMC4wMSJdCiAgICAgICAgICAgW2ZlQ29tcG9zaXRlIG9wZXJhdGlvbj0iT1ZF
UiJdCiAgICAgICAgICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iI0ZGMDAwMCIgZmxvb2Qtb3Bh
Y2l0eT0iMS4wMCJdCiAgICAgICAgICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwODAwMCIg
Zmxvb2Qtb3BhY2l0eT0iMS4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2ZpbHRlcnMvc2hhZG93LW9uLXJlY3Qtd2l0aC1maWx0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zaGFkb3ctb24tcmVj
dC13aXRoLWZpbHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY5MTIwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgtZmlsdGVyLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDM3LDM3KSBzaXplIDQ5M3g0
OTMKICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgw
CiAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBbaWQ9ImZpbHRlciJdIFtm
aWx0ZXJVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3ByaW1pdGl2ZVVuaXRzPW9iamVjdEJvdW5k
aW5nQm94XQotICAgICAgICBbZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0LjAwLCA0LjAw
Il0KKyAgICAgICAgW2ZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMC4wMSwgMC4wMSJdCiAg
ICAgICAgICAgW2ZlQ29tcG9zaXRlIG9wZXJhdGlvbj0iT1ZFUiJdCiAgICAgICAgICAgICBbZmVG
bG9vZCBmbG9vZC1jb2xvcj0iI0ZGMDAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJdCiAgICAgICAg
ICAgICBbZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwODAwMCIgZmxvb2Qtb3BhY2l0eT0iMS4wMCJd
CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLnN2Zwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLnN2ZwkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEuc3ZnCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDE3IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIg
eG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorPGRlZnM+Cis8Zmls
dGVyIGlkPSJmMSIgZmlsdGVyUmVzPSI2MCI+CisgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9Imdy
ZWVuIi8+Cis8L2ZpbHRlcj4KKzxmaWx0ZXIgaWQ9ImYyIiBmaWx0ZXJSZXM9IjEyMCI+CisgICAg
PGZlRmxvb2QgZmxvb2QtY29sb3I9ImdyZWVuIi8+Cis8L2ZpbHRlcj4KKzxmaWx0ZXIgaWQ9ImYz
Ij4KKyAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iZ3JlZW4iLz4KKzwvZmlsdGVyPgorPC9kZWZz
PgorPHJlY3QgeD0iMjAiIHk9IjIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsdGVyPSJ1
cmwoI2YxKSIvPgorPHJlY3QgeD0iMTYwIiB5PSIyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAi
IGZpbHRlcj0idXJsKCNmMikiLz4KKzxyZWN0IHg9IjMwMCIgeT0iMjAiIHdpZHRoPSIxMDAiIGhl
aWdodD0iMTAwIiBmaWx0ZXI9InVybCgjZjMpIi8+Cis8L3N2Zz4KKwpJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
c3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9z
dmcvZmlsdGVycy9maWx0ZXJSZXMyLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAor
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKzxkZWZzPgorPGZpbHRlciBpZD0iZjEiIGZpbHRl
clJlcz0iNjAiPgorICAgIDxmZU9mZnNldC8+Cis8L2ZpbHRlcj4KKzxmaWx0ZXIgaWQ9ImYyIiBm
aWx0ZXJSZXM9IjEyMCI+CisgICAgPGZlT2Zmc2V0Lz4KKzwvZmlsdGVyPgorPGZpbHRlciBpZD0i
ZjMiPgorICAgIDxmZU9mZnNldC8+Cis8L2ZpbHRlcj4KKzwvZGVmcz4KKzxyZWN0IHg9IjIwIiB5
PSIyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIiBmaWx0ZXI9InVybCgj
ZjEpIi8+Cis8cmVjdCB4PSIxNjAiIHk9IjIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmls
bD0iZ3JlZW4iIGZpbHRlcj0idXJsKCNmMikiLz4KKzxyZWN0IHg9IjMwMCIgeT0iMjAiIHdpZHRo
PSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIgZmlsdGVyPSJ1cmwoI2YzKSIvPgorPC9z
dmc+CisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMuc3ZnCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMuc3ZnCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMy5zdmcJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjAgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+Cis8ZGVmcz4K
KzxmaWx0ZXIgaWQ9ImYxIiBmaWx0ZXJSZXM9IjYwIj4KKyAgICA8ZmVGbG9vZCBmbG9vZC1jb2xv
cj0iZ3JlZW4iLz4KKyAgICA8ZmVPZmZmc2V0Lz4KKzwvZmlsdGVyPgorPGZpbHRlciBpZD0iZjIi
IGZpbHRlclJlcz0iMTIwIj4KKyAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iZ3JlZW4iLz4KKyAg
ICA8ZmVPZmZmc2V0Lz4KKzwvZmlsdGVyPgorPGZpbHRlciBpZD0iZjMiPgorICAgIDxmZUZsb29k
IGZsb29kLWNvbG9yPSJncmVlbiIvPgorICAgIDxmZU9mZmZzZXQvPgorPC9maWx0ZXI+Cis8L2Rl
ZnM+Cis8cmVjdCB4PSIyMCIgeT0iMjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWx0ZXI9
InVybCgjZjEpIi8+Cis8cmVjdCB4PSIxNjAiIHk9IjIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEw
MCIgZmlsdGVyPSJ1cmwoI2YyKSIvPgorPHJlY3QgeD0iMzAwIiB5PSIyMCIgd2lkdGg9IjEwMCIg
aGVpZ2h0PSIxMDAiIGZpbHRlcj0idXJsKCNmMykiLz4KKzwvc3ZnPgorCkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvZmlsdGVycy9zaGFkb3ctb24tZmlsdGVyLnN2Zwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9zdmcvZmlsdGVycy9zaGFkb3ctb24tZmlsdGVyLnN2ZwkocmV2aXNpb24gNjkxMjAp
CisrKyBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9zaGFkb3ctb24tZmlsdGVyLnN2Zwkod29ya2lu
ZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAKIDxmZUZsb29kIHg9Ii00MCUiIHk9Ii00MCUiIHdpZHRo
PSI1MCUiIGhlaWdodD0iNTAlIiBmbG9vZC1jb2xvcj0icmVkIiBzdHlsZT0iLXdlYmtpdC1zdmct
c2hhZG93Oi00cHggLTRweCAwcHggYmx1ZTsiIHJlc3VsdD0iZmxvb2QxIi8+CiA8ZmVGbG9vZCB4
PSItMjAlIiB5PSItMjAlIiB3aWR0aD0iNTAlIiBoZWlnaHQ9IjUwJSIgZmxvb2QtY29sb3I9Imdy
ZWVuIiByZXN1bHQ9ImZsb29kMiIvPgogPGZlQ29tcG9zaXRlIGluPSJmbG9vZDEiIGluMj0iZmxv
b2QyIiB3aWR0aD0iMTIwJSIgaGVpZ2h0PSIxMjAlIiByZXN1bHQ9ImNvbXAxIiBzdHlsZT0iLXdl
YmtpdC1zdmctc2hhZG93OjRweCAtMXB4IDNweCBncmVlbjsiLz4KLTxmZUdhdXNzaWFuQmx1ciBz
dGREZXZpYXRpb249IjQgNCIgc3R5bGU9Ii13ZWJraXQtc3ZnLXNoYWRvdzogNnB4IDRweCA4cHgg
eWVsbG93OyIvPgorPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMC4wMTMzIiBzdHlsZT0i
LXdlYmtpdC1zdmctc2hhZG93OiA2cHggNHB4IDhweCB5ZWxsb3c7Ii8+CiA8L2ZpbHRlcj4KIDwv
ZGVmcz4KIDxyZWN0IHg9IjIwMCIgeT0iMjAwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgZmls
bD0iZ3JlZW4iIHN0eWxlPSJmaWx0ZXI6dXJsKCNmaWx0ZXIpOyIvPgpJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2ZpbHRlcnMvc2hhZG93LW9uLXJlY3Qtd2l0aC1maWx0ZXIuc3ZnCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL3NoYWRvdy1vbi1yZWN0LXdpdGgtZmlsdGVyLnN2
ZwkocmV2aXNpb24gNjkxMjApCisrKyBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9zaGFkb3ctb24t
cmVjdC13aXRoLWZpbHRlci5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTQsNyArNCw3IEBACiA8ZmVG
bG9vZCB4PSItNDAlIiB5PSItNDAlIiB3aWR0aD0iNTAlIiBoZWlnaHQ9IjUwJSIgZmxvb2QtY29s
b3I9InJlZCIgcmVzdWx0PSJmbG9vZDEiLz4KIDxmZUZsb29kIHg9Ii0yMCUiIHk9Ii0yMCUiIHdp
ZHRoPSI1MCUiIGhlaWdodD0iNTAlIiBmbG9vZC1jb2xvcj0iZ3JlZW4iIHJlc3VsdD0iZmxvb2Qy
Ii8+CiA8ZmVDb21wb3NpdGUgaW49ImZsb29kMSIgaW4yPSJmbG9vZDIiIHdpZHRoPSIxMjAlIiBo
ZWlnaHQ9IjEyMCUiIHJlc3VsdD0iY29tcDEiIC8+Ci08ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0
aW9uPSI0IDQiIC8+Cis8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIwLjAxMzMiIC8+CiA8
L2ZpbHRlcj4KIDwvZGVmcz4KIDxyZWN0IHg9IjIwMCIgeT0iMjAwIiB3aWR0aD0iMzAwIiBoZWln
aHQ9IjMwMCIgZmlsbD0iZ3JlZW4iIHN0eWxlPSJmaWx0ZXI6dXJsKCNmaWx0ZXIpOy13ZWJraXQt
c3ZnLXNoYWRvdzotMTBweCAtMTBweCAzcHggb3JhbmdlOyIvPgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczEtZXhwZWN0ZWQucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0ZXJSZXMxLWV4cGVjdGVkLnBu
ZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQt
c3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFD
N21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pK
V2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3
WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54
MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNy
WnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFE
eXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBr
S2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhq
MGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldr
aFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVF
VUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktD
SnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAx
ZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQ
cVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZY
eC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4
CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2
Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVj
ZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGla
MHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpB
QUFnCkFFbEVRVlI0QWUzZFFXcGJBUkJFd1NqazNpRW50MDB1NEkzNFREK1h0akw2MDlYYU5NYjQ5
ZkgxK3VWRmdBQUJBZ1FJRUNCQWdBQ0IKQndSK1AvQU1qeUJBZ0FBQkFnUUlFQ0JBZ01CL0FRUEVG
NEVBQVFJRUNCQWdRSUFBZ2NjRURKREhxRDJJQUFFQ0JBZ1FJRUNBQUFFRAp4SGVBQUFFQ0JBZ1FJ
RUNBQUlISEJBeVF4Nmc5aUFBQkFnUUlFQ0JBZ0FBQkE4UjNnQUFCQWdRSUVDQkFnQUNCeHdRTWtN
ZW9QWWdBCkFRSUVDQkFnUUlBQWdUL2ZFYnordmI3N0VlOEhCRDcrK25jd2dScEZJRUNBQUFFQ0JB
aWNGL2gyZ0p4UDRNQnpBa2JydVVyZWZwREIKK25aU0gwaUFBQUVDQkg2TWdBSHlZNm9XbE1CZEFh
UDFiamZ2dU14Z2ZZZWl6eUJBZ0VCSHdOK0FkTHFVaEFBQkFnUUlFQ0JBZ01CNQpBUVBrZkVVT0pF
Q0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFn
UTZBZ1lJSjB1CkpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBQUFFQ0JBaDBCQXlRVHBl
U0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1EKSUVDQUFBRUNCRG9DQmtpblMwa0lFQ0JBZ0FB
QkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQgpBZ1RPQ3hn
ZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUJBdWNGREpEekZUbVFBQUVD
QkFnUUlFQ0FRRWZBCkFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJR3lQbUtIRWlBQUFFQ0JBZ1FJRUNn
STJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU8KSkVDQUFBRUNCQWdRSU5BUk1FQTZYVXBD
Z0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQgpBZ1FJ
RUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJRURndllJQ2Ny
OGlCQkFnUUlFQ0FBQUVDCkJEb0NCa2luUzBrSUVDQkFnQUFCQWdRSW5CY3dRTTVYNUVBQ0JBZ1FJ
RUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2cKNXl0eUlBRUNCQWdRSUVDQUFJR09n
QUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQgpB
Z1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdN
QjVBUVBrZkVVT0pFQ0FBQUVDCkJBZ1FJTkFSTUVBNlhVcENnQUFCQWdRSUVDQkE0THlBQVhLK0ln
Y1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQncKWHNBQU9WK1JBd2tRSUVDQUFB
RUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFBRUNCRG9DQmtp
bgpTMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNC
QWdBQUJBZ1RPQ3hnZzV5dHlJQUVDCkJBZ1FJRUNBQUlHT2dBSFM2VklTQWdRSUVDQkFnQUFCQXVj
RkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkEKZ0FDQjh3SUd5UG1LSEVp
QUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVDQUFBRUNCQWdR
SU5BUgpNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1
SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSCkF3a1FJRUNBQUFFQ0JBaDBCQXlRVHBlU0VDQkFnQUFC
QWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkEKZ0FBQkFnUUluQmN3
UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdnNXl0eUlBRUNC
QWdRSUVDQQpBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUJBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FR
RWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHCnlQbUtIRWlBQUFFQ0JBZ1FJRUNnSTJDQWRMcVVo
QUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcEMKZ0FBQkFnUUlF
Q0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlFQ0J3WHNBQU9W
K1JBd2tRSUVDQQpBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUUlF
Q0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJCm5CY3dRTTVYNUVBQ0JBZ1FJRUNBQUFFQ0hR
RURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJRUNBQUlHT2dBSFMKNlZJU0Fn
UUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFBT2wwS1FrQkFnUUlFQ0JBZ0FD
Qjh3SUd5UG1LSEVpQQpBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVV
T0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJCkVDQkE0THlBQVhLK0lnY1NJRUNBQUFF
Q0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJRUNBQUFFQ0JBaDAKQkF5
UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFBRUNCRG9DQmtpblMwa0lFQ0JB
Z0FBQkFnUUluQmN3UU01WAo1RUFDQkFnUUlFQ0FBQUVDSFFFRHBOT2xKQVFJRUNCQWdBQUJBZ1RP
Q3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJCkVDQkFnQUFCQXVjRkRKRHpGVG1R
QUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJR3lQbUtIRWlBQUFFQ0JBZ1EK
SUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVDQUFBRUNCQWdRSU5BUk1FQTZY
VXBDZ0FBQkFnUUlFQ0JBNEx5QQpBWEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUJB
Z1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTCkVDQkFnQUFCQWdRSUVEZ3ZZ
SUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkFnQUFCQWdRSW5CY3dRTTVYNUVBQ0JB
Z1EKSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdnNXl0eUlBRUNCQWdRSUVDQUFJ
R09nQUhTNlZJU0FnUUlFQ0JBZ0FBQgpBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FRRWZBQU9sMEtR
a0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNBCmRMcVVoQUFCQWdRSUVD
QkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENnQUFCQWdRSUVDQkE0THlBQVhL
K0lnY1MKSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlFQ0J3WHNBQU9WK1JBd2tRSUVD
QUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQgpBZ1FJRURndjhQcjRlcDIvMG9FRUNCQWdRSUFBQVFJ
RUNDUUUvQVlrVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJCkVDQkFJQ0ZnZ0NS
cUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFC
QWdRSUVOZ1EKTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lH
eUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVSwpRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdR
SUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFCkNCQWdRSUJB
UXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdR
SUFBQVFJRUNCQWcKc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJB
Z1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBawphaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJr
eXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDCkJBZ1FJ
RUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FC
STFDa0dBQUFFQ0JBZ1EKSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJ
QUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQQpBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRR
RURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLCkFn
UUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVB
Z0lXQ0FKR29VZ2dBQkFnUUkKRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJ
UUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQgpoSUFCa3FoUkNBSUVDQkFnUUlB
QUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5v
CnlaVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJ
RUNCQWdFQkN3QUJKMUNnRUFRSUUKQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZ
SUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQQpBUUlKQVFNa1VhTVFCQWdR
SUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFo
b0FCCnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxB
UUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0MKQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlF
Q0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQQpBQUVDQkJJQ0JraWlS
aUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlF
Q0FBSUVOCkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dH
ejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2oKRUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFR
SUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQQpnQUFCQWdRSUpB
UU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdR
SUVDQkFnQUFCCkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVC
Z1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWkkKb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJt
U0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZwpRSUFBQVFJ
RUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJS
b3hBRUNCQWdRSUFBCkFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJ
RUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUUKREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3
UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdQpKRUNB
QUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVF
Z0lHU0tKR0lRZ1FJRUNBCkFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VB
UUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1EKU0FnWUlJa2FoU0JBZ0FBQkFnUUlF
Q0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTgpu
bHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURBaG9BQnN0R1RLd2tRSUVDQUFB
RUNCQWdrQkF5UVJJMUNFQ0JBCmdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBZ1lTQUFa
S29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUkKRUNDUUVEQkFFalVLUVlBQUFR
SUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFn
WQpJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJRUNBQUlFTkFRTmtveWRYRWlC
QWdBQUJBZ1FJRUVnSUdDQ0pHb1VnClFJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBQUFF
Q0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUUKQ0JBZ1FDQWhZSUFrYWhT
Q0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlF
Q0JEWQpFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFnUUlFQ0JBZ0FBQkFoc0NCc2hH
VDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxCkNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JB
Z0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUMKQkFnUUlFQ0FRRUxB
QUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FB
QUVDQkFnUQpJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUm94QUVDQkFnUUlBQUFRSUVO
Z1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBCkpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJD
UkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUIKQWdRSUVDQkFn
QUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNBQUFFQ0JBZ1FJSkFRTUVBU05R
cEJnQUFCQWdRSQpFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJR1NLSkdJUWdRSUVDQUFB
RUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDCndBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEy
U2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGsKU2dJRUNC
QWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05ubHhKZ0FBQkFnUUlFQ0JBSUNG
Z2dDUnFGSUlBQVFJRQpDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JBeVFSSTFDRUNC
QWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBCmdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFF
Q0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFoKNk1t
VkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJBZ1lJQnM5dVpJQUFRSUVDQkFn
UUlCQVFzQUFTZFFvQkFFQwpCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0lHQ0NK
R29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBCkFBRUNDUUVESkZHakVBUUlFQ0JB
Z0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUEK
QWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJRUNCRFlFREJBTm5weUpRRUNC
QWdRSUVDQUFJR0VnQUdTcUZFSQpBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNCQWdr
QkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JBCmdBQUJBZ1FTQWdaSW9rWWhD
QkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdB
Q0IKRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBQUFFQ0JBZ1FJTEFoWUlCczlP
UktBZ1FJRUNCQWdBQUJBZ2tCQXlSUgpveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQ0JB
Z1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJDUkFnClFJQUFBUUlFQ0NRRURK
QkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JB
Z1FJQUEKQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCZ0FBQkFnUUlFQ0JBWUVQ
QUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJRwpTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dB
QkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTCklFQ0FBQUVDQkFn
UVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1R
QkFnUUlFQ0EKQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFn
UUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFnawpCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEy
ZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQCnJpUkFnQUFC
QWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNC
a2lpUmlFSUVDQkEKZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNC
QWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSQpFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdz
Q0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRCmpaNWNT
WUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFn
UUlKQVFNa0VTTlFoQWcKUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FG
RUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRQpDQkFna0JBd1FCSTFDa0dBQUFFQ0JB
Z1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJCkdD
QWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlB
QUFRSUVDQkJJQ0JnZ2lScUYKSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdr
QkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQwpCQWdRSUVBZ0lXQ0FKR29VZ2dB
QkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdR
CjJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1
SkVDQUFBRUNCQWdRSUpBUU1FQVMKTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFB
QVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dBQgpBZ1FJRUNCQWdFQkN3QUJK
MUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJB
Z1FJCkVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVE
SkNObmx4SmdBQUJBZ1FJRUNCQUlDRmcKZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJ
RUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbApBUUlFQ0JBZ1FJQUFn
WVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZ
QUFBUUlFCkNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFn
UUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkEKUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295
ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MAo1RW9DQkFnUUlF
Q0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlB
a2FoU0NBQUVDCkJBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlB
QUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0EKQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhz
Q0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQQoyZWpKbFFR
SUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNB
UUVMQUFFblVLQVFCCkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFG
SUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkEKZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFB
QVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DRwpnQUd5
MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlF
Q0JBZ0FDQmhJQUJrcWhSCkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFN
RUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWcKUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJ
RUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQQpn
UTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1Nn
SUVDQkFnUUlBQUFRSUpBUU1rClVhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVD
QkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1EKSUVDQUFBRUNCQWdrQkF5UVJJ
MUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVD
QQpBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FE
WjZNbVZCQWdRSUVDQUFBRUNCQklDCkJraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJ
RUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFgKRWlCQWdBQUJBZ1FJRUVn
SUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJ
RUNCQQpnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNB
d0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJCkpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5
SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEcKVDY0a1FJQUFBUUlF
Q0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklv
a1loQ0JBZwpRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlF
Q0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFCkNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZ
SUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU0Ka0kyZVhFbUFB
QUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUND
UUVESkJFalVJUQpJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNB
SUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDCkJBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVD
QkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHMKQ0JnZ0d6
MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFF
Q0JBZ1FTQWdZSUlrYQpoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFN
a1VhTVFCQWdRSUVDQUFBRUNCUGVXSlEwQUFBajFTVVJCClZEWUVESkNObmx4SmdBQUJBZ1FJRUNC
QUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFna0JBeVEKUkkx
Q0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNB
QUFFQ0d3SUd5RVpQcmlSQQpnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURa
Nk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCCkFnUUliQWdZSUJzOXVaSUFBUUlF
Q0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSUVFZ0kK
R0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlF
Q0JBZ0FBQkFnUTJCQXlRalo1YwpTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3
SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBCkFRSUVDQkRZRURCQU5ucHlK
UUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRUNC
QWcKa0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9r
WWhDQkFnUUlBQUFRSUVDR3dJR0NBYgpQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVD
QkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNBCkFBRUNCQWdRSUxBaFlJ
QnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFF
Q0JBZ1EKSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NR
RURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBdwpRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJ
RUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNOUXBCCmdBQUJBZ1FJRUNC
QVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1
a2dBQkFnUUkKRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVD
QkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDdwpJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1r
VWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxCkZJSUFBUUlF
Q0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FN
RUEyZW5JbEFRSUUKQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFn
QUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZwpRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNC
QklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBClNkUW9C
QUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNC
QWdzQ0ZnZ0d6MDVFb0MKQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpa
NWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUQpJRUNBd0lhQUFiTFJreXNKRUNCQWdB
QUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFCmdB
R1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFF
Q0JBZ1FJRUJnUThBQTJlakoKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3
SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSQpFQ0JBZ0FDQkRRRURaS01uVnhJ
Z1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFC
CkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29V
Z2dBQkFnUUlFQ0JBZ01DR2dBR3kKMFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVD
QkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRQpDQkFnUUlBQUFRSWJBZ2JJ
UmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdR
SUFBCkFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3
QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEIKQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFn
QUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFNUQpCQWdRSUVDQUFBRUNC
RFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3
a1FJRUNBCkFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJ
QUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUMKR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVq
VUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaQpSaUVJRUNCQWdB
QUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFO
a295ZFhFaUJBCmdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFn
UUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUIKQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNB
aFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTQprRVNOUWhB
Z1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFC
QWhzQ0JzaEdUNjRrClFJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpK
bFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUEKQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdR
SUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSQpDQmdn
aVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdR
SUFBQVFJRU5nUU1rSTJlClhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dn
QUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0EKQUFFQ0JBZ1EyQkQ0QkdNRkZhMzl5
ZFhIQUFBQUFFbEZUa1N1UW1DQwoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
ZmlsdGVycy9maWx0ZXJSZXMyLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5
OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRp
b24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2ZpbHRlcnMvZmlsdGVyUmVzMi1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBL
R2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VISnZa
bWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJI
N1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hG
eTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0Fq
cUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJT
cXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1Ri
aFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tM
MmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitE
WENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhP
djRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxK
eVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhs
UDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4
Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5
NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3Ju
SVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZS
bEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxw
VzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVV
b2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxr
L3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFlM2J2
UTZkMVJWRlVUdWhUVklqSWZGc2VSS1VSL09UT1Q4OXF3aVRLNSt0UVpOaWkrWHZqdU5tS3VMcjkv
Lzg4OFUvCkJBZ1FJRUNBQUFFQ0JBZ1ErSURBWHo3d1ovZ2pDQkFnUUlBQUFRSUVDQkFnOEQ4QkFl
SXZBZ0VDQkFnUUlFQ0FBQUVDSHhNUUlCK2oKOWdjUklFQ0FBQUVDQkFnUUlDQkEvQjBnUUlBQUFR
SUVDQkFnUU9CakFnTGtZOVQrSUFJRUNCQWdRSUFBQVFJRUJJaS9Bd1FJRUNCQQpnQUFCQWdRSWZF
eEFnSHlNMmg5RWdBQUJBZ1FJRUNCQWdJQUE4WGVBQUFFQ0JBZ1FJRUNBQUlHUENRaVFqMUg3Z3dn
UUlFQ0FBQUVDCkJBZ1FFQ0QrRGhBZ1FJQUFBUUlFQ0JBZzhERUJBZkl4YW44UUFRSUVDQkFnUUlB
QUFRSUN4TjhCQWdRSUVDQkFnQUFCQWdRK0ppQkEKUGtidER5SkFnQUFCQWdRSUVDQkFRSUQ0TzBD
QUFBRUNCQWdRSUVDQXdNY0VCTWpIcVAxQkJBZ1FJRUNBQUFFQ0JBZ0lFSDhIQ0JBZwpRSUFBQVFJ
RUNCRDRtSUFBK1JpMVA0Z0FBUUlFQ0JBZ1FJQUFnWjhxZ3EvLytscE4yZm1EQXIvKzQ5Y3YzLzc1
N2N0Ly85Yy9CQWdRCklFQ0FBQUVDQkg0a2dTeEFmcVFmNVZ2ZUVCQ3RQOVk3ZmYvdCs0LzFRYjZH
QUFFQ0JBZ1FPQ2tnUUU0K3F4OUY0S2FBYVAyeDNsVzAKL2xqdjRXc0lFQ0R3aW9EL0J1U1ZsL0tk
QkFnUUlFQ0FBQUVDQkE0SUNKQURqK2duRUNCQWdBQUJBZ1FJRUhoRlFJQzg4bEsra3dBQgpBZ1FJ
RUNCQWdNQUJBUUZ5NEJIOUJBSUVDQkFnUUlBQUFRS3ZDQWlRVjE3S2R4SWdRSUFBQVFJRUNCQTRJ
Q0JBRGp5aW4wQ0FBQUVDCkJBZ1FJRURnRlFFQjhzcEwrVTRDQkFnUUlFQ0FBQUVDQndRRXlJRkg5
Qk1JRUNCQWdBQUJBZ1FJdkNJZ1FGNTVLZDlKZ0FBQkFnUUkKRUNCQTRJQ0FBRG53aUg0Q0FRSUVD
QkFnUUlBQWdWY0VCTWdyTCtVN0NSQWdRSUFBQVFJRUNCd1FFQ0FISHRGUElFQ0FBQUVDQkFnUQpJ
UENLZ0FCNTVhVjhKd0VDQkFnUUlFQ0FBSUVEQWdMa3dDUDZDUVFJRUNCQWdBQUJBZ1JlRVJBZ3I3
eVU3eVJBZ0FBQkFnUUlFQ0J3ClFFQ0FISGhFUDRFQUFRSUVDQkFnUUlEQUt3SUM1SldYOHAwRUNC
QWdRSUFBQVFJRURnZ0lrQU9QNkNjUUlFQ0FBQUVDQkFnUWVFVkEKZ0x6eVVyNlRBQUVDQkFnUUlF
Q0F3QUVCQVhMZ0VmMEVBZ1FJRUNCQWdBQUJBcThJQ0pCWFhzcDNFaUJBZ0FBQkFnUUlFRGdnSUVB
TwpQS0tmUUlBQUFRSUVDQkFnUU9BVkFRSHl5a3Y1VGdJRUNCQWdRSUFBQVFJSEJBVElnVWYwRXdn
UUlFQ0FBQUVDQkFpOElpQkFYbmtwCjMwbUFBQUVDQkFnUUlFRGdnSUFBT2ZDSWZnSUJBZ1FJRUNC
QWdBQ0JWd1FFeUNzdjVUc0pFQ0JBZ0FBQkFnUUlIQkFRSUFjZTBVOGcKUUlBQUFRSUVDQkFnOElx
QUFIbmxwWHduQVFJRUNCQWdRSUFBZ1FNQ0F1VEFJL29KQkFnUUlFQ0FBQUVDQkY0UkVDQ3Z2SlR2
SkVDQQpBQUVDQkFnUUlIQkFRSUFjZUVRL2dRQUJBZ1FJRUNCQWdNQXJBZ0xrbFpmeW5RUUlFQ0JB
Z0FBQkFnUU9DQWlRQTQvb0p4QWdRSUFBCkFRSUVDQkI0UlVDQXZQSlN2cE1BQVFJRUNCQWdRSURB
QVFFQmN1QVIvUVFDQkFnUUlFQ0FBQUVDcndnSWtGZGV5bmNTSUVDQUFBRUMKQkFnUU9DQWdRQTQ4
b3A5QWdBQUJBZ1FJRUNCQTRCVUJBZkxLUy9sT0FnUUlFQ0JBZ0FBQkFnY0VCTWlCUi9RVENCQWdR
SUFBQVFJRQpDTHdpSUVCZWVTbmZTWUFBQVFJRUNCQWdRT0NBZ0FBNThJaCtBZ0VDQkFnUUlFQ0FB
SUZYQkFUSUt5L2xPd2tRSUVDQUFBRUNCQWdjCkVCQWdCeDdSVHlCQWdBQUJBZ1FJRUNEd2lvQUFl
ZVdsZkNjQkFnUUlFQ0JBZ0FDQkF3SUM1TUFqK2drRUNCQWdRSUFBQVFJRVhoRVEKSUsrOGxPOGtR
SUFBQVFJRUNCQWdjRUJBZ0J4NFJEK0JBQUVDQkFnUUlFQ0F3Q3NDQXVTVmwvS2RCQWdRSUVDQUFB
RUNCQTRJQ0pBRApqK2duRUNCQWdBQUJBZ1FJRUhoRlFJQzg4bEsra3dBQkFnUUlFQ0JBZ01BQkFR
Rnk0Qkg5QkFJRUNCQWdRSUFBQVFLdkNBaVFWMTdLCmR4SWdRSUFBQVFJRUNCQTRJQ0JBRGp5aW4w
Q0FBQUVDQkFnUUlFRGdGUUVCOHNwTCtVNENCQWdRSUVDQUFBRUNCd1FFeUlGSDlCTUkKRUNCQWdB
QUJBZ1FJdkNJZ1FGNTVLZDlKZ0FBQkFnUUlFQ0JBNElDQUFEbndpSDRDQVFJRUNCQWdRSUFBZ1Zj
RUJNZ3JMK1U3Q1JBZwpRSUFBQVFJRUNCd1FFQ0FISHRGUElFQ0FBQUVDQkFnUUlQQ0tnQUI1NWFW
OEp3RUNCQWdRSUVDQUFJRURBZ0xrd0NQNkNRUUlFQ0JBCmdBQUJBZ1JlRVJBZ3I3eVU3eVJBZ0FB
QkFnUUlFQ0J3UUVDQUhIaEVQNEVBQVFJRUNCQWdRSURBS3dJQzVKV1g4cDBFQ0JBZ1FJQUEKQVFJ
RURnZ0lrQU9QNkNjUUlFQ0FBQUVDQkFnUWVFVkFnTHp5VXI2VEFBRUNCQWdRSUVDQXdBRUJBWExn
RWYwRUFnUUlFQ0JBZ0FBQgpBcThJQ0pCWFhzcDNFaUJBZ0FBQkFnUUlFRGdnSUVBT1BLS2ZRSUFB
QVFJRUNCQWdRT0FWQVFIeXlrdjVUZ0lFQ0JBZ1FJQUFBUUlICkJBVElnVWYwRXdnUUlFQ0FBQUVD
QkFpOElpQkFYbmtwMzBtQUFBRUNCQWdRSUVEZ2dJQUFPZkNJZmdJQkFnUUlFQ0JBZ0FDQlZ3UUUK
eUNzdjVUc0pFQ0JBZ0FBQkFnUUlIQkFRSUFjZTBVOGdRSUFBQVFJRUNCQWc4SXFBQUhubHBYd25B
UUlFQ0JBZ1FJQUFnUU1DQXVUQQpJL29KQkFnUUlFQ0FBQUVDQkY0UkVDQ3Z2SlR2SkVDQUFBRUNC
QWdRSUhCQVFJQWNlRVEvZ1FBQkFnUUlFQ0JBZ01BckFnTGtsWmZ5Cm5RUUlFQ0JBZ0FBQkFnUU9D
QWlRQTQvb0p4QWdRSUFBQVFJRUNCQjRSVUNBdlBKU3ZwTUFBUUlFQ0JBZ1FJREFBUUVCY3VBUi9R
UUMKQkFnUUlFQ0FBQUVDcndnSWtGZGV5bmNTSUVDQUFBRUNCQWdRT0NBZ1FBNDhvcDlBZ0FBQkFn
UUlFQ0JBNEJVQkFmTEtTL2xPQWdRSQpFQ0JBZ0FBQkFnY0VCTWlCUi9RVENCQWdRSUFBQVFJRUNM
d2lJRUJlZVNuZlNZQUFBUUlFQ0JBZ1FPQ0FnQUE1OEloK0FnRUNCQWdRCklFQ0FBSUZYQkFUSUt5
L2xPd2tRSUVDQUFBRUNCQWdjRUJBZ0J4N1JUeUJBZ0FBQkFnUUlFQ0R3aW9BQWVlV2xmQ2NCQWdR
SUVDQkEKZ0FDQkF3SUM1TUFqK2drRUNCQWdRSUFBQVFJRVhoRVFJSys4bE84a1FJQUFBUUlFQ0JB
Z2NFQkFnQng0UkQrQkFBRUNCQWdRSUVDQQp3Q3NDUDFVZit1cy9mcTJtN1B4QmdWLysvc3VYdjM3
OTZ4OWM4YThUSUVDQUFBRUNCQWdRNkFXeUFQbjJ6Mi85MTFuOHZ3VCtHeDgvCi8rM24vK3ZmOVM4
UklFQ0FBQUVDQkFnUStETUZzZ0R4LzREOG1jOTBjL3Y3Yjk5di9qQy9pZ0FCQWdRSUVDQkE0SGNG
dm43L3p6Ky8KZTNVZ1FJQUFBUUlFQ0JBZ1FJQkFLT0EvUWc4eFRSRWdRSUFBQVFJRUNCQWdzQVVF
eVBaeEpVQ0FBQUVDQkFnUUlFQWdGQkFnSWFZcApBZ1FJRUNCQWdBQUJBZ1MyZ0FEWlBxNEVDQkFn
UUlBQUFRSUVDSVFDQWlURU5FV0FBQUVDQkFnUUlFQ0F3QllRSU52SGxRQUJBZ1FJCkVDQkFnQUNC
VUVDQWhKaW1DQkFnUUlBQUFRSUVDQkRZQWdKays3Z1NJRUNBQUFFQ0JBZ1FJQkFLQ0pBUTB4UUJB
Z1FJRUNCQWdBQUIKQWx0QWdHd2ZWd0lFQ0JBZ1FJQUFBUUlFUWdFQkVtS2FJa0NBQUFFQ0JBZ1FJ
RUJnQ3dpUTdlTktnQUFCQWdRSUVDQkFnRUFvSUVCQwpURk1FQ0JBZ1FJQUFBUUlFQ0d3QkFiSjlY
QWtRSUVDQUFBRUNCQWdRQ0FVRVNJaHBpZ0FCQWdRSUVDQkFnQUNCTFNCQXRvOHJBUUlFCkNCQWdR
SUFBQVFLaGdBQUpNVTBSSUVDQUFBRUNCQWdRSUxBRkJNajJjU1ZBZ0FBQkFnUUlFQ0JBSUJRUUlD
R21LUUlFQ0JBZ1FJQUEKQVFJRXRvQUEyVDZ1QkFnUUlFQ0FBQUVDQkFpRUFnSWt4RFJGZ0FBQkFn
UUlFQ0JBZ01BV0VDRGJ4NVVBQVFJRUNCQWdRSUFBZ1ZCQQpnSVNZcGdnUUlFQ0FBQUVDQkFnUTJB
SUNaUHU0RWlCQWdBQUJBZ1FJRUNBUUNnaVFFTk1VQVFJRUNCQWdRSUFBQVFKYlFJQnNIMWNDCkJB
Z1FJRUNBQUFFQ0JFSUJBUkppbWlKQWdBQUJBZ1FJRUNCQVlBc0lrTzNqU29BQUFRSUVDQkFnUUlC
QUtDQkFRa3hUQkFnUUlFQ0EKQUFFQ0JBaHNBUUd5ZlZ3SkVDQkFnQUFCQWdRSUVBZ0ZCRWlJYVlv
QUFRSUVDQkFnUUlBQWdTMGdRTGFQS3dFQ0JBZ1FJRUNBQUFFQwpvWUFBQ1RGTkVTQkFnQUFCQWdR
SUVDQ3dCUVRJOW5FbFFJQUFBUUlFQ0JBZ1FDQVVFQ0FocGlrQ0JBZ1FJRUNBQUFFQ0JMYUFBTmsr
CnJnUUlFQ0JBZ0FBQkFnUUloQUlDSk1RMFJZQUFBUUlFQ0JBZ1FJREFGaEFnMjhlVkFBRUNCQWdR
SUVDQUFJRlFRSUNFbUtZSUVDQkEKZ0FBQkFnUUlFTmdDQW1UN3VCSWdRSUFBQVFJRUNCQWdFQW9J
a0JEVEZBRUNCQWdRSUVDQUFBRUNXMENBYkI5WEFnUUlFQ0JBZ0FBQgpBZ1JDQVFFU1lwb2lRSUFB
QVFJRUNCQWdRR0FMQ0pEdDQwcUFBQUVDQkFnUUlFQ0FRQ2dnUUVKTVV3UUlFQ0JBZ0FBQkFnUUli
QUVCCnNuMWNDUkFnUUlBQUFRSUVDQkFJQlFSSWlHbUtBQUVDQkFnUUlFQ0FBSUV0SUVDMmp5c0JB
Z1FJRUNCQWdBQUJBcUdBQUFreFRSRWcKUUlBQUFRSUVDQkFnc0FVRXlQWnhKVUNBQUFFQ0JBZ1FJ
RUFnRkJBZ0lhWXBBZ1FJRUNCQWdBQUJBZ1MyZ0FEWlBxNEVDQkFnUUlBQQpBUUlFQ0lRQ0FpVEVO
RVdBQUFFQ0JBZ1FJRUNBd0JZUUlOdkhsUUFCQWdRSUVDQkFnQUNCVUVDQWhKaW1DQkFnUUlBQUFR
SUVDQkRZCkFnSmsrN2dTSUVDQUFBRUNCQWdRSUJBS0NKQVEweFFCQWdRSUVDQkFnQUFCQWx0QWdH
d2ZWd0lFQ0JBZ1FJQUFBUUlFUWdFQkVtS2EKSWtDQUFBRUNCQWdRSUVCZ0N3aVE3ZU5LZ0FBQkFn
UUlFQ0JBZ0VBb0lFQkNURk1FQ0JBZ1FJQUFBUUlFQ0d3QkFiSjlYQWtRSUVDQQpBQUVDQkFnUUNB
VUVTSWhwaWdBQkFnUUlFQ0JBZ0FDQkxTQkF0bzhyQVFJRUNCQWdRSUFBQVFLaGdBQUpNVTBSSUVD
QUFBRUNCQWdRCklMQUZCTWoyY1NWQWdBQUJBZ1FJRUNCQUlCUVFJQ0dtS1FJRUNCQWdRSUFBQVFJ
RXRvQUEyVDZ1QkFnUUlFQ0FBQUVDQkFpRUFnSWsKeERSRmdBQUJBZ1FJRUNCQWdNQVdFQ0RieDVV
QUFRSUVDQkFnUUlBQWdWQkFnSVNZcGdnUUlFQ0FBQUVDQkFnUTJBSUNaUHU0RWlCQQpnQUFCQWdR
SUVDQVFDZ2lRRU5NVUFRSUVDQkFnUUlBQUFRSmJRSUJzSDFjQ0JBZ1FJRUNBQUFFQ0JFSUJBUkpp
bWlKQWdBQUJBZ1FJCkVDQkFZQXNJa08zalNvQUFBUUlFQ0JBZ1FJQkFLQ0JBUWt4VEJBZ1FJRUNB
QUFFQ0JBaHNBUUd5ZlZ3SkVDQkFnQUFCQWdRSUVBZ0YKQkVpSWFZb0FBUUlFQ0JBZ1FJQUFnUzBn
UUxhUEt3RUNCQWdRSUVDQUFBRUNvWUFBQ1RGTkVTQkFnQUFCQWdRSUVDQ3dCUVRJOW5FbApRSUFB
QVFJRUNCQWdRQ0FVRUNBaHBpa0NCQWdRSUVDQUFBRUNCTGFBQU5rK3JnUUlFQ0JBZ0FBQkFnUUlo
QUlDSk1RMFJZQUFBUUlFCkNCQWdRSURBRmhBZzI4ZVZBQUVDQkFnUUlFQ0FBSUZRUUlDRW1LWUlF
Q0JBZ0FBQkFnUUlFTmdDQW1UN3VCSWdRSUFBQVFJRUNCQWcKRUFvSWtCRFRGQUVDQkFnUUlFQ0FB
QUVDVzBDQWJCOVhBZ1FJRUNCQWdBQUJBZ1JDQVFFU1lwb2lRSUFBQVFJRUNCQWdRR0FMQ0pEdAo0
MHFBQUFFQ0JBZ1FJRUNBUUNnZ1FFSk1Vd1FJRUNCQWdBQUJBZ1FJYkFFQnNuMWNDUkFnUUlBQUFR
SUVDQkFJQlFSSWlHbUtBQUVDCkJBZ1FJRUNBQUlFdElFQzJqeXNCQWdRSUVDQkFnQUFCQXFHQUFB
a3hUUkVnUUlBQUFRSUVDQkFnc0FVRXlQWnhKVUNBQUFFQ0JBZ1EKSUVBZ0ZCQWdJYVlwQWdRSUVD
QkFnQUFCQWdTMmdBRFpQcTRFQ0JBZ1FJQUFBUUlFQ0lRQ0FpVEVORVdBQUFFQ0JBZ1FJRUNBd0JZ
UQpJTnZIbFFBQkFnUUlFQ0JBZ0FDQlVFQ0FoSmltQ0JBZ1FJQUFBUUlFQ0JEWUFnSmsrN2dTSUVD
QUFBRUNCQWdRSUJBS0NKQVEweFFCCkFnUUlFQ0JBZ0FBQkFsdEFnR3dmVndJRUNCQWdRSUFBQVFJ
RVFnRUJFbUthSWtDQUFBRUNCQWdRSUVCZ0N3aVE3ZU5LZ0FBQkFnUUkKRUNCQWdFQW9JRUJDVEZN
RUNCQWdRSUFBQVFJRUNHd0JBYko5WEFrUUlFQ0FBQUVDQkFnUUNBVUVTSWhwaWdBQkFnUUlFQ0JB
Z0FDQgpMU0JBdG84ckFRSUVDQkFnUUlBQUFRS2hnQUFKTVUwUklFQ0FBQUVDQkFnUUlMQUZCTWoy
Y1NWQWdBQUJBZ1FJRUNCQUlCUVFJQ0dtCktRSUVDQkFnUUlBQUFRSUV0b0FBMlQ2dUJBZ1FJRUNB
QUFFQ0JBaUVBZ0lreERSRmdBQUJBZ1FJRUNCQWdNQVdFQ0RieDVVQUFRSUUKQ0JBZ1FJQUFnVkJB
Z0lTWXBnZ1FJRUNBQUFFQ0JBZ1EyQUlDWlB1NEVpQkFnQUFCQWdRSUVDQVFDZ2lRRU5NVUFRSUVD
QkFnUUlBQQpBUUpiUUlCc0gxY0NCQWdRSUVDQUFBRUNCRUlCQVJKaW1pSkFnQUFCQWdRSUVDQkFZ
QXNJa08zalNvQUFBUUlFQ0JBZ1FJQkFLQ0JBClFreFRCQWdRSUVDQUFBRUNCQWhzQVFHeWZWd0pF
Q0JBZ0FBQkFnUUlFQWdGQkVpSWFZb0FBUUlFQ0JBZ1FJQUFnUzBnUUxhUEt3RUMKQkFnUUlFQ0FB
QUVDb1lBQUNURk5FU0JBZ0FBQkFnUUlFQ0N3QlFUSTluRWxRSUFBQVFJRUNCQWdRQ0FVRUNBaHBp
a0NCQWdRSUVDQQpBQUVDQkxhQUFOaytyZ1FJRUNCQWdBQUJBZ1FJaEFJQ0pNUTBSWUFBQVFJRUNC
QWdRSURBRmhBZzI4ZVZBQUVDQkFnUUlFQ0FBSUZRClFJQ0VtS1lJRUNCQWdBQUJBZ1FJRU5nQ0Ft
VDd1QklnUUlBQUFRSUVDQkFnRUFvSWtCRFRGQUVDQkFnUUlFQ0FBQUVDVzBDQWJCOVgKQWdRSUVD
QkFnQUFCQWdSQ0FRRVNZcG9pUUlBQUFRSUVDQkFnUUdBTENKRHQ0MHFBQUFFQ0JBZ1FJRUNBUUNn
Z1FFSk1Vd1FJRUNCQQpnQUFCQWdRSWJBRUJzbjFjQ1JBZ1FJQUFBUUlFQ0JBSUJRUklpR21LQUFF
Q0JBZ1FJRUNBQUlFdElFQzJqeXNCQWdRSUVDQkFnQUFCCkFxR0FBQWt4VFJFZ1FJQUFBUUlFQ0JB
Z3NBVUV5UFp4SlVDQUFBRUNCQWdRSUVBZ0ZCQWdJYVlwQWdRSUVDQkFnQUFCQWdTMmdBRFoKUHE0
RUNCQWdRSUFBQVFJRUNJUUNBaVRFTkVXQUFBRUNCQWdRSUVDQXdCWVFJTnZIbFFBQkFnUUlFQ0JB
Z0FDQlVFQ0FoSmltQ0JBZwpRSUFBQVFJRUNCRFlBZ0prKzdnU0lFQ0FBQUVDQkFnUUlCQUtDSkFR
MHhRQkFnUUlFQ0JBZ0FBQkFsdEFnR3dmVndJRUNCQWdRSUFBCkFRSUVRZ0VCRW1LYUlrQ0FBQUVD
QkFnUUlFQmdDd2lRN2VOS2dBQUJBZ1FJRUNCQWdFQW9JRUJDVEZNRUNCQWdRSUFBQVFJRUNHd0IK
QWJKOVhBa1FJRUNBQUFFQ0JBZ1FDQVVFU0locGlnQUJBZ1FJRUNCQWdBQ0JMU0JBdG84ckFRSUVD
QkFnUUlBQUFRS2hnQUFKTVUwUgpJRUNBQUFFQ0JBZ1FJTEFGQk1qMmNTVkFnQUFCQWdRSUVDQkFJ
QlFRSUNHbUtRSUVDQkFnUUlBQUFRSUV0b0FBMlQ2dUJBZ1FJRUNBCkFBRUNCQWlFQWdJa3hEUkZn
QUFCQWdRSUVDQkFnTUFXRUNEYng1VUFBUUlFQ0JBZ1FJQUFnVkJBZ0lTWXBnZ1FJRUNBQUFFQ0JB
Z1EKMkFJQ1pQdTRFaUJBZ0FBQkFnUUlFQ0FRQ2dpUUVOTVVBUUlFQ0JBZ1FJQUFBUUpiUUlCc0gx
Y0NCQWdRSUVDQUFBRUNCRUlCQVJKaQptaUpBZ0FBQkFnUUlFQ0JBWUFzSWtPM2pTb0FBQVFJRUNC
QWdRSUJBS0NCQVFreFRCQWdRSUVDQUFBRUNCQWhzQVFHeWZWd0pFQ0JBCmdBQUJBZ1FJRUFnRkJF
aUlhWW9BQVFJRUNCQWdRSUFBZ1MwZ1FMYVBLd0VDQkFnUUlFQ0FBQUVDb1lBQUNURk5FU0JBZ0FB
QkFnUUkKRUNDd0JRVEk5bkVsUUlBQUFRSUVDQkFnUUNBVUVDQWhwaWtDQkFnUUlFQ0FBQUVDQkxh
QUFOaytyZ1FJRUNCQWdBQUJBZ1FJaEFJQwpKTVEwUllBQUFRSUVDQkFnUUlEQUZoQWcyOGVWQUFF
Q0JBZ1FJRUNBQUlGUVFJQ0VtS1lJRUNCQWdBQUJBZ1FJRU5nQ0FtVDd1QklnClFJQUFBUUlFQ0JB
Z0VBb0lrQkRURkFFQ0JBZ1FJRUNBQUFFQ1cwQ0FiQjlYQWdRSUVDQkFnQUFCQWdSQ0FRRVNZcG9p
UUlBQUFRSUUKQ0JBZ1FHQUxDSkR0NDBxQUFBRUNCQWdRSUVDQVFDZ2dRRUpNVXdRSUVDQkFnQUFC
QWdRSWJBRUJzbjFjQ1JBZ1FJQUFBUUlFQ0JBSQpCUVJJaUdtS0FBRUNCQWdRSUVDQUFJRXRJRUMy
anlzQkFnUUlFQ0JBZ0FBQkFxR0FBQWt4VFJFZ1FJQUFBUUlFQ0JBZ3NBVUV5UFp4CkpVQ0FBQUVD
QkFnUUlFQWdGQkFnSWFZcEFnUUlFQ0JBZ0FBQkFnUzJnQURaUHE0RUNCQWdRSUFBQVFJRUNJUUNB
aVRFTkVXQUFBRUMKQkFnUUlFQ0F3QllRSU52SGxRQUJBZ1FJRUNCQWdBQ0JVRUNBaEppbUNCQWdR
SUFBQVFJRUNCRFlBZ0prKzdnU0lFQ0FBQUVDQkFnUQpJQkFLQ0pBUTB4UUJBZ1FJRUNCQWdBQUJB
bHRBZ0d3ZlZ3SUVDQkFnUUlBQUFRSUVRZ0VCRW1LYUlrQ0FBQUVDQkFnUUlFQmdDd2lRCjdlTktn
QUFCQWdRSUVDQkFnRUFvSUVCQ1RGTUVDQkFnUUlBQUFRSUVDR3dCQWJKOVhBa1FJRUNBQUFFQ0JB
Z1FDQVVFU0locGlnQUIKQWdRSUVDQkFnQUNCTFNCQXRvOHJBUUlFQ0JBZ1FJQUFBUUtoZ0FBSk1V
MFJJRUNBQUFFQ0JBZ1FJTEFGQk1qMmNTVkFnQUFCQWdRSQpFQ0JBSUJRUUlDR21LUUlFQ0JBZ1FJ
QUFBUUlFdG9BQTJUNnVCQWdRSUVDQUFBRUNCQWlFQWdJa3hEUkZnQUFCQWdRSUVDQkFnTUFXCkVD
RGJ4NVVBQVFJRUNCQWdRSUFBZ1ZCQWdJU1lwZ2dRSUVDQUFBRUNCQWdRMkFJQ1pQdTRFaUJBZ0FB
QkFnUUlFQ0FRQ2dpUUVOTVUKQVFJRUNCQWdRSUFBQVFKYlFJQnNIMWNDQkFnUUlFQ0FBQUVDQkVJ
QkFSSmltaUpBZ0FBQkFnUUlFQ0JBWUFzSWtPM2pTb0FBQVFJRQpDQkFnUUlCQUtDQkFRa3hUQkFn
UUlFQ0FBQUVDQkFoc0FRR3lmVndKRUNCQWdBQUJBZ1FJRUFnRkJFaUlhWW9BQVFJRUNCQWdRSUFB
CmdTMGdRTGFQS3dFQ0JBZ1FJRUNBQUFFQ29ZQUFDVEZORVNCQWdBQUJBZ1FJRUNDd0JRVEk5bkVs
UUlBQUFRSUVDQkFnUUNBVUVDQWgKcGlrQ0JBZ1FJRUNBQUFFQ0JMYUFBTmsrcmdRSUVDQkFnQUFC
QWdRSWhBSUNKTVEwUllBQUFRSUVDQkFnUUlEQUZoQWcyOGVWQUFFQwpCQWdRSUVDQUFJRlFRSUNF
bUtZSUVDQkFnQUFCQWdRSUVOZ0NBbVQ3dUJJZ1FJQUFBUUlFQ0JBZ0VBb0lrQkRURkFFQ0JBZ1FJ
RUNBCkFBRUNXMENBYkI5WEFnUUlFQ0JBZ0FBQkFnUkNBUUVTWXBvaVFJQUFBUUlFQ0JBZ1FHQUxD
SkR0NDBxQUFBRUNCQWdRSUVDQVFDZ2cKUUVKTVV3UUlFQ0JBZ0FBQkFnUUliQUVCc24xY0NSQWdR
SUFBQVFJRUNCQUlCUVJJaUdtS0FBRUNCQWdRSUVDQUFJRXRJRUMyanlzQgpBZ1FJRUNCQWdBQUJB
cUdBQUFreFRSRWdRSUFBQVFJRUNCQWdzQVVFeVBaeEpVQ0FBQUVDQkFnUUlFQWdGQkFnSWFZcEFn
UUlFQ0JBCmdBQUJBZ1MyZ0FEWlBxNEVDQkFnUUlBQUFRSUVDSVFDQWlURU5FV0FBQUVDQkFnUUlF
Q0F3QllRSU52SGxRQUJBZ1FJRUNCQWdBQ0IKVUVDQWhKaW1DQkFnUUlBQUFRSUVDQkRZQWdKays3
Z1NJRUNBQUFFQ0JBZ1FJQkFLQ0pBUTB4UUJBZ1FJRUNCQWdBQUJBbHRBZ0d3ZgpWd0lFQ0JBZ1FJ
QUFBUUlFUWdFQkVtS2FJa0NBQUFFQ0JBZ1FJRUJnQ3dpUTdlTktnQUFCQWdRSUVDQkFnRUFvSUVC
Q1RGTUVDQkFnClFJQUFBUUlFQ0d3QkFiSjlYQWtRSUVDQUFBRUNCQWdRQ0FVRVNJaHBpZ0FCQWdR
SUVDQkFnQUNCTFNCQXRvOHJBUUlFQ0JBZ1FJQUEKQVFLaGdBQUpNVTBSSUVDQUFBRUNCQWdRSUxB
RkJNajJjU1ZBZ0FBQkFnUUlFQ0JBSUJRUUlDR21LUUlFQ0JBZ1FJQUFBUUlFdG9BQQoyVDZ1QkFn
UUlFQ0FBQUVDQkFpRUFnSWt4RFJGZ0FBQkFnUUlFQ0JBZ01BV0VDRGJ4NVVBQVFJRUNCQWdRSUFB
Z1ZCQWdJU1lwZ2dRCklFQ0FBQUVDQkFnUTJBSUNaUHU0RWlCQWdBQUJBZ1FJRUNBUUNnaVFFTk1V
QVFJRUNCQWdRSUFBQVFKYlFJQnNIMWNDQkFnUUlFQ0EKQUFFQ0JFSUJBUkppbWlKQWdBQUJBZ1FJ
RUNCQVlBc0lrTzNqU29BQUFRSUVDQkFnUUlCQUtDQkFRa3hUQkFnUUlFQ0FBQUVDQkFocwpBUUd5
ZlZ3SkVDQkFnQUFCQWdRSUVBZ0ZCRWlJYVlvQUFRSUVDQkFnUUlBQWdTMGdRTGFQS3dFQ0JBZ1FJ
RUNBQUFFQ29ZQUFDVEZOCkVTQkFnQUFCQWdRSUVDQ3dCUVRJOW5FbFFJQUFBUUlFQ0JBZ1FDQVVF
Q0FocGlrQ0JBZ1FJRUNBQUFFQ0JMYUFBTmsrcmdRSUVDQkEKZ0FBQkFnUUloQUlDSk1RMFJZQUFB
UUlFQ0JBZ1FJREFGaEFnMjhlVkFBRUNCQWdRSUVDQUFJRlFRSUNFbUtZSUVDQkFnQUFCQWdRSQpF
TmdDQW1UN3VCSWdRSUFBQVFJRUNCQWdFQW9Ja0JEVEZBRUNCQWdRSUVDQUFBRUNXMENBYkI5WEFn
UUlFQ0JBZ0FBQkFnUkNBUUVTCllwb2lRSUFBQVFJRUNCQWdRR0FMQ0pEdDQwcUFBQUVDQkFnUUlF
Q0FRQ2dnUUVKTVV3UUlFQ0JBZ0FBQkFnUUliQUVCc24xY0NSQWcKUUlBQUFRSUVDQkFJQlFSSWlH
bUtBQUVDQkFnUUlFQ0FBSUV0SUVDMmp5c0JBZ1FJRUNCQWdBQUJBcUdBQUFreFRSRWdRSUFBQVFJ
RQpDQkFnc0FVRXlQWnhKVUNBQUFFQ0JBZ1FJRUFnRkJBZ0lhWXBBZ1FJRUNCQWdBQUJBZ1MyZ0FE
WlBxNEVDQkFnUUlBQUFRSUVDSVFDCkFpVEVORVdBQUFFQ0JBZ1FJRUNBd0JZUUlOdkhsUUFCQWdR
SUVDQkFnQUNCVUVDQWhKaW1DQkFnUUlBQUFRSUVDQkRZQWdKays3Z1MKSUVDQUFBRUNCQWdRSUJB
S0NKQVEweFFCQWdRSUVDQkFnQUFCQWx0QWdHd2ZWd0lFQ0JBZ1FJQUFBUUlFUWdFQkVtS2FJa0NB
QUFFQwpCQWdRSUVCZ0N3aVE3ZU5LZ0FBQkFnUUlFQ0JBZ0VBb0lFQkNURk1FQ0JBZ1FJQUFBUUlF
Q0d3QkFiSjlYQWtRSUVDQUFBRUNCQWdRCkNBVUVTSWhwaWdBQkFnUUlFQ0JBZ0FDQkxTQkF0bzhy
QVFJRUNCQWdRSUFBQVFLaGdBQUpNVTBSSUVDQUFBRUNCQWdRSUxBRkJNajIKY1NWQWdBQUJBZ1FJ
RUNCQUlCUVFJQ0dtS1FJRUNCQWdRSUFBQVFJRXRvQUEyVDZ1QkFnUUlFQ0FBQUVDQkFpRUFnSWt4
RFJGZ0FBQgpBZ1FJRUNCQWdNQVdFQ0RieDVVQUFRSUVDQkFnUUlBQWdWQkFnSVNZcGdnUUlFQ0FB
QUVDQkFnUTJBSUNaUHU0RWlCQWdBQUJBZ1FJCkVDQVFDZ2lRRU5NVUFRSUVDQkFnUUlBQUFRSmJR
SUJzSDFjQ0JBZ1FJRUNBQUFFQ0JFSUJBUkppbWlKQWdBQUJBZ1FJRUNCQVlBc0kKa08zalNvQUFB
UUlFQ0JBZ1FJQkFLQ0JBUWt4VEJBZ1FJRUNBQUFFQ0JBaHNBUUd5ZlZ3SkVDQkFnQUFCQWdRSUVB
Z0ZCRWlJYVlvQQpBUUlFQ0JBZ1FJQUFnUzBnUUxhUEt3RUNCQWdRSUVDQUFBRUNvWUFBQ1RGTkVT
QkFnQUFCQWdRSUVDQ3dCUVRJOW5FbFFJQUFBUUlFCkNCQWdRQ0FVRUNBaHBpa0NCQWdRSUVDQUFB
RUNCTGFBQU5rK3JnUUlFQ0JBZ0FBQkFnUUloQUlDSk1RMFJZQUFBUUlFQ0JBZ1FJREEKRmhBZzI4
ZVZBQUVDQkFnUUlFQ0FBSUZRUUlDRW1LWUlFQ0JBZ0FBQkFnUUlFTmdDQW1UN3VCSWdRSUFBQVFJ
RUNCQWdFQW9Ja0JEVApGQUVDQkFnUUlFQ0FBQUVDVzBDQWJCOVhBZ1FJRUNCQWdBQUJBZ1JDQVFF
U1lwb2lRSUFBQVFJRUNCQWdRR0FMQ0pEdDQwcUFBQUVDCkJBZ1FJRUNBUUNnZ1FFSk1Vd1FJRUNC
QWdBQUJBZ1FJYkFFQnNuMWNDUkFnUUlBQUFRSUVDQkFJQlFSSWlHbUtBQUVDQkFnUUlFQ0EKQUlF
dElFQzJqeXNCQWdRSUVDQkFnQUFCQXFHQUFBa3hUUkVnUUlBQUFRSUVDQkFnc0FVRXlQWnhKVUNB
QUl3NXl4MEFBQW1ZU1VSQgpWQUVDQkFnUUlFQWdGQkFnSWFZcEFnUUlFQ0JBZ0FBQkFnUzJnQURa
UHE0RUNCQWdRSUFBQVFJRUNJUUNBaVRFTkVXQUFBRUNCQWdRCklFQ0F3QllRSU52SGxRQUJBZ1FJ
RUNCQWdBQ0JVRUNBaEppbUNCQWdRSUFBQVFJRUNCRFlBZ0prKzdnU0lFQ0FBQUVDQkFnUUlCQUsK
Q0pBUTB4UUJBZ1FJRUNCQWdBQUJBbHRBZ0d3ZlZ3SUVDQkFnUUlBQUFRSUVRZ0VCRW1LYUlrQ0FB
QUVDQkFnUUlFQmdDd2lRN2VOSwpnQUFCQWdRSUVDQkFnRUFvSUVCQ1RGTUVDQkFnUUlBQUFRSUVD
R3dCQWJKOVhBa1FJRUNBQUFFQ0JBZ1FDQVVFU0locGlnQUJBZ1FJCkVDQkFnQUNCTFNCQXRvOHJB
UUlFQ0JBZ1FJQUFBUUtoZ0FBSk1VMFJJRUNBQUFFQ0JBZ1FJTEFGQk1qMmNTVkFnQUFCQWdRSUVD
QkEKSUJRUUlDR21LUUlFQ0JBZ1FJQUFBUUlFdG9BQTJUNnVCQWdRSUVDQUFBRUNCQWlFQWdJa3hE
UkZnQUFCQWdRSUVDQkFnTUFXRUNEYgp4NVVBQVFJRUNCQWdRSUFBZ1ZCQWdJU1lwZ2dRSUVDQUFB
RUNCQWdRMkFJQ1pQdTRFaUJBZ0FBQkFnUUlFQ0FRQ2dpUUVOTVVBUUlFCkNCQWdRSUFBQVFKYlFJ
QnNIMWNDQkFnUUlFQ0FBQUVDQkVJQkFSSmltaUpBZ0FBQkFnUUlFQ0JBWUFzSWtPM2pTb0FBQVFJ
RUNCQWcKUUlCQUtDQkFRa3hUQkFnUUlFQ0FBQUVDQkFoc0FRR3lmVndKRUNCQWdBQUJBZ1FJRUFn
RkJFaUlhWW9BQVFJRUNCQWdRSUFBZ1MwZwpRTGFQS3dFQ0JBZ1FJRUNBQUFFQ29ZQUFDVEZORVNC
QWdBQUJBZ1FJRUNDd0JRVEk5bkVsUUlBQUFRSUVDQkFnUUNBVUVDQWhwaWtDCkJBZ1FJRUNBQUFF
Q0JMYUFBTmsrcmdRSUVDQkFnQUFCQWdRSWhBSUNKTVEwUllBQUFRSUVDQkFnUUlEQUZoQWcyOGVW
QUFFQ0JBZ1EKSUVDQUFJRlFRSUNFbUtZSUVDQkFnQUFCQWdRSUVOZ0NBbVQ3dUJJZ1FJQUFBUUlF
Q0JBZ0VBb0lrQkRURkFFQ0JBZ1FJRUNBQUFFQwpXMENBYkI5WEFnUUlFQ0JBZ0FBQkFnUkNBUUVT
WXBvaVFJQUFBUUlFQ0JBZ1FHQUxDSkR0NDBxQUFBRUNCQWdRSUVDQVFDZ2dRRUpNClV3UUlFQ0JB
Z0FBQkFnUUliQUVCc24xY0NSQWdRSUFBQVFJRUNCQUlCUVJJaUdtS0FBRUNCQWdRSUVDQUFJRXRJ
RUMyanlzQkFnUUkKRUNCQWdBQUJBcUdBQUFreFRSRWdRSUFBQVFJRUNCQWdzQVVFeVBaeEpVQ0FB
QUVDQkFnUUlFQWdGQkFnSWFZcEFnUUlFQ0JBZ0FBQgpBZ1MyZ0FEWlBxNEVDQkFnUUlBQUFRSUVD
SVFDQWlURU5FV0FBQUVDQkFnUUlFQ0F3QllRSU52SGxRQUJBZ1FJRUNCQWdBQ0JVRUNBCmhKaW1D
QkFnUUlBQUFRSUVDQkRZQWdKays3Z1NJRUNBQUFFQ0JBZ1FJQkFLQ0pBUTB4UUJBZ1FJRUNCQWdB
QUJBbHRBZ0d3ZlZ3SUUKQ0JBZ1FJQUFBUUlFUWdFQkVtS2FJa0NBQUFFQ0JBZ1FJRUJnQ3dpUTdl
TktnQUFCQWdRSUVDQkFnRUFvSUVCQ1RGTUVDQkFnUUlBQQpBUUlFQ0d3QkFiSjlYQWtRSUVDQUFB
RUNCQWdRQ0FVRVNJaHBpZ0FCQWdRSUVDQkFnQUNCTFNCQXRvOHJBUUlFQ0JBZ1FJQUFBUUtoCmdB
QUpNVTBSSUVDQUFBRUNCQWdRSUxBRkJNajJjU1ZBZ0FBQkFnUUlFQ0JBSUJRUUlDR21LUUlFQ0JB
Z1FJQUFBUUlFdG9BQTJUNnUKQkFnUUlFQ0FBQUVDQkFpRUFnSWt4RFJGZ0FBQkFnUUlFQ0JBZ01B
V0VDRGJ4NVVBQVFJRUNCQWdRSUFBZ1ZCQWdJU1lwZ2dRSUVDQQpBQUVDQkFnUTJBSUNaUHU0RWlC
QWdBQUJBZ1FJRUNBUUNnaVFFTk1VQVFJRUNCQWdRSUFBQVFKYlFJQnNIMWNDQkFnUUlFQ0FBQUVD
CkJFSUJBUkppbWlKQWdBQUJBZ1FJRUNCQVlBc0lrTzNqU29BQUFRSUVDQkFnUUlCQUtDQkFRa3hU
QkFnUUlFQ0FBQUVDQkFoc0FRR3kKZlZ3SkVDQkFnQUFCQWdRSUVBZ0ZCRWlJYVlvQUFRSUVDQkFn
UUlBQWdTMGdRTGFQS3dFQ0JBZ1FJRUNBQUFFQ29ZQUFDVEZORVNCQQpnQUFCQWdRSUVDQ3dCUVRJ
OW5FbFFJQUFBUUlFQ0JBZ1FDQVVFQ0FocGlrQ0JBZ1FJRUNBQUFFQ0JMYUFBTmsrcmdRSUVDQkFn
QUFCCkFnUUloQUlDSk1RMFJZQUFBUUlFQ0JBZ1FJREFGaEFnMjhlVkFBRUNCQWdRSUVDQUFJRlFR
SUNFbUtZSUVDQkFnQUFCQWdRSUVOZ0MKQW1UN3VCSWdRSUFBQVFJRUNCQWdFQW9Ja0JEVEZBRUNC
QWdRSUVDQUFBRUNXMENBYkI5WEFnUUlFQ0JBZ0FBQkFnUkNBUUVTWXBvaQpRSUFBQVFJRUNCQWdR
R0FMQ0pEdDQwcUFBQUVDQkFnUUlFQ0FRQ2dnUUVKTVV3UUlFQ0JBZ0FBQkFnUUliQUVCc24xY0NS
QWdRSUFBCkFRSUVDQkFJQlFSSWlHbUtBQUVDQkFnUUlFQ0FBSUV0SUVDMmp5c0JBZ1FJRUNCQWdB
QUJBcUdBQUFreFRSRWdRSUFBQVFJRUNCQWcKc0FVRXlQWnhKVUNBQUFFQ0JBZ1FJRUFnRkJBZ0lh
WXBBZ1FJRUNCQWdBQUJBZ1MyZ0FEWlBxNEVDQkFnUUlBQUFRSUVDSVFDQWlURQpORVdBQUFFQ0JB
Z1FJRUNBd0JZUUlOdkhsUUFCQWdRSUVDQkFnQUNCVUVDQWhKaW1DQkFnUUlBQUFRSUVDQkRZQWdK
ays3Z1NJRUNBCkFBRUNCQWdRSUJBS0NKQVEweFFCQWdRSUVDQkFnQUFCQWx0QWdHd2ZWd0lFQ0JB
Z1FJQUFBUUlFUWdFQkVtS2FJa0NBQUFFQ0JBZ1EKSUVCZ0N3aVE3ZU5LZ0FBQkFnUUlFQ0JBZ0VB
b0lFQkNURk1FQ0JBZ1FJQUFBUUlFQ0d3QkFiSjlYQWtRSUVDQUFBRUNCQWdRQ0FVRQpTSWhwaWdB
QkFnUUlFQ0JBZ0FDQkxTQkF0bzhyQVFJRUNCQWdRSUFBQVFLaGdBQUpNVTBSSUVDQUFBRUNCQWdR
SUxBRkJNajJjU1ZBCmdBQUJBZ1FJRUNCQUlCUVFJQ0dtS1FJRUNCQWdRSUFBQVFJRXRvQUEyVDZ1
QkFnUUlFQ0FBQUVDQkFpRUFnSWt4RFJGZ0FBQkFnUUkKRUNCQWdNQVdFQ0RieDVVQUFRSUVDQkFn
UUlBQWdWQkFnSVNZcGdnUUlFQ0FBQUVDQkFnUTJBSUNaUHU0RWlCQWdBQUJBZ1FJRUNBUQpDZ2lR
RU5NVUFRSUVDQkFnUUlBQUFRSmJRSUJzSDFjQ0JBZ1FJRUNBQUFFQ0JFSUJBUkppbWlKQWdBQUJB
Z1FJRUNCQVlBc0lrTzNqClNvQUFBUUlFQ0JBZ1FJQkFLQ0JBUWt4VEJBZ1FJRUNBQUFFQ0JBaHNB
UUd5ZlZ3SkVDQkFnQUFCQWdRSUVBZ0ZCRWlJYVlvQUFRSUUKQ0JBZ1FJQUFnUzBnUUxhUEt3RUNC
QWdRSUVDQUFBRUNvWUFBQ1RGTkVTQkFnQUFCQWdRSUVDQ3dCUVRJOW5FbFFJQUFBUUlFQ0JBZwpR
Q0FVRUNBaHBpa0NCQWdRSUVDQUFBRUNCTGFBQU5rK3JnUUlFQ0JBZ0FBQkFnUUloQUlDSk1RMFJZ
QUFBUUlFQ0JBZ1FJREFGaEFnCjI4ZVZBQUVDQkFnUUlFQ0FBSUZRUUlDRW1LWUlFQ0JBZ0FBQkFn
UUlFTmdDQW1UN3VCSWdRSUFBQVFJRUNCQWdFQW9Ja0JEVEZBRUMKQkFnUUlFQ0FBQUVDVzBDQWJC
OVhBZ1FJRUNCQWdBQUJBZ1JDQVFFU1lwb2lRSUFBQVFJRUNCQWdRR0FMQ0pEdDQwcUFBQUVDQkFn
UQpJRUNBUUNnZ1FFSk1Vd1FJRUNCQWdBQUJBZ1FJYkFFQnNuMWNDUkFnUUlBQUFRSUVDQkFJQlFS
SWlHbUtBQUVDQkFnUUlFQ0FBSUV0CjhHODdqUnRBZDFFaFdnQUFBQUJKUlU1RXJrSmdnZz09CgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL2ZpbHRlclJlczMtZXhw
ZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmlu
YXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9maWx0
ZXJSZXMzLWV4cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsg
YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFB
SllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9q
WnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9U
aTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMx
dmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2
bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNR
STMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVM
bE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0
alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5
VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhh
QXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVz
VUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0
RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3cr
L0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgov
V3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENK
MlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2Iv
cVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Q
d0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRj
bAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhy
V2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVRVlI0QWUzZFFXcGJBUkJFd1NqazNpRW50MDB1NEkz
NFREK1h0akw2MDlYYU5NYjQ5ZkgxK3VWRmdBQUJBZ1FJRUNCQWdBQ0IKQndSK1AvQU1qeUJBZ0FB
QkFnUUlFQ0JBZ01CL0FRUEVGNEVBQVFJRUNCQWdRSUFBZ2NjRURKREhxRDJJQUFFQ0JBZ1FJRUNB
QUFFRAp4SGVBQUFFQ0JBZ1FJRUNBQUlISEJBeVF4Nmc5aUFBQkFnUUlFQ0JBZ0FBQkE4UjNnQUFC
QWdRSUVDQkFnQUNCeHdRTWtNZW9QWWdBCkFRSUVDQkFnUUlBQWdUL2ZFYnordmI3N0VlOEhCRDcr
K25jd2dScEZJRUNBQUFFQ0JBaWNGL2gyZ0p4UDRNQnpBa2JydVVyZWZwREIKK25aU0gwaUFBQUVD
Qkg2TWdBSHlZNm9XbE1CZEFhUDFiamZ2dU14Z2ZZZWl6eUJBZ0VCSHdOK0FkTHFVaEFBQkFnUUlF
Q0JBZ01CNQpBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFB
WEsrSWdjU0lFQ0FBQUVDQkFnUTZBZ1lJSjB1CkpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3a1FJ
RUNBQUFFQ0JBaDBCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1EKSUVDQUFBRUNC
RG9DQmtpblMwa0lFQ0JBZ0FBQkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpB
UUlFQ0JBZ0FBQgpBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdB
QUJBdWNGREpEekZUbVFBQUVDQkFnUUlFQ0FRRWZBCkFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJR3lQ
bUtIRWlBQUFFQ0JBZ1FJRUNnSTJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU8KSkVDQUFB
RUNCQWdRSU5BUk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFn
WUlKMHVKU0ZBZ0FBQgpBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVTRUNC
QWdBQUJBZ1FJRURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDCkJEb0NCa2luUzBrSUVDQkFnQUFCQWdR
SW5CY3dRTTVYNUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2cKNXl0
eUlBRUNCQWdRSUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdR
SUVDQVFFZkFBT2wwS1FrQgpBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlFQ2dJMkNB
ZExxVWhBQUJBZ1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVDCkJBZ1FJTkFSTUVBNlhVcENnQUFC
QWdRSUVDQkE0THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQncK
WHNBQU9WK1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJC
QWdRSUVDQUFBRUNCRG9DQmtpbgpTMGtJRUNCQWdBQUJBZ1FJbkJjd1FNNVg1RUFDQkFnUUlFQ0FB
QUVDSFFFRHBOT2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZzV5dHlJQUVDCkJBZ1FJRUNBQUlHT2dBSFM2
VklTQWdRSUVDQkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVD
QkEKZ0FDQjh3SUd5UG1LSEVpQUFBRUNCQWdRSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFR
UGtmRVVPSkVDQUFBRUNCQWdRSU5BUgpNRUE2WFVwQ2dBQUJBZ1FJRUNCQTRMeUFBWEsrSWdjU0lF
Q0FBQUVDQkFnUTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSCkF3a1FJRUNBQUFFQ0JB
aDBCQXlRVHBlU0VDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBr
SUVDQkEKZ0FBQkFnUUluQmN3UU01WDVFQUNCQWdRSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FB
QkFnVE9DeGdnNXl0eUlBRUNCQWdRSUVDQQpBSUdPZ0FIUzZWSVNBZ1FJRUNCQWdBQUJBdWNGREpE
ekZUbVFBQUVDQkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHCnlQbUtIRWlBQUFF
Q0JBZ1FJRUNnSTJDQWRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFS
TUVBNlhVcEMKZ0FBQkFnUUlFQ0JBNEx5QUFYSytJZ2NTSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZB
Z0FBQkFnUUlFQ0J3WHNBQU9WK1JBd2tRSUVDQQpBQUVDQkFoMEJBeVFUcGVTRUNCQWdBQUJBZ1FJ
RURndllJQ2NyOGlCQkFnUUlFQ0FBQUVDQkRvQ0JraW5TMGtJRUNCQWdBQUJBZ1FJCm5CY3dRTTVY
NUVBQ0JBZ1FJRUNBQUFFQ0hRRURwTk9sSkFRSUVDQkFnQUFCQWdUT0N4Z2c1eXR5SUFFQ0JBZ1FJ
RUNBQUlHT2dBSFMKNlZJU0FnUUlFQ0JBZ0FBQkF1Y0ZESkR6RlRtUUFBRUNCQWdRSUVDQVFFZkFB
T2wwS1FrQkFnUUlFQ0JBZ0FDQjh3SUd5UG1LSEVpQQpBQUVDQkFnUUlFQ2dJMkNBZExxVWhBQUJB
Z1FJRUNCQWdNQjVBUVBrZkVVT0pFQ0FBQUVDQkFnUUlOQVJNRUE2WFVwQ2dBQUJBZ1FJCkVDQkE0
THlBQVhLK0lnY1NJRUNBQUFFQ0JBZ1E2QWdZSUowdUpTRkFnQUFCQWdRSUVDQndYc0FBT1YrUkF3
a1FJRUNBQUFFQ0JBaDAKQkF5UVRwZVNFQ0JBZ0FBQkFnUUlFRGd2WUlDY3I4aUJCQWdRSUVDQUFB
RUNCRG9DQmtpblMwa0lFQ0JBZ0FBQkFnUUluQmN3UU01WAo1RUFDQkFnUUlFQ0FBQUVDSFFFRHBO
T2xKQVFJRUNCQWdBQUJBZ1RPQ3hnZzV5dHlJQUVDQkFnUUlFQ0FBSUdPZ0FIUzZWSVNBZ1FJCkVD
QkFnQUFCQXVjRkRKRHpGVG1RQUFFQ0JBZ1FJRUNBUUVmQUFPbDBLUWtCQWdRSUVDQkFnQUNCOHdJ
R3lQbUtIRWlBQUFFQ0JBZ1EKSUVDZ0kyQ0FkTHFVaEFBQkFnUUlFQ0JBZ01CNUFRUGtmRVVPSkVD
QUFBRUNCQWdRSU5BUk1FQTZYVXBDZ0FBQkFnUUlFQ0JBNEx5QQpBWEsrSWdjU0lFQ0FBQUVDQkFn
UTZBZ1lJSjB1SlNGQWdBQUJBZ1FJRUNCd1hzQUFPVitSQXdrUUlFQ0FBQUVDQkFoMEJBeVFUcGVT
CkVDQkFnQUFCQWdRSUVEZ3ZZSUNjcjhpQkJBZ1FJRUNBQUFFQ0JEb0NCa2luUzBrSUVDQkFnQUFC
QWdRSW5CY3dRTTVYNUVBQ0JBZ1EKSUVDQUFBRUNIUUVEcE5PbEpBUUlFQ0JBZ0FBQkFnVE9DeGdn
NXl0eUlBRUNCQWdRSUVDQUFJR09nQUhTNlZJU0FnUUlFQ0JBZ0FBQgpBdWNGREpEekZUbVFBQUVD
QkFnUUlFQ0FRRWZBQU9sMEtRa0JBZ1FJRUNCQWdBQ0I4d0lHeVBtS0hFaUFBQUVDQkFnUUlFQ2dJ
MkNBCmRMcVVoQUFCQWdRSUVDQkFnTUI1QVFQa2ZFVU9KRUNBQUFFQ0JBZ1FJTkFSTUVBNlhVcENn
QUFCQWdRSUVDQkE0THlBQVhLK0lnY1MKSUVDQUFBRUNCQWdRNkFnWUlKMHVKU0ZBZ0FBQkFnUUlF
Q0J3WHNBQU9WK1JBd2tRSUVDQUFBRUNCQWgwQkF5UVRwZVNFQ0JBZ0FBQgpBZ1FJRURndjhQcjRl
cDIvMG9FRUNCQWdRSUFBQVFJRUNDUUUvQVlrVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdB
QUJBZ1FJCkVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JB
Z2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1EKTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VR
Z0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVSwpRWUFBQVFJRUNC
QWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJz
OXVaSUFBUUlFCkNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FB
QkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWcKc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FF
REpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBawphaFNDQUFF
Q0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZ
RURCQU5ucHlKUUVDCkJBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRr
UUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1EKSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFC
QWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQQpBRW5V
S0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNC
QWdRSUxBaFlJQnM5T1JLCkFnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1r
STJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUkKRUNCQWdNQ0dnQUd5MFpNckNSQWdR
SUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQgpo
SUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdB
QUJBZ1FJRUNCQVlFUEFBTm5vCnlaVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JB
aHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUUKQ0JBZ1FJQUFnUTBCQTJTakox
Y1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlB
QQpBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NS
cUZJSUFBUUlFQ0JBZ1FJREFob0FCCnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FB
QkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0MKQkFnUUlFQ0FBQUVDR3dJ
R3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdR
SUVDQQpBQUVDQkJJQ0JraWlSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJB
UXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOCkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1Vn
UUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2oKRUFRSUVDQkFnQUFC
QWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJr
eXNKRUNCQQpnQUFCQWdRSUpBUU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJ
RUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCCkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdR
QkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWkkKb2tZaENCQWdR
SUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRR
RURaS01uVnhJZwpRSUFBQVFJRUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0Fn
UUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFBCkFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlF
QWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUUKREpCRWpV
SVFJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJRUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlB
QUFRSWJBZ2JJUmsrdQpKRUNBQUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5u
b3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJRUNBCkFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdR
SUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1EKU0Fn
WUlJa2FoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtTZ0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdR
SUVDQUFBRUNCRFlFREpDTgpubHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRUNCQWdRSURB
aG9BQnN0R1RLd2tRSUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBCmdBQUJBZ1FJRU5nUU1FQTJlbkls
QVFJRUNCQWdRSUFBZ1lTQUFaS29VUWdDQkFnUUlFQ0FBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUkK
RUNDUUVEQkFFalVLUVlBQUFRSUVDQkFnUUdCRHdBRFo2TW1WQkFnUUlFQ0FBQUVDQkJJQ0JraWlS
aUVJRUNCQWdBQUJBZ1FJYkFnWQpJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQ0JBZ1FJ
RUNBQUlFTkFRTmtveWRYRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnClFJQUFBUUlFQ0JBZ3NDRmdn
R3owNUVvQ0JBZ1FJRUNBQUFFQ0NRRURKRkdqRUFRSUVDQkFnQUFCQWdRMkJBeVFqWjVjU1lBQUFR
SUUKQ0JBZ1FDQWhZSUFrYWhTQ0FBRUNCQWdRSUVDQXdJYUFBYkxSa3lzSkVDQkFnQUFCQWdRSUpB
UU1rRVNOUWhBZ1FJQUFBUUlFQ0JEWQpFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSUFn
UUlFQ0JBZ0FBQkFoc0NCc2hHVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxCkNrR0FBQUVDQkFnUUlF
QmdROEFBMmVqSmxRUUlFQ0JBZ0FBQkFnUVNBZ1pJb2tZaENCQWdRSUFBQVFJRUNHd0lHQ0FiUGJt
U0FBRUMKQkFnUUlFQ0FRRUxBQUVuVUtBUUJBZ1FJRUNCQWdBQ0JEUUVEWktNblZ4SWdRSUFBQVFJ
RUNCQklDQmdnaVJxRklFQ0FBQUVDQkFnUQpJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlS
Um94QUVDQkFnUUlBQUFRSUVOZ1FNa0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBCkpHb1VnZ0FCQWdR
SUVDQkFnTUNHZ0FHeTBaTXJDUkFnUUlBQUFRSUVDQ1FFREpCRWpVSVFJRUNBQUFFQ0JBZ1EyQkF3
UURaNmNpVUIKQWdRSUVDQkFnQUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUFBUUliQWdiSVJrK3VKRUNB
QUFFQ0JBZ1FJSkFRTUVBU05RcEJnQUFCQWdRSQpFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlF
RWdJR1NLSkdJUWdRSUVDQUFBRUNCQWhzQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDCndBQkoxQ2dF
QVFJRUNCQWdRSUFBZ1EwQkEyU2pKMWNTSUVDQUFBRUNCQWdRU0FnWUlJa2FoU0JBZ0FBQkFnUUlF
Q0N3SVdDQWJQVGsKU2dJRUNCQWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0FBQUVDQkRZRURKQ05u
bHhKZ0FBQkFnUUlFQ0JBSUNGZ2dDUnFGSUlBQVFJRQpDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FB
QUVDQkFna0JBeVFSSTFDRUNCQWdBQUJBZ1FJRU5nUU1FQTJlbklsQVFJRUNCQWdRSUFBCmdZU0FB
WktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQWdBQUJBZ1FJRUNDUUVEQkFFalVLUVlBQUFR
SUVDQkFnUUdCRHdBRFoKNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCQWdRSWJB
Z1lJQnM5dVpJQUFRSUVDQkFnUUlCQVFzQUFTZFFvQkFFQwpCQWdRSUVDQUFJRU5BUU5rb3lkWEVp
QkFnQUFCQWdRSUVFZ0lHQ0NKR29VZ1FJQUFBUUlFQ0JBZ3NDRmdnR3owNUVvQ0JBZ1FJRUNBCkFB
RUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1Y1NZQUFBUUlFQ0JBZ1FDQWhZSUFrYWhT
Q0FBRUNCQWdRSUVDQXdJYUEKQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFBQVFJ
RUNCRFlFREJBTm5weUpRRUNCQWdRSUVDQUFJR0VnQUdTcUZFSQpBZ1FJRUNCQWdBQUJBaHNDQnNo
R1Q2NGtRSUFBQVFJRUNCQWdrQkF3UUJJMUNrR0FBQUVDQkFnUUlFQmdROEFBMmVqSmxRUUlFQ0JB
CmdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYlBibVNBQUVDQkFnUUlFQ0FRRUxB
QUVuVUtBUUJBZ1FJRUNCQWdBQ0IKRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJRUNB
QUFFQ0JBZ1FJTEFoWUlCczlPUktBZ1FJRUNCQWdBQUJBZ2tCQXlSUgpveEFFQ0JBZ1FJQUFBUUlF
TmdRTWtJMmVYRW1BQUFFQ0JBZ1FJRUFnSVdDQUpHb1VnZ0FCQWdRSUVDQkFnTUNHZ0FHeTBaTXJD
UkFnClFJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBd1FEWjZjaVVCQWdRSUVDQkFn
QUNCaElBQmtxaFJDQUlFQ0JBZ1FJQUEKQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVNO
UXBCZ0FBQkFnUUlFQ0JBWUVQQUFObm95WlVFQ0JBZ1FJQUFBUUlFRWdJRwpTS0pHSVFnUUlFQ0FB
QUVDQkFoc0NCZ2dHejI1a2dBQkFnUUlFQ0JBZ0VCQ3dBQkoxQ2dFQVFJRUNCQWdRSUFBZ1EwQkEy
U2pKMWNTCklFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDd0lXQ0FiUFRrU2dJRUNC
QWdRSUFBQVFJSkFRTWtVYU1RQkFnUUlFQ0EKQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlD
RmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlFQ0FBQUVDQkFnawpCQXlRUkkxQ0VD
QkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZU0FBWktvVVFnQ0JBZ1FJRUNBQUFF
Q0d3SUd5RVpQCnJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZ1FHQkR3QURaNk1t
VkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkEKZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JB
Z1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lkWEVpQkFnQUFCQWdRSQpFRWdJR0ND
SkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVDQUFBRUNDUUVESkZHakVBUUlFQ0JB
Z0FBQkFnUTJCQXlRCmpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUUlFQ0F3SWFB
QWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWcKUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVD
QkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHNDQnNoR1Q2NGtRSUFBQVFJRQpDQkFn
a0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJRUNCQWdBQUJBZ1FTQWdaSW9rWWhD
QkFnUUlBQUFRSUVDR3dJCkdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSUVDQkFn
QUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUYKSUVDQUFBRUNCQWdRSUxBaFlJQnM5
T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFBUUlFTmdRTWtJMmVYRW1BQUFFQwpC
QWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kwWk1yQ1JBZ1FJQUFBUUlFQ0NRRURK
QkVqVUlRSUVDQUFBRUNCQWdRCjJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJRUNC
QWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1FQVMKTlFwQmdBQUJBZ1FJRUNCQVlF
UEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlFQ0FBQUVDQkFoc0NCZ2dHejI1a2dB
QgpBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEJBMlNqSjFjU0lFQ0FBQUVDQkFn
UVNBZ1lJSWthaFNCQWdBQUJBZ1FJCkVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rVWFN
UUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNCQUlDRmcKZ0NScUZJSUFBUUlFQ0JB
Z1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEy
ZW5JbApBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUNHd0lHeUVaUHJpUkFnQUFC
QWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFCkNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklD
QmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkEKUXNBQVNkUW9CQUVD
QkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJR0NDSkdvVWdRSUFBQVFJRUNCQWdz
Q0ZnZ0d6MAo1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUJBZ1EyQkF5UWpaNWNT
WUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDCkJBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJB
Z1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0EKQUlHRWdBR1Nx
RkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVDQkFna0JBd1FCSTFDa0dBQUFFQ0JB
Z1FJRUJnUThBQQoyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUFBUUlFQ0d3SUdD
QWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCCkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJ
QUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkEKZ0FBQkFn
a0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFBRUNCQWdRSUVBZ0lXQ0FKR29VZ2dB
QkFnUUlFQ0JBZ01DRwpnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0FBQUVDQkFn
UTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSCkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsr
dUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWcKUUlB
QUFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oyNWtnQUJBZ1FJRUNCQWdFQkN3QUJK
MUNnRUFRSUVDQkFnUUlBQQpnUTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYWhTQkFnQUFC
QWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1rClVhTVFCQWdRSUVDQUFBRUNCRFlF
REpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1EK
SUVDQUFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdRTUVBMmVuSWxBUUlFQ0JBZ1FJQUFn
WVNBQVpLb1VRZ0NCQWdRSUVDQQpBQUVDR3dJR3lFWlByaVJBZ0FBQkFnUUlFQ0NRRURCQUVqVUtR
WUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNCQklDCkJraWlSaUVJRUNCQWdBQUJB
Z1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295
ZFgKRWlCQWdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVDQkFnc0NGZ2dHejA1RW9DQkFnUUlF
Q0FBQUVDQ1FFREpGR2pFQVFJRUNCQQpnQUFCQWdRMkJBeVFqWjVjU1lBQUFRSUVDQkFnUUNBaFlJ
QWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJCkpBUU1rRVNOUWhBZ1FJ
QUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdBR1NxRkVJQWdRSUVDQkFnQUFCQWhz
Q0JzaEcKVDY0a1FJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFBRUNCQWdRSUVCZ1E4QUEyZWpKbFFR
SUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZwpRSUFBQVFJRUNHd0lHQ0FiUGJtU0FBRUNCQWdRSUVD
QVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFCkNCQklDQmdnaVJx
RklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FBQkFna0JBeVJSb3hBRUNCQWdRSUFB
QVFJRU5nUU0Ka0kyZVhFbUFBQUVDQkFnUUlFQWdJV0NBSkdvVWdnQUJBZ1FJRUNCQWdNQ0dnQUd5
MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUQpJRUNBQUFFQ0JBZ1EyQkF3UURaNmNpVUJBZ1FJ
RUNCQWdBQ0JoSUFCa3FoUkNBSUVDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDCkJBZ1FJSkFR
TUVBU05RcEJnQUFCQWdRSUVDQkFZRVBBQU5ub3laVUVDQkFnUUlBQUFRSUVFZ0lHU0tKR0lRZ1FJ
RUNBQUFFQ0JBaHMKQ0JnZ0d6MjVrZ0FCQWdRSUVDQkFnRUJDd0FCSjFDZ0VBUUlFQ0JBZ1FJQUFn
UTBCQTJTakoxY1NJRUNBQUFFQ0JBZ1FTQWdZSUlrYQpoU0JBZ0FBQkFnUUlFQ0N3SVdDQWJQVGtT
Z0lFQ0JBZ1FJQUFBUUlKQVFNa1VhTVFCQWdRSUVDQUFBRUNCUGVXSlEwQUFBajFTVVJCClZEWUVE
SkNObmx4SmdBQUJBZ1FJRUNCQUlDRmdnQ1JxRklJQUFRSUVDQkFnUUlEQWhvQUJzdEdUS3drUUlF
Q0FBQUVDQkFna0JBeVEKUkkxQ0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUVDQkFnUUlBQWdZ
U0FBWktvVVFnQ0JBZ1FJRUNBQUFFQ0d3SUd5RVpQcmlSQQpnQUFCQWdRSUVDQ1FFREJBRWpVS1FZ
QUFBUUlFQ0JBZ1FHQkR3QURaNk1tVkJBZ1FJRUNBQUFFQ0JCSUNCa2lpUmlFSUVDQkFnQUFCCkFn
UUliQWdZSUJzOXVaSUFBUUlFQ0JBZ1FJQkFRc0FBU2RRb0JBRUNCQWdRSUVDQUFJRU5BUU5rb3lk
WEVpQkFnQUFCQWdRSUVFZ0kKR0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0NCQWdRSUVD
QUFBRUNDUUVESkZHakVBUUlFQ0JBZ0FBQkFnUTJCQXlRalo1YwpTWUFBQVFJRUNCQWdRQ0FoWUlB
a2FoU0NBQUVDQkFnUUlFQ0F3SWFBQWJMUmt5c0pFQ0JBZ0FBQkFnUUlKQVFNa0VTTlFoQWdRSUFB
CkFRSUVDQkRZRURCQU5ucHlKUUVDQkFnUUlFQ0FBSUdFZ0FHU3FGRUlBZ1FJRUNCQWdBQUJBaHND
QnNoR1Q2NGtRSUFBQVFJRUNCQWcKa0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakpsUVFJ
RUNCQWdBQUJBZ1FTQWdaSW9rWWhDQkFnUUlBQUFRSUVDR3dJR0NBYgpQYm1TQUFFQ0JBZ1FJRUNB
UUVMQUFFblVLQVFCQWdRSUVDQkFnQUNCRFFFRFpLTW5WeElnUUlBQUFRSUVDQkJJQ0JnZ2lScUZJ
RUNBCkFBRUNCQWdRSUxBaFlJQnM5T1JLQWdRSUVDQkFnQUFCQWdrQkF5UlJveEFFQ0JBZ1FJQUFB
UUlFTmdRTWtJMmVYRW1BQUFFQ0JBZ1EKSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kw
Wk1yQ1JBZ1FJQUFBUUlFQ0NRRURKQkVqVUlRSUVDQUFBRUNCQWdRMkJBdwpRRFo2Y2lVQkFnUUlF
Q0JBZ0FDQmhJQUJrcWhSQ0FJRUNCQWdRSUFBQVFJYkFnYklSayt1SkVDQUFBRUNCQWdRSUpBUU1F
QVNOUXBCCmdBQUJBZ1FJRUNCQVlFUEFBTm5veVpVRUNCQWdRSUFBQVFJRUVnSUdTS0pHSVFnUUlF
Q0FBQUVDQkFoc0NCZ2dHejI1a2dBQkFnUUkKRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdR
MEJBMlNqSjFjU0lFQ0FBQUVDQkFnUVNBZ1lJSWthaFNCQWdBQUJBZ1FJRUNDdwpJV0NBYlBUa1Nn
SUVDQkFnUUlBQUFRSUpBUU1rVWFNUUJBZ1FJRUNBQUFFQ0JEWUVESkNObmx4SmdBQUJBZ1FJRUNC
QUlDRmdnQ1JxCkZJSUFBUUlFQ0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBQUFFQ0JBZ2tCQXlRUkkx
Q0VDQkFnQUFCQWdRSUVOZ1FNRUEyZW5JbEFRSUUKQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVD
QUFBRUNHd0lHeUVaUHJpUkFnQUFCQWdRSUVDQ1FFREJBRWpVS1FZQUFBUUlFQ0JBZwpRR0JEd0FE
WjZNbVZCQWdRSUVDQUFBRUNCQklDQmtpaVJpRUlFQ0JBZ0FBQkFnUUliQWdZSUJzOXVaSUFBUUlF
Q0JBZ1FJQkFRc0FBClNkUW9CQUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBZ0FBQkFnUUlFRWdJ
R0NDSkdvVWdRSUFBQVFJRUNCQWdzQ0ZnZ0d6MDVFb0MKQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJ
RUNCQWdBQUJBZ1EyQkF5UWpaNWNTWUFBQVFJRUNCQWdRQ0FoWUlBa2FoU0NBQUVDQkFnUQpJRUNB
d0lhQUFiTFJreXNKRUNCQWdBQUJBZ1FJSkFRTWtFU05RaEFnUUlBQUFRSUVDQkRZRURCQU5ucHlK
UUVDQkFnUUlFQ0FBSUdFCmdBR1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrUUlBQUFRSUVD
QkFna0JBd1FCSTFDa0dBQUFFQ0JBZ1FJRUJnUThBQTJlakoKbFFRSUVDQkFnQUFCQWdRU0FnWklv
a1loQ0JBZ1FJQUFBUUlFQ0d3SUdDQWJQYm1TQUFFQ0JBZ1FJRUNBUUVMQUFFblVLQVFCQWdRSQpF
Q0JBZ0FDQkRRRURaS01uVnhJZ1FJQUFBUUlFQ0JCSUNCZ2dpUnFGSUVDQUFBRUNCQWdRSUxBaFlJ
QnM5T1JLQWdRSUVDQkFnQUFCCkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlWEVtQUFB
RUNCQWdRSUVBZ0lXQ0FKR29VZ2dBQkFnUUlFQ0JBZ01DR2dBR3kKMFpNckNSQWdRSUFBQVFJRUND
UUVESkJFalVJUUlFQ0FBQUVDQkFnUTJCQXdRRFo2Y2lVQkFnUUlFQ0JBZ0FDQmhJQUJrcWhSQ0FJ
RQpDQkFnUUlBQUFRSWJBZ2JJUmsrdUpFQ0FBQUVDQkFnUUlKQVFNRUFTTlFwQmdBQUJBZ1FJRUNC
QVlFUEFBTm5veVpVRUNCQWdRSUFBCkFRSUVFZ0lHU0tKR0lRZ1FJRUNBQUFFQ0JBaHNDQmdnR3oy
NWtnQUJBZ1FJRUNCQWdFQkN3QUJKMUNnRUFRSUVDQkFnUUlBQWdRMEIKQTJTakoxY1NJRUNBQUFF
Q0JBZ1FTQWdZSUlrYWhTQkFnQUFCQWdRSUVDQ3dJV0NBYlBUa1NnSUVDQkFnUUlBQUFRSUpBUU1r
VWFNUQpCQWdRSUVDQUFBRUNCRFlFREpDTm5seEpnQUFCQWdRSUVDQkFJQ0ZnZ0NScUZJSUFBUUlF
Q0JBZ1FJREFob0FCc3RHVEt3a1FJRUNBCkFBRUNCQWdrQkF5UVJJMUNFQ0JBZ0FBQkFnUUlFTmdR
TUVBMmVuSWxBUUlFQ0JBZ1FJQUFnWVNBQVpLb1VRZ0NCQWdRSUVDQUFBRUMKR3dJR3lFWlByaVJB
Z0FBQkFnUUlFQ0NRRURCQUVqVUtRWUFBQVFJRUNCQWdRR0JEd0FEWjZNbVZCQWdRSUVDQUFBRUNC
QklDQmtpaQpSaUVJRUNCQWdBQUJBZ1FJYkFnWUlCczl1WklBQVFJRUNCQWdRSUJBUXNBQVNkUW9C
QUVDQkFnUUlFQ0FBSUVOQVFOa295ZFhFaUJBCmdBQUJBZ1FJRUVnSUdDQ0pHb1VnUUlBQUFRSUVD
QkFnc0NGZ2dHejA1RW9DQkFnUUlFQ0FBQUVDQ1FFREpGR2pFQVFJRUNCQWdBQUIKQWdRMkJBeVFq
WjVjU1lBQUFRSUVDQkFnUUNBaFlJQWthaFNDQUFFQ0JBZ1FJRUNBd0lhQUFiTFJreXNKRUNCQWdB
QUJBZ1FJSkFRTQprRVNOUWhBZ1FJQUFBUUlFQ0JEWUVEQkFObnB5SlFFQ0JBZ1FJRUNBQUlHRWdB
R1NxRkVJQWdRSUVDQkFnQUFCQWhzQ0JzaEdUNjRrClFJQUFBUUlFQ0JBZ2tCQXdRQkkxQ2tHQUFB
RUNCQWdRSUVCZ1E4QUEyZWpKbFFRSUVDQkFnQUFCQWdRU0FnWklva1loQ0JBZ1FJQUEKQVFJRUNH
d0lHQ0FiUGJtU0FBRUNCQWdRSUVDQVFFTEFBRW5VS0FRQkFnUUlFQ0JBZ0FDQkRRRURaS01uVnhJ
Z1FJQUFBUUlFQ0JCSQpDQmdnaVJxRklFQ0FBQUVDQkFnUUlMQWhZSUJzOU9SS0FnUUlFQ0JBZ0FB
QkFna0JBeVJSb3hBRUNCQWdRSUFBQVFJRU5nUU1rSTJlClhFbUFBQUVDQkFnUUlFQWdJV0NBSkdv
VWdnQUJBZ1FJRUNCQWdNQ0dnQUd5MFpNckNSQWdRSUFBQVFJRUNDUUVESkJFalVJUUlFQ0EKQUFF
Q0JBZ1EyQkQ0QkdNRkZhMzl5ZFhIQUFBQUFFbEZUa1N1UW1DQwoK
</data>

          </attachment>
      

    </bug>

</bugzilla>